From 4695824e1cb638d303d49092168f2246d3d7dd10 Mon Sep 17 00:00:00 2001 From: Tiyo Date: Wed, 8 Nov 2023 00:29:35 +0800 Subject: [PATCH 01/48] fix: fix modal --- .../src/components/UserInfoDialog/styles.scss | 2 +- packages/client/src/index.tsx | 24 +++++------ packages/client/src/pages/home/index.tsx | 42 +++++++++---------- packages/client/src/pages/test/index.jsx | 8 ++++ packages/contracts/worlds.json | 4 +- 5 files changed, 44 insertions(+), 36 deletions(-) diff --git a/packages/client/src/components/UserInfoDialog/styles.scss b/packages/client/src/components/UserInfoDialog/styles.scss index f0bca693..aa912251 100644 --- a/packages/client/src/components/UserInfoDialog/styles.scss +++ b/packages/client/src/components/UserInfoDialog/styles.scss @@ -1,6 +1,6 @@ .mi-userinfo-dialog { position: fixed; - z-index: 999; + z-index: 1000; width: 1298px; height: 585px; padding: 36px 66px; diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 5029c9e2..6cc50bdd 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -17,16 +17,16 @@ setup().then(async (result) => { ); - const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); - mountDevTools({ - config: mudConfig, - publicClient: network.publicClient, - walletClient: network.walletClient, - latestBlock$: network.latestBlock$, - blockStorageOperations$: network.blockStorageOperations$, - worldAddress: network.worldContract.address, - worldAbi: network.worldContract.abi, - write$: network.write$, - recsWorld: network.world, - }); + // const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); + // mountDevTools({ + // config: mudConfig, + // publicClient: network.publicClient, + // walletClient: network.walletClient, + // latestBlock$: network.latestBlock$, + // blockStorageOperations$: network.blockStorageOperations$, + // worldAddress: network.worldContract.address, + // worldAbi: network.worldContract.abi, + // write$: network.write$, + // recsWorld: network.world, + // }); }); diff --git a/packages/client/src/pages/home/index.tsx b/packages/client/src/pages/home/index.tsx index 457585c7..4691c36b 100644 --- a/packages/client/src/pages/home/index.tsx +++ b/packages/client/src/pages/home/index.tsx @@ -1,10 +1,9 @@ import React, { useEffect, useRef, useState } from 'react'; import Header from '@/pages/home/header'; import './styles.scss'; -import useModal from '@/hooks/useModal'; import Loading from '@/components/Loading'; import MintList from '@/config/mint'; -import { message } from 'antd'; +import { message, Modal } from 'antd'; import UserInfo from '@/components/UserInfo'; import { UserAddress } from '@/mock/data'; import { UserAddressKey } from '@/config'; @@ -17,7 +16,7 @@ import { Has, getComponentValue } from '@latticexyz/recs'; import { decodeEntity } from "@latticexyz/store-sync/recs"; import { ethers } from 'ethers'; -import indexDuckImg from '@/assets/img/duck_index.svg'; +import indexDuckImg from '@/assets/img/duck_index.png'; import lootAbi from '../../../../contracts/out/Loot.sol/MLoot.abi.json' import userAbi from '../../../../contracts/out/User.sol/MUser.abi.json' @@ -44,9 +43,7 @@ const Home = () => { const [walletBalance, setWalletBalance] = useState(''); const [step, setStep] = useState('play'); const usernameRef = useRef(); - const { Modal, open, close, setContent } = useModal({ - title: '', - }); + const [modalVisible, setModalVisible] = useState(false); const [minting, setMinting] = useState(false); @@ -129,18 +126,7 @@ const Home = () => { } const createWallet = () => { - setContent( -
-
- You have successfully created a wallet.Name your character and start your journey! -
-
- - -
-
- ); - open(); + setModalVisible(true); } const toMint = async () => { @@ -149,7 +135,7 @@ const Home = () => { return; } setUsername(usernameRef.current.value); - close(); + setModalVisible(false); setStep('mint'); } @@ -307,7 +293,6 @@ const Home = () => { localStorage.setItem('mi_user_address', network.walletClient.account.address) } // 转成eth - } const initUserInfoFun = async () => { @@ -367,7 +352,22 @@ const Home = () => { ) } - + setModalVisible(false)} + > +
+
+ You have successfully created a wallet.Name your character and start your journey! +
+
+ + +
+
+
); }; diff --git a/packages/client/src/pages/test/index.jsx b/packages/client/src/pages/test/index.jsx index d0f0c34f..855d0af8 100644 --- a/packages/client/src/pages/test/index.jsx +++ b/packages/client/src/pages/test/index.jsx @@ -20,6 +20,14 @@ let userContract let lootContract let transfering = false + + + +let boxData = [{x: 13, y: 1}, {x: 23, y: 5}, {x: 26, y: 8}, {x: 23, y: 18}, {x: 30, y: 20}, + {x: 8, y: 21}, {x: 5, y: 25}, {x: 30, y: 36}, {x: 19, y: 30}, {x: 3, y: 37}, + {x: 28, y: 39}, {x: 36, y: 51}, {x: 40, y: 55}, {x: 27, y: 59}, {x: 13, y: 55}, + {x: 3, y: 49}, {x: 3, y: 40}, {x: 21, y: 29}, {x: 41, y: 26}, {x: 30, y: 20}] + const Test = () => { const [stepData, setStepData] = useState([]); const [transferData, setTransferData] = useState([]); diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 2ff575ff..2c92b733 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -4,10 +4,10 @@ "blockNumber": 29582781 }, "31337": { - "address": "0x2428109A9e775E4406fe079132F216dc77117333" + "address": "0x313F922BE1649cEc058EC0f076664500c78bdc0b" }, "33784": { - "address": "0x60b886a32B2dC612532a6E0ADF62ACd9093D0EDF", + "address": "0xe59592e480262c15cB5EA88b5059AC61eE035B2c", "blockNumber": 16750 }, "421613": { From 4a83813525f791c3eea1b25a70a38db26903f9a0 Mon Sep 17 00:00:00 2001 From: Tiyo Date: Wed, 8 Nov 2023 15:56:10 +0800 Subject: [PATCH 02/48] fix: fix bug --- packages/client/src/index.tsx | 24 ++--- packages/client/src/mud/createSystemCalls.ts | 38 ++++++++ packages/client/src/pages/game/index.tsx | 6 +- packages/client/src/pages/home/index.tsx | 99 +++++++++++++------- 4 files changed, 117 insertions(+), 50 deletions(-) diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 6cc50bdd..5029c9e2 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -17,16 +17,16 @@ setup().then(async (result) => { ); - // const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); - // mountDevTools({ - // config: mudConfig, - // publicClient: network.publicClient, - // walletClient: network.walletClient, - // latestBlock$: network.latestBlock$, - // blockStorageOperations$: network.blockStorageOperations$, - // worldAddress: network.worldContract.address, - // worldAbi: network.worldContract.abi, - // write$: network.write$, - // recsWorld: network.world, - // }); + const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); + mountDevTools({ + config: mudConfig, + publicClient: network.publicClient, + walletClient: network.walletClient, + latestBlock$: network.latestBlock$, + blockStorageOperations$: network.blockStorageOperations$, + worldAddress: network.worldContract.address, + worldAbi: network.worldContract.abi, + write$: network.write$, + recsWorld: network.world, + }); }); diff --git a/packages/client/src/mud/createSystemCalls.ts b/packages/client/src/mud/createSystemCalls.ts index 157e0893..50a40520 100644 --- a/packages/client/src/mud/createSystemCalls.ts +++ b/packages/client/src/mud/createSystemCalls.ts @@ -4,6 +4,8 @@ import { SetupNetworkResult } from "./setupNetwork"; import { singletonEntity, encodeEntity } from "@latticexyz/store-sync/recs"; import { message } from 'antd'; +let wait = false; + export type SystemCalls = ReturnType; export function createSystemCalls( @@ -18,14 +20,18 @@ export function createSystemCalls( }; const move = async (steps: any) => { + if (wait) return + wait = true console.log('move', new Date().getTime()); try { const tx = await worldContract.write.move([steps]); await waitForTransaction(tx); console.log('move success', new Date().getTime(), tx); + wait = false } catch (error) { console.log('move', error); message.error(error.cause.reason || error.cause.details); + wait = false } // return getComponentValue(Player, singletonEntity); @@ -63,24 +69,31 @@ export function createSystemCalls( } const battleInvitation = async (addr: any, steps: any) => { + if (wait) return + wait = true console.log('battleInvitation', new Date().getTime()); try { const tx = await worldContract.write.battleInvitation([addr, steps]); await waitForTransaction(tx); console.log('battleInvitation success', new Date().getTime(), tx); + wait = false return tx } catch (error) { console.log('battleInvitation', error); message.error(error.cause.reason || error.cause.details); + wait = false } } const confirmBattle = async (buffHash: any, battleId: any) => { + if (wait) return + wait = true console.log('confirmBattle', new Date().getTime()); try { const tx = await worldContract.write.confirmBattle([buffHash, battleId]); await waitForTransaction(tx); console.log('confirmBattle success', new Date().getTime(), tx); + wait = false return { type: 'success', data: getComponentValue(BattleList, encodeEntity({ battleId: "uint256" }, { battleId: battleId})) @@ -88,6 +101,7 @@ export function createSystemCalls( } catch (error) { console.log('confirmBattle', error); message.error(error.cause.reason || error.cause.details); + wait = false return { type: 'error', msg: error.cause.reason || error.cause.details || error.cause @@ -97,11 +111,14 @@ export function createSystemCalls( } const revealBattle = async (battleId: any, action: any, arg: any, nonce: any) => { + if (wait) return + wait = true console.log('revealBattle', new Date().getTime()); try { const tx = await worldContract.write.revealBattle([battleId, action, arg, nonce]); await waitForTransaction(tx); console.log('revealBattle success', new Date().getTime(), tx); + wait = false return { type: 'success', data: getComponentValue(BattleList, encodeEntity({ battleId: "uint256" }, { battleId: battleId})) @@ -109,6 +126,7 @@ export function createSystemCalls( } catch (error) { console.log('revealBattle', error); message.error(error.cause.reason || error.cause.details); + wait = false return { type: 'error', msg: error.cause.reason || error.cause.details || error.cause @@ -161,37 +179,49 @@ export function createSystemCalls( } const openBox = async (boxId: any) => { + if (wait) return + wait = true console.log('openBox', new Date().getTime()); try { const tx = await worldContract.write.openBox([boxId]); await waitForTransaction(tx); console.log('openBox success', new Date().getTime(), tx); + wait = false } catch (error) { console.log('openBox', error); message.error(error.cause.reason || error.cause.details); + wait = false } } const revealBox = async (boxId: any) => { + if (wait) return + wait = true console.log('revealBox', new Date().getTime()); try { const tx = await worldContract.write.revealBox([boxId]); await waitForTransaction(tx); console.log('revealBox success', new Date().getTime(), tx); + wait = false return getComponentValue(BoxList, encodeEntity({ boxId: "uint256" }, { boxId: boxId})); } catch (error) { console.log('revealBox', error); message.error(error.cause.reason || error.cause.details); + wait = false } } const getCollections = async (boxId: any, oreAmount: any, treasureAmount: any) => { + if (wait) return + wait = true try { const tx = await worldContract.write.getCollections([boxId, oreAmount, treasureAmount]); await waitForTransaction(tx); + wait = false } catch (error) { console.log('getCollections', error); message.error(error.cause.reason || error.cause.details); + wait = false } } @@ -219,28 +249,36 @@ export function createSystemCalls( } const initUserInfo = async () => { + if (wait) return + wait = true console.log('initUserInfo', new Date().getTime()); try { const tx = await worldContract.write.initUserInfo(); await waitForTransaction(tx); console.log('initUserInfo success', new Date().getTime(), tx); + wait = false return tx } catch (error) { console.log('initUserInfo', error); message.error(error.cause.reason || error.cause.details); + wait = false } } const forceEnd = async (battleId: any) => { + if (wait) return + wait = true console.log('forceEnd', new Date().getTime()); try { const tx = await worldContract.write.forceEnd([battleId]); await waitForTransaction(tx); console.log('forceEnd success', new Date().getTime(), tx); + wait = false return getComponentValue(BattleList, encodeEntity({ battleId: "uint256" }, { battleId: battleId})) } catch (error) { console.log('forceEnd', error); // message.error(error.cause.reason || error.cause.details); + wait = false } } diff --git a/packages/client/src/pages/game/index.tsx b/packages/client/src/pages/game/index.tsx index d273cac8..262703ad 100644 --- a/packages/client/src/pages/game/index.tsx +++ b/packages/client/src/pages/game/index.tsx @@ -249,7 +249,7 @@ const Game = () => { timeout = setTimeout(() => { unlockUserLocation(); timeout = null - }, 5000); + }, 23000); } setTargetPlayer(null); } else { @@ -349,9 +349,7 @@ const Game = () => { } const showUserInfo = async (player) => { - if (player.addr.toLocaleLowerCase() == account.toLocaleLowerCase()) { - if (curPlayer) player = curPlayer - } else { + if (!player.userUrl || !player.lootUrl) { let addon = getComponentValue(PlayerAddon, encodeEntity({addr: "address"}, {addr: player.addr})) console.log(addon) let userTokenId = addon.userId.toString() diff --git a/packages/client/src/pages/home/index.tsx b/packages/client/src/pages/home/index.tsx index 4691c36b..4a1d35e4 100644 --- a/packages/client/src/pages/home/index.tsx +++ b/packages/client/src/pages/home/index.tsx @@ -13,7 +13,7 @@ import { delay } from '@/utils'; import { useMUD } from '@/mud/MUDContext'; import { useEntityQuery } from "@latticexyz/react"; import { Has, getComponentValue } from '@latticexyz/recs'; -import { decodeEntity } from "@latticexyz/store-sync/recs"; +import { decodeEntity, encodeEntity } from "@latticexyz/store-sync/recs"; import { ethers } from 'ethers'; import indexDuckImg from '@/assets/img/duck_index.png'; @@ -21,6 +21,7 @@ import indexDuckImg from '@/assets/img/duck_index.png'; import lootAbi from '../../../../contracts/out/Loot.sol/MLoot.abi.json' import userAbi from '../../../../contracts/out/User.sol/MUser.abi.json' import pluginAbi from '../../../../contracts/out/Plugin.sol/MPlugin.abi.json' +import { async } from 'rxjs'; let userContract: any let lootContract: any @@ -34,7 +35,7 @@ let transfering = false const Home = () => { const [messageApi, contextHolder] = message.useMessage(); const { - components: { GlobalConfig, Player }, + components: { GlobalConfig, Player, LootList1, PlayerAddon }, systemCalls: { selectBothNFT, joinBattlefield, setInfo, initUserInfo }, network } = useMUD(); @@ -49,29 +50,6 @@ const Home = () => { const navigate = useNavigate(); - useEffect(() => { - getBalance() - let worldContractAddress = localStorage.getItem('worldContractAddress') || '' - if (worldContractAddress && network.worldContract.address.toLocaleLowerCase() == worldContractAddress.toLocaleLowerCase()) { - let playerInfo = localStorage.getItem('playerInfo'); - if (playerInfo) playerInfo = JSON.parse(playerInfo); - if (playerInfo.state >= 1 && playerInfo && playerInfo.username) { - setUsername(playerInfo.username); - setClothes(playerInfo.clothes); - setHandheld(playerInfo.handheld); - setHead(playerInfo.head); - setUserUrl(playerInfo.userUrl); - setLootUrl(playerInfo.lootUrl); - setPlayer(playerInfo); - setStep('mint'); - } - } - // const address = localStorage.getItem(UserAddressKey); - // if (address) { - // setWalletAddress(address); - // } - }, []); - const [clothes, setClothes] = useState(); const [handheld, setHandheld] = useState(); const [head, setHead] = useState(); @@ -80,17 +58,36 @@ const Home = () => { const [lootUrl, setLootUrl] = useState(); const [player, setPlayer] = useState(); + const LootList1Data = useEntityQuery([Has(LootList1)]).map((entity) => { + const loot = getComponentValue(LootList1, entity); + const address = decodeEntity({ addr: "address" }, entity)?.addr?.toLocaleLowerCase() || '' + loot.addr = address + return loot; + }) + const players = useEntityQuery([Has(Player)]).map((entity) => { const address = decodeEntity({ addr: "address" }, entity)?.addr?.toLocaleLowerCase() || '' const player = getComponentValue(Player, entity); player.addr = address + LootList1Data.forEach((item) => { + if (item.addr.toLocaleLowerCase() === address.toLocaleLowerCase()) { + let clothes = item.chest.replace(/"(.*?)"/, '').split(' of')[0].replace(/^\s+|\s+$/g,"") + let handheld = item.weapon.replace(/"(.*?)"/, '').split(' of')[0].replace(/^\s+|\s+$/g,"") + let head = item.head.replace(/"(.*?)"/, '').split(' of')[0].replace(/^\s+|\s+$/g,"") + player.equip = { + clothes, + handheld, + head, + } + } + }) return player; }) const curPlayer = players.find(player => player.addr.toLocaleLowerCase() == network?.account.toLocaleLowerCase()); const GlobalConfigData = useEntityQuery([Has(GlobalConfig)]).map((entity) => getComponentValue(GlobalConfig, entity)); - console.log(GlobalConfigData, 'GlobalConfigData') + // console.log(GlobalConfigData, 'GlobalConfigData') if (GlobalConfigData.length && GlobalConfigData[0].userContract) { let privateKey = network.privateKey @@ -125,6 +122,47 @@ const Home = () => { pluginContract = new ethers.Contract(pluginContractAddress, pluginAbi, wallet) } + const atobUrl = (url) => { + url = url.replace('data:application/json;base64,', '') + url = atob(url) + url = JSON.parse(url) + return url + } + + console.log(curPlayer, 'curPlayer', players) + + useEffect(() => { + getBalance() + async function init() { + if (curPlayer?.state >= 1 && curPlayer?.name) { + let addon = getComponentValue(PlayerAddon, encodeEntity({addr: "address"}, {addr: curPlayer.addr})) + let userTokenId = addon.userId.toString() + let lootTokenId = addon.lootId.toString() + + let urls = await Promise.all([userContract.tokenURI(userTokenId), lootContract.tokenURI(lootTokenId)]) + let url = urls[0] + let lootUrl = urls[1] + url = atobUrl(url) + lootUrl = atobUrl(lootUrl) + curPlayer.userUrl = url.image + curPlayer.lootUrl = lootUrl.image + setUsername(curPlayer.name); + setClothes(curPlayer?.equip?.clothes); + setHandheld(curPlayer?.equip?.handheld); + setHead(curPlayer?.equip?.head); + setUserUrl(curPlayer.userUrl); + setLootUrl(curPlayer.lootUrl); + setPlayer(curPlayer); + setStep('mint'); + } + } + init() + // const address = localStorage.getItem(UserAddressKey); + // if (address) { + // setWalletAddress(address); + // } + }, [curPlayer]); + const createWallet = () => { setModalVisible(true); } @@ -164,13 +202,6 @@ const Home = () => { }) } - const atobUrl = (url) => { - url = url.replace('data:application/json;base64,', '') - url = atob(url) - url = JSON.parse(url) - return url - } - const toObject = (obj) => { return JSON.parse(JSON.stringify(obj, (key, value) => typeof value === 'bigint' ? value.toString() : value )) @@ -219,7 +250,7 @@ const Home = () => { let player = Object.assign(playerData, {username, clothes, handheld, head, userUrl: url.image, lootUrl: lootUrl.image}) console.log(player, 'player') - localStorage.setItem('playerInfo', JSON.stringify(toObject(player))); + // localStorage.setItem('playerInfo', JSON.stringify(toObject(player))); let result = await Promise.all([setInfo(username, ''), joinBattlefield()]) console.log(result, 'result') From 0dfe2f5ff7be39869408bab3fd33d410c022c34d Mon Sep 17 00:00:00 2001 From: Tiyo Date: Wed, 8 Nov 2023 16:01:40 +0800 Subject: [PATCH 03/48] del console --- packages/client/src/pages/home/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/pages/home/index.tsx b/packages/client/src/pages/home/index.tsx index 4a1d35e4..ff31f39c 100644 --- a/packages/client/src/pages/home/index.tsx +++ b/packages/client/src/pages/home/index.tsx @@ -129,7 +129,7 @@ const Home = () => { return url } - console.log(curPlayer, 'curPlayer', players) + // console.log(curPlayer, 'curPlayer', players) useEffect(() => { getBalance() From 05d12238a3d991956784f4c55202619f7ba640cc Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Wed, 8 Nov 2023 16:05:40 +0800 Subject: [PATCH 04/48] new contract --- packages/contracts/worlds.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 1ffb6272..3176e341 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x2428109A9e775E4406fe079132F216dc77117333" }, "33784": { - "address": "0xe59592e480262c15cB5EA88b5059AC61eE035B2c", - "blockNumber": 18111 + "address": "0xD1B2087d0317522df980050602CE91Ba37869139", + "blockNumber": 82752 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 4cb37cde780997337365cc620b2893ed503ac7a3 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Wed, 8 Nov 2023 16:16:13 +0800 Subject: [PATCH 05/48] change landing page --- packages/client/src/pages/home/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/pages/home/index.tsx b/packages/client/src/pages/home/index.tsx index ff31f39c..b3891a19 100644 --- a/packages/client/src/pages/home/index.tsx +++ b/packages/client/src/pages/home/index.tsx @@ -16,7 +16,7 @@ import { Has, getComponentValue } from '@latticexyz/recs'; import { decodeEntity, encodeEntity } from "@latticexyz/store-sync/recs"; import { ethers } from 'ethers'; -import indexDuckImg from '@/assets/img/duck_index.png'; +import indexDuckImg from '@/assets/img/duck_index.svg'; import lootAbi from '../../../../contracts/out/Loot.sol/MLoot.abi.json' import userAbi from '../../../../contracts/out/User.sol/MUser.abi.json' From 46440b82e997757c99b0d059c225873089462a60 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Wed, 8 Nov 2023 16:23:15 +0800 Subject: [PATCH 06/48] aa --- packages/contracts/worlds.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 159f70f8..13ee86cf 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x313F922BE1649cEc058EC0f076664500c78bdc0b" }, "33784": { - "address": "0xD1B2087d0317522df980050602CE91Ba37869139", - "blockNumber": 82752 + "address": "0xA99013b9ee90d226A585336043017Cf5c038BB41", + "blockNumber": 83813 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 36b3a9f3cc3ceb626e0dabb1c445cbd0e030d2d0 Mon Sep 17 00:00:00 2001 From: Tiyo Date: Wed, 8 Nov 2023 16:37:12 +0800 Subject: [PATCH 07/48] fix: fix bug --- .../client/src/components/Battle/index.tsx | 2 ++ packages/client/src/index.tsx | 24 +++++++++--------- packages/client/src/pages/test/index.jsx | 25 ++++++++++++++----- packages/contracts/worlds.json | 4 +-- 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/packages/client/src/components/Battle/index.tsx b/packages/client/src/components/Battle/index.tsx index 80cf1054..597836b8 100644 --- a/packages/client/src/components/Battle/index.tsx +++ b/packages/client/src/components/Battle/index.tsx @@ -161,12 +161,14 @@ export default function Battle(props) { }, [battleState]) const setSelectAction = (img: any, action: String) => { + if (battleState != 0) return setSelectActionData(img); let bt:any = confirmBattleData bt[0] = action setConfirmBattleData(bt) } const setSelectTactic = (img: any, tactic: number) => { + if (battleState != 0) return setSelectTacticData(img); let bt:any = confirmBattleData bt[1] = tactic diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 5029c9e2..6cc50bdd 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -17,16 +17,16 @@ setup().then(async (result) => { ); - const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); - mountDevTools({ - config: mudConfig, - publicClient: network.publicClient, - walletClient: network.walletClient, - latestBlock$: network.latestBlock$, - blockStorageOperations$: network.blockStorageOperations$, - worldAddress: network.worldContract.address, - worldAbi: network.worldContract.abi, - write$: network.write$, - recsWorld: network.world, - }); + // const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); + // mountDevTools({ + // config: mudConfig, + // publicClient: network.publicClient, + // walletClient: network.walletClient, + // latestBlock$: network.latestBlock$, + // blockStorageOperations$: network.blockStorageOperations$, + // worldAddress: network.worldContract.address, + // worldAbi: network.worldContract.abi, + // write$: network.write$, + // recsWorld: network.world, + // }); }); diff --git a/packages/client/src/pages/test/index.jsx b/packages/client/src/pages/test/index.jsx index 855d0af8..fac71f19 100644 --- a/packages/client/src/pages/test/index.jsx +++ b/packages/client/src/pages/test/index.jsx @@ -23,10 +23,12 @@ let transfering = false -let boxData = [{x: 13, y: 1}, {x: 23, y: 5}, {x: 26, y: 8}, {x: 23, y: 18}, {x: 30, y: 20}, +let boxData1 = [{x: 13, y: 1}, {x: 23, y: 5}, {x: 26, y: 8}, {x: 23, y: 18}, {x: 30, y: 20}, {x: 8, y: 21}, {x: 5, y: 25}, {x: 30, y: 36}, {x: 19, y: 30}, {x: 3, y: 37}, {x: 28, y: 39}, {x: 36, y: 51}, {x: 40, y: 55}, {x: 27, y: 59}, {x: 13, y: 55}, - {x: 3, y: 49}, {x: 3, y: 40}, {x: 21, y: 29}, {x: 41, y: 26}, {x: 30, y: 20}] + {x: 3, y: 49}, {x: 3, y: 40}, {x: 21, y: 29}, {x: 41, y: 26}, {x: 59, y: 20}] + + let boxI = 0 const Test = () => { const [stepData, setStepData] = useState([]); @@ -140,7 +142,7 @@ const Test = () => { let box = getComponentValue(BoxList, entity) box.id = id.boxId.toString() return box; - }); + }).filter(e => !e.opened); console.log(boxs, 'boxs') // const GameConfig = useComponentValue(GameConfig, singletonEntity); @@ -315,8 +317,19 @@ const Test = () => { setBattlesData(battlesDataTemp) } - const CreateBoxFun = () => { - CreateBox(boxData[0], boxData[1]); + const CreateBoxFun = async (boxi) => { + if (boxi == undefined) boxi = 0 + let box = boxData1[boxi] + console.log(box, 'box', boxi,boxData1 ) + await CreateBox(box.x, box.y); + + if (boxi >= boxData1.length) { + // boxI = 0 + } else { + setTimeout(() => { + CreateBoxFun(boxi + 1) + }, 100) + } } const openBoxFun = () => { @@ -489,7 +502,7 @@ const Test = () => { boxChange(e, 0)} placeholder='x' /> boxChange(e, 1)} placeholder='y' /> -
确认
+
CreateBoxFun(0)}>确认
打开宝箱
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 159f70f8..50ad63a4 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -4,10 +4,10 @@ "blockNumber": 29582781 }, "31337": { - "address": "0x313F922BE1649cEc058EC0f076664500c78bdc0b" + "address": "0xd977422c9eE9B646f64A4C4389a6C98ad356d8C4" }, "33784": { - "address": "0xD1B2087d0317522df980050602CE91Ba37869139", + "address": "0xA99013b9ee90d226A585336043017Cf5c038BB41", "blockNumber": 82752 }, "421613": { From d3da92290dde9829e28318174a3a6d93ab72eff3 Mon Sep 17 00:00:00 2001 From: Tiyo Date: Wed, 8 Nov 2023 17:28:46 +0800 Subject: [PATCH 08/48] merge --- packages/client/src/components/Battle/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/client/src/components/Battle/index.tsx b/packages/client/src/components/Battle/index.tsx index 597836b8..392ec419 100644 --- a/packages/client/src/components/Battle/index.tsx +++ b/packages/client/src/components/Battle/index.tsx @@ -71,14 +71,17 @@ export default function Battle(props) { }, 23000) } } else if (battle && ((battle.attackerState == 1 && battle.defenderState == 1) || (battle.attackerState == 2 && battle.defenderState == 1) || (battle.attackerState == 1 && battle.defenderState == 2)) && battleState <= 1) { + if (battleState == 3) return clearTimeout(timeout) timeout = null let action = confirmBattleData[0] || 'attack' let arg = confirmBattleData[1] || 0 let actionHex = ethers.utils.formatBytes32String(action); let src = await revealBattle(battle.id, actionHex, arg, nonceHex) - if (src.type == 'success') battle = src.data - setBattleState(3) + if (src?.type == 'success') { + battle = src.data + setBattleState(3) + } // initBattle() } // else if (battle && (battle.attackerState == 0 || battle.attackerState == 2) && (battle.defenderState == 0 || battle.defenderState == 2) && battleState == 2) { From 173a3785c2389a256ec8ed50effde141d806ea03 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Wed, 8 Nov 2023 21:20:03 +0800 Subject: [PATCH 09/48] redesign attack power --- packages/contracts/src/systems/library/BattleUtils.sol | 4 ++-- packages/contracts/worlds.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/contracts/src/systems/library/BattleUtils.sol b/packages/contracts/src/systems/library/BattleUtils.sol index 8b4f041e..c36b2742 100644 --- a/packages/contracts/src/systems/library/BattleUtils.sol +++ b/packages/contracts/src/systems/library/BattleUtils.sol @@ -46,10 +46,10 @@ library BattleUtils { ) internal pure returns (uint256) { // TODO 后期添加防御力抵消对方的攻击力 if (compareBuff(_myBuff, _targetBuff) == 0) { - return (_attackPower * 7) / 10; + return (_attackPower * 5) / 10; } if (compareBuff(_myBuff, _targetBuff) == 2) { - return (_attackPower * 13) / 10; + return (_attackPower * 15) / 10; } return _attackPower; diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 13ee86cf..90235fb0 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x313F922BE1649cEc058EC0f076664500c78bdc0b" }, "33784": { - "address": "0xA99013b9ee90d226A585336043017Cf5c038BB41", - "blockNumber": 83813 + "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34", + "blockNumber": 84775 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 964c060af341cfd9e016148cde83dc42841871b2 Mon Sep 17 00:00:00 2001 From: lewis <> Date: Wed, 8 Nov 2023 23:29:45 +0800 Subject: [PATCH 10/48] fix: fix battle strategy fail --- packages/contracts/out/IWorld.sol/IWorld.json | 368 +- packages/contracts/out/Loot.sol/MLoot.json | 5084 ++++++++--------- .../contracts/out/Plugin.sol/MPlugin.json | 558 +- packages/contracts/out/User.sol/MUser.json | 3460 +++++------ .../src/systems/BattlePrepareSystem.sol | 5 +- .../src/systems/library/BattleUtils.sol | 4 +- 6 files changed, 4741 insertions(+), 4738 deletions(-) diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json index 242a0697..697469e6 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.json +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -3451,49 +3451,49 @@ }, "ast": { "absolutePath": "src/codegen/world/IWorld.sol", - "id": 119346, + "id": 111053, "exportedSymbols": { "IBaseWorld": [ - 71348 + 29089 ], "IBattleForceSystem": [ - 119076 + 110783 ], "IBattleInfoSystem": [ - 119088 + 110795 ], "IBattlePrepareSystem": [ - 119122 + 110829 ], "IBattleSystem": [ - 119141 + 110848 ], "IBoxSystem": [ - 119163 + 110870 ], "IGMSystem": [ - 119199 + 110906 ], "IGameSystem": [ - 119205 + 110912 ], "IMoveSystem": [ - 119220 + 110927 ], "IPlayerSystem": [ - 119301 + 111008 ], "IWorld": [ - 119345 + 111052 ] }, "nodeType": "SourceUnit", - "src": "32:952:169", + "src": "32:952:143", "nodes": [ { - "id": 119303, + "id": 111010, "nodeType": "PragmaDirective", - "src": "32:24:169", + "src": "32:24:143", "nodes": [], "literals": [ "solidity", @@ -3503,24 +3503,24 @@ ] }, { - "id": 119305, + "id": 111012, "nodeType": "ImportDirective", - "src": "107:77:169", + "src": "107:77:143", "nodes": [], "absolutePath": "node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol", "file": "@latticexyz/world/src/interfaces/IBaseWorld.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 71349, + "scope": 111053, + "sourceUnit": 29090, "symbolAliases": [ { "foreign": { - "id": 119304, + "id": 111011, "name": "IBaseWorld", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71348, - "src": "116:10:169", + "referencedDeclaration": 29089, + "src": "116:10:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3529,24 +3529,24 @@ "unitAlias": "" }, { - "id": 119307, + "id": 111014, "nodeType": "ImportDirective", - "src": "186:62:169", + "src": "186:62:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleForceSystem.sol", "file": "./IBattleForceSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119077, + "scope": 111053, + "sourceUnit": 110784, "symbolAliases": [ { "foreign": { - "id": 119306, + "id": 111013, "name": "IBattleForceSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119076, - "src": "195:18:169", + "referencedDeclaration": 110783, + "src": "195:18:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3555,24 +3555,24 @@ "unitAlias": "" }, { - "id": 119309, + "id": 111016, "nodeType": "ImportDirective", - "src": "249:60:169", + "src": "249:60:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleInfoSystem.sol", "file": "./IBattleInfoSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119089, + "scope": 111053, + "sourceUnit": 110796, "symbolAliases": [ { "foreign": { - "id": 119308, + "id": 111015, "name": "IBattleInfoSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119088, - "src": "258:17:169", + "referencedDeclaration": 110795, + "src": "258:17:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3581,24 +3581,24 @@ "unitAlias": "" }, { - "id": 119311, + "id": 111018, "nodeType": "ImportDirective", - "src": "310:66:169", + "src": "310:66:143", "nodes": [], "absolutePath": "src/codegen/world/IBattlePrepareSystem.sol", "file": "./IBattlePrepareSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119123, + "scope": 111053, + "sourceUnit": 110830, "symbolAliases": [ { "foreign": { - "id": 119310, + "id": 111017, "name": "IBattlePrepareSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119122, - "src": "319:20:169", + "referencedDeclaration": 110829, + "src": "319:20:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3607,24 +3607,24 @@ "unitAlias": "" }, { - "id": 119313, + "id": 111020, "nodeType": "ImportDirective", - "src": "377:52:169", + "src": "377:52:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleSystem.sol", "file": "./IBattleSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119142, + "scope": 111053, + "sourceUnit": 110849, "symbolAliases": [ { "foreign": { - "id": 119312, + "id": 111019, "name": "IBattleSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119141, - "src": "386:13:169", + "referencedDeclaration": 110848, + "src": "386:13:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3633,24 +3633,24 @@ "unitAlias": "" }, { - "id": 119315, + "id": 111022, "nodeType": "ImportDirective", - "src": "430:46:169", + "src": "430:46:143", "nodes": [], "absolutePath": "src/codegen/world/IBoxSystem.sol", "file": "./IBoxSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119164, + "scope": 111053, + "sourceUnit": 110871, "symbolAliases": [ { "foreign": { - "id": 119314, + "id": 111021, "name": "IBoxSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119163, - "src": "439:10:169", + "referencedDeclaration": 110870, + "src": "439:10:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3659,24 +3659,24 @@ "unitAlias": "" }, { - "id": 119317, + "id": 111024, "nodeType": "ImportDirective", - "src": "477:48:169", + "src": "477:48:143", "nodes": [], "absolutePath": "src/codegen/world/IGameSystem.sol", "file": "./IGameSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119206, + "scope": 111053, + "sourceUnit": 110913, "symbolAliases": [ { "foreign": { - "id": 119316, + "id": 111023, "name": "IGameSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119205, - "src": "486:11:169", + "referencedDeclaration": 110912, + "src": "486:11:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3685,24 +3685,24 @@ "unitAlias": "" }, { - "id": 119319, + "id": 111026, "nodeType": "ImportDirective", - "src": "526:44:169", + "src": "526:44:143", "nodes": [], "absolutePath": "src/codegen/world/IGMSystem.sol", "file": "./IGMSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119200, + "scope": 111053, + "sourceUnit": 110907, "symbolAliases": [ { "foreign": { - "id": 119318, + "id": 111025, "name": "IGMSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119199, - "src": "535:9:169", + "referencedDeclaration": 110906, + "src": "535:9:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3711,24 +3711,24 @@ "unitAlias": "" }, { - "id": 119321, + "id": 111028, "nodeType": "ImportDirective", - "src": "571:48:169", + "src": "571:48:143", "nodes": [], "absolutePath": "src/codegen/world/IMoveSystem.sol", "file": "./IMoveSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119221, + "scope": 111053, + "sourceUnit": 110928, "symbolAliases": [ { "foreign": { - "id": 119320, + "id": 111027, "name": "IMoveSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119220, - "src": "580:11:169", + "referencedDeclaration": 110927, + "src": "580:11:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3737,24 +3737,24 @@ "unitAlias": "" }, { - "id": 119323, + "id": 111030, "nodeType": "ImportDirective", - "src": "620:52:169", + "src": "620:52:143", "nodes": [], "absolutePath": "src/codegen/world/IPlayerSystem.sol", "file": "./IPlayerSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119302, + "scope": 111053, + "sourceUnit": 111009, "symbolAliases": [ { "foreign": { - "id": 119322, + "id": 111029, "name": "IPlayerSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119301, - "src": "629:13:169", + "referencedDeclaration": 111008, + "src": "629:13:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3763,195 +3763,195 @@ "unitAlias": "" }, { - "id": 119345, + "id": 111052, "nodeType": "ContractDefinition", - "src": "788:195:169", + "src": "788:195:143", "nodes": [], "abstract": false, "baseContracts": [ { "baseName": { - "id": 119325, + "id": 111032, "name": "IBaseWorld", "nodeType": "IdentifierPath", - "referencedDeclaration": 71348, - "src": "810:10:169" + "referencedDeclaration": 29089, + "src": "810:10:143" }, - "id": 119326, + "id": 111033, "nodeType": "InheritanceSpecifier", - "src": "810:10:169" + "src": "810:10:143" }, { "baseName": { - "id": 119327, + "id": 111034, "name": "IBattleForceSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119076, - "src": "824:18:169" + "referencedDeclaration": 110783, + "src": "824:18:143" }, - "id": 119328, + "id": 111035, "nodeType": "InheritanceSpecifier", - "src": "824:18:169" + "src": "824:18:143" }, { "baseName": { - "id": 119329, + "id": 111036, "name": "IBattleInfoSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119088, - "src": "846:17:169" + "referencedDeclaration": 110795, + "src": "846:17:143" }, - "id": 119330, + "id": 111037, "nodeType": "InheritanceSpecifier", - "src": "846:17:169" + "src": "846:17:143" }, { "baseName": { - "id": 119331, + "id": 111038, "name": "IBattlePrepareSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119122, - "src": "867:20:169" + "referencedDeclaration": 110829, + "src": "867:20:143" }, - "id": 119332, + "id": 111039, "nodeType": "InheritanceSpecifier", - "src": "867:20:169" + "src": "867:20:143" }, { "baseName": { - "id": 119333, + "id": 111040, "name": "IBattleSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119141, - "src": "891:13:169" + "referencedDeclaration": 110848, + "src": "891:13:143" }, - "id": 119334, + "id": 111041, "nodeType": "InheritanceSpecifier", - "src": "891:13:169" + "src": "891:13:143" }, { "baseName": { - "id": 119335, + "id": 111042, "name": "IBoxSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119163, - "src": "908:10:169" + "referencedDeclaration": 110870, + "src": "908:10:143" }, - "id": 119336, + "id": 111043, "nodeType": "InheritanceSpecifier", - "src": "908:10:169" + "src": "908:10:143" }, { "baseName": { - "id": 119337, + "id": 111044, "name": "IGameSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119205, - "src": "922:11:169" + "referencedDeclaration": 110912, + "src": "922:11:143" }, - "id": 119338, + "id": 111045, "nodeType": "InheritanceSpecifier", - "src": "922:11:169" + "src": "922:11:143" }, { "baseName": { - "id": 119339, + "id": 111046, "name": "IGMSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119199, - "src": "937:9:169" + "referencedDeclaration": 110906, + "src": "937:9:143" }, - "id": 119340, + "id": 111047, "nodeType": "InheritanceSpecifier", - "src": "937:9:169" + "src": "937:9:143" }, { "baseName": { - "id": 119341, + "id": 111048, "name": "IMoveSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119220, - "src": "950:11:169" + "referencedDeclaration": 110927, + "src": "950:11:143" }, - "id": 119342, + "id": 111049, "nodeType": "InheritanceSpecifier", - "src": "950:11:169" + "src": "950:11:143" }, { "baseName": { - "id": 119343, + "id": 111050, "name": "IPlayerSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119301, - "src": "965:13:169" + "referencedDeclaration": 111008, + "src": "965:13:143" }, - "id": 119344, + "id": 111051, "nodeType": "InheritanceSpecifier", - "src": "965:13:169" + "src": "965:13:143" } ], "canonicalName": "IWorld", "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 119324, + "id": 111031, "nodeType": "StructuredDocumentation", - "src": "674:113:169", + "src": "674:113:143", "text": " The IWorld interface includes all systems dynamically added to the World\n during the deploy process." }, "fullyImplemented": false, "linearizedBaseContracts": [ - 119345, - 119301, - 119220, - 119199, - 119205, - 119163, - 119141, - 119122, - 119088, - 119076, - 71348, - 130556, - 130465, - 130449, - 130452, - 130504, - 174214, - 130494, - 130483, - 64435, - 127722, - 64393, - 64426, - 64399, - 64370, - 64256 + 111052, + 111008, + 110927, + 110906, + 110912, + 110870, + 110848, + 110829, + 110795, + 110783, + 29089, + 122274, + 122183, + 122167, + 122170, + 122222, + 132141, + 122212, + 122201, + 22176, + 119440, + 22134, + 22167, + 22140, + 22111, + 21997 ], "name": "IWorld", - "nameLocation": "798:6:169", - "scope": 119346, + "nameLocation": "798:6:143", + "scope": 111053, "usedErrors": [ - 127687, - 127693, - 127695, - 127697, - 127703, - 127709, - 127715, - 127721, - 174183, - 174187, - 174193, - 174197, - 174201, - 174205, - 174209, - 174213 + 119405, + 119411, + 119413, + 119415, + 119421, + 119427, + 119433, + 119439, + 132110, + 132114, + 132120, + 132124, + 132128, + 132132, + 132136, + 132140 ] } ], "license": "MIT" }, - "id": 169 + "id": 143 } \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json index 3109ed9a..a645c093 100644 --- a/packages/contracts/out/Loot.sol/MLoot.json +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -698,12 +698,12 @@ ], "bytecode": { "object": "0x60096102c0818152682bb0b93430b6b6b2b960b91b6102e0526080908152600c6103009081526b28bab0b93a32b939ba30b33360a11b6103205260a05260046103408181526313585d5b60e21b6103605260c052610380818152634d61636560e01b6103a05260e0526103c08181526321b63ab160e11b6103e052610100526006610400908152654b6174616e6160d01b61042052610120526008610440818152672330b631b434b7b760c11b61046052610140526104808181526729b1b4b6b4ba30b960c11b6104a05261016052600a6104c081815269131bdb99c814dddbdc9960b21b6104e05261018052600b6105009081526a14da1bdc9d0814dddbdc9960aa1b610520526101a0526105408181526911da1bdcdd0815d85b9960b21b610560526101c0526105809081526911dc985d994815d85b9960b21b6105a0526101e0526105c084815268109bdb994815d85b9960ba1b6105e052610200526106008281526315d85b9960e21b6106205261022052610640908152674772696d6f69726560c01b6106605261024052610680928352684368726f6e69636c6560b81b6106a052610260929092526106c082815263546f6d6560e01b6106e0526102805261074060405261070091825263426f6f6b60e01b610720526102a091909152620001f190600090601262001ce5565b506040805161022081018252600b6101e082019081526a446976696e6520526f626560a81b61020083015281528151808301835260098082526853696c6b20526f626560b81b6020838101919091528084019290925283518085018552600a808252694c696e656e20526f626560b01b8285015284860191909152845180860186526004815263526f626560e01b81850152606085015284518086018652600581526414da1a5c9d60da1b818501526080850152845180860186528181526944656d6f6e204875736b60b01b8185015260a085015284518086018652601081526f223930b3b7b739b5b4b71020b936b7b960811b8185015260c085015284518086018652601581527f53747564646564204c6561746865722041726d6f7200000000000000000000008185015260e08501528451808601865260128152712430b932102632b0ba3432b91020b936b7b960711b8185015261010085015284518086018652600d81526c2632b0ba3432b91020b936b7b960991b8185015261012085015284518086018652600f8082526e486f6c79204368657374706c61746560881b828601526101408601919091528551808701875260118152704f726e617465204368657374706c61746560781b818601526101608601528551808701875282815269141b185d194813585a5b60b21b81860152610180860152855180870187529182526910da185a5b8813585a5b60b21b828501526101a0850191909152845180860190955290845268149a5b99c813585a5b60ba1b918401919091526101c082019290925262000448916001919062001d49565b506040805161022081018252600c6101e082019081526b416e6369656e742048656c6d60a01b610200830152815281518083018352600b8082526a4f726e6174652048656c6d60a81b6020838101919091528084019290925283518085018552600a8082526947726561742048656c6d60b01b82850152848601919091528451808601865260098082526846756c6c2048656c6d60b81b8286015260608601919091528551808701875260048082526348656c6d60e01b828701526080870191909152865180880188528481526a2232b6b7b71021b937bbb760a91b8187015260a087015286518088018852600e81526d223930b3b7b713b99021b937bbb760911b8187015260c08701528651808801885260078152660576172204361760cc1b8187015260e0870152865180880188528481526a04c656174686572204361760ac1b8187015261010087015286518088018852600381526204361760ec1b8187015261012087015286518088018852600581526421b937bbb760d91b81870152610140870152865180880188529384526a111a5d9a5b9948121bdbd960aa1b84860152610160860193909352855180870187529081526814da5b1ac8121bdbd960ba1b818501526101808501528451808601865290815269131a5b995b88121bdbd960b21b818401526101a08401528351808501909452835263121bdbd960e21b908301526101c08101919091526200066790600290600f62001d49565b506040805161022081018252600b6101e082018181526a13dc9b985d194810995b1d60aa1b610200840152825282518084018452600881526715d85c8810995b1d60c21b60208281019190915280840191909152835180850185529182526a141b185d19590810995b1d60aa1b82820152828401919091528251808401845260098082526813595cda0810995b1d60ba1b82840152606084019190915283518085018552600a808252691219585d9e4810995b1d60b21b82850152608085019190915284518086018652600e81526d11195b5bdb9a1a59194810995b1d60921b8185015260a085015284518086018652600f8082526e111c9859dbdb9cdada5b8810995b1d608a1b8286015260c086019190915285518087018752601481527f53747564646564204c6561746865722042656c740000000000000000000000008186015260e086015285518087018752601181527012185c99081319585d1a195c8810995b1d607a1b8186015261010086015285518087018752600c81526b1319585d1a195c8810995b1d60a21b81860152610120860152855180870187528181526e084e4d2ced0e8e6d2d8d640a6c2e6d608b1b8186015261014086015285518087018752838152680a6d2d8d640a6c2e6d60bb1b8186015261016086015285518087018752928352680aededed840a6c2e6d60bb1b838501526101808501929092528451808601865290815269098d2dccadc40a6c2e6d60b31b818401526101a0840152835180850190945260048452630a6c2e6d60e31b918401919091526101c0820192909252620008c0916003919062001d49565b506040805161022081018252600c6101e082019081526b486f6c79204772656176657360a01b610200830152815281518083018352600e81526d4f726e617465204772656176657360901b602082810191909152808301919091528251808401845260078152664772656176657360c81b818301528284015282518084018452600b8082526a436861696e20426f6f747360a81b828401526060840191909152835180850185528181526a486561767920426f6f747360a81b81840152608084015283518085018552600f8082526e44656d6f6e6869646520426f6f747360881b8285015260a085019190915284518086018652601081526f447261676f6e736b696e20426f6f747360801b8185015260c085015284518086018652601581527f53747564646564204c65617468657220426f6f747300000000000000000000008185015260e085015284518086018652601281527148617264204c65617468657220426f6f747360701b8185015261010085015284518086018652600d8082526c4c65617468657220426f6f747360981b82860152610120860191909152855180870187528281526e446976696e6520536c69707065727360881b81860152610140860152855180870187529081526c53696c6b20536c69707065727360981b8185015261016085015284518086018652600a815269576f6f6c2053686f657360b01b81850152610180850152845180860186529182526a4c696e656e2053686f657360a81b828401526101a08401919091528351808501909452600584526453686f657360d81b918401919091526101c082019290925262000b28916004919062001d49565b506040805161022081018252600e6101e082018181526d486f6c79204761756e746c65747360901b610200840152825282518084018452601081526f4f726e617465204761756e746c65747360801b602082810191909152808401919091528351808501855260098152684761756e746c65747360b81b818301528385015283518085018552600c8082526b436861696e20476c6f76657360a01b828401526060850191909152845180860186528181526b486561767920476c6f76657360a01b81840152608085015284518086018652600d8082526c44656d6f6e27732048616e647360981b8285015260a0860191909152855180870187526011815270447261676f6e736b696e20476c6f76657360781b8185015260c086015285518087018752601681527f53747564646564204c65617468657220476c6f766573000000000000000000008185015260e086015285518087018752601381527f48617264204c65617468657220476c6f7665730000000000000000000000000081850152610100860152855180870187529384526d4c65617468657220476c6f76657360901b84840152610120850193909352845180860186529283526c446976696e6520476c6f76657360981b8383015261014084019290925283518085018552600b8082526a53696c6b20476c6f76657360a81b82840152610160850191909152845180860186529081526a576f6f6c20476c6f76657360a81b81830152610180840152835180850185529182526b4c696e656e20476c6f76657360a01b828201526101a083019190915282518084019093526006835265476c6f76657360d01b908301526101c081019190915262000da590600590600f62001d49565b506040805160a081018252600860608201908152674e65636b6c61636560c01b6080830152815281518083018352600680825265105b5d5b195d60d21b6020838101919091528084019290925283518085018552600781526614195b99185b9d60ca1b928101929092529282015262000e219190600362001d9b565b506040805160e081018252600960a0820190815268476f6c642052696e6760b81b60c0830152815281518083018352600b8082526a53696c7665722052696e6760a81b60208381019190915280840192909252835180850185529081526a42726f6e7a652052696e6760a81b818301528284015282518084018452600d8082526c506c6174696e756d2052696e6760981b828401526060840191909152835180850190945283526c546974616e69756d2052696e6760981b90830152608081019190915262000ef590600790600562001ded565b506040518061020001604052806040518060400160405280600881526020016737b3102837bbb2b960c11b8152508152602001604051806040016040528060098152602001686f66204769616e747360b81b8152508152602001604051806040016040528060098152602001686f6620546974616e7360b81b8152508152602001604051806040016040528060088152602001671bd98814dada5b1b60c21b81525081526020016040518060400160405280600d81526020016c37b3102832b93332b1ba34b7b760991b81525081526020016040518060400160405280600d81526020016c6f66204272696c6c69616e636560981b81525081526020016040518060400160405280601081526020016f1bd988115b9b1a59da1d195b9b595b9d60821b81525081526020016040518060400160405280600d81526020016c37b310283937ba32b1ba34b7b760991b81525081526020016040518060400160405280600881526020016737b31020b733b2b960c11b8152508152602001604051806040016040528060078152602001666f66205261676560c81b8152508152602001604051806040016040528060078152602001666f66204675727960c81b81525081526020016040518060400160405280600a8152602001691bd988159a5d1c9a5bdb60b21b81525081526020016040518060400160405280600a8152602001690decc40e8d0ca408cdef60b31b81525081526020016040518060400160405280600c81526020016b37b3102232ba32b1ba34b7b760a11b81525081526020016040518060400160405280600d81526020016c37b3102932b33632b1ba34b7b760991b81525081526020016040518060400160405280600c81526020016b6f6620746865205477696e7360a01b81525081525060089060106200119a92919062001e3f565b50604080516108e08101825260056108a082018181526441676f6e7960d81b6108c0840152825282518084018452600a8082526941706f63616c7970736560b01b60208381019190915280850192909252845180860186528181526920b936b0b3b2b23237b760b11b818401528486015284518086018652838152641099585cdd60da1b81840152606085015284518086018652600880825267084cad0cadadee8d60c31b82850152608086019190915285518087018752600680825265109b1a59da1d60d21b8286015260a08701919091528651808801885285815264109b1bdbd960da1b8186015260c0870152865180880188526007808252664272616d626c6560c81b8287015260e0880191909152875180890189526009808252684272696d73746f6e6560b81b828801526101008901919091528851808a018a5287815264109c9bdbd960da1b818801526101208901528851808a018a528281526621b0b93934b7b760c91b818801526101408901528851808a018a528181526843617461636c79736d60b81b818801526101608901528851808a018a52848152674368696d6572696360c01b818801526101808901528851808a018a5283815265436f7270736560d01b818801526101a08901528851808a018a528581526921b7b9393ab83a34b7b760b11b818801526101c08901528851808a018a52818152682230b6b730ba34b7b760b91b818801526101e08901528851808a018a5287815264088cac2e8d60db1b818801526102008901528851808a018a52878152642232b6b7b760d91b818801526102208901528851808a018a526004808252634469726560e01b828901526102408a01919091528951808b018b5284815265223930b3b7b760d11b818901526102608a01528951808b018b5288815264111c99585960da1b818901526102808a01528951808b018b5281815263446f6f6d60e01b818901526102a08a01528951808b018b52818152634475736b60e01b818901526102c08a01528951808b018b52888152644561676c6560d81b818901526102e08a01528951808b018b528581526722b6b83cb932b0b760c11b818901526103008a01528951808b018b52818152634661746560e01b818901526103208a01528951808b018b52600380825262466f6560e81b828a01526103408b01919091528a51808c018c528281526347616c6560e01b818a01526103608b01528a51808c018c528981526411da1bdd5b60da1b818a01526103808b01528a51808c018c5289815264476c6f6f6d60d81b818a01526103a08b01528a51808c018c528981526408ed8f2e0d60db1b818a01526103c08b01528a51808c018c5289815264476f6c656d60d81b818a01526103e08b01528a51808c018c52828152634772696d60e01b818a01526104008b01528a51808c018c52828152634861746560e01b818a01526104208b01528a51808c018c52898152644861766f6360d81b818a01526104408b01528a51808c018c52858152652437b737bab960d11b818a01526104608b01528a51808c018c52858152652437b93937b960d11b818a01526104808b01528a51808c018c52868152674879706e6f74696360c01b818a01526104a08b01528a51808c018c528581526525b930b5b2b760d11b818a01526104c08b01528a51808c018c5289815264098dec2e8d60db1b818a01526104e08b01528a51808c018c52838152684d61656c7374726f6d60b81b818a01526105008b01528a51808c018c5282815263135a5b9960e21b818a01526105208b01528a51808c018c52848152664d697261636c6560c81b818a01526105408b01528a51808c018c5285815265135bdc989a5960d21b818a01526105608b01528a51808c018c529586526727b13634bb34b7b760c11b868901526105808a01959095528951808b018b528281526813db9cdb185d59da1d60ba1b818901526105a08a01528951808b018b52818152632830b4b760e11b818901526105c08a01528951808b018b52600b81526a50616e64656d6f6e69756d60a81b818901526105e08a01528951808b018b52838152660a0d0decadcd2f60cb1b818901526106008a01528951808b018b5284815265506c6167756560d01b818901526106208a01528951808b018b52818152635261676560e01b818901526106408a01528951808b018b52838152665261707475726560c81b818901526106608a01528951808b018b528181526352756e6560e01b818901526106808a01528951808b018b528881526414dadd5b1b60da1b818901526106a08a01528951808b018b528581526214dbdb60ea1b818901526106c08a01528951808b018b529081526314dbdd5b60e21b818801526106e08901528851808a018a5283815265536f72726f7760d01b818801526107008901528851808a018a528381526514dc1a5c9a5d60d21b818801526107208901528851808a018a528781526453746f726d60d81b818801526107408901528851808a018a528281526615195b5c195cdd60ca1b818801526107608901528851808a018a5282815266151bdc9b595b9d60ca1b818801526107808901528851808a018a528181526856656e6765616e636560b81b818801526107a08901528851808a018a5282815266566963746f727960c81b818801526107c08901528851808a018a52878152642b34b832b960d91b818801526107e08901528851808a018a52928352650acdee4e8caf60d31b838701526108008801929092528751808901895292835262576f6560e81b8386015261082087019290925286518088018852948552640aee4c2e8d60db1b8585015261084086019490945285518087018752908152664c69676874277360c81b8184015261086085015284518086019095528452695368696d6d6572696e6760b01b90840152610880820192909252620019fe9190604562001e91565b506040805161028081018252600461024082018181526342616e6560e01b61026084015282528251808401845281815263149bdbdd60e21b6020828101919091528084019190915283518085018552828152634269746560e01b81830152838501528351808501855282815263536f6e6760e01b81830152606084015283518085018552828152632937b0b960e11b81830152608084015283518085018552600580825264047726173760dc1b8284015260a085019190915284518086018652600a80825269125b9cdd1c9d5b595b9d60b21b8285015260c08601919091528551808701875284815263476c6f7760e01b8185015260e0860152855180870187526006808252652132b73232b960d11b828601526101008701919091528651808801885290815265536861646f7760d01b818501526101208601528551808701875260078152662bb434b9b832b960c91b81850152610140860152855180870187528281526414da1bdd5d60da1b81850152610160860152855180870187529182526411dc9bdddb60da1b8284015261018085019190915284518086018652838152632a32b0b960e11b818401526101a085015284518086018652838152635065616b60e01b818401526101c08501528451808601865283815263466f726d60e01b818401526101e085015284518086018652600381526229bab760e91b8184015261020085015284518086019095529184526326b7b7b760e11b9084015261022082019290925262001c349190601262001ce5565b5034801562001c4257600080fd5b50604051620076483803806200764883398101604081905262001c6591620020b5565b83518490849062001c7e90600b90602085019062001ee3565b50805162001c9490600c90602084019062001ee3565b5050855162001cac9150601690602088019062001ee3565b50601580546001600160a01b031916331790556014819055815162001cd990601790602085019062001ee3565b505050505050620021b4565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d2691849160209091019062001ee3565b509160200191906001019062001d06565b5062001d4592915062001f6e565b5090565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d8a91849160209091019062001ee3565b509160200191906001019062001d6a565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ddc91849160209091019062001ee3565b509160200191906001019062001dbc565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e2e91849160209091019062001ee3565b509160200191906001019062001e0e565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e8091849160209091019062001ee3565b509160200191906001019062001e60565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ed291849160209091019062001ee3565b509160200191906001019062001eb2565b82805462001ef19062002178565b90600052602060002090601f01602090048101928262001f15576000855562001f60565b82601f1062001f3057805160ff191683800117855562001f60565b8280016001018555821562001f60579182015b8281111562001f6057825182559160200191906001019062001f43565b5062001d4592915062001f8f565b8082111562001d4557600062001f85828262001fa6565b5060010162001f6e565b5b8082111562001d45576000815560010162001f90565b50805462001fb49062002178565b6000825580601f1062001fc5575050565b601f01602090049060005260206000209081019062001fe5919062001f8f565b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200201057600080fd5b81516001600160401b03808211156200202d576200202d62001fe8565b604051601f8301601f19908116603f0116810190828211818310171562002058576200205862001fe8565b816040528381526020925086838588010111156200207557600080fd5b600091505b838210156200209957858201830151818301840152908201906200207a565b83821115620020ab5760008385830101525b9695505050505050565b600080600080600060a08688031215620020ce57600080fd5b85516001600160401b0380821115620020e657600080fd5b620020f489838a0162001ffe565b965060208801519150808211156200210b57600080fd5b6200211989838a0162001ffe565b955060408801519150808211156200213057600080fd5b6200213e89838a0162001ffe565b945060608801519150808211156200215557600080fd5b50620021648882890162001ffe565b925050608086015190509295509295909350565b600181811c908216806200218d57607f821691505b602082108103620021ae57634e487b7160e01b600052602260045260246000fd5b50919050565b61548480620021c46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", - "sourceMap": "79:384:172:-:0;;;;;-1:-1:-1;;;79:384:172;;297:8429:171;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;297:8429:171;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;79:384:172;;:::i;:::-;-1:-1:-1;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:172;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:172;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:172;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;:::i;:::-;-1:-1:-1;2533:149:172;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:172;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:172;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;:::i;:::-;;374::171;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;559:6:171;;567:4;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:171;;::::1;::::0;-1:-1:-1;583:4:171::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:171::1;:18:::0;;-1:-1:-1;;;;;;605:18:171::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:194:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:194;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:171;;;;;;", + "sourceMap": "79:384:146:-:0;;;;;-1:-1:-1;;;79:384:146;;297:8429:145;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;297:8429:145;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;-1:-1:-1;;79:384:146;;:::i;:::-;-1:-1:-1;470:395:146;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:146;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:146;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:146;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:146;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:146;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;:::i;:::-;-1:-1:-1;2533:149:146;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:146;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:146;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;:::i;:::-;;374::145;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:79;;559:6:145;;567:4;;1456:13:79;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:79;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:145;;::::1;::::0;-1:-1:-1;583:4:145::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:145::1;:18:::0;;-1:-1:-1;;;;;;605:18:145::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:145;;;-1:-1:-1;297:8429:145;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:145;;;-1:-1:-1;297:8429:145;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:168:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:168;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:168;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:168:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:168;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:145;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", - "sourceMap": "297:8429:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:194;;;1911:74;;1899:2;1884:18;3935:167:105;1765:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2602:25:194;;;2590:2;2575:18;241:23:173;2456:177:194;6480:214:171;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;7219:620:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:194;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:171;2971:679:194;1033:29:171;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;7845:482:171:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:105:-;;;;;;:::i;:::-;;:::i;5946:324:171:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:171:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;10032:25:194;;;-1:-1:-1;;;;;10093:55:194;;;10088:2;10073:18;;10066:83;10005:18;270:44:173;9858:297:194;5263:677:171;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;11069:2:194;3597:57:105;;;11051:21:194;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;11471:2:194;3665:170:105;;;11453:21:194;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:105;11269:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:171:-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:194;;;6629:58:171::1;::::0;::::1;11873:74:194::0;11963:18;;;11956:34;;;6629:33:171;::::1;::::0;::::1;::::0;11846:18:194;;6629:58:171::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:105:-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;12453:2:194;4763:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:105;12251:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:171:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:171;;;-1:-1:-1;;7361:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:171;-1:-1:-1;7430:21:171;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:171;;12867:2:194;7408:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:171;12665:339:194;7408:62:171;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:105:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:171:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:171;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:171;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:171;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:171;;7845:482;-1:-1:-1;;;7845:482:171:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:171;;13789:2:194;6388:40:171::1;::::0;::::1;13771:21:194::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:171::1;13587:340:194::0;6388:40:171::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:171;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:171;;;-1:-1:-1;;6884:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:171;-1:-1:-1;6953:21:171;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:171;;12867:2:194;6931:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:171;12665:339:194;6931:62:171;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;14134:2:194;2324:56:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:105;13932:348:194;5946:324:171;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:171;-1:-1:-1;;;;;6066:18:171;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:171;6066:10;;6094:32;;;;-1:-1:-1;6152:8:171;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:171;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;14487:2:194;2020:73:105;;;14469:21:194;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:105;14285:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:171:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:171;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:171;;;;;;;-1:-1:-1;;1135:40:171;;;:::o;4169:153:105:-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;12453:2:194;5311:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:105;12251:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:171:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:171;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:171;;;-1:-1:-1;;1404:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:171;-1:-1:-1;1468:19:171;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:171:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:171;;16481:2:194;1704:60:171;;;16463:21:194;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:171;16279:339:194;1704:60:171;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:171;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:171;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:171;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:171:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:171;;:34;;-1:-1:-1;;5899:34:171;5912:21;5899:34;;;-1:-1:-1;5263:677:171:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;14134:2:194;13313:53:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:105;13932:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;20485:2:194;11346:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:105;20283:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;20891:2:194;11437:65:105;;;20873:21:194;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:105;20689:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;20485:2:194;11647:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:105;20283:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:171:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:171;;21296:2:194;8452:41:171;;;21278:21:194;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:171;21094:337:194;8452:41:171;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:171;8333:391;-1:-1:-1;;;8333:391:171:o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:194;;;10073:18;;;10066:83;458:21:173;563:31;;10005:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;21919:2:194;8996:61:105;;;21901:21:194;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:105;21717:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;22280:2:194;9067:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:105;22078:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;22280:2:194;9271:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:105;22078:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;22637:2:194;12982:55:105;;;22619:21:194;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:105;22435:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;22991:2:194;6476:110:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:105;22789:414:194;447:696:111;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;24090:2:194;765:55:173;;;24072:21:194;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:173;23888:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;24441:2:194;880:69:173;;;24423:21:194;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:173;24239:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;24844:2:194;1022:122:173;;;24826:21:194;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:173;24642:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;25163:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;4104:1153:171:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:171;4104:1153;-1:-1:-1;;;4104:1153:171:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;22991:2:194;14409:60:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:105;22789:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;13925:831;;;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:194;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:194;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:194:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:194;;3655:632;-1:-1:-1;;;;;;3655:632:194:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:194:o;5875:184::-;-1:-1:-1;;;5924:1:194;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:194;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:194;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:194;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:194;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:194;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:194;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:194;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:194;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:194;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:194;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:194;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:194:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:194:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:194:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:194:o;23208:184::-;-1:-1:-1;;;23257:1:194;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:194;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:194;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:194;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:194;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:194;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:194:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:194:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:194:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:194:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:194;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:194:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", + "sourceMap": "297:8429:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:79;;;;;;:::i;:::-;;:::i;:::-;;;611:14:168;;604:22;586:41;;574:2;559:18;1570:300:79;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:168;;;1911:74;;1899:2;1884:18;3935:167:79;1765:226:168;3468:406:79;;;;;;:::i;:::-;;:::i;:::-;;241:23:147;;;;;;;;;2602:25:168;;;2590:2;2575:18;241:23:147;2456:177:168;6480:214:145;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:79;;;;;;:::i;:::-;;:::i;7219:620:145:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:168;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:145;2971:679:168;1033:29:145;;;;;;4974:149:79;;;;;;:::i;:::-;;:::i;7845:482:145:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:79:-;;;;;;:::i;:::-;;:::i;5946:324:145:-;;;;;;:::i;:::-;;:::i;1929:204:79:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:145:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:79:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:145:-;;;;;;:::i;:::-;;:::i;270:44:147:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:147;;;;;;;10032:25:168;;;-1:-1:-1;;;;;10093:55:168;;;10088:2;10073:18;;10066:83;10005:18;270:44:147;9858:297:168;5263:677:145;;;;;;:::i;:::-;;:::i;4388:162:79:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:79;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:87;937:40;;;;1827:36:79;1688:175;1570:300;-1:-1:-1;;1570:300:79:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:79;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:79;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:79;:2;-1:-1:-1;;;;;3605:11:79;;3597:57;;;;-1:-1:-1;;;3597:57:79;;11069:2:168;3597:57:79;;;11051:21:168;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:79;;;;;;;;;719:10:84;-1:-1:-1;;;;;3686:21:79;;;;:62;;-1:-1:-1;3711:37:79;3728:5;719:10:84;4388:162:79;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:79;;11471:2:168;3665:170:79;;;11453:21:168;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:79;11269:425:168;3665:170:79;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:145:-;1235:5;;-1:-1:-1;;;;;1235:5:145;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:168;;;6629:58:145::1;::::0;::::1;11873:74:168::0;11963:18;;;11956:34;;;6629:33:145;::::1;::::0;::::1;::::0;11846:18:168;;6629:58:145::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:79:-;4771:41;719:10:84;4804:7:79;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:79;;12453:2:168;4763:99:79;;;12435:21:168;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:79;12251:409:168;4763:99:79;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:145:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:145;-1:-1:-1;;;;;7361:37:145;-1:-1:-1;;;;;7361:37:145;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:145;;;-1:-1:-1;;7361:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:145;-1:-1:-1;7430:21:145;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:145;;12867:2:168;7408:62:145;;;12849:21:168;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:145;12665:339:168;7408:62:145;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:79:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:145:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:145;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:145;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:145;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:145;;7845:482;-1:-1:-1;;;7845:482:145:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:145;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:145;;13789:2:168;6388:40:145::1;::::0;::::1;13771:21:168::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:145::1;13587:340:168::0;6388:40:145::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:145;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:145;-1:-1:-1;;;;;6884:37:145;-1:-1:-1;;;;;6884:37:145;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:145;;;-1:-1:-1;;6884:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:145;-1:-1:-1;6953:21:145;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:145;;12867:2:168;6931:62:145;;;12849:21:168;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:145;12665:339:168;6931:62:145;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:79:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;;2324:56;;;;-1:-1:-1;;;2324:56:79;;14134:2:168;2324:56:79;;;14116:21:168;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:79;13932:348:168;5946:324:145;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:145;-1:-1:-1;;;;;6066:18:145;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:145;6066:10;;6094:32;;;;-1:-1:-1;6152:8:145;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:145;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:79:-;2001:7;-1:-1:-1;;;;;2028:19:79;;2020:73;;;;-1:-1:-1;;;2020:73:79;;14487:2:168;2020:73:79;;;14469:21:168;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:79;14285:405:168;2020:73:79;-1:-1:-1;;;;;;2110:16:79;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:145:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:145;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:145;;;;;;;-1:-1:-1;;1135:40:145;;;:::o;4169:153:79:-;4263:52;719:10:84;4296:8:79;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:84;5352:7:79;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:79;;12453:2:168;5311:99:79;;;12435:21:168;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:79;12251:409:168;5311:99:79;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:145:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:145;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:145;;;-1:-1:-1;;1404:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:145;-1:-1:-1;1468:19:145;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:145;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:145:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:145;;16481:2:168;1704:60:145;;;16463:21:168;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:145;16279:339:168;1704:60:145;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:145;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:145;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:145;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:145;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:145:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:145;;:34;;-1:-1:-1;;5899:34:145;5912:21;5899:34;;;-1:-1:-1;5263:677:145:o;13240:133:79:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;13313:53;;;;-1:-1:-1;;;13313:53:79;;14134:2:168;13313:53:79;;;14116:21:168;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:79;13932:348:168;13313:53:79;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:79;-1:-1:-1;;;;;12646:29:79;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:79;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:79;:7;-1:-1:-1;;;;;7570:16:79;;:52;;;-1:-1:-1;;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:79;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:79;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:79:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:79;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:79;;11346:81;;;;-1:-1:-1;;;11346:81:79;;20485:2:168;11346:81:79;;;20467:21:168;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:79;20283:401:168;11346:81:79;-1:-1:-1;;;;;11445:16:79;;11437:65;;;;-1:-1:-1;;;11437:65:79;;20891:2:168;11437:65:79;;;20873:21:168;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:79;20689:400:168;11437:65:79;11682:4;-1:-1:-1;;;;;11655:31:79;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:79;;11647:81;;;;-1:-1:-1;;;11647:81:79;;20485:2:168;11647:81:79;;;20467:21:168;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:79;20283:401:168;11647:81:79;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:79;;;;;;-1:-1:-1;;;;;12265:15:79;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:79;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:145:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:145;;21296:2:168;8452:41:145;;;21278:21:168;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:145;21094:337:168;8452:41:145;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:145;8333:391;-1:-1:-1;;;8333:391:145:o;378:223:147:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:147;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:168;;;10073:18;;;10066:83;458:21:147;563:31;;10005:18:168;563:31:147;;;;;;;429:172;378:223;:::o;8925:920:79:-;-1:-1:-1;;;;;9004:16:79;;8996:61;;;;-1:-1:-1;;;8996:61:79;;21919:2:168;8996:61:79;;;21901:21:168;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:79;21717:356:168;8996:61:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:79;;22280:2:168;9067:58:79;;;22262:21:168;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:79;22078:352:168;9067:58:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:79;;22280:2:168;9271:58:79;;;22262:21:168;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:79;22078:352:168;9271:58:79;-1:-1:-1;;;;;9671:13:79;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:79;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:79;:5;-1:-1:-1;;;;;12990:17:79;;12982:55;;;;-1:-1:-1;;;12982:55:79;;22637:2:168;12982:55:79;;;22619:21:168;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:79;22435:349:168;12982:55:79;-1:-1:-1;;;;;13047:25:79;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:79;;;;;;;;;;13108:41;;586::168;;;13108::79;;559:18:168;13108:41:79;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:79;;22991:2:168;6476:110:79;;;22973:21:168;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:79;22789:414:168;447:696:85;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:85;-1:-1:-1;604:41:85;-1:-1:-1;765:28:85;;;781:2;765:28;820:280;-1:-1:-1;;851:5:85;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:85;820:280;1064:21;-1:-1:-1;1120:6:85;447:696;-1:-1:-1;;;447:696:85:o;396:1557:144:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:144;;;;;;;;;-1:-1:-1;528:9:144;;;396:1557;-1:-1:-1;396:1557:144:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:144;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:144;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:144;;1810:41;1659:206;-1:-1:-1;;;1879:26:144;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:144:o;607:996:147:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:147;;24090:2:168;765:55:147;;;24072:21:168;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:147;23888:346:168;765:55:147;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:147;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:147;;24441:2:168;880:69:147;;;24423:21:168;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:147;24239:398:168;880:69:147;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:147;-1:-1:-1;1059:13:147;;959:53;;-1:-1:-1;1059:31:147;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:147;;24844:2:168;1022:122:147;;;24826:21:168;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:147;24642:352:168;1022:122:147;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:168;;;1177:28:147;-1:-1:-1;1169:37:147;;25163:12:168;1303:22:147;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:147;;607:996;-1:-1:-1;;;;;;;607:996:147:o;4104:1153:145:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:145;4104:1153;-1:-1:-1;;;4104:1153:145:o;13925:831:79:-;14074:4;-1:-1:-1;;;;;14094:13:79;;1702:19:83;:23;14090:660:79;;14129:71;;;;;-1:-1:-1;;;;;14129:36:79;;;;;:71;;719:10:84;;14180:4:79;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:79;;;;;;;;-1:-1:-1;;14129:71:79;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:79;;22991:2:168;14409:60:79;;;22973:21:168;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:79;22789:414:168;14363:321:79;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:79;;14090:660;-1:-1:-1;14735:4:79;13925:831;;;;;;:::o;10139:916:89:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:89;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:89;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:89;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:89;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:89;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:89;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:89:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:168;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:168:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:168;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:168;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:168:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:168;;1448:180;-1:-1:-1;1448:180:168:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:168;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:168:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:168;;3655:632;-1:-1:-1;;;;;;3655:632:168:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:168:o;5875:184::-;-1:-1:-1;;;5924:1:168;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:168;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:168;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:168;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:168;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:168;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:168;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:168;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:168;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:168;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:168;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:168;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:168:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:168:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:168:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:168:o;23208:184::-;-1:-1:-1;;;23257:1:168;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:168;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:168;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:168;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:168;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:168;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:168:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:168:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:168:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:168:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:168;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:168:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -1633,64 +1633,64 @@ }, "ast": { "absolutePath": "src/other/Loot.sol", - "id": 120387, + "id": 112094, "exportedSymbols": { "Address": [ - 132093 + 30657 ], "Base64": [ - 119403 + 111110 ], "Context": [ - 132115 + 30679 ], "ERC165": [ - 132139 + 31460 ], "ERC721": [ - 72425 + 30166 ], "IERC165": [ - 174420 + 31472 ], "IERC20": [ - 71498 + 29239 ], "IERC721": [ - 131718 + 30282 ], "IERC721Metadata": [ - 131763 + 30327 ], "IERC721Receiver": [ - 131736 + 30300 ], "MLoot": [ - 120386 + 112093 ], "MRandom": [ - 120834 + 112541 ], "Math": [ - 133005 + 32338 ], "SignedMath": [ - 133110 + 32443 ], "Strings": [ - 72654 + 30908 ], "Suit": [ - 120637 + 112344 ] }, "nodeType": "SourceUnit", - "src": "32:8695:171", + "src": "32:8695:145", "nodes": [ { - "id": 119405, + "id": 111112, "nodeType": "PragmaDirective", - "src": "32:24:171", + "src": "32:24:145", "nodes": [], "literals": [ "solidity", @@ -1700,106 +1700,106 @@ ] }, { - "id": 119406, + "id": 111113, "nodeType": "ImportDirective", - "src": "57:24:171", + "src": "57:24:145", "nodes": [], "absolutePath": "src/other/LootSuit.sol", "file": "./LootSuit.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 120638, + "scope": 112094, + "sourceUnit": 112345, "symbolAliases": [], "unitAlias": "" }, { - "id": 119407, + "id": 111114, "nodeType": "ImportDirective", - "src": "82:22:171", + "src": "82:22:145", "nodes": [], "absolutePath": "src/other/Base64.sol", "file": "./Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 119404, + "scope": 112094, + "sourceUnit": 111111, "symbolAliases": [], "unitAlias": "" }, { - "id": 119408, + "id": 111115, "nodeType": "ImportDirective", - "src": "105:23:171", + "src": "105:23:145", "nodes": [], "absolutePath": "src/other/MRandom.sol", "file": "./MRandom.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 120835, + "scope": 112094, + "sourceUnit": 112542, "symbolAliases": [], "unitAlias": "" }, { - "id": 119409, + "id": 111116, "nodeType": "ImportDirective", - "src": "129:51:171", + "src": "129:51:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "file": "@openzeppelin/contracts/utils/Strings.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 72655, + "scope": 112094, + "sourceUnit": 30909, "symbolAliases": [], "unitAlias": "" }, { - "id": 119410, + "id": 111117, "nodeType": "ImportDirective", - "src": "181:57:171", + "src": "181:57:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 72426, + "scope": 112094, + "sourceUnit": 30167, "symbolAliases": [], "unitAlias": "" }, { - "id": 119411, + "id": 111118, "nodeType": "ImportDirective", - "src": "239:56:171", + "src": "239:56:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 71499, + "scope": 112094, + "sourceUnit": 29240, "symbolAliases": [], "unitAlias": "" }, { - "id": 120386, + "id": 112093, "nodeType": "ContractDefinition", - "src": "297:8429:171", + "src": "297:8429:145", "nodes": [ { - "id": 119420, + "id": 111127, "nodeType": "UsingForDirective", - "src": "342:26:171", + "src": "342:26:145", "nodes": [], "global": false, "libraryName": { - "id": 119418, + "id": 111125, "name": "Strings", "nodeType": "IdentifierPath", - "referencedDeclaration": 72654, - "src": "348:7:171" + "referencedDeclaration": 30908, + "src": "348:7:145" }, "typeName": { - "id": 119419, + "id": 111126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "360:7:171", + "src": "360:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1807,30 +1807,30 @@ } }, { - "id": 119455, + "id": 111162, "nodeType": "FunctionDefinition", - "src": "374:342:171", + "src": "374:342:145", "nodes": [], "body": { - "id": 119454, + "id": 111161, "nodeType": "Block", - "src": "573:143:171", + "src": "573:143:145", "nodes": [], "statements": [ { "expression": { - "id": 119439, + "id": 111146, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119437, + "id": 111144, "name": "desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119487, - "src": "583:4:171", + "referencedDeclaration": 111194, + "src": "583:4:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1839,41 +1839,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119438, + "id": 111145, "name": "_desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119422, - "src": "590:5:171", + "referencedDeclaration": 111129, + "src": "590:5:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "583:12:171", + "src": "583:12:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119440, + "id": 111147, "nodeType": "ExpressionStatement", - "src": "583:12:171" + "src": "583:12:145" }, { "expression": { - "id": 119444, + "id": 111151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119441, + "id": 111148, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119485, - "src": "605:5:171", + "referencedDeclaration": 111192, + "src": "605:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1883,54 +1883,54 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119442, + "id": 111149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "613:3:171", + "src": "613:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 119443, + "id": 111150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "613:10:171", + "src": "613:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "605:18:171", + "src": "605:18:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 119445, + "id": 111152, "nodeType": "ExpressionStatement", - "src": "605:18:171" + "src": "605:18:145" }, { "expression": { - "id": 119448, + "id": 111155, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119446, + "id": 111153, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119483, - "src": "633:14:171", + "referencedDeclaration": 111190, + "src": "633:14:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1939,41 +1939,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119447, + "id": 111154, "name": "_waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119430, - "src": "650:15:171", + "referencedDeclaration": 111137, + "src": "650:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "633:32:171", + "src": "633:32:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 119449, + "id": 111156, "nodeType": "ExpressionStatement", - "src": "633:32:171" + "src": "633:32:145" }, { "expression": { - "id": 119452, + "id": 111159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119450, + "id": 111157, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119489, - "src": "675:15:171", + "referencedDeclaration": 111196, + "src": "675:15:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1982,26 +1982,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119451, + "id": 111158, "name": "_notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119428, - "src": "693:16:171", + "referencedDeclaration": 111135, + "src": "693:16:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "675:34:171", + "src": "675:34:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119453, + "id": 111160, "nodeType": "ExpressionStatement", - "src": "675:34:171" + "src": "675:34:145" } ] }, @@ -2011,58 +2011,58 @@ { "arguments": [ { - "id": 119433, + "id": 111140, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119424, - "src": "559:6:171", + "referencedDeclaration": 111131, + "src": "559:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 119434, + "id": 111141, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119426, - "src": "567:4:171", + "referencedDeclaration": 111133, + "src": "567:4:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 119435, + "id": 111142, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 119432, + "id": 111139, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "552:6:171" + "referencedDeclaration": 30166, + "src": "552:6:145" }, "nodeType": "ModifierInvocation", - "src": "552:20:171" + "src": "552:20:145" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 119431, + "id": 111138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119422, + "id": 111129, "mutability": "mutable", "name": "_desc", - "nameLocation": "409:5:171", + "nameLocation": "409:5:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "395:19:171", + "scope": 111162, + "src": "395:19:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2070,10 +2070,10 @@ "typeString": "string" }, "typeName": { - "id": 119421, + "id": 111128, "name": "string", "nodeType": "ElementaryTypeName", - "src": "395:6:171", + "src": "395:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2083,13 +2083,13 @@ }, { "constant": false, - "id": 119424, + "id": 111131, "mutability": "mutable", "name": "symbol", - "nameLocation": "438:6:171", + "nameLocation": "438:6:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "424:20:171", + "scope": 111162, + "src": "424:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2097,10 +2097,10 @@ "typeString": "string" }, "typeName": { - "id": 119423, + "id": 111130, "name": "string", "nodeType": "ElementaryTypeName", - "src": "424:6:171", + "src": "424:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2110,13 +2110,13 @@ }, { "constant": false, - "id": 119426, + "id": 111133, "mutability": "mutable", "name": "name", - "nameLocation": "468:4:171", + "nameLocation": "468:4:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "454:18:171", + "scope": 111162, + "src": "454:18:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2124,10 +2124,10 @@ "typeString": "string" }, "typeName": { - "id": 119425, + "id": 111132, "name": "string", "nodeType": "ElementaryTypeName", - "src": "454:6:171", + "src": "454:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2137,13 +2137,13 @@ }, { "constant": false, - "id": 119428, + "id": 111135, "mutability": "mutable", "name": "_notRevealedInfo", - "nameLocation": "496:16:171", + "nameLocation": "496:16:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "482:30:171", + "scope": 111162, + "src": "482:30:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2151,10 +2151,10 @@ "typeString": "string" }, "typeName": { - "id": 119427, + "id": 111134, "name": "string", "nodeType": "ElementaryTypeName", - "src": "482:6:171", + "src": "482:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2164,13 +2164,13 @@ }, { "constant": false, - "id": 119430, + "id": 111137, "mutability": "mutable", "name": "_waitBlockCount", - "nameLocation": "530:15:171", + "nameLocation": "530:15:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "522:23:171", + "scope": 111162, + "src": "522:23:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2178,10 +2178,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119429, + "id": 111136, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "522:7:171", + "src": "522:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2190,35 +2190,35 @@ "visibility": "internal" } ], - "src": "385:166:171" + "src": "385:166:145" }, "returnParameters": { - "id": 119436, + "id": 111143, "nodeType": "ParameterList", "parameters": [], - "src": "573:0:171" + "src": "573:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 119479, + "id": 111186, "nodeType": "StructDefinition", - "src": "732:267:171", + "src": "732:267:145", "nodes": [], "canonicalName": "MLoot.Loot", "members": [ { "constant": false, - "id": 119457, + "id": 111164, "mutability": "mutable", "name": "randomId", - "nameLocation": "762:8:171", + "nameLocation": "762:8:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "754:16:171", + "scope": 111186, + "src": "754:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2226,10 +2226,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119456, + "id": 111163, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "754:7:171", + "src": "754:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2239,13 +2239,13 @@ }, { "constant": false, - "id": 119459, + "id": 111166, "mutability": "mutable", "name": "owner", - "nameLocation": "788:5:171", + "nameLocation": "788:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "780:13:171", + "scope": 111186, + "src": "780:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2253,10 +2253,10 @@ "typeString": "address" }, "typeName": { - "id": 119458, + "id": 111165, "name": "address", "nodeType": "ElementaryTypeName", - "src": "780:7:171", + "src": "780:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2267,13 +2267,13 @@ }, { "constant": false, - "id": 119461, + "id": 111168, "mutability": "mutable", "name": "Weapon", - "nameLocation": "810:6:171", + "nameLocation": "810:6:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "803:13:171", + "scope": 111186, + "src": "803:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2281,10 +2281,10 @@ "typeString": "string" }, "typeName": { - "id": 119460, + "id": 111167, "name": "string", "nodeType": "ElementaryTypeName", - "src": "803:6:171", + "src": "803:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2294,13 +2294,13 @@ }, { "constant": false, - "id": 119463, + "id": 111170, "mutability": "mutable", "name": "Chest", - "nameLocation": "833:5:171", + "nameLocation": "833:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "826:12:171", + "scope": 111186, + "src": "826:12:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2308,10 +2308,10 @@ "typeString": "string" }, "typeName": { - "id": 119462, + "id": 111169, "name": "string", "nodeType": "ElementaryTypeName", - "src": "826:6:171", + "src": "826:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2321,13 +2321,13 @@ }, { "constant": false, - "id": 119465, + "id": 111172, "mutability": "mutable", "name": "Head", - "nameLocation": "855:4:171", + "nameLocation": "855:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "848:11:171", + "scope": 111186, + "src": "848:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2335,10 +2335,10 @@ "typeString": "string" }, "typeName": { - "id": 119464, + "id": 111171, "name": "string", "nodeType": "ElementaryTypeName", - "src": "848:6:171", + "src": "848:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2348,13 +2348,13 @@ }, { "constant": false, - "id": 119467, + "id": 111174, "mutability": "mutable", "name": "Waist", - "nameLocation": "876:5:171", + "nameLocation": "876:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "869:12:171", + "scope": 111186, + "src": "869:12:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2362,10 +2362,10 @@ "typeString": "string" }, "typeName": { - "id": 119466, + "id": 111173, "name": "string", "nodeType": "ElementaryTypeName", - "src": "869:6:171", + "src": "869:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2375,13 +2375,13 @@ }, { "constant": false, - "id": 119469, + "id": 111176, "mutability": "mutable", "name": "Foot", - "nameLocation": "898:4:171", + "nameLocation": "898:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "891:11:171", + "scope": 111186, + "src": "891:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2389,10 +2389,10 @@ "typeString": "string" }, "typeName": { - "id": 119468, + "id": 111175, "name": "string", "nodeType": "ElementaryTypeName", - "src": "891:6:171", + "src": "891:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2402,13 +2402,13 @@ }, { "constant": false, - "id": 119471, + "id": 111178, "mutability": "mutable", "name": "Hand", - "nameLocation": "919:4:171", + "nameLocation": "919:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "912:11:171", + "scope": 111186, + "src": "912:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2416,10 +2416,10 @@ "typeString": "string" }, "typeName": { - "id": 119470, + "id": 111177, "name": "string", "nodeType": "ElementaryTypeName", - "src": "912:6:171", + "src": "912:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2429,13 +2429,13 @@ }, { "constant": false, - "id": 119473, + "id": 111180, "mutability": "mutable", "name": "Neck", - "nameLocation": "940:4:171", + "nameLocation": "940:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "933:11:171", + "scope": 111186, + "src": "933:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2443,10 +2443,10 @@ "typeString": "string" }, "typeName": { - "id": 119472, + "id": 111179, "name": "string", "nodeType": "ElementaryTypeName", - "src": "933:6:171", + "src": "933:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2456,13 +2456,13 @@ }, { "constant": false, - "id": 119475, + "id": 111182, "mutability": "mutable", "name": "Ring", - "nameLocation": "961:4:171", + "nameLocation": "961:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "954:11:171", + "scope": 111186, + "src": "954:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2470,10 +2470,10 @@ "typeString": "string" }, "typeName": { - "id": 119474, + "id": 111181, "name": "string", "nodeType": "ElementaryTypeName", - "src": "954:6:171", + "src": "954:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2483,33 +2483,33 @@ }, { "constant": false, - "id": 119478, + "id": 111185, "mutability": "mutable", "name": "state", - "nameLocation": "987:5:171", + "nameLocation": "987:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "975:17:171", + "scope": 111186, + "src": "975:17:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, "typeName": { - "id": 119477, + "id": 111184, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119476, + "id": 111183, "name": "RandomState", "nodeType": "IdentifierPath", - "referencedDeclaration": 120643, - "src": "975:11:171" + "referencedDeclaration": 112350, + "src": "975:11:145" }, - "referencedDeclaration": 120643, - "src": "975:11:171", + "referencedDeclaration": 112350, + "src": "975:11:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -2517,21 +2517,21 @@ } ], "name": "Loot", - "nameLocation": "739:4:171", - "scope": 120386, + "nameLocation": "739:4:145", + "scope": 112093, "visibility": "public" }, { - "id": 119481, + "id": 111188, "nodeType": "VariableDeclaration", - "src": "1005:22:171", + "src": "1005:22:145", "nodes": [], "constant": false, "functionSelector": "17d70f7c", "mutability": "mutable", "name": "tokenId", - "nameLocation": "1020:7:171", - "scope": 120386, + "nameLocation": "1020:7:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2539,10 +2539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119480, + "id": 111187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1005:7:171", + "src": "1005:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2551,16 +2551,16 @@ "visibility": "public" }, { - "id": 119483, + "id": 111190, "nodeType": "VariableDeclaration", - "src": "1033:29:171", + "src": "1033:29:145", "nodes": [], "constant": false, "functionSelector": "3e8474ca", "mutability": "mutable", "name": "waitBlockCount", - "nameLocation": "1048:14:171", - "scope": 120386, + "nameLocation": "1048:14:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2568,10 +2568,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119482, + "id": 111189, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1033:7:171", + "src": "1033:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2580,15 +2580,15 @@ "visibility": "public" }, { - "id": 119485, + "id": 111192, "nodeType": "VariableDeclaration", - "src": "1070:13:171", + "src": "1070:13:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "owner", - "nameLocation": "1078:5:171", - "scope": 120386, + "nameLocation": "1078:5:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2596,10 +2596,10 @@ "typeString": "address" }, "typeName": { - "id": 119484, + "id": 111191, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1070:7:171", + "src": "1070:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2609,15 +2609,15 @@ "visibility": "internal" }, { - "id": 119487, + "id": 111194, "nodeType": "VariableDeclaration", - "src": "1089:11:171", + "src": "1089:11:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "desc", - "nameLocation": "1096:4:171", - "scope": 120386, + "nameLocation": "1096:4:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2625,10 +2625,10 @@ "typeString": "string" }, "typeName": { - "id": 119486, + "id": 111193, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1089:6:171", + "src": "1089:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2637,15 +2637,15 @@ "visibility": "internal" }, { - "id": 119489, + "id": 111196, "nodeType": "VariableDeclaration", - "src": "1106:22:171", + "src": "1106:22:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "notRevealedInfo", - "nameLocation": "1113:15:171", - "scope": 120386, + "nameLocation": "1113:15:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2653,10 +2653,10 @@ "typeString": "string" }, "typeName": { - "id": 119488, + "id": 111195, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1106:6:171", + "src": "1106:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2665,54 +2665,54 @@ "visibility": "internal" }, { - "id": 119494, + "id": 111201, "nodeType": "VariableDeclaration", - "src": "1135:40:171", + "src": "1135:40:145", "nodes": [], "constant": false, "functionSelector": "9b8a3237", "mutability": "mutable", "name": "lootList", - "nameLocation": "1167:8:171", - "scope": 120386, + "nameLocation": "1167:8:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot)" }, "typeName": { - "id": 119493, + "id": 111200, "keyType": { - "id": 119490, + "id": 111197, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1143:7:171", + "src": "1143:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1135:24:171", + "src": "1135:24:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot)" }, "valueType": { - "id": 119492, + "id": 111199, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119491, + "id": 111198, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "1154:4:171" + "referencedDeclaration": 111186, + "src": "1154:4:145" }, - "referencedDeclaration": 119479, - "src": "1154:4:171", + "referencedDeclaration": 111186, + "src": "1154:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } } @@ -2720,14 +2720,14 @@ "visibility": "public" }, { - "id": 119505, + "id": 111212, "nodeType": "ModifierDefinition", - "src": "1182:77:171", + "src": "1182:77:145", "nodes": [], "body": { - "id": 119504, + "id": 111211, "nodeType": "Block", - "src": "1203:56:171", + "src": "1203:56:145", "nodes": [], "statements": [ { @@ -2738,32 +2738,32 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 119500, + "id": 111207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119497, + "id": 111204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1221:3:171", + "src": "1221:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 119498, + "id": 111205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1221:10:171", + "src": "1221:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2772,18 +2772,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 119499, + "id": 111206, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119485, - "src": "1235:5:171", + "referencedDeclaration": 111192, + "src": "1235:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1221:19:171", + "src": "1221:19:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2797,7 +2797,7 @@ "typeString": "bool" } ], - "id": 119496, + "id": 111203, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2805,13 +2805,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1213:7:171", + "src": "1213:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 119501, + "id": 111208, "isConstant": false, "isLValue": false, "isPure": false, @@ -2819,60 +2819,60 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1213:28:171", + "src": "1213:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 119502, + "id": 111209, "nodeType": "ExpressionStatement", - "src": "1213:28:171" + "src": "1213:28:145" }, { - "id": 119503, + "id": 111210, "nodeType": "PlaceholderStatement", - "src": "1251:1:171" + "src": "1251:1:145" } ] }, "name": "onlyOwner", - "nameLocation": "1191:9:171", + "nameLocation": "1191:9:145", "parameters": { - "id": 119495, + "id": 111202, "nodeType": "ParameterList", "parameters": [], - "src": "1200:2:171" + "src": "1200:2:145" }, "virtual": false, "visibility": "internal" }, { - "id": 119780, + "id": 111487, "nodeType": "FunctionDefinition", - "src": "1266:2832:171", + "src": "1266:2832:145", "nodes": [], "body": { - "id": 119779, + "id": 111486, "nodeType": "Block", - "src": "1361:2737:171", + "src": "1361:2737:145", "nodes": [], "statements": [ { "assignments": [ - 119518 + 111225 ], "declarations": [ { "constant": false, - "id": 119518, + "id": 111225, "mutability": "mutable", "name": "parts", - "nameLocation": "1389:5:171", + "nameLocation": "1389:5:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "1371:23:171", + "scope": 111486, + "src": "1371:23:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2881,26 +2881,26 @@ }, "typeName": { "baseType": { - "id": 119516, + "id": 111223, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1371:6:171", + "src": "1371:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119517, + "id": 111224, "length": { "hexValue": "3137", - "id": 119515, + "id": 111222, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1378:2:171", + "src": "1378:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_17_by_1", "typeString": "int_const 17" @@ -2908,7 +2908,7 @@ "value": "17" }, "nodeType": "ArrayTypeName", - "src": "1371:10:171", + "src": "1371:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$17_storage_ptr", "typeString": "string[17]" @@ -2917,72 +2917,72 @@ "visibility": "internal" } ], - "id": 119519, + "id": 111226, "nodeType": "VariableDeclarationStatement", - "src": "1371:23:171" + "src": "1371:23:145" }, { "assignments": [ - 119522 + 111229 ], "declarations": [ { "constant": false, - "id": 119522, + "id": 111229, "mutability": "mutable", "name": "loot", - "nameLocation": "1416:4:171", + "nameLocation": "1416:4:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "1404:16:171", + "scope": 111486, + "src": "1404:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 119521, + "id": 111228, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119520, + "id": 111227, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "1404:4:171" + "referencedDeclaration": 111186, + "src": "1404:4:145" }, - "referencedDeclaration": 119479, - "src": "1404:4:171", + "referencedDeclaration": 111186, + "src": "1404:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 119526, + "id": 111233, "initialValue": { "baseExpression": { - "id": 119523, + "id": 111230, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "1423:8:171", + "referencedDeclaration": 111201, + "src": "1423:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 119525, + "id": 111232, "indexExpression": { - "id": 119524, + "id": 111231, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119507, - "src": "1432:8:171", + "referencedDeclaration": 111214, + "src": "1432:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2993,50 +2993,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1423:18:171", + "src": "1423:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1404:37:171" + "src": "1404:37:145" }, { "condition": { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 119531, + "id": 111238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119527, + "id": 111234, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "1454:4:171", + "referencedDeclaration": 111229, + "src": "1454:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119528, + "id": 111235, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "1454:10:171", + "referencedDeclaration": 111185, + "src": "1454:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -3044,59 +3044,59 @@ "operator": "==", "rightExpression": { "expression": { - "id": 119529, + "id": 111236, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1468:11:171", + "referencedDeclaration": 112350, + "src": "1468:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 119530, + "id": 111237, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "1468:19:171", + "referencedDeclaration": 112348, + "src": "1468:19:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1454:33:171", + "src": "1454:33:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119546, + "id": 111253, "nodeType": "IfStatement", - "src": "1451:244:171", + "src": "1451:244:145", "trueBody": { - "id": 119545, + "id": 111252, "nodeType": "Block", - "src": "1488:207:171", + "src": "1488:207:145", "statements": [ { "assignments": [ - 119533 + 111240 ], "declarations": [ { "constant": false, - "id": 119533, + "id": 111240, "mutability": "mutable", "name": "r", - "nameLocation": "1516:1:171", + "nameLocation": "1516:1:145", "nodeType": "VariableDeclaration", - "scope": 119545, - "src": "1502:15:171", + "scope": 111252, + "src": "1502:15:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3104,10 +3104,10 @@ "typeString": "string" }, "typeName": { - "id": 119532, + "id": 111239, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1502:6:171", + "src": "1502:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3116,21 +3116,21 @@ "visibility": "internal" } ], - "id": 119542, + "id": 111249, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 119538, + "id": 111245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1574:31:171", + "src": "1574:31:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -3138,12 +3138,12 @@ "value": "data:application/json;base64," }, { - "id": 119539, + "id": 111246, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119489, - "src": "1623:15:171", + "referencedDeclaration": 111196, + "src": "1623:15:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3162,31 +3162,31 @@ } ], "expression": { - "id": 119536, + "id": 111243, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1540:3:171", + "src": "1540:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119537, + "id": 111244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1540:16:171", + "src": "1540:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119540, + "id": 111247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3194,7 +3194,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1540:112:171", + "src": "1540:112:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3209,26 +3209,26 @@ "typeString": "bytes memory" } ], - "id": 119535, + "id": 111242, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1520:6:171", + "src": "1520:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119534, + "id": 111241, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1520:6:171", + "src": "1520:6:145", "typeDescriptions": {} } }, - "id": 119541, + "id": 111248, "isConstant": false, "isLValue": false, "isPure": false, @@ -3236,7 +3236,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:142:171", + "src": "1520:142:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3244,25 +3244,25 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1502:160:171" + "src": "1502:160:145" }, { "expression": { - "id": 119543, + "id": 111250, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119533, - "src": "1683:1:171", + "referencedDeclaration": 111240, + "src": "1683:1:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119512, - "id": 119544, + "functionReturnParameters": 111219, + "id": 111251, "nodeType": "Return", - "src": "1676:8:171" + "src": "1676:8:145" } ] } @@ -3272,38 +3272,38 @@ "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 119552, + "id": 111259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119548, + "id": 111255, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "1712:4:171", + "referencedDeclaration": 111229, + "src": "1712:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119549, + "id": 111256, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "1712:10:171", + "referencedDeclaration": 111185, + "src": "1712:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -3311,32 +3311,32 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 119550, + "id": 111257, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1726:11:171", + "referencedDeclaration": 112350, + "src": "1726:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 119551, + "id": 111258, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Inited", "nodeType": "MemberAccess", - "referencedDeclaration": 120640, - "src": "1726:18:171", + "referencedDeclaration": 112347, + "src": "1726:18:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1712:32:171", + "src": "1712:32:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3344,14 +3344,14 @@ }, { "hexValue": "426f78206e6f742065786973746564", - "id": 119553, + "id": 111260, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:17:171", + "src": "1746:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", "typeString": "literal_string \"Box not existed\"" @@ -3370,7 +3370,7 @@ "typeString": "literal_string \"Box not existed\"" } ], - "id": 119547, + "id": 111254, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3378,13 +3378,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1704:7:171", + "src": "1704:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 119554, + "id": 111261, "isConstant": false, "isLValue": false, "isPure": false, @@ -3392,48 +3392,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1704:60:171", + "src": "1704:60:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 119555, + "id": 111262, "nodeType": "ExpressionStatement", - "src": "1704:60:171" + "src": "1704:60:145" }, { "expression": { - "id": 119560, + "id": 111267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119556, + "id": 111263, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "1775:5:171", + "referencedDeclaration": 111225, + "src": "1775:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119558, + "id": 111265, "indexExpression": { "hexValue": "30", - "id": 119557, + "id": 111264, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1794:1:171", + "src": "1794:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3445,7 +3445,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1775:30:171", + "src": "1775:30:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3455,61 +3455,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", - "id": 119559, + "id": 111266, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1808:255:171", + "src": "1808:255:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "1775:288:171", + "src": "1775:288:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119561, + "id": 111268, "nodeType": "ExpressionStatement", - "src": "1775:288:171" + "src": "1775:288:145" }, { "expression": { - "id": 119567, + "id": 111274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119562, + "id": 111269, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2074:5:171", + "referencedDeclaration": 111225, + "src": "2074:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119564, + "id": 111271, "indexExpression": { "hexValue": "31", - "id": 119563, + "id": 111270, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2080:1:171", + "src": "2080:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3521,7 +3521,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2074:8:171", + "src": "2074:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3531,72 +3531,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119565, + "id": 111272, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2085:4:171", + "referencedDeclaration": 111229, + "src": "2085:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119566, + "id": 111273, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "2085:11:171", + "referencedDeclaration": 111168, + "src": "2085:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2074:22:171", + "src": "2074:22:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119568, + "id": 111275, "nodeType": "ExpressionStatement", - "src": "2074:22:171" + "src": "2074:22:145" }, { "expression": { - "id": 119573, + "id": 111280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119569, + "id": 111276, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2107:5:171", + "referencedDeclaration": 111225, + "src": "2107:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119571, + "id": 111278, "indexExpression": { "hexValue": "32", - "id": 119570, + "id": 111277, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2113:1:171", + "src": "2113:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3608,7 +3608,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2107:8:171", + "src": "2107:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3618,61 +3618,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", - "id": 119572, + "id": 111279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2118:42:171", + "src": "2118:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2107:53:171", + "src": "2107:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119574, + "id": 111281, "nodeType": "ExpressionStatement", - "src": "2107:53:171" + "src": "2107:53:145" }, { "expression": { - "id": 119580, + "id": 111287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119575, + "id": 111282, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2171:5:171", + "referencedDeclaration": 111225, + "src": "2171:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119577, + "id": 111284, "indexExpression": { "hexValue": "33", - "id": 119576, + "id": 111283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2177:1:171", + "src": "2177:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3684,7 +3684,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2171:8:171", + "src": "2171:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3694,72 +3694,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119578, + "id": 111285, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2182:4:171", + "referencedDeclaration": 111229, + "src": "2182:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119579, + "id": 111286, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "2182:10:171", + "referencedDeclaration": 111170, + "src": "2182:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2171:21:171", + "src": "2171:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119581, + "id": 111288, "nodeType": "ExpressionStatement", - "src": "2171:21:171" + "src": "2171:21:145" }, { "expression": { - "id": 119586, + "id": 111293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119582, + "id": 111289, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2203:5:171", + "referencedDeclaration": 111225, + "src": "2203:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119584, + "id": 111291, "indexExpression": { "hexValue": "34", - "id": 119583, + "id": 111290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2209:1:171", + "src": "2209:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3771,7 +3771,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2203:8:171", + "src": "2203:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3781,61 +3781,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", - "id": 119585, + "id": 111292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2214:42:171", + "src": "2214:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2203:53:171", + "src": "2203:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119587, + "id": 111294, "nodeType": "ExpressionStatement", - "src": "2203:53:171" + "src": "2203:53:145" }, { "expression": { - "id": 119593, + "id": 111300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119588, + "id": 111295, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2267:5:171", + "referencedDeclaration": 111225, + "src": "2267:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119590, + "id": 111297, "indexExpression": { "hexValue": "35", - "id": 119589, + "id": 111296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2273:1:171", + "src": "2273:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -3847,7 +3847,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2267:8:171", + "src": "2267:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3857,72 +3857,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119591, + "id": 111298, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2278:4:171", + "referencedDeclaration": 111229, + "src": "2278:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119592, + "id": 111299, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "2278:9:171", + "referencedDeclaration": 111172, + "src": "2278:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2267:20:171", + "src": "2267:20:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119594, + "id": 111301, "nodeType": "ExpressionStatement", - "src": "2267:20:171" + "src": "2267:20:145" }, { "expression": { - "id": 119599, + "id": 111306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119595, + "id": 111302, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2298:5:171", + "referencedDeclaration": 111225, + "src": "2298:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119597, + "id": 111304, "indexExpression": { "hexValue": "36", - "id": 119596, + "id": 111303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2304:1:171", + "src": "2304:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -3934,7 +3934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2298:8:171", + "src": "2298:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3944,61 +3944,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", - "id": 119598, + "id": 111305, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2309:42:171", + "src": "2309:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2298:53:171", + "src": "2298:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119600, + "id": 111307, "nodeType": "ExpressionStatement", - "src": "2298:53:171" + "src": "2298:53:145" }, { "expression": { - "id": 119606, + "id": 111313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119601, + "id": 111308, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2362:5:171", + "referencedDeclaration": 111225, + "src": "2362:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119603, + "id": 111310, "indexExpression": { "hexValue": "37", - "id": 119602, + "id": 111309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2368:1:171", + "src": "2368:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -4010,7 +4010,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2362:8:171", + "src": "2362:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4020,72 +4020,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119604, + "id": 111311, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2373:4:171", + "referencedDeclaration": 111229, + "src": "2373:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119605, + "id": 111312, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "2373:10:171", + "referencedDeclaration": 111174, + "src": "2373:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2362:21:171", + "src": "2362:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119607, + "id": 111314, "nodeType": "ExpressionStatement", - "src": "2362:21:171" + "src": "2362:21:145" }, { "expression": { - "id": 119612, + "id": 111319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119608, + "id": 111315, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2394:5:171", + "referencedDeclaration": 111225, + "src": "2394:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119610, + "id": 111317, "indexExpression": { "hexValue": "38", - "id": 119609, + "id": 111316, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2400:1:171", + "src": "2400:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -4097,7 +4097,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2394:8:171", + "src": "2394:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4107,61 +4107,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", - "id": 119611, + "id": 111318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2405:43:171", + "src": "2405:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2394:54:171", + "src": "2394:54:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119613, + "id": 111320, "nodeType": "ExpressionStatement", - "src": "2394:54:171" + "src": "2394:54:145" }, { "expression": { - "id": 119619, + "id": 111326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119614, + "id": 111321, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2459:5:171", + "referencedDeclaration": 111225, + "src": "2459:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119616, + "id": 111323, "indexExpression": { "hexValue": "39", - "id": 119615, + "id": 111322, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2465:1:171", + "src": "2465:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -4173,7 +4173,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2459:8:171", + "src": "2459:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4183,72 +4183,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119617, + "id": 111324, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2470:4:171", + "referencedDeclaration": 111229, + "src": "2470:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119618, + "id": 111325, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "2470:9:171", + "referencedDeclaration": 111176, + "src": "2470:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2459:20:171", + "src": "2459:20:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119620, + "id": 111327, "nodeType": "ExpressionStatement", - "src": "2459:20:171" + "src": "2459:20:145" }, { "expression": { - "id": 119625, + "id": 111332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119621, + "id": 111328, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2490:5:171", + "referencedDeclaration": 111225, + "src": "2490:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119623, + "id": 111330, "indexExpression": { "hexValue": "3130", - "id": 119622, + "id": 111329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2496:2:171", + "src": "2496:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -4260,7 +4260,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2490:9:171", + "src": "2490:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4270,61 +4270,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", - "id": 119624, + "id": 111331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2502:43:171", + "src": "2502:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2490:55:171", + "src": "2490:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119626, + "id": 111333, "nodeType": "ExpressionStatement", - "src": "2490:55:171" + "src": "2490:55:145" }, { "expression": { - "id": 119632, + "id": 111339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119627, + "id": 111334, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2556:5:171", + "referencedDeclaration": 111225, + "src": "2556:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119629, + "id": 111336, "indexExpression": { "hexValue": "3131", - "id": 119628, + "id": 111335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2562:2:171", + "src": "2562:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -4336,7 +4336,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2556:9:171", + "src": "2556:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4346,72 +4346,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119630, + "id": 111337, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2568:4:171", + "referencedDeclaration": 111229, + "src": "2568:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119631, + "id": 111338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "2568:9:171", + "referencedDeclaration": 111178, + "src": "2568:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2556:21:171", + "src": "2556:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119633, + "id": 111340, "nodeType": "ExpressionStatement", - "src": "2556:21:171" + "src": "2556:21:145" }, { "expression": { - "id": 119638, + "id": 111345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119634, + "id": 111341, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2588:5:171", + "referencedDeclaration": 111225, + "src": "2588:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119636, + "id": 111343, "indexExpression": { "hexValue": "3132", - "id": 119635, + "id": 111342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2594:2:171", + "src": "2594:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -4423,7 +4423,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2588:9:171", + "src": "2588:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4433,61 +4433,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e", - "id": 119637, + "id": 111344, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2600:43:171", + "src": "2600:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_802d7ac612e3f71ec446a9f274d9a3dd6ee52f8ac958ec0935e9c85bcfda065f", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2588:55:171", + "src": "2588:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119639, + "id": 111346, "nodeType": "ExpressionStatement", - "src": "2588:55:171" + "src": "2588:55:145" }, { "expression": { - "id": 119645, + "id": 111352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119640, + "id": 111347, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2654:5:171", + "referencedDeclaration": 111225, + "src": "2654:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119642, + "id": 111349, "indexExpression": { "hexValue": "3133", - "id": 119641, + "id": 111348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2660:2:171", + "src": "2660:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -4499,7 +4499,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2654:9:171", + "src": "2654:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4509,72 +4509,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119643, + "id": 111350, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2666:4:171", + "referencedDeclaration": 111229, + "src": "2666:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119644, + "id": 111351, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "2666:9:171", + "referencedDeclaration": 111180, + "src": "2666:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2654:21:171", + "src": "2654:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119646, + "id": 111353, "nodeType": "ExpressionStatement", - "src": "2654:21:171" + "src": "2654:21:145" }, { "expression": { - "id": 119651, + "id": 111358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119647, + "id": 111354, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2686:5:171", + "referencedDeclaration": 111225, + "src": "2686:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119649, + "id": 111356, "indexExpression": { "hexValue": "3134", - "id": 119648, + "id": 111355, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2692:2:171", + "src": "2692:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" @@ -4586,7 +4586,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2686:9:171", + "src": "2686:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4596,61 +4596,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e", - "id": 119650, + "id": 111357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2698:43:171", + "src": "2698:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b0df153e66a9089705a59f42f527fc62c50272bbdcc98097fe5334a37452f0f", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2686:55:171", + "src": "2686:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119652, + "id": 111359, "nodeType": "ExpressionStatement", - "src": "2686:55:171" + "src": "2686:55:145" }, { "expression": { - "id": 119658, + "id": 111365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119653, + "id": 111360, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2752:5:171", + "referencedDeclaration": 111225, + "src": "2752:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119655, + "id": 111362, "indexExpression": { "hexValue": "3135", - "id": 119654, + "id": 111361, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2758:2:171", + "src": "2758:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" @@ -4662,7 +4662,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2752:9:171", + "src": "2752:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4672,72 +4672,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119656, + "id": 111363, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2764:4:171", + "referencedDeclaration": 111229, + "src": "2764:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119657, + "id": 111364, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "2764:9:171", + "referencedDeclaration": 111182, + "src": "2764:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2752:21:171", + "src": "2752:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119659, + "id": 111366, "nodeType": "ExpressionStatement", - "src": "2752:21:171" + "src": "2752:21:145" }, { "expression": { - "id": 119664, + "id": 111371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119660, + "id": 111367, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2784:5:171", + "referencedDeclaration": 111225, + "src": "2784:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119662, + "id": 111369, "indexExpression": { "hexValue": "3136", - "id": 119661, + "id": 111368, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2790:2:171", + "src": "2790:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -4749,7 +4749,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2784:9:171", + "src": "2784:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4759,44 +4759,44 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c2f7376673e", - "id": 119663, + "id": 111370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2796:15:171", + "src": "2796:15:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2784:27:171", + "src": "2784:27:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119665, + "id": 111372, "nodeType": "ExpressionStatement", - "src": "2784:27:171" + "src": "2784:27:145" }, { "assignments": [ - 119667 + 111374 ], "declarations": [ { "constant": false, - "id": 119667, + "id": 111374, "mutability": "mutable", "name": "output", - "nameLocation": "2836:6:171", + "nameLocation": "2836:6:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "2822:20:171", + "scope": 111486, + "src": "2822:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4804,10 +4804,10 @@ "typeString": "string" }, "typeName": { - "id": 119666, + "id": 111373, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2822:6:171", + "src": "2822:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4816,35 +4816,35 @@ "visibility": "internal" } ], - "id": 119701, + "id": 111408, "initialValue": { "arguments": [ { "arguments": [ { "baseExpression": { - "id": 119672, + "id": 111379, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2899:5:171", + "referencedDeclaration": 111225, + "src": "2899:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119674, + "id": 111381, "indexExpression": { "hexValue": "30", - "id": 119673, + "id": 111380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2905:1:171", + "src": "2905:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -4856,7 +4856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2899:8:171", + "src": "2899:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4864,28 +4864,28 @@ }, { "baseExpression": { - "id": 119675, + "id": 111382, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2925:5:171", + "referencedDeclaration": 111225, + "src": "2925:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119677, + "id": 111384, "indexExpression": { "hexValue": "31", - "id": 119676, + "id": 111383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2931:1:171", + "src": "2931:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4897,7 +4897,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2925:8:171", + "src": "2925:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4905,28 +4905,28 @@ }, { "baseExpression": { - "id": 119678, + "id": 111385, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2951:5:171", + "referencedDeclaration": 111225, + "src": "2951:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119680, + "id": 111387, "indexExpression": { "hexValue": "32", - "id": 119679, + "id": 111386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2957:1:171", + "src": "2957:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4938,7 +4938,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2951:8:171", + "src": "2951:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4946,28 +4946,28 @@ }, { "baseExpression": { - "id": 119681, + "id": 111388, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2977:5:171", + "referencedDeclaration": 111225, + "src": "2977:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119683, + "id": 111390, "indexExpression": { "hexValue": "33", - "id": 119682, + "id": 111389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2983:1:171", + "src": "2983:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -4979,7 +4979,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2977:8:171", + "src": "2977:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4987,28 +4987,28 @@ }, { "baseExpression": { - "id": 119684, + "id": 111391, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3003:5:171", + "referencedDeclaration": 111225, + "src": "3003:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119686, + "id": 111393, "indexExpression": { "hexValue": "34", - "id": 119685, + "id": 111392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3009:1:171", + "src": "3009:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5020,7 +5020,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3003:8:171", + "src": "3003:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5028,28 +5028,28 @@ }, { "baseExpression": { - "id": 119687, + "id": 111394, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3029:5:171", + "referencedDeclaration": 111225, + "src": "3029:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119689, + "id": 111396, "indexExpression": { "hexValue": "35", - "id": 119688, + "id": 111395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3035:1:171", + "src": "3035:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -5061,7 +5061,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3029:8:171", + "src": "3029:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5069,28 +5069,28 @@ }, { "baseExpression": { - "id": 119690, + "id": 111397, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3055:5:171", + "referencedDeclaration": 111225, + "src": "3055:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119692, + "id": 111399, "indexExpression": { "hexValue": "36", - "id": 119691, + "id": 111398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3061:1:171", + "src": "3061:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -5102,7 +5102,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3055:8:171", + "src": "3055:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5110,28 +5110,28 @@ }, { "baseExpression": { - "id": 119693, + "id": 111400, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3081:5:171", + "referencedDeclaration": 111225, + "src": "3081:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119695, + "id": 111402, "indexExpression": { "hexValue": "37", - "id": 119694, + "id": 111401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3087:1:171", + "src": "3087:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -5143,7 +5143,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3081:8:171", + "src": "3081:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5151,28 +5151,28 @@ }, { "baseExpression": { - "id": 119696, + "id": 111403, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3107:5:171", + "referencedDeclaration": 111225, + "src": "3107:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119698, + "id": 111405, "indexExpression": { "hexValue": "38", - "id": 119697, + "id": 111404, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3113:1:171", + "src": "3113:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -5184,7 +5184,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3107:8:171", + "src": "3107:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5231,31 +5231,31 @@ } ], "expression": { - "id": 119670, + "id": 111377, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2865:3:171", + "src": "2865:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119671, + "id": 111378, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2865:16:171", + "src": "2865:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119699, + "id": 111406, "isConstant": false, "isLValue": false, "isPure": false, @@ -5263,7 +5263,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2865:264:171", + "src": "2865:264:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5278,26 +5278,26 @@ "typeString": "bytes memory" } ], - "id": 119669, + "id": 111376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2845:6:171", + "src": "2845:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119668, + "id": 111375, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2845:6:171", + "src": "2845:6:145", "typeDescriptions": {} } }, - "id": 119700, + "id": 111407, "isConstant": false, "isLValue": false, "isPure": false, @@ -5305,7 +5305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2845:294:171", + "src": "2845:294:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5313,22 +5313,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2822:317:171" + "src": "2822:317:145" }, { "expression": { - "id": 119734, + "id": 111441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119702, + "id": 111409, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3149:6:171", + "referencedDeclaration": 111374, + "src": "3149:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5341,12 +5341,12 @@ { "arguments": [ { - "id": 119707, + "id": 111414, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3212:6:171", + "referencedDeclaration": 111374, + "src": "3212:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5354,28 +5354,28 @@ }, { "baseExpression": { - "id": 119708, + "id": 111415, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3236:5:171", + "referencedDeclaration": 111225, + "src": "3236:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119710, + "id": 111417, "indexExpression": { "hexValue": "39", - "id": 119709, + "id": 111416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3242:1:171", + "src": "3242:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -5387,7 +5387,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3236:8:171", + "src": "3236:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5395,28 +5395,28 @@ }, { "baseExpression": { - "id": 119711, + "id": 111418, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3262:5:171", + "referencedDeclaration": 111225, + "src": "3262:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119713, + "id": 111420, "indexExpression": { "hexValue": "3130", - "id": 119712, + "id": 111419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3268:2:171", + "src": "3268:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -5428,7 +5428,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3262:9:171", + "src": "3262:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5436,28 +5436,28 @@ }, { "baseExpression": { - "id": 119714, + "id": 111421, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3289:5:171", + "referencedDeclaration": 111225, + "src": "3289:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119716, + "id": 111423, "indexExpression": { "hexValue": "3131", - "id": 119715, + "id": 111422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3295:2:171", + "src": "3295:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -5469,7 +5469,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:9:171", + "src": "3289:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5477,28 +5477,28 @@ }, { "baseExpression": { - "id": 119717, + "id": 111424, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3316:5:171", + "referencedDeclaration": 111225, + "src": "3316:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119719, + "id": 111426, "indexExpression": { "hexValue": "3132", - "id": 119718, + "id": 111425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3322:2:171", + "src": "3322:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -5510,7 +5510,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3316:9:171", + "src": "3316:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5518,28 +5518,28 @@ }, { "baseExpression": { - "id": 119720, + "id": 111427, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3343:5:171", + "referencedDeclaration": 111225, + "src": "3343:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119722, + "id": 111429, "indexExpression": { "hexValue": "3133", - "id": 119721, + "id": 111428, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3349:2:171", + "src": "3349:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -5551,7 +5551,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3343:9:171", + "src": "3343:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5559,28 +5559,28 @@ }, { "baseExpression": { - "id": 119723, + "id": 111430, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3370:5:171", + "referencedDeclaration": 111225, + "src": "3370:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119725, + "id": 111432, "indexExpression": { "hexValue": "3134", - "id": 119724, + "id": 111431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3376:2:171", + "src": "3376:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" @@ -5592,7 +5592,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3370:9:171", + "src": "3370:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5600,28 +5600,28 @@ }, { "baseExpression": { - "id": 119726, + "id": 111433, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3397:5:171", + "referencedDeclaration": 111225, + "src": "3397:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119728, + "id": 111435, "indexExpression": { "hexValue": "3135", - "id": 119727, + "id": 111434, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3403:2:171", + "src": "3403:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" @@ -5633,7 +5633,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3397:9:171", + "src": "3397:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5641,28 +5641,28 @@ }, { "baseExpression": { - "id": 119729, + "id": 111436, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3424:5:171", + "referencedDeclaration": 111225, + "src": "3424:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119731, + "id": 111438, "indexExpression": { "hexValue": "3136", - "id": 119730, + "id": 111437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3430:2:171", + "src": "3430:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -5674,7 +5674,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3424:9:171", + "src": "3424:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5721,31 +5721,31 @@ } ], "expression": { - "id": 119705, + "id": 111412, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3178:3:171", + "src": "3178:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119706, + "id": 111413, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3178:16:171", + "src": "3178:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119732, + "id": 111439, "isConstant": false, "isLValue": false, "isPure": false, @@ -5753,7 +5753,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3178:269:171", + "src": "3178:269:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5768,26 +5768,26 @@ "typeString": "bytes memory" } ], - "id": 119704, + "id": 111411, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3158:6:171", + "src": "3158:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119703, + "id": 111410, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3158:6:171", + "src": "3158:6:145", "typeDescriptions": {} } }, - "id": 119733, + "id": 111440, "isConstant": false, "isLValue": false, "isPure": false, @@ -5795,37 +5795,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3158:299:171", + "src": "3158:299:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3149:308:171", + "src": "3149:308:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119735, + "id": 111442, "nodeType": "ExpressionStatement", - "src": "3149:308:171" + "src": "3149:308:145" }, { "assignments": [ - 119737 + 111444 ], "declarations": [ { "constant": false, - "id": 119737, + "id": 111444, "mutability": "mutable", "name": "json", - "nameLocation": "3482:4:171", + "nameLocation": "3482:4:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "3468:18:171", + "scope": 111486, + "src": "3468:18:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5833,10 +5833,10 @@ "typeString": "string" }, "typeName": { - "id": 119736, + "id": 111443, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3468:6:171", + "src": "3468:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5845,7 +5845,7 @@ "visibility": "internal" } ], - "id": 119765, + "id": 111472, "initialValue": { "arguments": [ { @@ -5856,14 +5856,14 @@ "arguments": [ { "hexValue": "7b226e616d65223a20224d4c6f6f742023", - "id": 119746, + "id": 111453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3609:19:171", + "src": "3609:19:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", "typeString": "literal_string \"{\"name\": \"MLoot #\"" @@ -5875,32 +5875,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 119747, + "id": 111454, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119507, - "src": "3654:8:171", + "referencedDeclaration": 111214, + "src": "3654:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 119748, + "id": 111455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3654:17:171", + "referencedDeclaration": 30738, + "src": "3654:17:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 119749, + "id": 111456, "isConstant": false, "isLValue": false, "isPure": false, @@ -5908,7 +5908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3654:19:171", + "src": "3654:19:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5917,14 +5917,14 @@ }, { "hexValue": "222c20226465736372697074696f6e223a22", - "id": 119750, + "id": 111457, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3699:20:171", + "src": "3699:20:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", "typeString": "literal_string \"\", \"description\":\"\"" @@ -5932,12 +5932,12 @@ "value": "\", \"description\":\"" }, { - "id": 119751, + "id": 111458, "name": "desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119487, - "src": "3745:4:171", + "referencedDeclaration": 111194, + "src": "3745:4:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5945,14 +5945,14 @@ }, { "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", - "id": 119752, + "id": 111459, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3775:40:171", + "src": "3775:40:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" @@ -5964,12 +5964,12 @@ { "arguments": [ { - "id": 119757, + "id": 111464, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3861:6:171", + "referencedDeclaration": 111374, + "src": "3861:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5983,26 +5983,26 @@ "typeString": "string memory" } ], - "id": 119756, + "id": 111463, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3855:5:171", + "src": "3855:5:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 119755, + "id": 111462, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3855:5:171", + "src": "3855:5:145", "typeDescriptions": {} } }, - "id": 119758, + "id": 111465, "isConstant": false, "isLValue": false, "isPure": false, @@ -6010,7 +6010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3855:13:171", + "src": "3855:13:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6026,32 +6026,32 @@ } ], "expression": { - "id": 119753, + "id": 111460, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "3841:6:171", + "referencedDeclaration": 111110, + "src": "3841:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 119754, + "id": 111461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "3841:13:171", + "referencedDeclaration": 111109, + "src": "3841:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 119759, + "id": 111466, "isConstant": false, "isLValue": false, "isPure": false, @@ -6059,7 +6059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3841:28:171", + "src": "3841:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6068,14 +6068,14 @@ }, { "hexValue": "227d", - "id": 119760, + "id": 111467, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3895:4:171", + "src": "3895:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -6115,31 +6115,31 @@ } ], "expression": { - "id": 119744, + "id": 111451, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3567:3:171", + "src": "3567:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119745, + "id": 111452, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3567:16:171", + "src": "3567:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119761, + "id": 111468, "isConstant": false, "isLValue": false, "isPure": false, @@ -6147,7 +6147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3567:354:171", + "src": "3567:354:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6162,26 +6162,26 @@ "typeString": "bytes memory" } ], - "id": 119743, + "id": 111450, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3539:6:171", + "src": "3539:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119742, + "id": 111449, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3539:6:171", + "src": "3539:6:145", "typeDescriptions": {} } }, - "id": 119762, + "id": 111469, "isConstant": false, "isLValue": false, "isPure": false, @@ -6189,7 +6189,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3539:400:171", + "src": "3539:400:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6204,26 +6204,26 @@ "typeString": "string memory" } ], - "id": 119741, + "id": 111448, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3516:5:171", + "src": "3516:5:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 119740, + "id": 111447, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3516:5:171", + "src": "3516:5:145", "typeDescriptions": {} } }, - "id": 119763, + "id": 111470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6231,7 +6231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3516:437:171", + "src": "3516:437:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6247,32 +6247,32 @@ } ], "expression": { - "id": 119738, + "id": 111445, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "3489:6:171", + "referencedDeclaration": 111110, + "src": "3489:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 119739, + "id": 111446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "3489:13:171", + "referencedDeclaration": 111109, + "src": "3489:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 119764, + "id": 111471, "isConstant": false, "isLValue": false, "isPure": false, @@ -6280,7 +6280,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3489:474:171", + "src": "3489:474:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6288,22 +6288,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3468:495:171" + "src": "3468:495:145" }, { "expression": { - "id": 119775, + "id": 111482, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119766, + "id": 111473, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3973:6:171", + "referencedDeclaration": 111374, + "src": "3973:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6317,14 +6317,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 119771, + "id": 111478, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4019:31:171", + "src": "4019:31:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -6332,12 +6332,12 @@ "value": "data:application/json;base64," }, { - "id": 119772, + "id": 111479, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119737, - "src": "4052:4:171", + "referencedDeclaration": 111444, + "src": "4052:4:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6356,31 +6356,31 @@ } ], "expression": { - "id": 119769, + "id": 111476, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4002:3:171", + "src": "4002:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119770, + "id": 111477, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4002:16:171", + "src": "4002:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119773, + "id": 111480, "isConstant": false, "isLValue": false, "isPure": false, @@ -6388,7 +6388,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4002:55:171", + "src": "4002:55:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6403,26 +6403,26 @@ "typeString": "bytes memory" } ], - "id": 119768, + "id": 111475, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3982:6:171", + "src": "3982:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119767, + "id": 111474, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3982:6:171", + "src": "3982:6:145", "typeDescriptions": {} } }, - "id": 119774, + "id": 111481, "isConstant": false, "isLValue": false, "isPure": false, @@ -6430,71 +6430,71 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3982:85:171", + "src": "3982:85:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3973:94:171", + "src": "3973:94:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119776, + "id": 111483, "nodeType": "ExpressionStatement", - "src": "3973:94:171" + "src": "3973:94:145" }, { "expression": { - "id": 119777, + "id": 111484, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "4085:6:171", + "referencedDeclaration": 111374, + "src": "4085:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119512, - "id": 119778, + "functionReturnParameters": 111219, + "id": 111485, "nodeType": "Return", - "src": "4078:13:171" + "src": "4078:13:145" } ] }, "baseFunctions": [ - 71703 + 29444 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "1275:8:171", + "nameLocation": "1275:8:145", "overrides": { - "id": 119509, + "id": 111216, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1328:8:171" + "src": "1328:8:145" }, "parameters": { - "id": 119508, + "id": 111215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119507, + "id": 111214, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1301:8:171", + "nameLocation": "1301:8:145", "nodeType": "VariableDeclaration", - "scope": 119780, - "src": "1293:16:171", + "scope": 111487, + "src": "1293:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6502,10 +6502,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119506, + "id": 111213, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1293:7:171", + "src": "1293:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6514,21 +6514,21 @@ "visibility": "internal" } ], - "src": "1283:32:171" + "src": "1283:32:145" }, "returnParameters": { - "id": 119512, + "id": 111219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119511, + "id": 111218, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 119780, - "src": "1346:13:171", + "scope": 111487, + "src": "1346:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6536,10 +6536,10 @@ "typeString": "string" }, "typeName": { - "id": 119510, + "id": 111217, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1346:6:171", + "src": "1346:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6548,38 +6548,38 @@ "visibility": "internal" } ], - "src": "1345:15:171" + "src": "1345:15:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 119909, + "id": 111616, "nodeType": "FunctionDefinition", - "src": "4104:1153:171", + "src": "4104:1153:145", "nodes": [], "body": { - "id": 119908, + "id": 111615, "nodeType": "Block", - "src": "4219:1038:171", + "src": "4219:1038:145", "nodes": [], "statements": [ { "assignments": [ - 119791 + 111498 ], "declarations": [ { "constant": false, - "id": 119791, + "id": 111498, "mutability": "mutable", "name": "output", - "nameLocation": "4243:6:171", + "nameLocation": "4243:6:145", "nodeType": "VariableDeclaration", - "scope": 119908, - "src": "4229:20:171", + "scope": 111615, + "src": "4229:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6587,10 +6587,10 @@ "typeString": "string" }, "typeName": { - "id": 119790, + "id": 111497, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4229:6:171", + "src": "4229:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6599,38 +6599,38 @@ "visibility": "internal" } ], - "id": 119798, + "id": 111505, "initialValue": { "baseExpression": { - "id": 119792, + "id": 111499, "name": "sourceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119785, - "src": "4252:11:171", + "referencedDeclaration": 111492, + "src": "4252:11:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 119797, + "id": 111504, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119796, + "id": 111503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119793, + "id": 111500, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4264:4:171", + "referencedDeclaration": 111489, + "src": "4264:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6640,31 +6640,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119794, + "id": 111501, "name": "sourceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119785, - "src": "4271:11:171", + "referencedDeclaration": 111492, + "src": "4271:11:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 119795, + "id": 111502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4271:18:171", + "src": "4271:18:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4264:25:171", + "src": "4264:25:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6675,29 +6675,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4252:38:171", + "src": "4252:38:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4229:61:171" + "src": "4229:61:145" }, { "assignments": [ - 119800 + 111507 ], "declarations": [ { "constant": false, - "id": 119800, + "id": 111507, "mutability": "mutable", "name": "greatness", - "nameLocation": "4309:9:171", + "nameLocation": "4309:9:145", "nodeType": "VariableDeclaration", - "scope": 119908, - "src": "4301:17:171", + "scope": 111615, + "src": "4301:17:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6705,10 +6705,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119799, + "id": 111506, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4301:7:171", + "src": "4301:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6717,24 +6717,24 @@ "visibility": "internal" } ], - "id": 119804, + "id": 111511, "initialValue": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 119803, + "id": 111510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119801, + "id": 111508, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4321:4:171", + "referencedDeclaration": 111489, + "src": "4321:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6744,28 +6744,28 @@ "operator": "%", "rightExpression": { "hexValue": "3231", - "id": 119802, + "id": 111509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4328:2:171", + "src": "4328:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_21_by_1", "typeString": "int_const 21" }, "value": "21" }, - "src": "4321:9:171", + "src": "4321:9:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "4301:29:171" + "src": "4301:29:145" }, { "condition": { @@ -6773,18 +6773,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119807, + "id": 111514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119805, + "id": 111512, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4344:9:171", + "referencedDeclaration": 111507, + "src": "4344:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6794,48 +6794,48 @@ "operator": ">", "rightExpression": { "hexValue": "3134", - "id": 119806, + "id": 111513, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4356:2:171", + "src": "4356:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" }, "value": "14" }, - "src": "4344:14:171", + "src": "4344:14:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119826, + "id": 111533, "nodeType": "IfStatement", - "src": "4340:155:171", + "src": "4340:155:145", "trueBody": { - "id": 119825, + "id": 111532, "nodeType": "Block", - "src": "4360:135:171", + "src": "4360:135:145", "statements": [ { "expression": { - "id": 119823, + "id": 111530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119808, + "id": 111515, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4374:6:171", + "referencedDeclaration": 111498, + "src": "4374:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6848,12 +6848,12 @@ { "arguments": [ { - "id": 119813, + "id": 111520, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4424:6:171", + "referencedDeclaration": 111498, + "src": "4424:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6861,14 +6861,14 @@ }, { "hexValue": "20", - "id": 119814, + "id": 111521, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4432:3:171", + "src": "4432:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -6877,35 +6877,35 @@ }, { "baseExpression": { - "id": 119815, + "id": 111522, "name": "suffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120541, - "src": "4437:8:171", + "referencedDeclaration": 112248, + "src": "4437:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119820, + "id": 111527, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119819, + "id": 111526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119816, + "id": 111523, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4446:4:171", + "referencedDeclaration": 111489, + "src": "4446:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6915,31 +6915,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119817, + "id": 111524, "name": "suffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120541, - "src": "4453:8:171", + "referencedDeclaration": 112248, + "src": "4453:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119818, + "id": 111525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4453:15:171", + "src": "4453:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4446:22:171", + "src": "4446:22:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6950,7 +6950,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4437:32:171", + "src": "4437:32:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -6973,31 +6973,31 @@ } ], "expression": { - "id": 119811, + "id": 111518, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4407:3:171", + "src": "4407:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119812, + "id": 111519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4407:16:171", + "src": "4407:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119821, + "id": 111528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7005,7 +7005,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4407:63:171", + "src": "4407:63:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7020,26 +7020,26 @@ "typeString": "bytes memory" } ], - "id": 119810, + "id": 111517, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4383:6:171", + "src": "4383:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119809, + "id": 111516, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4383:6:171", + "src": "4383:6:145", "typeDescriptions": {} } }, - "id": 119822, + "id": 111529, "isConstant": false, "isLValue": false, "isPure": false, @@ -7047,22 +7047,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4383:101:171", + "src": "4383:101:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4374:110:171", + "src": "4374:110:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119824, + "id": 111531, "nodeType": "ExpressionStatement", - "src": "4374:110:171" + "src": "4374:110:145" } ] } @@ -7073,18 +7073,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119829, + "id": 111536, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119827, + "id": 111534, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4508:9:171", + "referencedDeclaration": 111507, + "src": "4508:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7094,48 +7094,48 @@ "operator": ">=", "rightExpression": { "hexValue": "3139", - "id": 119828, + "id": 111535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4521:2:171", + "src": "4521:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_19_by_1", "typeString": "int_const 19" }, "value": "19" }, - "src": "4508:15:171", + "src": "4508:15:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119905, + "id": 111612, "nodeType": "IfStatement", - "src": "4504:724:171", + "src": "4504:724:145", "trueBody": { - "id": 119904, + "id": 111611, "nodeType": "Block", - "src": "4525:703:171", + "src": "4525:703:145", "statements": [ { "assignments": [ - 119835 + 111542 ], "declarations": [ { "constant": false, - "id": 119835, + "id": 111542, "mutability": "mutable", "name": "name", - "nameLocation": "4556:4:171", + "nameLocation": "4556:4:145", "nodeType": "VariableDeclaration", - "scope": 119904, - "src": "4539:21:171", + "scope": 111611, + "src": "4539:21:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7144,26 +7144,26 @@ }, "typeName": { "baseType": { - "id": 119833, + "id": 111540, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4539:6:171", + "src": "4539:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119834, + "id": 111541, "length": { "hexValue": "32", - "id": 119832, + "id": 111539, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4546:1:171", + "src": "4546:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -7171,7 +7171,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "4539:9:171", + "src": "4539:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr", "typeString": "string[2]" @@ -7180,41 +7180,41 @@ "visibility": "internal" } ], - "id": 119836, + "id": 111543, "nodeType": "VariableDeclarationStatement", - "src": "4539:21:171" + "src": "4539:21:145" }, { "expression": { - "id": 119846, + "id": 111553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119837, + "id": 111544, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4574:4:171", + "referencedDeclaration": 111542, + "src": "4574:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119839, + "id": 111546, "indexExpression": { "hexValue": "30", - "id": 119838, + "id": 111545, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4579:1:171", + "src": "4579:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7226,7 +7226,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4574:7:171", + "src": "4574:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7236,35 +7236,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 119840, + "id": 111547, "name": "namePrefixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120614, - "src": "4584:12:171", + "referencedDeclaration": 112321, + "src": "4584:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119845, + "id": 111552, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119844, + "id": 111551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119841, + "id": 111548, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4597:4:171", + "referencedDeclaration": 111489, + "src": "4597:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7274,31 +7274,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119842, + "id": 111549, "name": "namePrefixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120614, - "src": "4604:12:171", + "referencedDeclaration": 112321, + "src": "4604:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119843, + "id": 111550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4604:19:171", + "src": "4604:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4597:26:171", + "src": "4597:26:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7309,53 +7309,53 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4584:40:171", + "src": "4584:40:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "src": "4574:50:171", + "src": "4574:50:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119847, + "id": 111554, "nodeType": "ExpressionStatement", - "src": "4574:50:171" + "src": "4574:50:145" }, { "expression": { - "id": 119857, + "id": 111564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119848, + "id": 111555, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4638:4:171", + "referencedDeclaration": 111542, + "src": "4638:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119850, + "id": 111557, "indexExpression": { "hexValue": "31", - "id": 119849, + "id": 111556, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4643:1:171", + "src": "4643:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7367,7 +7367,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4638:7:171", + "src": "4638:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7377,35 +7377,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 119851, + "id": 111558, "name": "nameSuffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120636, - "src": "4648:12:171", + "referencedDeclaration": 112343, + "src": "4648:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119856, + "id": 111563, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119855, + "id": 111562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119852, + "id": 111559, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4661:4:171", + "referencedDeclaration": 111489, + "src": "4661:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7415,31 +7415,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119853, + "id": 111560, "name": "nameSuffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120636, - "src": "4668:12:171", + "referencedDeclaration": 112343, + "src": "4668:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119854, + "id": 111561, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4668:19:171", + "src": "4668:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4661:26:171", + "src": "4661:26:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7450,21 +7450,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4648:40:171", + "src": "4648:40:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "src": "4638:50:171", + "src": "4638:50:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119858, + "id": 111565, "nodeType": "ExpressionStatement", - "src": "4638:50:171" + "src": "4638:50:145" }, { "condition": { @@ -7472,18 +7472,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119861, + "id": 111568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119859, + "id": 111566, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4706:9:171", + "referencedDeclaration": 111507, + "src": "4706:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7493,45 +7493,45 @@ "operator": "==", "rightExpression": { "hexValue": "3139", - "id": 119860, + "id": 111567, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4719:2:171", + "src": "4719:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_19_by_1", "typeString": "int_const 19" }, "value": "19" }, - "src": "4706:15:171", + "src": "4706:15:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 119902, + "id": 111609, "nodeType": "Block", - "src": "4875:343:171", + "src": "4875:343:145", "statements": [ { "expression": { - "id": 119900, + "id": 111607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119882, + "id": 111589, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4893:6:171", + "referencedDeclaration": 111498, + "src": "4893:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7545,14 +7545,14 @@ "arguments": [ { "hexValue": "22", - "id": 119887, + "id": 111594, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4972:3:171", + "src": "4972:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -7561,28 +7561,28 @@ }, { "baseExpression": { - "id": 119888, + "id": 111595, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "5001:4:171", + "referencedDeclaration": 111542, + "src": "5001:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119890, + "id": 111597, "indexExpression": { "hexValue": "30", - "id": 119889, + "id": 111596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5006:1:171", + "src": "5006:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7594,7 +7594,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5001:7:171", + "src": "5001:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7602,14 +7602,14 @@ }, { "hexValue": "20", - "id": 119891, + "id": 111598, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5034:3:171", + "src": "5034:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -7618,28 +7618,28 @@ }, { "baseExpression": { - "id": 119892, + "id": 111599, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "5063:4:171", + "referencedDeclaration": 111542, + "src": "5063:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119894, + "id": 111601, "indexExpression": { "hexValue": "31", - "id": 119893, + "id": 111600, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5068:1:171", + "src": "5068:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7651,7 +7651,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5063:7:171", + "src": "5063:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7659,14 +7659,14 @@ }, { "hexValue": "2220", - "id": 119895, + "id": 111602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5096:4:171", + "src": "5096:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", "typeString": "literal_string \"\" \"" @@ -7674,12 +7674,12 @@ "value": "\" " }, { - "id": 119896, + "id": 111603, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "5126:6:171", + "referencedDeclaration": 111498, + "src": "5126:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7687,14 +7687,14 @@ }, { "hexValue": "202b31", - "id": 119897, + "id": 111604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5158:5:171", + "src": "5158:5:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", "typeString": "literal_string \" +1\"" @@ -7734,31 +7734,31 @@ } ], "expression": { - "id": 119885, + "id": 111592, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4930:3:171", + "src": "4930:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119886, + "id": 111593, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4930:16:171", + "src": "4930:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119898, + "id": 111605, "isConstant": false, "isLValue": false, "isPure": false, @@ -7766,7 +7766,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4930:255:171", + "src": "4930:255:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7781,26 +7781,26 @@ "typeString": "bytes memory" } ], - "id": 119884, + "id": 111591, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4902:6:171", + "src": "4902:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119883, + "id": 111590, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4902:6:171", + "src": "4902:6:145", "typeDescriptions": {} } }, - "id": 119899, + "id": 111606, "isConstant": false, "isLValue": false, "isPure": false, @@ -7808,47 +7808,47 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4902:301:171", + "src": "4902:301:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4893:310:171", + "src": "4893:310:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119901, + "id": 111608, "nodeType": "ExpressionStatement", - "src": "4893:310:171" + "src": "4893:310:145" } ] }, - "id": 119903, + "id": 111610, "nodeType": "IfStatement", - "src": "4702:516:171", + "src": "4702:516:145", "trueBody": { - "id": 119881, + "id": 111588, "nodeType": "Block", - "src": "4723:146:171", + "src": "4723:146:145", "statements": [ { "expression": { - "id": 119879, + "id": 111586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119862, + "id": 111569, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4741:6:171", + "referencedDeclaration": 111498, + "src": "4741:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7862,14 +7862,14 @@ "arguments": [ { "hexValue": "22", - "id": 119867, + "id": 111574, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4795:3:171", + "src": "4795:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -7878,28 +7878,28 @@ }, { "baseExpression": { - "id": 119868, + "id": 111575, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4800:4:171", + "referencedDeclaration": 111542, + "src": "4800:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119870, + "id": 111577, "indexExpression": { "hexValue": "30", - "id": 119869, + "id": 111576, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4805:1:171", + "src": "4805:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7911,7 +7911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4800:7:171", + "src": "4800:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7919,14 +7919,14 @@ }, { "hexValue": "20", - "id": 119871, + "id": 111578, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4809:3:171", + "src": "4809:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -7935,28 +7935,28 @@ }, { "baseExpression": { - "id": 119872, + "id": 111579, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4814:4:171", + "referencedDeclaration": 111542, + "src": "4814:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119874, + "id": 111581, "indexExpression": { "hexValue": "31", - "id": 119873, + "id": 111580, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4819:1:171", + "src": "4819:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7968,7 +7968,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4814:7:171", + "src": "4814:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7976,14 +7976,14 @@ }, { "hexValue": "2220", - "id": 119875, + "id": 111582, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4823:4:171", + "src": "4823:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", "typeString": "literal_string \"\" \"" @@ -7991,12 +7991,12 @@ "value": "\" " }, { - "id": 119876, + "id": 111583, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4829:6:171", + "referencedDeclaration": 111498, + "src": "4829:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8031,31 +8031,31 @@ } ], "expression": { - "id": 119865, + "id": 111572, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4778:3:171", + "src": "4778:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119866, + "id": 111573, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4778:16:171", + "src": "4778:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119877, + "id": 111584, "isConstant": false, "isLValue": false, "isPure": false, @@ -8063,7 +8063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4778:58:171", + "src": "4778:58:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8078,26 +8078,26 @@ "typeString": "bytes memory" } ], - "id": 119864, + "id": 111571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4750:6:171", + "src": "4750:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119863, + "id": 111570, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4750:6:171", + "src": "4750:6:145", "typeDescriptions": {} } }, - "id": 119878, + "id": 111585, "isConstant": false, "isLValue": false, "isPure": false, @@ -8105,22 +8105,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4750:104:171", + "src": "4750:104:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4741:113:171", + "src": "4741:113:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119880, + "id": 111587, "nodeType": "ExpressionStatement", - "src": "4741:113:171" + "src": "4741:113:145" } ] } @@ -8130,21 +8130,21 @@ }, { "expression": { - "id": 119906, + "id": 111613, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "5244:6:171", + "referencedDeclaration": 111498, + "src": "5244:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119789, - "id": 119907, + "functionReturnParameters": 111496, + "id": 111614, "nodeType": "Return", - "src": "5237:13:171" + "src": "5237:13:145" } ] }, @@ -8152,20 +8152,20 @@ "kind": "function", "modifiers": [], "name": "luck", - "nameLocation": "4113:4:171", + "nameLocation": "4113:4:145", "parameters": { - "id": 119786, + "id": 111493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119782, + "id": 111489, "mutability": "mutable", "name": "rand", - "nameLocation": "4133:4:171", + "nameLocation": "4133:4:145", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4127:10:171", + "scope": 111616, + "src": "4127:10:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8173,10 +8173,10 @@ "typeString": "uint8" }, "typeName": { - "id": 119781, + "id": 111488, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4127:5:171", + "src": "4127:5:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8186,13 +8186,13 @@ }, { "constant": false, - "id": 119785, + "id": 111492, "mutability": "mutable", "name": "sourceArray", - "nameLocation": "4163:11:171", + "nameLocation": "4163:11:145", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4147:27:171", + "scope": 111616, + "src": "4147:27:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8201,18 +8201,18 @@ }, "typeName": { "baseType": { - "id": 119783, + "id": 111490, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4147:6:171", + "src": "4147:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119784, + "id": 111491, "nodeType": "ArrayTypeName", - "src": "4147:8:171", + "src": "4147:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" @@ -8221,21 +8221,21 @@ "visibility": "internal" } ], - "src": "4117:63:171" + "src": "4117:63:145" }, "returnParameters": { - "id": 119789, + "id": 111496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119788, + "id": 111495, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4204:13:171", + "scope": 111616, + "src": "4204:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8243,10 +8243,10 @@ "typeString": "string" }, "typeName": { - "id": 119787, + "id": 111494, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4204:6:171", + "src": "4204:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8255,86 +8255,86 @@ "visibility": "internal" } ], - "src": "4203:15:171" + "src": "4203:15:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 120029, + "id": 111736, "nodeType": "FunctionDefinition", - "src": "5263:677:171", + "src": "5263:677:145", "nodes": [], "body": { - "id": 120028, + "id": 111735, "nodeType": "Block", - "src": "5309:631:171", + "src": "5309:631:145", "nodes": [], "statements": [ { "assignments": [ - 119916 + 111623 ], "declarations": [ { "constant": false, - "id": 119916, + "id": 111623, "mutability": "mutable", "name": "loot", - "nameLocation": "5332:4:171", + "nameLocation": "5332:4:145", "nodeType": "VariableDeclaration", - "scope": 120028, - "src": "5319:17:171", + "scope": 111735, + "src": "5319:17:145", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 119915, + "id": 111622, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119914, + "id": 111621, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "5319:4:171" + "referencedDeclaration": 111186, + "src": "5319:4:145" }, - "referencedDeclaration": 119479, - "src": "5319:4:171", + "referencedDeclaration": 111186, + "src": "5319:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 119920, + "id": 111627, "initialValue": { "baseExpression": { - "id": 119917, + "id": 111624, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "5339:8:171", + "referencedDeclaration": 111201, + "src": "5339:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 119919, + "id": 111626, "indexExpression": { - "id": 119918, + "id": 111625, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119911, - "src": "5348:8:171", + "referencedDeclaration": 111618, + "src": "5348:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8345,29 +8345,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5339:18:171", + "src": "5339:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5319:38:171" + "src": "5319:38:145" }, { "assignments": [ - 119925 + 111632 ], "declarations": [ { "constant": false, - "id": 119925, + "id": 111632, "mutability": "mutable", "name": "random_numbers", - "nameLocation": "5382:14:171", + "nameLocation": "5382:14:145", "nodeType": "VariableDeclaration", - "scope": 120028, - "src": "5367:29:171", + "scope": 111735, + "src": "5367:29:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8376,18 +8376,18 @@ }, "typeName": { "baseType": { - "id": 119923, + "id": 111630, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5367:5:171", + "src": "5367:5:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 119924, + "id": 111631, "nodeType": "ArrayTypeName", - "src": "5367:7:171", + "src": "5367:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -8396,31 +8396,31 @@ "visibility": "internal" } ], - "id": 119932, + "id": 111639, "initialValue": { "arguments": [ { "expression": { - "id": 119927, + "id": 111634, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5409:4:171", + "referencedDeclaration": 111623, + "src": "5409:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119928, + "id": 111635, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 119457, - "src": "5409:13:171", + "referencedDeclaration": 111164, + "src": "5409:13:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8428,14 +8428,14 @@ }, { "hexValue": "38", - "id": 119929, + "id": 111636, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5424:1:171", + "src": "5424:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -8443,12 +8443,12 @@ "value": "8" }, { - "id": 119930, + "id": 111637, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119483, - "src": "5426:14:171", + "referencedDeclaration": 111190, + "src": "5426:14:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8470,18 +8470,18 @@ "typeString": "uint256" } ], - "id": 119926, + "id": 111633, "name": "getRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120811, - "src": "5399:9:171", + "referencedDeclaration": 112518, + "src": "5399:9:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" } }, - "id": 119931, + "id": 111638, "isConstant": false, "isLValue": false, "isPure": false, @@ -8489,7 +8489,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5399:42:171", + "src": "5399:42:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", @@ -8497,37 +8497,37 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5367:74:171" + "src": "5367:74:145" }, { "expression": { - "id": 119942, + "id": 111649, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119933, + "id": 111640, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5451:4:171", + "referencedDeclaration": 111623, + "src": "5451:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119935, + "id": 111642, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "5451:11:171", + "referencedDeclaration": 111168, + "src": "5451:11:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8539,28 +8539,28 @@ "arguments": [ { "baseExpression": { - "id": 119937, + "id": 111644, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5470:14:171", + "referencedDeclaration": 111632, + "src": "5470:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119939, + "id": 111646, "indexExpression": { "hexValue": "30", - "id": 119938, + "id": 111645, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5485:1:171", + "src": "5485:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8572,19 +8572,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5470:17:171", + "src": "5470:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119940, + "id": 111647, "name": "weapons", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120410, - "src": "5489:7:171", + "referencedDeclaration": 112117, + "src": "5489:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8602,18 +8602,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119936, + "id": 111643, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5465:4:171", + "referencedDeclaration": 111616, + "src": "5465:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119941, + "id": 111648, "isConstant": false, "isLValue": false, "isPure": false, @@ -8621,52 +8621,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5465:32:171", + "src": "5465:32:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5451:46:171", + "src": "5451:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119943, + "id": 111650, "nodeType": "ExpressionStatement", - "src": "5451:46:171" + "src": "5451:46:145" }, { "expression": { - "id": 119953, + "id": 111660, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119944, + "id": 111651, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5507:4:171", + "referencedDeclaration": 111623, + "src": "5507:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119946, + "id": 111653, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "5507:10:171", + "referencedDeclaration": 111170, + "src": "5507:10:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8678,28 +8678,28 @@ "arguments": [ { "baseExpression": { - "id": 119948, + "id": 111655, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5525:14:171", + "referencedDeclaration": 111632, + "src": "5525:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119950, + "id": 111657, "indexExpression": { "hexValue": "31", - "id": 119949, + "id": 111656, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5540:1:171", + "src": "5540:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -8711,19 +8711,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5525:17:171", + "src": "5525:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119951, + "id": 111658, "name": "chestArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120429, - "src": "5544:10:171", + "referencedDeclaration": 112136, + "src": "5544:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8741,18 +8741,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119947, + "id": 111654, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5520:4:171", + "referencedDeclaration": 111616, + "src": "5520:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119952, + "id": 111659, "isConstant": false, "isLValue": false, "isPure": false, @@ -8760,52 +8760,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5520:35:171", + "src": "5520:35:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5507:48:171", + "src": "5507:48:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119954, + "id": 111661, "nodeType": "ExpressionStatement", - "src": "5507:48:171" + "src": "5507:48:145" }, { "expression": { - "id": 119964, + "id": 111671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119955, + "id": 111662, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5565:4:171", + "referencedDeclaration": 111623, + "src": "5565:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119957, + "id": 111664, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "5565:9:171", + "referencedDeclaration": 111172, + "src": "5565:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8817,28 +8817,28 @@ "arguments": [ { "baseExpression": { - "id": 119959, + "id": 111666, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5582:14:171", + "referencedDeclaration": 111632, + "src": "5582:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119961, + "id": 111668, "indexExpression": { "hexValue": "32", - "id": 119960, + "id": 111667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5597:1:171", + "src": "5597:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -8850,19 +8850,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5582:17:171", + "src": "5582:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119962, + "id": 111669, "name": "headArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120448, - "src": "5601:9:171", + "referencedDeclaration": 112155, + "src": "5601:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8880,18 +8880,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119958, + "id": 111665, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5577:4:171", + "referencedDeclaration": 111616, + "src": "5577:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119963, + "id": 111670, "isConstant": false, "isLValue": false, "isPure": false, @@ -8899,52 +8899,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5577:34:171", + "src": "5577:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5565:46:171", + "src": "5565:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119965, + "id": 111672, "nodeType": "ExpressionStatement", - "src": "5565:46:171" + "src": "5565:46:145" }, { "expression": { - "id": 119975, + "id": 111682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119966, + "id": 111673, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5621:4:171", + "referencedDeclaration": 111623, + "src": "5621:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119968, + "id": 111675, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "5621:10:171", + "referencedDeclaration": 111174, + "src": "5621:10:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8956,28 +8956,28 @@ "arguments": [ { "baseExpression": { - "id": 119970, + "id": 111677, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5639:14:171", + "referencedDeclaration": 111632, + "src": "5639:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119972, + "id": 111679, "indexExpression": { "hexValue": "33", - "id": 119971, + "id": 111678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5654:1:171", + "src": "5654:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -8989,19 +8989,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5639:17:171", + "src": "5639:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119973, + "id": 111680, "name": "waistArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120467, - "src": "5658:10:171", + "referencedDeclaration": 112174, + "src": "5658:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9019,18 +9019,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119969, + "id": 111676, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5634:4:171", + "referencedDeclaration": 111616, + "src": "5634:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119974, + "id": 111681, "isConstant": false, "isLValue": false, "isPure": false, @@ -9038,52 +9038,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5634:35:171", + "src": "5634:35:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5621:48:171", + "src": "5621:48:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119976, + "id": 111683, "nodeType": "ExpressionStatement", - "src": "5621:48:171" + "src": "5621:48:145" }, { "expression": { - "id": 119986, + "id": 111693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119977, + "id": 111684, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5679:4:171", + "referencedDeclaration": 111623, + "src": "5679:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119979, + "id": 111686, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "5679:9:171", + "referencedDeclaration": 111176, + "src": "5679:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9095,28 +9095,28 @@ "arguments": [ { "baseExpression": { - "id": 119981, + "id": 111688, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5696:14:171", + "referencedDeclaration": 111632, + "src": "5696:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119983, + "id": 111690, "indexExpression": { "hexValue": "34", - "id": 119982, + "id": 111689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5711:1:171", + "src": "5711:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -9128,19 +9128,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5696:17:171", + "src": "5696:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119984, + "id": 111691, "name": "footArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120486, - "src": "5715:9:171", + "referencedDeclaration": 112193, + "src": "5715:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9158,18 +9158,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119980, + "id": 111687, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5691:4:171", + "referencedDeclaration": 111616, + "src": "5691:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119985, + "id": 111692, "isConstant": false, "isLValue": false, "isPure": false, @@ -9177,52 +9177,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5691:34:171", + "src": "5691:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5679:46:171", + "src": "5679:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119987, + "id": 111694, "nodeType": "ExpressionStatement", - "src": "5679:46:171" + "src": "5679:46:145" }, { "expression": { - "id": 119997, + "id": 111704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119988, + "id": 111695, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5735:4:171", + "referencedDeclaration": 111623, + "src": "5735:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119990, + "id": 111697, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "5735:9:171", + "referencedDeclaration": 111178, + "src": "5735:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9234,28 +9234,28 @@ "arguments": [ { "baseExpression": { - "id": 119992, + "id": 111699, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5752:14:171", + "referencedDeclaration": 111632, + "src": "5752:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119994, + "id": 111701, "indexExpression": { "hexValue": "35", - "id": 119993, + "id": 111700, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5767:1:171", + "src": "5767:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -9267,19 +9267,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5752:17:171", + "src": "5752:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119995, + "id": 111702, "name": "handArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120505, - "src": "5771:9:171", + "referencedDeclaration": 112212, + "src": "5771:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9297,18 +9297,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119991, + "id": 111698, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5747:4:171", + "referencedDeclaration": 111616, + "src": "5747:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119996, + "id": 111703, "isConstant": false, "isLValue": false, "isPure": false, @@ -9316,52 +9316,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5747:34:171", + "src": "5747:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5735:46:171", + "src": "5735:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119998, + "id": 111705, "nodeType": "ExpressionStatement", - "src": "5735:46:171" + "src": "5735:46:145" }, { "expression": { - "id": 120008, + "id": 111715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119999, + "id": 111706, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5791:4:171", + "referencedDeclaration": 111623, + "src": "5791:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120001, + "id": 111708, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "5791:9:171", + "referencedDeclaration": 111180, + "src": "5791:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9373,28 +9373,28 @@ "arguments": [ { "baseExpression": { - "id": 120003, + "id": 111710, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5808:14:171", + "referencedDeclaration": 111632, + "src": "5808:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 120005, + "id": 111712, "indexExpression": { "hexValue": "36", - "id": 120004, + "id": 111711, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5823:1:171", + "src": "5823:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -9406,19 +9406,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5808:17:171", + "src": "5808:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 120006, + "id": 111713, "name": "necklaces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120512, - "src": "5827:9:171", + "referencedDeclaration": 112219, + "src": "5827:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9436,18 +9436,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 120002, + "id": 111709, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5803:4:171", + "referencedDeclaration": 111616, + "src": "5803:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 120007, + "id": 111714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9455,52 +9455,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5803:34:171", + "src": "5803:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5791:46:171", + "src": "5791:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 120009, + "id": 111716, "nodeType": "ExpressionStatement", - "src": "5791:46:171" + "src": "5791:46:145" }, { "expression": { - "id": 120019, + "id": 111726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120010, + "id": 111717, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5847:4:171", + "referencedDeclaration": 111623, + "src": "5847:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120012, + "id": 111719, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "5847:9:171", + "referencedDeclaration": 111182, + "src": "5847:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9512,28 +9512,28 @@ "arguments": [ { "baseExpression": { - "id": 120014, + "id": 111721, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5864:14:171", + "referencedDeclaration": 111632, + "src": "5864:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 120016, + "id": 111723, "indexExpression": { "hexValue": "37", - "id": 120015, + "id": 111722, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5879:1:171", + "src": "5879:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -9545,19 +9545,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5864:17:171", + "src": "5864:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 120017, + "id": 111724, "name": "rings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120521, - "src": "5883:5:171", + "referencedDeclaration": 112228, + "src": "5883:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9575,18 +9575,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 120013, + "id": 111720, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5859:4:171", + "referencedDeclaration": 111616, + "src": "5859:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 120018, + "id": 111725, "isConstant": false, "isLValue": false, "isPure": false, @@ -9594,54 +9594,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5859:30:171", + "src": "5859:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5847:42:171", + "src": "5847:42:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 120020, + "id": 111727, "nodeType": "ExpressionStatement", - "src": "5847:42:171" + "src": "5847:42:145" }, { "expression": { - "id": 120026, + "id": 111733, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120021, + "id": 111728, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5899:4:171", + "referencedDeclaration": 111623, + "src": "5899:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120023, + "id": 111730, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "5899:10:171", + "referencedDeclaration": 111185, + "src": "5899:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -9649,40 +9649,40 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120024, + "id": 111731, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "5912:11:171", + "referencedDeclaration": 112350, + "src": "5912:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120025, + "id": 111732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "5912:21:171", + "referencedDeclaration": 112349, + "src": "5912:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "5899:34:171", + "src": "5899:34:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 120027, + "id": 111734, "nodeType": "ExpressionStatement", - "src": "5899:34:171" + "src": "5899:34:145" } ] }, @@ -9691,20 +9691,20 @@ "kind": "function", "modifiers": [], "name": "revealNFT", - "nameLocation": "5272:9:171", + "nameLocation": "5272:9:145", "parameters": { - "id": 119912, + "id": 111619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119911, + "id": 111618, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5290:8:171", + "nameLocation": "5290:8:145", "nodeType": "VariableDeclaration", - "scope": 120029, - "src": "5282:16:171", + "scope": 111736, + "src": "5282:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9712,10 +9712,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119910, + "id": 111617, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5282:7:171", + "src": "5282:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9724,92 +9724,92 @@ "visibility": "internal" } ], - "src": "5281:18:171" + "src": "5281:18:145" }, "returnParameters": { - "id": 119913, + "id": 111620, "nodeType": "ParameterList", "parameters": [], - "src": "5309:0:171" + "src": "5309:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120076, + "id": 111783, "nodeType": "FunctionDefinition", - "src": "5946:324:171", + "src": "5946:324:145", "nodes": [], "body": { - "id": 120075, + "id": 111782, "nodeType": "Block", - "src": "5984:286:171", + "src": "5984:286:145", "nodes": [], "statements": [ { "assignments": [ - 120036 + 111743 ], "declarations": [ { "constant": false, - "id": 120036, + "id": 111743, "mutability": "mutable", "name": "loot", - "nameLocation": "6032:4:171", + "nameLocation": "6032:4:145", "nodeType": "VariableDeclaration", - "scope": 120075, - "src": "6019:17:171", + "scope": 111782, + "src": "6019:17:145", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120035, + "id": 111742, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120034, + "id": 111741, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "6019:4:171" + "referencedDeclaration": 111186, + "src": "6019:4:145" }, - "referencedDeclaration": 119479, - "src": "6019:4:171", + "referencedDeclaration": 111186, + "src": "6019:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120040, + "id": 111747, "initialValue": { "baseExpression": { - "id": 120037, + "id": 111744, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "6039:8:171", + "referencedDeclaration": 111201, + "src": "6039:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120039, + "id": 111746, "indexExpression": { - "id": 120038, + "id": 111745, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6048:7:171", + "referencedDeclaration": 111188, + "src": "6048:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9820,44 +9820,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6039:17:171", + "src": "6039:17:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6019:37:171" + "src": "6019:37:145" }, { "expression": { - "id": 120045, + "id": 111752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120041, + "id": 111748, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6066:4:171", + "referencedDeclaration": 111743, + "src": "6066:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120043, + "id": 111750, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 119459, - "src": "6066:10:171", + "referencedDeclaration": 111166, + "src": "6066:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9866,58 +9866,58 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120044, + "id": 111751, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120031, - "src": "6079:5:171", + "referencedDeclaration": 111738, + "src": "6079:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6066:18:171", + "src": "6066:18:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120046, + "id": 111753, "nodeType": "ExpressionStatement", - "src": "6066:18:171" + "src": "6066:18:145" }, { "expression": { - "id": 120052, + "id": 111759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120047, + "id": 111754, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6094:4:171", + "referencedDeclaration": 111743, + "src": "6094:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120049, + "id": 111756, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "6094:10:171", + "referencedDeclaration": 111185, + "src": "6094:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -9925,70 +9925,70 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120050, + "id": 111757, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "6107:11:171", + "referencedDeclaration": 112350, + "src": "6107:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120051, + "id": 111758, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "6107:19:171", + "referencedDeclaration": 112348, + "src": "6107:19:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "6094:32:171", + "src": "6094:32:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 120053, + "id": 111760, "nodeType": "ExpressionStatement", - "src": "6094:32:171" + "src": "6094:32:145" }, { "expression": { - "id": 120058, + "id": 111765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120054, + "id": 111761, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6136:4:171", + "referencedDeclaration": 111743, + "src": "6136:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120056, + "id": 111763, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 119457, - "src": "6136:13:171", + "referencedDeclaration": 111164, + "src": "6136:13:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9997,37 +9997,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120057, + "id": 111764, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6152:8:171", + "referencedDeclaration": 112357, + "src": "6152:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6136:24:171", + "src": "6136:24:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120059, + "id": 111766, "nodeType": "ExpressionStatement", - "src": "6136:24:171" + "src": "6136:24:145" }, { "expression": { "arguments": [ { - "id": 120061, + "id": 111768, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6184:8:171", + "referencedDeclaration": 112357, + "src": "6184:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10041,18 +10041,18 @@ "typeString": "uint256" } ], - "id": 120060, + "id": 111767, "name": "requestRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120694, - "src": "6170:13:171", + "referencedDeclaration": 112401, + "src": "6170:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 120062, + "id": 111769, "isConstant": false, "isLValue": false, "isPure": false, @@ -10060,39 +10060,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6170:23:171", + "src": "6170:23:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120063, + "id": 111770, "nodeType": "ExpressionStatement", - "src": "6170:23:171" + "src": "6170:23:145" }, { "expression": { "arguments": [ { - "id": 120065, + "id": 111772, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120031, - "src": "6209:5:171", + "referencedDeclaration": 111738, + "src": "6209:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 120066, + "id": 111773, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6216:7:171", + "referencedDeclaration": 111188, + "src": "6216:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10110,18 +10110,18 @@ "typeString": "uint256" } ], - "id": 120064, + "id": 111771, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72099, - "src": "6203:5:171", + "referencedDeclaration": 29840, + "src": "6203:5:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 120067, + "id": 111774, "isConstant": false, "isLValue": false, "isPure": false, @@ -10129,20 +10129,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6203:21:171", + "src": "6203:21:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120068, + "id": 111775, "nodeType": "ExpressionStatement", - "src": "6203:21:171" + "src": "6203:21:145" }, { "expression": { - "id": 120070, + "id": 111777, "isConstant": false, "isLValue": false, "isPure": false, @@ -10150,14 +10150,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6234:9:171", + "src": "6234:9:145", "subExpression": { - "id": 120069, + "id": 111776, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6234:7:171", + "referencedDeclaration": 111188, + "src": "6234:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10168,13 +10168,13 @@ "typeString": "uint256" } }, - "id": 120071, + "id": 111778, "nodeType": "ExpressionStatement", - "src": "6234:9:171" + "src": "6234:9:145" }, { "expression": { - "id": 120073, + "id": 111780, "isConstant": false, "isLValue": false, "isPure": false, @@ -10182,14 +10182,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6253:10:171", + "src": "6253:10:145", "subExpression": { - "id": 120072, + "id": 111779, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6253:8:171", + "referencedDeclaration": 112357, + "src": "6253:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10200,9 +10200,9 @@ "typeString": "uint256" } }, - "id": 120074, + "id": 111781, "nodeType": "ExpressionStatement", - "src": "6253:10:171" + "src": "6253:10:145" } ] }, @@ -10211,20 +10211,20 @@ "kind": "function", "modifiers": [], "name": "mint", - "nameLocation": "5955:4:171", + "nameLocation": "5955:4:145", "parameters": { - "id": 120032, + "id": 111739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120031, + "id": 111738, "mutability": "mutable", "name": "_addr", - "nameLocation": "5968:5:171", + "nameLocation": "5968:5:145", "nodeType": "VariableDeclaration", - "scope": 120076, - "src": "5960:13:171", + "scope": 111783, + "src": "5960:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10232,10 +10232,10 @@ "typeString": "address" }, "typeName": { - "id": 120030, + "id": 111737, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5960:7:171", + "src": "5960:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10245,44 +10245,44 @@ "visibility": "internal" } ], - "src": "5959:15:171" + "src": "5959:15:145" }, "returnParameters": { - "id": 120033, + "id": 111740, "nodeType": "ParameterList", "parameters": [], - "src": "5984:0:171" + "src": "5984:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120107, + "id": 111814, "nodeType": "FunctionDefinition", - "src": "6282:192:171", + "src": "6282:192:145", "nodes": [], "body": { - "id": 120106, + "id": 111813, "nodeType": "Block", - "src": "6329:145:171", + "src": "6329:145:145", "nodes": [], "statements": [ { "assignments": [ - 120084 + 111791 ], "declarations": [ { "constant": false, - "id": 120084, + "id": 111791, "mutability": "mutable", "name": "balance", - "nameLocation": "6347:7:171", + "nameLocation": "6347:7:145", "nodeType": "VariableDeclaration", - "scope": 120106, - "src": "6339:15:171", + "scope": 111813, + "src": "6339:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10290,10 +10290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120083, + "id": 111790, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:171", + "src": "6339:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10302,19 +10302,19 @@ "visibility": "internal" } ], - "id": 120090, + "id": 111797, "initialValue": { "expression": { "arguments": [ { - "id": 120087, + "id": 111794, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "6365:4:171", + "src": "6365:4:145", "typeDescriptions": { - "typeIdentifier": "t_contract$_MLoot_$120386", + "typeIdentifier": "t_contract$_MLoot_$112093", "typeString": "contract MLoot" } } @@ -10322,30 +10322,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MLoot_$120386", + "typeIdentifier": "t_contract$_MLoot_$112093", "typeString": "contract MLoot" } ], - "id": 120086, + "id": 111793, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6357:7:171", + "src": "6357:7:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 120085, + "id": 111792, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6357:7:171", + "src": "6357:7:145", "typeDescriptions": {} } }, - "id": 120088, + "id": 111795, "isConstant": false, "isLValue": false, "isPure": false, @@ -10353,28 +10353,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6357:13:171", + "src": "6357:13:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120089, + "id": 111796, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balance", "nodeType": "MemberAccess", - "src": "6357:21:171", + "src": "6357:21:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6339:39:171" + "src": "6339:39:145" }, { "expression": { @@ -10384,18 +10384,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120094, + "id": 111801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120092, + "id": 111799, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120084, - "src": "6396:7:171", + "referencedDeclaration": 111791, + "src": "6396:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10405,21 +10405,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 120093, + "id": 111800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6406:1:171", + "src": "6406:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "6396:11:171", + "src": "6396:11:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10427,14 +10427,14 @@ }, { "hexValue": "73756666696369656e742066756e6473", - "id": 120095, + "id": 111802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6409:18:171", + "src": "6409:18:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", "typeString": "literal_string \"sufficient funds\"" @@ -10453,7 +10453,7 @@ "typeString": "literal_string \"sufficient funds\"" } ], - "id": 120091, + "id": 111798, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10461,13 +10461,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6388:7:171", + "src": "6388:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120096, + "id": 111803, "isConstant": false, "isLValue": false, "isPure": false, @@ -10475,27 +10475,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6388:40:171", + "src": "6388:40:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120097, + "id": 111804, "nodeType": "ExpressionStatement", - "src": "6388:40:171" + "src": "6388:40:145" }, { "expression": { "arguments": [ { - "id": 120103, + "id": 111810, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120084, - "src": "6459:7:171", + "referencedDeclaration": 111791, + "src": "6459:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10512,12 +10512,12 @@ "expression": { "arguments": [ { - "id": 120100, + "id": 111807, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120078, - "src": "6446:2:171", + "referencedDeclaration": 111785, + "src": "6446:2:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10531,27 +10531,27 @@ "typeString": "address" } ], - "id": 120099, + "id": 111806, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6438:8:171", + "src": "6438:8:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 120098, + "id": 111805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6438:8:171", + "src": "6438:8:145", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 120101, + "id": 111808, "isConstant": false, "isLValue": false, "isPure": false, @@ -10559,27 +10559,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6438:11:171", + "src": "6438:11:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 120102, + "id": 111809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "src": "6438:20:171", + "src": "6438:20:145", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 120104, + "id": 111811, "isConstant": false, "isLValue": false, "isPure": false, @@ -10587,16 +10587,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6438:29:171", + "src": "6438:29:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120105, + "id": 111812, "nodeType": "ExpressionStatement", - "src": "6438:29:171" + "src": "6438:29:145" } ] }, @@ -10605,34 +10605,34 @@ "kind": "function", "modifiers": [ { - "id": 120081, + "id": 111788, "kind": "modifierInvocation", "modifierName": { - "id": 120080, + "id": 111787, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 119505, - "src": "6319:9:171" + "referencedDeclaration": 111212, + "src": "6319:9:145" }, "nodeType": "ModifierInvocation", - "src": "6319:9:171" + "src": "6319:9:145" } ], "name": "withdraw", - "nameLocation": "6291:8:171", + "nameLocation": "6291:8:145", "parameters": { - "id": 120079, + "id": 111786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120078, + "id": 111785, "mutability": "mutable", "name": "to", - "nameLocation": "6308:2:171", + "nameLocation": "6308:2:145", "nodeType": "VariableDeclaration", - "scope": 120107, - "src": "6300:10:171", + "scope": 111814, + "src": "6300:10:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10640,10 +10640,10 @@ "typeString": "address" }, "typeName": { - "id": 120077, + "id": 111784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6300:7:171", + "src": "6300:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10653,52 +10653,52 @@ "visibility": "internal" } ], - "src": "6299:12:171" + "src": "6299:12:145" }, "returnParameters": { - "id": 120082, + "id": 111789, "nodeType": "ParameterList", "parameters": [], - "src": "6329:0:171" + "src": "6329:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 120127, + "id": 111834, "nodeType": "FunctionDefinition", - "src": "6480:214:171", + "src": "6480:214:145", "nodes": [], "body": { - "id": 120126, + "id": 111833, "nodeType": "Block", - "src": "6619:75:171", + "src": "6619:75:145", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 120122, + "id": 111829, "name": "_targetAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120109, - "src": "6663:14:171", + "referencedDeclaration": 111816, + "src": "6663:14:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 120123, + "id": 111830, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120113, - "src": "6679:7:171", + "referencedDeclaration": 111820, + "src": "6679:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10719,12 +10719,12 @@ "expression": { "arguments": [ { - "id": 120119, + "id": 111826, "name": "_contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120111, - "src": "6636:16:171", + "referencedDeclaration": 111818, + "src": "6636:16:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10738,18 +10738,18 @@ "typeString": "address" } ], - "id": 120118, + "id": 111825, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71498, - "src": "6629:6:171", + "referencedDeclaration": 29239, + "src": "6629:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$71498_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$29239_$", "typeString": "type(contract IERC20)" } }, - "id": 120120, + "id": 111827, "isConstant": false, "isLValue": false, "isPure": false, @@ -10757,28 +10757,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6629:24:171", + "src": "6629:24:145", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$71498", + "typeIdentifier": "t_contract$_IERC20_$29239", "typeString": "contract IERC20" } }, - "id": 120121, + "id": 111828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 71465, - "src": "6629:33:171", + "referencedDeclaration": 29206, + "src": "6629:33:145", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 120124, + "id": 111831, "isConstant": false, "isLValue": false, "isPure": false, @@ -10786,16 +10786,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6629:58:171", + "src": "6629:58:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120125, + "id": 111832, "nodeType": "ExpressionStatement", - "src": "6629:58:171" + "src": "6629:58:145" } ] }, @@ -10804,34 +10804,34 @@ "kind": "function", "modifiers": [ { - "id": 120116, + "id": 111823, "kind": "modifierInvocation", "modifierName": { - "id": 120115, + "id": 111822, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 119505, - "src": "6609:9:171" + "referencedDeclaration": 111212, + "src": "6609:9:145" }, "nodeType": "ModifierInvocation", - "src": "6609:9:171" + "src": "6609:9:145" } ], "name": "withdrawErc20", - "nameLocation": "6489:13:171", + "nameLocation": "6489:13:145", "parameters": { - "id": 120114, + "id": 111821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120109, + "id": 111816, "mutability": "mutable", "name": "_targetAddress", - "nameLocation": "6520:14:171", + "nameLocation": "6520:14:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6512:22:171", + "scope": 111834, + "src": "6512:22:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10839,10 +10839,10 @@ "typeString": "address" }, "typeName": { - "id": 120108, + "id": 111815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6512:7:171", + "src": "6512:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10853,13 +10853,13 @@ }, { "constant": false, - "id": 120111, + "id": 111818, "mutability": "mutable", "name": "_contractAddress", - "nameLocation": "6552:16:171", + "nameLocation": "6552:16:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6544:24:171", + "scope": 111834, + "src": "6544:24:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10867,10 +10867,10 @@ "typeString": "address" }, "typeName": { - "id": 120110, + "id": 111817, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6544:7:171", + "src": "6544:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10881,13 +10881,13 @@ }, { "constant": false, - "id": 120113, + "id": 111820, "mutability": "mutable", "name": "_amount", - "nameLocation": "6586:7:171", + "nameLocation": "6586:7:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6578:15:171", + "scope": 111834, + "src": "6578:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10895,10 +10895,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120112, + "id": 111819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6578:7:171", + "src": "6578:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10907,92 +10907,92 @@ "visibility": "internal" } ], - "src": "6502:97:171" + "src": "6502:97:145" }, "returnParameters": { - "id": 120117, + "id": 111824, "nodeType": "ParameterList", "parameters": [], - "src": "6619:0:171" + "src": "6619:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120183, + "id": 111890, "nodeType": "FunctionDefinition", - "src": "6699:515:171", + "src": "6699:515:145", "nodes": [], "body": { - "id": 120182, + "id": 111889, "nodeType": "Block", - "src": "6874:340:171", + "src": "6874:340:145", "nodes": [], "statements": [ { "assignments": [ - 120150 + 111857 ], "declarations": [ { "constant": false, - "id": 120150, + "id": 111857, "mutability": "mutable", "name": "loot", - "nameLocation": "6896:4:171", + "nameLocation": "6896:4:145", "nodeType": "VariableDeclaration", - "scope": 120182, - "src": "6884:16:171", + "scope": 111889, + "src": "6884:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120149, + "id": 111856, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120148, + "id": 111855, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "6884:4:171" + "referencedDeclaration": 111186, + "src": "6884:4:145" }, - "referencedDeclaration": 119479, - "src": "6884:4:171", + "referencedDeclaration": 111186, + "src": "6884:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120154, + "id": 111861, "initialValue": { "baseExpression": { - "id": 120151, + "id": 111858, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "6903:8:171", + "referencedDeclaration": 111201, + "src": "6903:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120153, + "id": 111860, "indexExpression": { - "id": 120152, + "id": 111859, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120129, - "src": "6912:8:171", + "referencedDeclaration": 111836, + "src": "6912:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11003,52 +11003,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6903:18:171", + "src": "6903:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6884:37:171" + "src": "6884:37:145" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 120160, + "id": 111867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120156, + "id": 111863, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "6939:4:171", + "referencedDeclaration": 111857, + "src": "6939:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120157, + "id": 111864, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "6939:10:171", + "referencedDeclaration": 111185, + "src": "6939:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -11056,32 +11056,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120158, + "id": 111865, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "6953:11:171", + "referencedDeclaration": 112350, + "src": "6953:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120159, + "id": 111866, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "6953:21:171", + "referencedDeclaration": 112349, + "src": "6953:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "6939:35:171", + "src": "6939:35:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11089,14 +11089,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 120161, + "id": 111868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6975:17:171", + "src": "6975:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -11115,7 +11115,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 120155, + "id": 111862, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11123,13 +11123,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6931:7:171", + "src": "6931:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120162, + "id": 111869, "isConstant": false, "isLValue": false, "isPure": false, @@ -11137,42 +11137,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6931:62:171", + "src": "6931:62:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120163, + "id": 111870, "nodeType": "ExpressionStatement", - "src": "6931:62:171" + "src": "6931:62:145" }, { "expression": { "components": [ { "expression": { - "id": 120164, + "id": 111871, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7023:4:171", + "referencedDeclaration": 111857, + "src": "7023:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120165, + "id": 111872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "7023:11:171", + "referencedDeclaration": 111168, + "src": "7023:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11180,26 +11180,26 @@ }, { "expression": { - "id": 120166, + "id": 111873, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7048:4:171", + "referencedDeclaration": 111857, + "src": "7048:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120167, + "id": 111874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "7048:10:171", + "referencedDeclaration": 111170, + "src": "7048:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11207,26 +11207,26 @@ }, { "expression": { - "id": 120168, + "id": 111875, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7072:4:171", + "referencedDeclaration": 111857, + "src": "7072:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120169, + "id": 111876, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "7072:9:171", + "referencedDeclaration": 111172, + "src": "7072:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11234,26 +11234,26 @@ }, { "expression": { - "id": 120170, + "id": 111877, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7095:4:171", + "referencedDeclaration": 111857, + "src": "7095:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120171, + "id": 111878, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "7095:10:171", + "referencedDeclaration": 111174, + "src": "7095:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11261,26 +11261,26 @@ }, { "expression": { - "id": 120172, + "id": 111879, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7119:4:171", + "referencedDeclaration": 111857, + "src": "7119:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120173, + "id": 111880, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "7119:9:171", + "referencedDeclaration": 111176, + "src": "7119:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11288,26 +11288,26 @@ }, { "expression": { - "id": 120174, + "id": 111881, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7142:4:171", + "referencedDeclaration": 111857, + "src": "7142:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120175, + "id": 111882, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "7142:9:171", + "referencedDeclaration": 111178, + "src": "7142:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11315,26 +11315,26 @@ }, { "expression": { - "id": 120176, + "id": 111883, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7165:4:171", + "referencedDeclaration": 111857, + "src": "7165:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120177, + "id": 111884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "7165:9:171", + "referencedDeclaration": 111180, + "src": "7165:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11342,49 +11342,49 @@ }, { "expression": { - "id": 120178, + "id": 111885, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7188:4:171", + "referencedDeclaration": 111857, + "src": "7188:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120179, + "id": 111886, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "7188:9:171", + "referencedDeclaration": 111182, + "src": "7188:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 120180, + "id": 111887, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7009:198:171", + "src": "7009:198:145", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "tuple(string memory,string memory,string memory,string memory,string memory,string memory,string memory,string memory)" } }, - "functionReturnParameters": 120147, - "id": 120181, + "functionReturnParameters": 111854, + "id": 111888, "nodeType": "Return", - "src": "7003:204:171" + "src": "7003:204:145" } ] }, @@ -11393,20 +11393,20 @@ "kind": "function", "modifiers": [], "name": "getStructInfo", - "nameLocation": "6708:13:171", + "nameLocation": "6708:13:145", "parameters": { - "id": 120130, + "id": 111837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120129, + "id": 111836, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "6730:8:171", + "nameLocation": "6730:8:145", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6722:16:171", + "scope": 111890, + "src": "6722:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11414,10 +11414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120128, + "id": 111835, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6722:7:171", + "src": "6722:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11426,21 +11426,21 @@ "visibility": "internal" } ], - "src": "6721:18:171" + "src": "6721:18:145" }, "returnParameters": { - "id": 120147, + "id": 111854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120132, + "id": 111839, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6762:13:171", + "scope": 111890, + "src": "6762:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11448,10 +11448,10 @@ "typeString": "string" }, "typeName": { - "id": 120131, + "id": 111838, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6762:6:171", + "src": "6762:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11461,13 +11461,13 @@ }, { "constant": false, - "id": 120134, + "id": 111841, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6776:13:171", + "scope": 111890, + "src": "6776:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11475,10 +11475,10 @@ "typeString": "string" }, "typeName": { - "id": 120133, + "id": 111840, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6776:6:171", + "src": "6776:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11488,13 +11488,13 @@ }, { "constant": false, - "id": 120136, + "id": 111843, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6790:13:171", + "scope": 111890, + "src": "6790:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11502,10 +11502,10 @@ "typeString": "string" }, "typeName": { - "id": 120135, + "id": 111842, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6790:6:171", + "src": "6790:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11515,13 +11515,13 @@ }, { "constant": false, - "id": 120138, + "id": 111845, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6804:13:171", + "scope": 111890, + "src": "6804:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11529,10 +11529,10 @@ "typeString": "string" }, "typeName": { - "id": 120137, + "id": 111844, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6804:6:171", + "src": "6804:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11542,13 +11542,13 @@ }, { "constant": false, - "id": 120140, + "id": 111847, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6818:13:171", + "scope": 111890, + "src": "6818:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11556,10 +11556,10 @@ "typeString": "string" }, "typeName": { - "id": 120139, + "id": 111846, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6818:6:171", + "src": "6818:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11569,13 +11569,13 @@ }, { "constant": false, - "id": 120142, + "id": 111849, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6832:13:171", + "scope": 111890, + "src": "6832:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11583,10 +11583,10 @@ "typeString": "string" }, "typeName": { - "id": 120141, + "id": 111848, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6832:6:171", + "src": "6832:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11596,13 +11596,13 @@ }, { "constant": false, - "id": 120144, + "id": 111851, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6846:13:171", + "scope": 111890, + "src": "6846:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11610,10 +11610,10 @@ "typeString": "string" }, "typeName": { - "id": 120143, + "id": 111850, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6846:6:171", + "src": "6846:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11623,13 +11623,13 @@ }, { "constant": false, - "id": 120146, + "id": 111853, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6860:13:171", + "scope": 111890, + "src": "6860:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11637,10 +11637,10 @@ "typeString": "string" }, "typeName": { - "id": 120145, + "id": 111852, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6860:6:171", + "src": "6860:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11649,86 +11649,86 @@ "visibility": "internal" } ], - "src": "6761:113:171" + "src": "6761:113:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120263, + "id": 111970, "nodeType": "FunctionDefinition", - "src": "7219:620:171", + "src": "7219:620:145", "nodes": [], "body": { - "id": 120262, + "id": 111969, "nodeType": "Block", - "src": "7351:488:171", + "src": "7351:488:145", "nodes": [], "statements": [ { "assignments": [ - 120206 + 111913 ], "declarations": [ { "constant": false, - "id": 120206, + "id": 111913, "mutability": "mutable", "name": "loot", - "nameLocation": "7373:4:171", + "nameLocation": "7373:4:145", "nodeType": "VariableDeclaration", - "scope": 120262, - "src": "7361:16:171", + "scope": 111969, + "src": "7361:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120205, + "id": 111912, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120204, + "id": 111911, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "7361:4:171" + "referencedDeclaration": 111186, + "src": "7361:4:145" }, - "referencedDeclaration": 119479, - "src": "7361:4:171", + "referencedDeclaration": 111186, + "src": "7361:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120210, + "id": 111917, "initialValue": { "baseExpression": { - "id": 120207, + "id": 111914, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "7380:8:171", + "referencedDeclaration": 111201, + "src": "7380:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120209, + "id": 111916, "indexExpression": { - "id": 120208, + "id": 111915, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120185, - "src": "7389:8:171", + "referencedDeclaration": 111892, + "src": "7389:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11739,52 +11739,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7380:18:171", + "src": "7380:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "7361:37:171" + "src": "7361:37:145" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 120216, + "id": 111923, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120212, + "id": 111919, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7416:4:171", + "referencedDeclaration": 111913, + "src": "7416:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120213, + "id": 111920, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "7416:10:171", + "referencedDeclaration": 111185, + "src": "7416:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -11792,32 +11792,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120214, + "id": 111921, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "7430:11:171", + "referencedDeclaration": 112350, + "src": "7430:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120215, + "id": 111922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "7430:21:171", + "referencedDeclaration": 112349, + "src": "7430:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "7416:35:171", + "src": "7416:35:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11825,14 +11825,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 120217, + "id": 111924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7452:17:171", + "src": "7452:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -11851,7 +11851,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 120211, + "id": 111918, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11859,13 +11859,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7408:7:171", + "src": "7408:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120218, + "id": 111925, "isConstant": false, "isLValue": false, "isPure": false, @@ -11873,16 +11873,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7408:62:171", + "src": "7408:62:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120219, + "id": 111926, "nodeType": "ExpressionStatement", - "src": "7408:62:171" + "src": "7408:62:145" }, { "expression": { @@ -11890,12 +11890,12 @@ { "arguments": [ { - "id": 120221, + "id": 111928, "name": "weapons", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120410, - "src": "7508:7:171", + "referencedDeclaration": 112117, + "src": "7508:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -11903,26 +11903,26 @@ }, { "expression": { - "id": 120222, + "id": 111929, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7516:4:171", + "referencedDeclaration": 111913, + "src": "7516:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120223, + "id": 111930, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "7516:11:171", + "referencedDeclaration": 111168, + "src": "7516:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11940,18 +11940,18 @@ "typeString": "string memory" } ], - "id": 120220, + "id": 111927, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7500:7:171", + "referencedDeclaration": 112092, + "src": "7500:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120224, + "id": 111931, "isConstant": false, "isLValue": false, "isPure": false, @@ -11959,7 +11959,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7500:28:171", + "src": "7500:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11969,12 +11969,12 @@ { "arguments": [ { - "id": 120226, + "id": 111933, "name": "chestArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120429, - "src": "7550:10:171", + "referencedDeclaration": 112136, + "src": "7550:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -11982,26 +11982,26 @@ }, { "expression": { - "id": 120227, + "id": 111934, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7561:4:171", + "referencedDeclaration": 111913, + "src": "7561:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120228, + "id": 111935, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "7561:10:171", + "referencedDeclaration": 111170, + "src": "7561:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12019,18 +12019,18 @@ "typeString": "string memory" } ], - "id": 120225, + "id": 111932, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7542:7:171", + "referencedDeclaration": 112092, + "src": "7542:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120229, + "id": 111936, "isConstant": false, "isLValue": false, "isPure": false, @@ -12038,7 +12038,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7542:30:171", + "src": "7542:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12048,12 +12048,12 @@ { "arguments": [ { - "id": 120231, + "id": 111938, "name": "headArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120448, - "src": "7594:9:171", + "referencedDeclaration": 112155, + "src": "7594:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12061,26 +12061,26 @@ }, { "expression": { - "id": 120232, + "id": 111939, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7604:4:171", + "referencedDeclaration": 111913, + "src": "7604:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120233, + "id": 111940, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "7604:9:171", + "referencedDeclaration": 111172, + "src": "7604:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12098,18 +12098,18 @@ "typeString": "string memory" } ], - "id": 120230, + "id": 111937, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7586:7:171", + "referencedDeclaration": 112092, + "src": "7586:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120234, + "id": 111941, "isConstant": false, "isLValue": false, "isPure": false, @@ -12117,7 +12117,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7586:28:171", + "src": "7586:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12127,12 +12127,12 @@ { "arguments": [ { - "id": 120236, + "id": 111943, "name": "waistArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120467, - "src": "7636:10:171", + "referencedDeclaration": 112174, + "src": "7636:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12140,26 +12140,26 @@ }, { "expression": { - "id": 120237, + "id": 111944, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7647:4:171", + "referencedDeclaration": 111913, + "src": "7647:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120238, + "id": 111945, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "7647:10:171", + "referencedDeclaration": 111174, + "src": "7647:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12177,18 +12177,18 @@ "typeString": "string memory" } ], - "id": 120235, + "id": 111942, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7628:7:171", + "referencedDeclaration": 112092, + "src": "7628:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120239, + "id": 111946, "isConstant": false, "isLValue": false, "isPure": false, @@ -12196,7 +12196,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7628:30:171", + "src": "7628:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12206,12 +12206,12 @@ { "arguments": [ { - "id": 120241, + "id": 111948, "name": "footArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120486, - "src": "7680:9:171", + "referencedDeclaration": 112193, + "src": "7680:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12219,26 +12219,26 @@ }, { "expression": { - "id": 120242, + "id": 111949, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7690:4:171", + "referencedDeclaration": 111913, + "src": "7690:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120243, + "id": 111950, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "7690:9:171", + "referencedDeclaration": 111176, + "src": "7690:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12256,18 +12256,18 @@ "typeString": "string memory" } ], - "id": 120240, + "id": 111947, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7672:7:171", + "referencedDeclaration": 112092, + "src": "7672:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120244, + "id": 111951, "isConstant": false, "isLValue": false, "isPure": false, @@ -12275,7 +12275,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7672:28:171", + "src": "7672:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12285,12 +12285,12 @@ { "arguments": [ { - "id": 120246, + "id": 111953, "name": "handArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120505, - "src": "7722:9:171", + "referencedDeclaration": 112212, + "src": "7722:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12298,26 +12298,26 @@ }, { "expression": { - "id": 120247, + "id": 111954, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7732:4:171", + "referencedDeclaration": 111913, + "src": "7732:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120248, + "id": 111955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "7732:9:171", + "referencedDeclaration": 111178, + "src": "7732:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12335,18 +12335,18 @@ "typeString": "string memory" } ], - "id": 120245, + "id": 111952, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7714:7:171", + "referencedDeclaration": 112092, + "src": "7714:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120249, + "id": 111956, "isConstant": false, "isLValue": false, "isPure": false, @@ -12354,7 +12354,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7714:28:171", + "src": "7714:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12364,12 +12364,12 @@ { "arguments": [ { - "id": 120251, + "id": 111958, "name": "necklaces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120512, - "src": "7764:9:171", + "referencedDeclaration": 112219, + "src": "7764:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12377,26 +12377,26 @@ }, { "expression": { - "id": 120252, + "id": 111959, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7774:4:171", + "referencedDeclaration": 111913, + "src": "7774:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120253, + "id": 111960, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "7774:9:171", + "referencedDeclaration": 111180, + "src": "7774:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12414,18 +12414,18 @@ "typeString": "string memory" } ], - "id": 120250, + "id": 111957, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7756:7:171", + "referencedDeclaration": 112092, + "src": "7756:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120254, + "id": 111961, "isConstant": false, "isLValue": false, "isPure": false, @@ -12433,7 +12433,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7756:28:171", + "src": "7756:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12443,12 +12443,12 @@ { "arguments": [ { - "id": 120256, + "id": 111963, "name": "rings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120521, - "src": "7806:5:171", + "referencedDeclaration": 112228, + "src": "7806:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12456,26 +12456,26 @@ }, { "expression": { - "id": 120257, + "id": 111964, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7812:4:171", + "referencedDeclaration": 111913, + "src": "7812:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120258, + "id": 111965, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "7812:9:171", + "referencedDeclaration": 111182, + "src": "7812:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12493,18 +12493,18 @@ "typeString": "string memory" } ], - "id": 120255, + "id": 111962, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7798:7:171", + "referencedDeclaration": 112092, + "src": "7798:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120259, + "id": 111966, "isConstant": false, "isLValue": false, "isPure": false, @@ -12512,7 +12512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7798:24:171", + "src": "7798:24:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12520,23 +12520,23 @@ } } ], - "id": 120260, + "id": 111967, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7486:346:171", + "src": "7486:346:145", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 120203, - "id": 120261, + "functionReturnParameters": 111910, + "id": 111968, "nodeType": "Return", - "src": "7480:352:171" + "src": "7480:352:145" } ] }, @@ -12545,20 +12545,20 @@ "kind": "function", "modifiers": [], "name": "getStructIndexInfo", - "nameLocation": "7228:18:171", + "nameLocation": "7228:18:145", "parameters": { - "id": 120186, + "id": 111893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120185, + "id": 111892, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "7255:8:171", + "nameLocation": "7255:8:145", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7247:16:171", + "scope": 111970, + "src": "7247:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12566,10 +12566,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120184, + "id": 111891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7247:7:171", + "src": "7247:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12578,21 +12578,21 @@ "visibility": "internal" } ], - "src": "7246:18:171" + "src": "7246:18:145" }, "returnParameters": { - "id": 120203, + "id": 111910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120188, + "id": 111895, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7287:7:171", + "scope": 111970, + "src": "7287:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12600,10 +12600,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120187, + "id": 111894, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7287:7:171", + "src": "7287:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12613,13 +12613,13 @@ }, { "constant": false, - "id": 120190, + "id": 111897, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7295:7:171", + "scope": 111970, + "src": "7295:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12627,10 +12627,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120189, + "id": 111896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7295:7:171", + "src": "7295:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12640,13 +12640,13 @@ }, { "constant": false, - "id": 120192, + "id": 111899, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7303:7:171", + "scope": 111970, + "src": "7303:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12654,10 +12654,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120191, + "id": 111898, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7303:7:171", + "src": "7303:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12667,13 +12667,13 @@ }, { "constant": false, - "id": 120194, + "id": 111901, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7311:7:171", + "scope": 111970, + "src": "7311:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12681,10 +12681,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120193, + "id": 111900, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7311:7:171", + "src": "7311:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12694,13 +12694,13 @@ }, { "constant": false, - "id": 120196, + "id": 111903, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7319:7:171", + "scope": 111970, + "src": "7319:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12708,10 +12708,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120195, + "id": 111902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7319:7:171", + "src": "7319:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12721,13 +12721,13 @@ }, { "constant": false, - "id": 120198, + "id": 111905, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7327:7:171", + "scope": 111970, + "src": "7327:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12735,10 +12735,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120197, + "id": 111904, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7327:7:171", + "src": "7327:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12748,13 +12748,13 @@ }, { "constant": false, - "id": 120200, + "id": 111907, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7335:7:171", + "scope": 111970, + "src": "7335:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,10 +12762,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120199, + "id": 111906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7335:7:171", + "src": "7335:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12775,13 +12775,13 @@ }, { "constant": false, - "id": 120202, + "id": 111909, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7343:7:171", + "scope": 111970, + "src": "7343:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12789,10 +12789,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120201, + "id": 111908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7343:7:171", + "src": "7343:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12801,38 +12801,38 @@ "visibility": "internal" } ], - "src": "7286:65:171" + "src": "7286:65:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120327, + "id": 112034, "nodeType": "FunctionDefinition", - "src": "7845:482:171", + "src": "7845:482:145", "nodes": [], "body": { - "id": 120326, + "id": 112033, "nodeType": "Block", - "src": "7914:413:171", + "src": "7914:413:145", "nodes": [], "statements": [ { "assignments": [ - 120270 + 111977 ], "declarations": [ { "constant": false, - "id": 120270, + "id": 111977, "mutability": "mutable", "name": "balance", - "nameLocation": "7932:7:171", + "nameLocation": "7932:7:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "7924:15:171", + "scope": 112033, + "src": "7924:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12840,10 +12840,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120269, + "id": 111976, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7924:7:171", + "src": "7924:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12852,30 +12852,30 @@ "visibility": "internal" } ], - "id": 120275, + "id": 111982, "initialValue": { "arguments": [ { "expression": { - "id": 120272, + "id": 111979, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "7952:3:171", + "src": "7952:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120273, + "id": 111980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "7952:10:171", + "src": "7952:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12889,18 +12889,18 @@ "typeString": "address" } ], - "id": 120271, + "id": 111978, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71616, - "src": "7942:9:171", + "referencedDeclaration": 29357, + "src": "7942:9:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 120274, + "id": 111981, "isConstant": false, "isLValue": false, "isPure": false, @@ -12908,7 +12908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7942:21:171", + "src": "7942:21:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12916,22 +12916,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7924:39:171" + "src": "7924:39:145" }, { "assignments": [ - 120280 + 111987 ], "declarations": [ { "constant": false, - "id": 120280, + "id": 111987, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "7990:8:171", + "nameLocation": "7990:8:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "7973:25:171", + "scope": 112033, + "src": "7973:25:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12940,18 +12940,18 @@ }, "typeName": { "baseType": { - "id": 120278, + "id": 111985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7973:7:171", + "src": "7973:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120279, + "id": 111986, "nodeType": "ArrayTypeName", - "src": "7973:9:171", + "src": "7973:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12960,16 +12960,16 @@ "visibility": "internal" } ], - "id": 120286, + "id": 111993, "initialValue": { "arguments": [ { - "id": 120284, + "id": 111991, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120270, - "src": "8015:7:171", + "referencedDeclaration": 111977, + "src": "8015:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12983,38 +12983,38 @@ "typeString": "uint256" } ], - "id": 120283, + "id": 111990, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "8001:13:171", + "src": "8001:13:145", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 120281, + "id": 111988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8005:7:171", + "src": "8005:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120282, + "id": 111989, "nodeType": "ArrayTypeName", - "src": "8005:9:171", + "src": "8005:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 120285, + "id": 111992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13022,7 +13022,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8001:22:171", + "src": "8001:22:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -13030,22 +13030,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7973:50:171" + "src": "7973:50:145" }, { "assignments": [ - 120288 + 111995 ], "declarations": [ { "constant": false, - "id": 120288, + "id": 111995, "mutability": "mutable", "name": "index", - "nameLocation": "8041:5:171", + "nameLocation": "8041:5:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "8033:13:171", + "scope": 112033, + "src": "8033:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13053,10 +13053,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120287, + "id": 111994, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8033:7:171", + "src": "8033:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13065,15 +13065,15 @@ "visibility": "internal" } ], - "id": 120289, + "id": 111996, "nodeType": "VariableDeclarationStatement", - "src": "8033:13:171" + "src": "8033:13:145" }, { "body": { - "id": 120322, + "id": 112029, "nodeType": "Block", - "src": "8084:212:171", + "src": "8084:212:145", "statements": [ { "condition": { @@ -13081,7 +13081,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 120304, + "id": 112011, "isConstant": false, "isLValue": false, "isPure": false, @@ -13089,12 +13089,12 @@ "leftExpression": { "arguments": [ { - "id": 120300, + "id": 112007, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8109:1:171", + "referencedDeclaration": 111998, + "src": "8109:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13108,18 +13108,18 @@ "typeString": "uint256" } ], - "id": 120299, + "id": 112006, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71644, - "src": "8101:7:171", + "referencedDeclaration": 29385, + "src": "8101:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 120301, + "id": 112008, "isConstant": false, "isLValue": false, "isPure": false, @@ -13127,7 +13127,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8101:10:171", + "src": "8101:10:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -13138,72 +13138,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120302, + "id": 112009, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "8115:3:171", + "src": "8115:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120303, + "id": 112010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "8115:10:171", + "src": "8115:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8101:24:171", + "src": "8101:24:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120321, + "id": 112028, "nodeType": "IfStatement", - "src": "8098:188:171", + "src": "8098:188:145", "trueBody": { - "id": 120320, + "id": 112027, "nodeType": "Block", - "src": "8126:160:171", + "src": "8126:160:145", "statements": [ { "expression": { - "id": 120309, + "id": 112016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 120305, + "id": 112012, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120280, - "src": "8144:8:171", + "referencedDeclaration": 111987, + "src": "8144:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 120307, + "id": 112014, "indexExpression": { - "id": 120306, + "id": 112013, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8153:5:171", + "referencedDeclaration": 111995, + "src": "8153:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13214,7 +13214,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8144:15:171", + "src": "8144:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13223,30 +13223,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120308, + "id": 112015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8162:1:171", + "referencedDeclaration": 111998, + "src": "8162:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8144:19:171", + "src": "8144:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120310, + "id": 112017, "nodeType": "ExpressionStatement", - "src": "8144:19:171" + "src": "8144:19:145" }, { "expression": { - "id": 120312, + "id": 112019, "isConstant": false, "isLValue": false, "isPure": false, @@ -13254,14 +13254,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8181:7:171", + "src": "8181:7:145", "subExpression": { - "id": 120311, + "id": 112018, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8181:5:171", + "referencedDeclaration": 111995, + "src": "8181:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13272,9 +13272,9 @@ "typeString": "uint256" } }, - "id": 120313, + "id": 112020, "nodeType": "ExpressionStatement", - "src": "8181:7:171" + "src": "8181:7:145" }, { "condition": { @@ -13282,18 +13282,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120316, + "id": 112023, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120314, + "id": 112021, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8209:5:171", + "referencedDeclaration": 111995, + "src": "8209:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13302,35 +13302,35 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 120315, + "id": 112022, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120270, - "src": "8218:7:171", + "referencedDeclaration": 111977, + "src": "8218:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8209:16:171", + "src": "8209:16:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120319, + "id": 112026, "nodeType": "IfStatement", - "src": "8206:66:171", + "src": "8206:66:145", "trueBody": { - "id": 120318, + "id": 112025, "nodeType": "Block", - "src": "8226:46:171", + "src": "8226:46:145", "statements": [ { - "id": 120317, + "id": 112024, "nodeType": "Break", - "src": "8248:5:171" + "src": "8248:5:145" } ] } @@ -13345,18 +13345,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120295, + "id": 112002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120293, + "id": 112000, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8070:1:171", + "referencedDeclaration": 111998, + "src": "8070:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13365,38 +13365,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 120294, + "id": 112001, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "8072:7:171", + "referencedDeclaration": 111188, + "src": "8072:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8070:9:171", + "src": "8070:9:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120323, + "id": 112030, "initializationExpression": { "assignments": [ - 120291 + 111998 ], "declarations": [ { "constant": false, - "id": 120291, + "id": 111998, "mutability": "mutable", "name": "i", - "nameLocation": "8068:1:171", + "nameLocation": "8068:1:145", "nodeType": "VariableDeclaration", - "scope": 120323, - "src": "8060:9:171", + "scope": 112030, + "src": "8060:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13404,10 +13404,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120290, + "id": 111997, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8060:7:171", + "src": "8060:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13416,13 +13416,13 @@ "visibility": "internal" } ], - "id": 120292, + "id": 111999, "nodeType": "VariableDeclarationStatement", - "src": "8060:9:171" + "src": "8060:9:145" }, "loopExpression": { "expression": { - "id": 120297, + "id": 112004, "isConstant": false, "isLValue": false, "isPure": false, @@ -13430,14 +13430,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8080:3:171", + "src": "8080:3:145", "subExpression": { - "id": 120296, + "id": 112003, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8080:1:171", + "referencedDeclaration": 111998, + "src": "8080:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13448,30 +13448,30 @@ "typeString": "uint256" } }, - "id": 120298, + "id": 112005, "nodeType": "ExpressionStatement", - "src": "8080:3:171" + "src": "8080:3:145" }, "nodeType": "ForStatement", - "src": "8056:240:171" + "src": "8056:240:145" }, { "expression": { - "id": 120324, + "id": 112031, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120280, - "src": "8312:8:171", + "referencedDeclaration": 111987, + "src": "8312:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 120268, - "id": 120325, + "functionReturnParameters": 111975, + "id": 112032, "nodeType": "Return", - "src": "8305:15:171" + "src": "8305:15:145" } ] }, @@ -13480,26 +13480,26 @@ "kind": "function", "modifiers": [], "name": "getUserTokenIdList", - "nameLocation": "7854:18:171", + "nameLocation": "7854:18:145", "parameters": { - "id": 120264, + "id": 111971, "nodeType": "ParameterList", "parameters": [], - "src": "7872:2:171" + "src": "7872:2:145" }, "returnParameters": { - "id": 120268, + "id": 111975, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120267, + "id": 111974, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120327, - "src": "7897:16:171", + "scope": 112034, + "src": "7897:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13508,18 +13508,18 @@ }, "typeName": { "baseType": { - "id": 120265, + "id": 111972, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7897:7:171", + "src": "7897:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120266, + "id": 111973, "nodeType": "ArrayTypeName", - "src": "7897:9:171", + "src": "7897:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -13528,38 +13528,38 @@ "visibility": "internal" } ], - "src": "7896:18:171" + "src": "7896:18:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120385, + "id": 112092, "nodeType": "FunctionDefinition", - "src": "8333:391:171", + "src": "8333:391:145", "nodes": [], "body": { - "id": 120384, + "id": 112091, "nodeType": "Block", - "src": "8423:301:171", + "src": "8423:301:145", "nodes": [], "statements": [ { "assignments": [ - 120338 + 112045 ], "declarations": [ { "constant": false, - "id": 120338, + "id": 112045, "mutability": "mutable", "name": "r", - "nameLocation": "8441:1:171", + "nameLocation": "8441:1:145", "nodeType": "VariableDeclaration", - "scope": 120384, - "src": "8433:9:171", + "scope": 112091, + "src": "8433:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13567,10 +13567,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120337, + "id": 112044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8433:7:171", + "src": "8433:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13579,9 +13579,9 @@ "visibility": "internal" } ], - "id": 120339, + "id": 112046, "nodeType": "VariableDeclarationStatement", - "src": "8433:9:171" + "src": "8433:9:145" }, { "expression": { @@ -13591,32 +13591,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120344, + "id": 112051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120341, + "id": 112048, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8460:5:171", + "referencedDeclaration": 112037, + "src": "8460:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120342, + "id": 112049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8460:12:171", + "src": "8460:12:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13626,21 +13626,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 120343, + "id": 112050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8475:1:171", + "src": "8475:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8460:16:171", + "src": "8460:16:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13648,14 +13648,14 @@ }, { "hexValue": "6c69737420697320656d707479", - "id": 120345, + "id": 112052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8477:15:171", + "src": "8477:15:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", "typeString": "literal_string \"list is empty\"" @@ -13674,7 +13674,7 @@ "typeString": "literal_string \"list is empty\"" } ], - "id": 120340, + "id": 112047, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -13682,13 +13682,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8452:7:171", + "src": "8452:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120346, + "id": 112053, "isConstant": false, "isLValue": false, "isPure": false, @@ -13696,22 +13696,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8452:41:171", + "src": "8452:41:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120347, + "id": 112054, "nodeType": "ExpressionStatement", - "src": "8452:41:171" + "src": "8452:41:145" }, { "body": { - "id": 120380, + "id": 112087, "nodeType": "Block", - "src": "8536:164:171", + "src": "8536:164:145", "statements": [ { "condition": { @@ -13719,7 +13719,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 120372, + "id": 112079, "isConstant": false, "isLValue": false, "isPure": false, @@ -13730,25 +13730,25 @@ "arguments": [ { "baseExpression": { - "id": 120361, + "id": 112068, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8580:5:171", + "referencedDeclaration": 112037, + "src": "8580:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120363, + "id": 112070, "indexExpression": { - "id": 120362, + "id": 112069, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8586:1:171", + "referencedDeclaration": 112056, + "src": "8586:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13759,7 +13759,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8580:8:171", + "src": "8580:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -13774,31 +13774,31 @@ } ], "expression": { - "id": 120359, + "id": 112066, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8563:3:171", + "src": "8563:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 120360, + "id": 112067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8563:16:171", + "src": "8563:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 120364, + "id": 112071, "isConstant": false, "isLValue": false, "isPure": false, @@ -13806,7 +13806,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8563:26:171", + "src": "8563:26:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -13821,18 +13821,18 @@ "typeString": "bytes memory" } ], - "id": 120358, + "id": 112065, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "8553:9:171", + "src": "8553:9:145", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 120365, + "id": 112072, "isConstant": false, "isLValue": false, "isPure": false, @@ -13840,7 +13840,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8553:37:171", + "src": "8553:37:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -13854,12 +13854,12 @@ { "arguments": [ { - "id": 120369, + "id": 112076, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120332, - "src": "8621:5:171", + "referencedDeclaration": 112039, + "src": "8621:5:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -13874,31 +13874,31 @@ } ], "expression": { - "id": 120367, + "id": 112074, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8604:3:171", + "src": "8604:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 120368, + "id": 112075, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8604:16:171", + "src": "8604:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 120370, + "id": 112077, "isConstant": false, "isLValue": false, "isPure": false, @@ -13906,7 +13906,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8604:23:171", + "src": "8604:23:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -13921,18 +13921,18 @@ "typeString": "bytes memory" } ], - "id": 120366, + "id": 112073, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "8594:9:171", + "src": "8594:9:145", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 120371, + "id": 112078, "isConstant": false, "isLValue": false, "isPure": false, @@ -13940,41 +13940,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8594:34:171", + "src": "8594:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "8553:75:171", + "src": "8553:75:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120379, + "id": 112086, "nodeType": "IfStatement", - "src": "8550:140:171", + "src": "8550:140:145", "trueBody": { - "id": 120378, + "id": 112085, "nodeType": "Block", - "src": "8629:61:171", + "src": "8629:61:145", "statements": [ { "expression": { - "id": 120375, + "id": 112082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120373, + "id": 112080, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120338, - "src": "8647:1:171", + "referencedDeclaration": 112045, + "src": "8647:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13983,31 +13983,31 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120374, + "id": 112081, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8651:1:171", + "referencedDeclaration": 112056, + "src": "8651:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8647:5:171", + "src": "8647:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120376, + "id": 112083, "nodeType": "ExpressionStatement", - "src": "8647:5:171" + "src": "8647:5:145" }, { - "id": 120377, + "id": 112084, "nodeType": "Break", - "src": "8670:5:171" + "src": "8670:5:145" } ] } @@ -14019,18 +14019,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120354, + "id": 112061, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120351, + "id": 112058, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8517:1:171", + "referencedDeclaration": 112056, + "src": "8517:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14040,51 +14040,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 120352, + "id": 112059, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8519:5:171", + "referencedDeclaration": 112037, + "src": "8519:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120353, + "id": 112060, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8519:12:171", + "src": "8519:12:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8517:14:171", + "src": "8517:14:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120381, + "id": 112088, "initializationExpression": { "assignments": [ - 120349 + 112056 ], "declarations": [ { "constant": false, - "id": 120349, + "id": 112056, "mutability": "mutable", "name": "i", - "nameLocation": "8515:1:171", + "nameLocation": "8515:1:145", "nodeType": "VariableDeclaration", - "scope": 120381, - "src": "8507:9:171", + "scope": 112088, + "src": "8507:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14092,10 +14092,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120348, + "id": 112055, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8507:7:171", + "src": "8507:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14104,13 +14104,13 @@ "visibility": "internal" } ], - "id": 120350, + "id": 112057, "nodeType": "VariableDeclarationStatement", - "src": "8507:9:171" + "src": "8507:9:145" }, "loopExpression": { "expression": { - "id": 120356, + "id": 112063, "isConstant": false, "isLValue": false, "isPure": false, @@ -14118,14 +14118,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8532:3:171", + "src": "8532:3:145", "subExpression": { - "id": 120355, + "id": 112062, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8532:1:171", + "referencedDeclaration": 112056, + "src": "8532:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14136,30 +14136,30 @@ "typeString": "uint256" } }, - "id": 120357, + "id": 112064, "nodeType": "ExpressionStatement", - "src": "8532:3:171" + "src": "8532:3:145" }, "nodeType": "ForStatement", - "src": "8503:197:171" + "src": "8503:197:145" }, { "expression": { - "id": 120382, + "id": 112089, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120338, - "src": "8716:1:171", + "referencedDeclaration": 112045, + "src": "8716:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 120336, - "id": 120383, + "functionReturnParameters": 112043, + "id": 112090, "nodeType": "Return", - "src": "8709:8:171" + "src": "8709:8:145" } ] }, @@ -14167,20 +14167,20 @@ "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "8342:7:171", + "nameLocation": "8342:7:145", "parameters": { - "id": 120333, + "id": 112040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120330, + "id": 112037, "mutability": "mutable", "name": "_list", - "nameLocation": "8366:5:171", + "nameLocation": "8366:5:145", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8350:21:171", + "scope": 112092, + "src": "8350:21:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14189,18 +14189,18 @@ }, "typeName": { "baseType": { - "id": 120328, + "id": 112035, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8350:6:171", + "src": "8350:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 120329, + "id": 112036, "nodeType": "ArrayTypeName", - "src": "8350:8:171", + "src": "8350:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" @@ -14210,13 +14210,13 @@ }, { "constant": false, - "id": 120332, + "id": 112039, "mutability": "mutable", "name": "_name", - "nameLocation": "8386:5:171", + "nameLocation": "8386:5:145", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8372:19:171", + "scope": 112092, + "src": "8372:19:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14224,10 +14224,10 @@ "typeString": "string" }, "typeName": { - "id": 120331, + "id": 112038, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8372:6:171", + "src": "8372:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -14236,21 +14236,21 @@ "visibility": "internal" } ], - "src": "8349:43:171" + "src": "8349:43:145" }, "returnParameters": { - "id": 120336, + "id": 112043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120335, + "id": 112042, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8415:7:171", + "scope": 112092, + "src": "8415:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14258,10 +14258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120334, + "id": 112041, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8415:7:171", + "src": "8415:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14270,9 +14270,9 @@ "visibility": "internal" } ], - "src": "8414:9:171" + "src": "8414:9:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -14282,39 +14282,39 @@ "baseContracts": [ { "baseName": { - "id": 119412, + "id": 111119, "name": "Suit", "nodeType": "IdentifierPath", - "referencedDeclaration": 120637, - "src": "315:4:171" + "referencedDeclaration": 112344, + "src": "315:4:145" }, - "id": 119413, + "id": 111120, "nodeType": "InheritanceSpecifier", - "src": "315:4:171" + "src": "315:4:145" }, { "baseName": { - "id": 119414, + "id": 111121, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "321:6:171" + "referencedDeclaration": 30166, + "src": "321:6:145" }, - "id": 119415, + "id": 111122, "nodeType": "InheritanceSpecifier", - "src": "321:6:171" + "src": "321:6:145" }, { "baseName": { - "id": 119416, + "id": 111123, "name": "MRandom", "nodeType": "IdentifierPath", - "referencedDeclaration": 120834, - "src": "328:7:171" + "referencedDeclaration": 112541, + "src": "328:7:145" }, - "id": 119417, + "id": 111124, "nodeType": "InheritanceSpecifier", - "src": "328:7:171" + "src": "328:7:145" } ], "canonicalName": "MLoot", @@ -14322,23 +14322,23 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 120386, - 120834, - 72425, - 131763, - 131718, - 132139, - 174420, - 132115, - 120637 + 112093, + 112541, + 30166, + 30327, + 30282, + 31460, + 31472, + 30679, + 112344 ], "name": "MLoot", - "nameLocation": "306:5:171", - "scope": 120387, + "nameLocation": "306:5:145", + "scope": 112094, "usedErrors": [] } ], "license": "MIT" }, - "id": 171 + "id": 145 } \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json index 9c44442e..c8e9ec73 100644 --- a/packages/contracts/out/Plugin.sol/MPlugin.json +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -70,12 +70,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610357806100be6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", - "sourceMap": "121:676:174:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:174;;;-1:-1:-1;;;;;;274:26:174;;;;;;;;310;;;;;;;;;;;121:676;;14:177:194;93:13;;-1:-1:-1;;;;;135:31:194;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:174;;;;;;", + "sourceMap": "121:676:148:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:148;;;-1:-1:-1;;;;;;274:26:148;;;;;;;;310;;;;;;;;;;;121:676;;14:177:168;93:13;;-1:-1:-1;;;;;135:31:168;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:148;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", - "sourceMap": "121:676:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:194;178:55;;;160:74;;148:2;133:18;144:26:174;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:194;;;660:11:174;;;;;699;;;;;;721:14;;617:18:194;;721:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:174;;;;;;;;644:25:194;;;759:14:174;;;;-1:-1:-1;759:14:174;;-1:-1:-1;617:18:194;;759:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:194;;;406:11:174;;;;;445;;;;483:10;406:11;;503:9;;133:18:194;;503:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:174;;;;;:9;178:55:194;;;529:16:174;;;160:74:194;529:9:174;;;-1:-1:-1;529:9:174;;-1:-1:-1;133:18:194;;529:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:194:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:194;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:194:o", + "sourceMap": "121:676:148:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:168;178:55;;;160:74;;148:2;133:18;144:26:148;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:168;;;660:11:148;;;;;699;;;;;;721:14;;617:18:168;;721:28:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:148;;;;;;;;644:25:168;;;759:14:148;;;;-1:-1:-1;759:14:148;;-1:-1:-1;617:18:168;;759:28:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:168;;;406:11:148;;;;;445;;;;483:10;406:11;;503:9;;133:18:168;;503:16:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:148;;;;;:9;178:55:168;;;529:16:148;;;160:74:168;529:9:148;;;-1:-1:-1;529:9:148;;-1:-1:-1;133:18:168;;529:16:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:168:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:168;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:168:o", "linkReferences": {} }, "methodIdentifiers": { @@ -214,25 +214,25 @@ }, "ast": { "absolutePath": "src/other/Plugin.sol", - "id": 120930, + "id": 112637, "exportedSymbols": { "Loot": [ - 125452 + 117170 ], "MPlugin": [ - 120929 + 112636 ], "User": [ - 125413 + 117131 ] }, "nodeType": "SourceUnit", - "src": "32:765:174", + "src": "32:765:148", "nodes": [ { - "id": 120836, + "id": 112543, "nodeType": "PragmaDirective", - "src": "32:24:174", + "src": "32:24:148", "nodes": [], "literals": [ "solidity", @@ -242,36 +242,36 @@ ] }, { - "id": 120839, + "id": 112546, "nodeType": "ImportDirective", - "src": "57:61:174", + "src": "57:61:148", "nodes": [], "absolutePath": "src/systems/library/Interface.sol", "file": "@systems/library/Interface.sol", "nameLocation": "-1:-1:-1", - "scope": 120930, - "sourceUnit": 125453, + "scope": 112637, + "sourceUnit": 117171, "symbolAliases": [ { "foreign": { - "id": 120837, + "id": 112544, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, - "src": "66:4:174", + "referencedDeclaration": 117131, + "src": "66:4:148", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 120838, + "id": 112545, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, - "src": "72:4:174", + "referencedDeclaration": 117170, + "src": "72:4:148", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -280,21 +280,21 @@ "unitAlias": "" }, { - "id": 120929, + "id": 112636, "nodeType": "ContractDefinition", - "src": "121:676:174", + "src": "121:676:148", "nodes": [ { - "id": 120841, + "id": 112548, "nodeType": "VariableDeclaration", - "src": "144:26:174", + "src": "144:26:148", "nodes": [], "constant": false, "functionSelector": "0e439326", "mutability": "mutable", "name": "lootAddress", - "nameLocation": "159:11:174", - "scope": 120929, + "nameLocation": "159:11:148", + "scope": 112636, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -302,10 +302,10 @@ "typeString": "address" }, "typeName": { - "id": 120840, + "id": 112547, "name": "address", "nodeType": "ElementaryTypeName", - "src": "144:7:174", + "src": "144:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -315,16 +315,16 @@ "visibility": "public" }, { - "id": 120843, + "id": 112550, "nodeType": "VariableDeclaration", - "src": "176:26:174", + "src": "176:26:148", "nodes": [], "constant": false, "functionSelector": "e4128fb3", "mutability": "mutable", "name": "userAddress", - "nameLocation": "191:11:174", - "scope": 120929, + "nameLocation": "191:11:148", + "scope": 112636, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -332,10 +332,10 @@ "typeString": "address" }, "typeName": { - "id": 120842, + "id": 112549, "name": "address", "nodeType": "ElementaryTypeName", - "src": "176:7:174", + "src": "176:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -345,30 +345,30 @@ "visibility": "public" }, { - "id": 120859, + "id": 112566, "nodeType": "FunctionDefinition", - "src": "209:134:174", + "src": "209:134:148", "nodes": [], "body": { - "id": 120858, + "id": 112565, "nodeType": "Block", - "src": "264:79:174", + "src": "264:79:148", "nodes": [], "statements": [ { "expression": { - "id": 120852, + "id": 112559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120850, + "id": 112557, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "274:11:174", + "referencedDeclaration": 112548, + "src": "274:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -377,41 +377,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120851, + "id": 112558, "name": "_lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120845, - "src": "288:12:174", + "referencedDeclaration": 112552, + "src": "288:12:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "274:26:174", + "src": "274:26:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120853, + "id": 112560, "nodeType": "ExpressionStatement", - "src": "274:26:174" + "src": "274:26:148" }, { "expression": { - "id": 120856, + "id": 112563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120854, + "id": 112561, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "310:11:174", + "referencedDeclaration": 112550, + "src": "310:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -420,26 +420,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120855, + "id": 112562, "name": "_userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120847, - "src": "324:12:174", + "referencedDeclaration": 112554, + "src": "324:12:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "310:26:174", + "src": "310:26:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120857, + "id": 112564, "nodeType": "ExpressionStatement", - "src": "310:26:174" + "src": "310:26:148" } ] }, @@ -449,18 +449,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 120848, + "id": 112555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120845, + "id": 112552, "mutability": "mutable", "name": "_lootAddress", - "nameLocation": "229:12:174", + "nameLocation": "229:12:148", "nodeType": "VariableDeclaration", - "scope": 120859, - "src": "221:20:174", + "scope": 112566, + "src": "221:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -468,10 +468,10 @@ "typeString": "address" }, "typeName": { - "id": 120844, + "id": 112551, "name": "address", "nodeType": "ElementaryTypeName", - "src": "221:7:174", + "src": "221:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -482,13 +482,13 @@ }, { "constant": false, - "id": 120847, + "id": 112554, "mutability": "mutable", "name": "_userAddress", - "nameLocation": "250:12:174", + "nameLocation": "250:12:148", "nodeType": "VariableDeclaration", - "scope": 120859, - "src": "242:20:174", + "scope": 112566, + "src": "242:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -496,10 +496,10 @@ "typeString": "address" }, "typeName": { - "id": 120846, + "id": 112553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "242:7:174", + "src": "242:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -509,80 +509,80 @@ "visibility": "internal" } ], - "src": "220:43:174" + "src": "220:43:148" }, "returnParameters": { - "id": 120849, + "id": 112556, "nodeType": "ParameterList", "parameters": [], - "src": "264:0:174" + "src": "264:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 120894, + "id": 112601, "nodeType": "FunctionDefinition", - "src": "350:202:174", + "src": "350:202:148", "nodes": [], "body": { - "id": 120893, + "id": 112600, "nodeType": "Block", - "src": "379:173:174", + "src": "379:173:148", "nodes": [], "statements": [ { "assignments": [ - 120864 + 112571 ], "declarations": [ { "constant": false, - "id": 120864, + "id": 112571, "mutability": "mutable", "name": "user", - "nameLocation": "394:4:174", + "nameLocation": "394:4:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "389:9:174", + "scope": 112600, + "src": "389:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" }, "typeName": { - "id": 120863, + "id": 112570, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120862, + "id": 112569, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125413, - "src": "389:4:174" + "referencedDeclaration": 117131, + "src": "389:4:148" }, - "referencedDeclaration": 125413, - "src": "389:4:174", + "referencedDeclaration": 117131, + "src": "389:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, "visibility": "internal" } ], - "id": 120868, + "id": 112575, "initialValue": { "arguments": [ { - "id": 120866, + "id": 112573, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "406:11:174", + "referencedDeclaration": 112550, + "src": "406:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -596,18 +596,18 @@ "typeString": "address" } ], - "id": 120865, + "id": 112572, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, - "src": "401:4:174", + "referencedDeclaration": 117131, + "src": "401:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125413_$", + "typeIdentifier": "t_type$_t_contract$_User_$117131_$", "typeString": "type(contract User)" } }, - "id": 120867, + "id": 112574, "isConstant": false, "isLValue": false, "isPure": false, @@ -615,66 +615,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "401:17:174", + "src": "401:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, "nodeType": "VariableDeclarationStatement", - "src": "389:29:174" + "src": "389:29:148" }, { "assignments": [ - 120871 + 112578 ], "declarations": [ { "constant": false, - "id": 120871, + "id": 112578, "mutability": "mutable", "name": "loot", - "nameLocation": "433:4:174", + "nameLocation": "433:4:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "428:9:174", + "scope": 112600, + "src": "428:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" }, "typeName": { - "id": 120870, + "id": 112577, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120869, + "id": 112576, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125452, - "src": "428:4:174" + "referencedDeclaration": 117170, + "src": "428:4:148" }, - "referencedDeclaration": 125452, - "src": "428:4:174", + "referencedDeclaration": 117170, + "src": "428:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, "visibility": "internal" } ], - "id": 120875, + "id": 112582, "initialValue": { "arguments": [ { - "id": 120873, + "id": 112580, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "445:11:174", + "referencedDeclaration": 112548, + "src": "445:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -688,18 +688,18 @@ "typeString": "address" } ], - "id": 120872, + "id": 112579, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, - "src": "440:4:174", + "referencedDeclaration": 117170, + "src": "440:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125452_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$117170_$", "typeString": "type(contract Loot)" } }, - "id": 120874, + "id": 112581, "isConstant": false, "isLValue": false, "isPure": false, @@ -707,30 +707,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "440:17:174", + "src": "440:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, "nodeType": "VariableDeclarationStatement", - "src": "428:29:174" + "src": "428:29:148" }, { "assignments": [ - 120877 + 112584 ], "declarations": [ { "constant": false, - "id": 120877, + "id": 112584, "mutability": "mutable", "name": "_user", - "nameLocation": "475:5:174", + "nameLocation": "475:5:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "467:13:174", + "scope": 112600, + "src": "467:13:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -738,10 +738,10 @@ "typeString": "address" }, "typeName": { - "id": 120876, + "id": 112583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "467:7:174", + "src": "467:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -751,46 +751,46 @@ "visibility": "internal" } ], - "id": 120880, + "id": 112587, "initialValue": { "expression": { - "id": 120878, + "id": 112585, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "483:3:174", + "src": "483:3:148", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120879, + "id": 112586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "483:10:174", + "src": "483:10:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "467:26:174" + "src": "467:26:148" }, { "expression": { "arguments": [ { - "id": 120884, + "id": 112591, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120877, - "src": "513:5:174", + "referencedDeclaration": 112584, + "src": "513:5:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -805,32 +805,32 @@ } ], "expression": { - "id": 120881, + "id": 112588, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120864, - "src": "503:4:174", + "referencedDeclaration": 112571, + "src": "503:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, - "id": 120883, + "id": 112590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125407, - "src": "503:9:174", + "referencedDeclaration": 117125, + "src": "503:9:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 120885, + "id": 112592, "isConstant": false, "isLValue": false, "isPure": false, @@ -838,27 +838,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "503:16:174", + "src": "503:16:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120886, + "id": 112593, "nodeType": "ExpressionStatement", - "src": "503:16:174" + "src": "503:16:148" }, { "expression": { "arguments": [ { - "id": 120890, + "id": 112597, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120877, - "src": "539:5:174", + "referencedDeclaration": 112584, + "src": "539:5:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -873,32 +873,32 @@ } ], "expression": { - "id": 120887, + "id": 112594, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120871, - "src": "529:4:174", + "referencedDeclaration": 112578, + "src": "529:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, - "id": 120889, + "id": 112596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125446, - "src": "529:9:174", + "referencedDeclaration": 117164, + "src": "529:9:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 120891, + "id": 112598, "isConstant": false, "isLValue": false, "isPure": false, @@ -906,16 +906,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "529:16:174", + "src": "529:16:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120892, + "id": 112599, "nodeType": "ExpressionStatement", - "src": "529:16:174" + "src": "529:16:148" } ] }, @@ -924,85 +924,85 @@ "kind": "function", "modifiers": [], "name": "multMint", - "nameLocation": "359:8:174", + "nameLocation": "359:8:148", "parameters": { - "id": 120860, + "id": 112567, "nodeType": "ParameterList", "parameters": [], - "src": "367:2:174" + "src": "367:2:148" }, "returnParameters": { - "id": 120861, + "id": 112568, "nodeType": "ParameterList", "parameters": [], - "src": "379:0:174" + "src": "379:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120928, + "id": 112635, "nodeType": "FunctionDefinition", - "src": "558:236:174", + "src": "558:236:148", "nodes": [], "body": { - "id": 120927, + "id": 112634, "nodeType": "Block", - "src": "633:161:174", + "src": "633:161:148", "nodes": [], "statements": [ { "assignments": [ - 120903 + 112610 ], "declarations": [ { "constant": false, - "id": 120903, + "id": 112610, "mutability": "mutable", "name": "user", - "nameLocation": "648:4:174", + "nameLocation": "648:4:148", "nodeType": "VariableDeclaration", - "scope": 120927, - "src": "643:9:174", + "scope": 112634, + "src": "643:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" }, "typeName": { - "id": 120902, + "id": 112609, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120901, + "id": 112608, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125413, - "src": "643:4:174" + "referencedDeclaration": 117131, + "src": "643:4:148" }, - "referencedDeclaration": 125413, - "src": "643:4:174", + "referencedDeclaration": 117131, + "src": "643:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, "visibility": "internal" } ], - "id": 120907, + "id": 112614, "initialValue": { "arguments": [ { - "id": 120905, + "id": 112612, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "660:11:174", + "referencedDeclaration": 112550, + "src": "660:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1016,18 +1016,18 @@ "typeString": "address" } ], - "id": 120904, + "id": 112611, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, - "src": "655:4:174", + "referencedDeclaration": 117131, + "src": "655:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125413_$", + "typeIdentifier": "t_type$_t_contract$_User_$117131_$", "typeString": "type(contract User)" } }, - "id": 120906, + "id": 112613, "isConstant": false, "isLValue": false, "isPure": false, @@ -1035,66 +1035,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "655:17:174", + "src": "655:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, "nodeType": "VariableDeclarationStatement", - "src": "643:29:174" + "src": "643:29:148" }, { "assignments": [ - 120910 + 112617 ], "declarations": [ { "constant": false, - "id": 120910, + "id": 112617, "mutability": "mutable", "name": "loot", - "nameLocation": "687:4:174", + "nameLocation": "687:4:148", "nodeType": "VariableDeclaration", - "scope": 120927, - "src": "682:9:174", + "scope": 112634, + "src": "682:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" }, "typeName": { - "id": 120909, + "id": 112616, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120908, + "id": 112615, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125452, - "src": "682:4:174" + "referencedDeclaration": 117170, + "src": "682:4:148" }, - "referencedDeclaration": 125452, - "src": "682:4:174", + "referencedDeclaration": 117170, + "src": "682:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, "visibility": "internal" } ], - "id": 120914, + "id": 112621, "initialValue": { "arguments": [ { - "id": 120912, + "id": 112619, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "699:11:174", + "referencedDeclaration": 112548, + "src": "699:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1108,18 +1108,18 @@ "typeString": "address" } ], - "id": 120911, + "id": 112618, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, - "src": "694:4:174", + "referencedDeclaration": 117170, + "src": "694:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125452_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$117170_$", "typeString": "type(contract Loot)" } }, - "id": 120913, + "id": 112620, "isConstant": false, "isLValue": false, "isPure": false, @@ -1127,26 +1127,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "694:17:174", + "src": "694:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, "nodeType": "VariableDeclarationStatement", - "src": "682:29:174" + "src": "682:29:148" }, { "expression": { "arguments": [ { - "id": 120918, + "id": 112625, "name": "_lootTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120896, - "src": "736:12:174", + "referencedDeclaration": 112603, + "src": "736:12:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1161,32 +1161,32 @@ } ], "expression": { - "id": 120915, + "id": 112622, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120910, - "src": "721:4:174", + "referencedDeclaration": 112617, + "src": "721:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$117170", "typeString": "contract Loot" } }, - "id": 120917, + "id": 112624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125451, - "src": "721:14:174", + "referencedDeclaration": 117169, + "src": "721:14:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 120919, + "id": 112626, "isConstant": false, "isLValue": false, "isPure": false, @@ -1194,27 +1194,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "721:28:174", + "src": "721:28:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120920, + "id": 112627, "nodeType": "ExpressionStatement", - "src": "721:28:174" + "src": "721:28:148" }, { "expression": { "arguments": [ { - "id": 120924, + "id": 112631, "name": "_userTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120898, - "src": "774:12:174", + "referencedDeclaration": 112605, + "src": "774:12:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1229,32 +1229,32 @@ } ], "expression": { - "id": 120921, + "id": 112628, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120903, - "src": "759:4:174", + "referencedDeclaration": 112610, + "src": "759:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$117131", "typeString": "contract User" } }, - "id": 120923, + "id": 112630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125412, - "src": "759:14:174", + "referencedDeclaration": 117130, + "src": "759:14:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 120925, + "id": 112632, "isConstant": false, "isLValue": false, "isPure": false, @@ -1262,16 +1262,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "759:28:174", + "src": "759:28:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120926, + "id": 112633, "nodeType": "ExpressionStatement", - "src": "759:28:174" + "src": "759:28:148" } ] }, @@ -1280,20 +1280,20 @@ "kind": "function", "modifiers": [], "name": "multRevealNFT", - "nameLocation": "567:13:174", + "nameLocation": "567:13:148", "parameters": { - "id": 120899, + "id": 112606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120896, + "id": 112603, "mutability": "mutable", "name": "_lootTokenId", - "nameLocation": "589:12:174", + "nameLocation": "589:12:148", "nodeType": "VariableDeclaration", - "scope": 120928, - "src": "581:20:174", + "scope": 112635, + "src": "581:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1301,10 +1301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120895, + "id": 112602, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "581:7:174", + "src": "581:7:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1314,13 +1314,13 @@ }, { "constant": false, - "id": 120898, + "id": 112605, "mutability": "mutable", "name": "_userTokenId", - "nameLocation": "610:12:174", + "nameLocation": "610:12:148", "nodeType": "VariableDeclaration", - "scope": 120928, - "src": "602:20:174", + "scope": 112635, + "src": "602:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1328,10 +1328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120897, + "id": 112604, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "602:7:174", + "src": "602:7:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1340,15 +1340,15 @@ "visibility": "internal" } ], - "src": "580:43:174" + "src": "580:43:148" }, "returnParameters": { - "id": 120900, + "id": 112607, "nodeType": "ParameterList", "parameters": [], - "src": "633:0:174" + "src": "633:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1361,15 +1361,15 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 120929 + 112636 ], "name": "MPlugin", - "nameLocation": "130:7:174", - "scope": 120930, + "nameLocation": "130:7:148", + "scope": 112637, "usedErrors": [] } ], "license": "MIT" }, - "id": 174 + "id": 148 } \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json index 84e18d08..5a0a649b 100644 --- a/packages/contracts/out/User.sol/MUser.json +++ b/packages/contracts/out/User.sol/MUser.json @@ -601,12 +601,12 @@ ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b5060405162002e6838038062002e68833981016040819052620000349162000227565b8351849084906200004d906000906020850190620000b4565b50805162000063906001906020840190620000b4565b5050600a80546001600160a01b0319163317905550600985905581516200009290600b906020850190620000b4565b508051620000a890600c906020840190620000b4565b50505050505062000327565b828054620000c290620002eb565b90600052602060002090601f016020900481019282620000e6576000855562000131565b82601f106200010157805160ff191683800117855562000131565b8280016001018555821562000131579182015b828111156200013157825182559160200191906001019062000114565b506200013f92915062000143565b5090565b5b808211156200013f576000815560010162000144565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018257600080fd5b81516001600160401b03808211156200019f576200019f6200015a565b604051601f8301601f19908116603f01168101908282118183101715620001ca57620001ca6200015a565b81604052838152602092508683858801011115620001e757600080fd5b600091505b838210156200020b5785820183015181830184015290820190620001ec565b838211156200021d5760008385830101525b9695505050505050565b600080600080600060a086880312156200024057600080fd5b855160208701519095506001600160401b03808211156200026057600080fd5b6200026e89838a0162000170565b955060408801519150808211156200028557600080fd5b6200029389838a0162000170565b94506060880151915080821115620002aa57600080fd5b620002b889838a0162000170565b93506080880151915080821115620002cf57600080fd5b50620002de8882890162000170565b9150509295509295909350565b600181811c908216806200030057607f821691505b6020821081036200032157634e487b7160e01b600052602260045260246000fd5b50919050565b612b3180620003376000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612165565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121e1565b6101e26101dd3660046121f4565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d610208366004612229565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612253565b61072b565b61021860095481565b61020d610259366004612253565b6107b2565b6102666107cd565b6040516101b1919061228f565b6102866102813660046121f4565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c13660046121f4565b6109e7565b61020d6102d43660046122d3565b610a4c565b6102186102e73660046122d3565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d6103153660046121f4565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612304565b61020d610390366004612376565b610b8a565b61020d6103a33660046123c8565b610b99565b6101c26103b63660046121f4565b610c27565b6103eb6103c93660046121f4565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d6104163660046121f4565b610e03565b6101a56104293660046124a4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124d7565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f4a565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fb1565b505050565b610735338261102c565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110ab565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123b2565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61250b565b60209081029190910101528161087181612537565b92505083821461088e575b8061088681612537565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff90911690811115610938576109386122ee565b6002811115610949576109496122ee565b905250905060028161010001516002811115610967576109676122ee565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112e1565b610ab382600854611356565b60088054906000610ac383612537565b909155505060068054906000610ad883612537565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124d7565b610b953383836114ee565b5050565b610ba3338361102c565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115bc565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf6122ee565b6002811115610cd057610cd06122ee565b905250905060018161010001516002811115610cee57610cee6122ee565b03610d1f576000600b604051602001610d0791906125ea565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d386122ee565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611645565b90506000610dd1610da08661197b565b600c610dab85611a1b565b604051602001610dbd9392919061261c565b604051602081830303815290604052611a1b565b905080604051602001610de49190612720565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bda565b9050610e5181600081518110610e3e57610e3e61250b565b60200260200101516064600a6005611e27565b8260020181905550610e8281600181518110610e6f57610e6f61250b565b6020026020010151601e600a6002611e27565b8260030181905550610eb381600281518110610ea057610ea061250b565b6020026020010151600260326001611e27565b8260040181905550610ee481600381518110610ed157610ed161250b565b6020026020010151600360326002611e27565b8260050181905550610f1581600481518110610f0257610f0261250b565b60200260200101516014600a6003611e27565b8260060181905550610f3381600581518110610ea057610ea061250b565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fae5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190610ff3826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611038836109e7565b9050806001600160a01b0316846001600160a01b0316148061107f57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110a35750836001600160a01b0316611098846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110be826109e7565b6001600160a01b03161461113a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111b55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111c8826109e7565b6001600160a01b0316146112445760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113ac5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114115760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114765760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b03160361154f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115c78484846110ab565b6115d384848484611e63565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b606061164f61210f565b60405180610120016040528060fd815260200161299760fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116b591906116b09061197b565b612001565b8160016020020181905250604051806060016040528060288152602001612ad460289139816002602002018190525061172a6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116b0856060015161197b565b60608083019190915260408051918201905260288082526128f56020830139816004602002018190525061179a6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116b0856080015161197b565b60a082015260408051606081019091526028808252612946602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161180391906116b09061197b565b60e08201526040805160608101909152602980825261296e602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161186d91906116b09061197b565b6101208201526040805160608101909152602980825261291d602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118d891906116b09061197b565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561197357818382600d81106119395761193961250b565b602002015160405160200161194f929190612765565b6040516020818303038152906040529150808061196b90612537565b91505061191d565b509392505050565b606060006119888361202d565b600101905060008167ffffffffffffffff8111156119a8576119a86123b2565b6040519080825280601f01601f1916602001820160405280156119d2576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119dc57509392505050565b80516060906000819003611a3f575050604080516020810190915260008152919050565b60006003611a4e8360026127aa565b611a5891906127c2565b611a639060046127d6565b90506000611a728260206127aa565b67ffffffffffffffff811115611a8a57611a8a6123b2565b6040519080825280601f01601f191660200182016040528015611ab4576020820181803683370190505b5090506000604051806060016040528060408152602001612a94604091399050600181016020830160005b86811015611b40576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611adf565b506003860660018114611b5a5760028114611ba457611bcc565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bcc565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c2d5760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611cd25760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611ced57611ced6123b2565b604051908082528060200260200182016040528015611d16578160200160208202803683370190505b508251909150611d279085906127aa565b431015611d765760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d869060026127aa565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e1a576000611dcf6064846127f5565b905080858360ff1681518110611de757611de761250b565b60ff90921660209283029190910190910152611e046064846127c2565b9250508080611e1290612809565b915050611db7565b5091979650505050505050565b60008083611e36876001612828565b60ff16611e4391906127c2565b9050611e4f83826127d6565b611e5990866127aa565b9695505050505050565b60006001600160a01b0384163b15611ff9576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ec090339089908890889060040161284d565b6020604051808303816000875af1925050508015611efb575060408051601f3d908101601f19168201909252611ef89181019061287f565b60015b611fae573d808015611f29576040519150601f19603f3d011682016040523d82523d6000602084013e611f2e565b606091505b508051600003611fa65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110a3565b5060016110a3565b6060828260405160200161201692919061289c565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612076577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120c057662386f26fc10000830492506010015b6305f5e10083106120d8576305f5e100830492506008015b61271083106120ec57612710830492506004015b606483106120fe576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b606081526020019060019003908161211f5790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fae57600080fd5b60006020828403121561217757600080fd5b813561218281612137565b9392505050565b60005b838110156121a457818101518382015260200161218c565b83811115610c215750506000910152565b600081518084526121cd816020860160208601612189565b601f01601f19169290920160200192915050565b60208152600061218260208301846121b5565b60006020828403121561220657600080fd5b5035919050565b80356001600160a01b038116811461222457600080fd5b919050565b6000806040838503121561223c57600080fd5b6122458361220d565b946020939093013593505050565b60008060006060848603121561226857600080fd5b6122718461220d565b925061227f6020850161220d565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122c7578351835292840192918401916001016122ab565b50909695505050505050565b6000602082840312156122e557600080fd5b6121828261220d565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061236157634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561238957600080fd5b6123928361220d565b9150602083013580151581146123a757600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123de57600080fd5b6123e78561220d565b93506123f56020860161220d565b925060408501359150606085013567ffffffffffffffff8082111561241957600080fd5b818701915087601f83011261242d57600080fd5b81358181111561243f5761243f6123b2565b604051601f8201601f19908116603f01168101908382118183101715612467576124676123b2565b816040528281528a602084870101111561248057600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124b757600080fd5b6124c08361220d565b91506124ce6020840161220d565b90509250929050565b600181811c908216806124eb57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361254a5761254a612521565b5060010190565b8054600090600181811c908083168061256b57607f831692505b6020808410820361258c57634e487b7160e01b600052602260045260246000fd5b8180156125a057600181146125b1576125de565b60ff198616895284890196506125de565b60008881526020902060005b868110156125d65781548b8201529085019083016125bd565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612182601d830184612551565b7f7b226e616d65223a20224d557365722023000000000000000000000000000000815260008451612654816011850160208901612189565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261268b6023820186612551565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126e9816026840160208801612189565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161275881601d850160208701612189565b91909101601d0192915050565b60008351612777818460208801612189565b83519083019061278b818360208801612189565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127bd576127bd612521565b500190565b6000826127d1576127d1612794565b500490565b60008160001904831182151516156127f0576127f0612521565b500290565b60008261280457612804612794565b500690565b600060ff821660ff810361281f5761281f612521565b60010192915050565b600060ff821660ff84168060ff0382111561284557612845612521565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e5960808301846121b5565b60006020828403121561289157600080fd5b815161218281612137565b600083516128ae818460208801612189565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128e8816003840160208801612189565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea264697066735822122075a85f7550d3c270b6c899cb9f4ea7c4a21602694cb416d6dad1bcdac9cf737164736f6c634300080d0033", - "sourceMap": "163:5843:175:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;819:7:175;;828:5;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:175::1;:18:::0;;-1:-1:-1;;;;;;845:18:175::1;853:10;845:18;::::0;;-1:-1:-1;873:14:175::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:175;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5843;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5843:175;;;-1:-1:-1;163:5843:175;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:194;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:194;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5843:175;;;;;;", + "sourceMap": "163:5843:149:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:79;;819:7:149;;828:5;;1456:13:79;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:79;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:149::1;:18:::0;;-1:-1:-1;;;;;;845:18:149::1;853:10;845:18;::::0;;-1:-1:-1;873:14:149::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:149;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5843;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5843:149;;;-1:-1:-1;163:5843:149;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:168;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:168;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:168;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:168:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:168;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5843:149;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612165565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121e1565b6101e26101dd3660046121f4565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d610208366004612229565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612253565b61072b565b61021860095481565b61020d610259366004612253565b6107b2565b6102666107cd565b6040516101b1919061228f565b6102866102813660046121f4565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c13660046121f4565b6109e7565b61020d6102d43660046122d3565b610a4c565b6102186102e73660046122d3565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d6103153660046121f4565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612304565b61020d610390366004612376565b610b8a565b61020d6103a33660046123c8565b610b99565b6101c26103b63660046121f4565b610c27565b6103eb6103c93660046121f4565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d6104163660046121f4565b610e03565b6101a56104293660046124a4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124d7565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f4a565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fb1565b505050565b610735338261102c565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110ab565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123b2565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61250b565b60209081029190910101528161087181612537565b92505083821461088e575b8061088681612537565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff90911690811115610938576109386122ee565b6002811115610949576109496122ee565b905250905060028161010001516002811115610967576109676122ee565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112e1565b610ab382600854611356565b60088054906000610ac383612537565b909155505060068054906000610ad883612537565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124d7565b610b953383836114ee565b5050565b610ba3338361102c565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115bc565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf6122ee565b6002811115610cd057610cd06122ee565b905250905060018161010001516002811115610cee57610cee6122ee565b03610d1f576000600b604051602001610d0791906125ea565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d386122ee565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611645565b90506000610dd1610da08661197b565b600c610dab85611a1b565b604051602001610dbd9392919061261c565b604051602081830303815290604052611a1b565b905080604051602001610de49190612720565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bda565b9050610e5181600081518110610e3e57610e3e61250b565b60200260200101516064600a6005611e27565b8260020181905550610e8281600181518110610e6f57610e6f61250b565b6020026020010151601e600a6002611e27565b8260030181905550610eb381600281518110610ea057610ea061250b565b6020026020010151600260326001611e27565b8260040181905550610ee481600381518110610ed157610ed161250b565b6020026020010151600360326002611e27565b8260050181905550610f1581600481518110610f0257610f0261250b565b60200260200101516014600a6003611e27565b8260060181905550610f3381600581518110610ea057610ea061250b565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fae5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190610ff3826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611038836109e7565b9050806001600160a01b0316846001600160a01b0316148061107f57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110a35750836001600160a01b0316611098846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110be826109e7565b6001600160a01b03161461113a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111b55760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111c8826109e7565b6001600160a01b0316146112445760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113ac5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114115760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114765760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b03160361154f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115c78484846110ab565b6115d384848484611e63565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b606061164f61210f565b60405180610120016040528060fd815260200161299760fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116b591906116b09061197b565b612001565b8160016020020181905250604051806060016040528060288152602001612ad460289139816002602002018190525061172a6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116b0856060015161197b565b60608083019190915260408051918201905260288082526128f56020830139816004602002018190525061179a6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116b0856080015161197b565b60a082015260408051606081019091526028808252612946602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161180391906116b09061197b565b60e08201526040805160608101909152602980825261296e602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161186d91906116b09061197b565b6101208201526040805160608101909152602980825261291d602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118d891906116b09061197b565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561197357818382600d81106119395761193961250b565b602002015160405160200161194f929190612765565b6040516020818303038152906040529150808061196b90612537565b91505061191d565b509392505050565b606060006119888361202d565b600101905060008167ffffffffffffffff8111156119a8576119a86123b2565b6040519080825280601f01601f1916602001820160405280156119d2576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119dc57509392505050565b80516060906000819003611a3f575050604080516020810190915260008152919050565b60006003611a4e8360026127aa565b611a5891906127c2565b611a639060046127d6565b90506000611a728260206127aa565b67ffffffffffffffff811115611a8a57611a8a6123b2565b6040519080825280601f01601f191660200182016040528015611ab4576020820181803683370190505b5090506000604051806060016040528060408152602001612a94604091399050600181016020830160005b86811015611b40576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611adf565b506003860660018114611b5a5760028114611ba457611bcc565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bcc565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c2d5760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611cd25760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611ced57611ced6123b2565b604051908082528060200260200182016040528015611d16578160200160208202803683370190505b508251909150611d279085906127aa565b431015611d765760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d869060026127aa565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e1a576000611dcf6064846127f5565b905080858360ff1681518110611de757611de761250b565b60ff90921660209283029190910190910152611e046064846127c2565b9250508080611e1290612809565b915050611db7565b5091979650505050505050565b60008083611e36876001612828565b60ff16611e4391906127c2565b9050611e4f83826127d6565b611e5990866127aa565b9695505050505050565b60006001600160a01b0384163b15611ff9576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ec090339089908890889060040161284d565b6020604051808303816000875af1925050508015611efb575060408051601f3d908101601f19168201909252611ef89181019061287f565b60015b611fae573d808015611f29576040519150601f19603f3d011682016040523d82523d6000602084013e611f2e565b606091505b508051600003611fa65760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110a3565b5060016110a3565b6060828260405160200161201692919061289c565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612076577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120a2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120c057662386f26fc10000830492506010015b6305f5e10083106120d8576305f5e100830492506008015b61271083106120ec57612710830492506004015b606483106120fe576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b606081526020019060019003908161211f5790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fae57600080fd5b60006020828403121561217757600080fd5b813561218281612137565b9392505050565b60005b838110156121a457818101518382015260200161218c565b83811115610c215750506000910152565b600081518084526121cd816020860160208601612189565b601f01601f19169290920160200192915050565b60208152600061218260208301846121b5565b60006020828403121561220657600080fd5b5035919050565b80356001600160a01b038116811461222457600080fd5b919050565b6000806040838503121561223c57600080fd5b6122458361220d565b946020939093013593505050565b60008060006060848603121561226857600080fd5b6122718461220d565b925061227f6020850161220d565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122c7578351835292840192918401916001016122ab565b50909695505050505050565b6000602082840312156122e557600080fd5b6121828261220d565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061236157634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561238957600080fd5b6123928361220d565b9150602083013580151581146123a757600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123de57600080fd5b6123e78561220d565b93506123f56020860161220d565b925060408501359150606085013567ffffffffffffffff8082111561241957600080fd5b818701915087601f83011261242d57600080fd5b81358181111561243f5761243f6123b2565b604051601f8201601f19908116603f01168101908382118183101715612467576124676123b2565b816040528281528a602084870101111561248057600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124b757600080fd5b6124c08361220d565b91506124ce6020840161220d565b90509250929050565b600181811c908216806124eb57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361254a5761254a612521565b5060010190565b8054600090600181811c908083168061256b57607f831692505b6020808410820361258c57634e487b7160e01b600052602260045260246000fd5b8180156125a057600181146125b1576125de565b60ff198616895284890196506125de565b60008881526020902060005b868110156125d65781548b8201529085019083016125bd565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612182601d830184612551565b7f7b226e616d65223a20224d557365722023000000000000000000000000000000815260008451612654816011850160208901612189565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261268b6023820186612551565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126e9816026840160208801612189565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161275881601d850160208701612189565b91909101601d0192915050565b60008351612777818460208801612189565b83519083019061278b818360208801612189565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127bd576127bd612521565b500190565b6000826127d1576127d1612794565b500490565b60008160001904831182151516156127f0576127f0612521565b500290565b60008261280457612804612794565b500690565b600060ff821660ff810361281f5761281f612521565b60010192915050565b600060ff821660ff84168060ff0382111561284557612845612521565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e5960808301846121b5565b60006020828403121561289157600080fd5b815161218281612137565b600083516128ae818460208801612189565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128e8816003840160208801612189565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea264697066735822122075a85f7550d3c270b6c899cb9f4ea7c4a21602694cb416d6dad1bcdac9cf737164736f6c634300080d0033", - "sourceMap": "163:5843:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:194;;;1779:74;;1767:2;1752:18;3935:167:105;1633:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2470:25:194;;;2458:2;2443:18;241:23:173;2324:177:194;481:22:175;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;509:29:175:-;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;5516:482:175:-;;;:::i;:::-;;;;;;;:::i;5138:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:194;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5138:372:175;3476:535:194;2190:219:105;;;;;;:::i;:::-;;:::i;1047:324:175:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;544:20:175:-;;;;;-1:-1:-1;;;;;544:20:175;;;2633:102:105;;;:::i;1000:40:175:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3844:1284:175:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;7344:25:194;;;-1:-1:-1;;;;;7405:55:194;;;7400:2;7385:18;;7378:83;7317:18;270:44:173;7170:297:194;1377:649:175;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;8381:2:194;3597:57:105;;;8363:21:194;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;8783:2:194;3665:170:105;;;8765:21:194;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:105;8581:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;9213:2:194;4763:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:105;9011:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5516:482:175:-;5568:16;5595:15;5613:21;5623:10;5613:9;:21::i;:::-;5595:39;;5644:25;5686:7;5672:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5672:22:175;;5644:50;;5704:13;5731:9;5727:240;5743:7;;5741:1;:9;5727:240;;;5786:10;5772;5780:1;5772:7;:10::i;:::-;-1:-1:-1;;;;;5772:24:175;;5769:188;;5833:1;5815:8;5824:5;5815:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5852:7;;;;:::i;:::-;;-1:-1:-1;;5877:66:175;;;5919:5;5877:66;;5751:3;;;;:::i;:::-;;;;5727:240;;;-1:-1:-1;5983:8:175;;5516:482;-1:-1:-1;;;5516:482:175:o;5138:372::-;5201:7;5278:18;;;:8;:18;;;;;;;;5259:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5259:37:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5201:7;;;;;;;;;;;;5259:37;;5278:18;5259:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5259:37:175;-1:-1:-1;5328:21:175;5314:4;:10;;;:35;;;;;;;;:::i;:::-;;5306:62;;;;-1:-1:-1;;;5306:62:175;;10205:2:194;5306:62:175;;;10187:21:194;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5306:62:175;10003:339:194;5306:62:175;5385:7;;;;5402:11;;;;5423:16;;;;5449:10;;;;5469:13;;;;5492:10;;;;;5385:7;;5402:11;;-1:-1:-1;5423:16:175;;-1:-1:-1;5449:10:175;-1:-1:-1;5469:13:175;;-1:-1:-1;5492:10:175;-1:-1:-1;5138:372:175;-1:-1:-1;;5138:372:175:o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;10549:2:194;2324:56:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:105;10347:348:194;1047:324:175;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:175;-1:-1:-1;;;;;1167:18:175;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:175;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:175;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;10902:2:194;2020:73:105;;;10884:21:194;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:105;10700:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;9213:2:194;5311:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:105;9011:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3844:1284:175:-;3949:16;3968:18;;;:8;:18;;;;;;;;3949:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3949:37:175;;;;;;;;;;;;;;;;;;;;;;;;3924:13;3949:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3924:13;;3949:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3949:37:175;-1:-1:-1;4014:19:175;4000:4;:10;;;:33;;;;;;;;:::i;:::-;;3996:1126;;4049:15;4182;4091:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4091:124:175;;;;;;;;;;3844:1284;-1:-1:-1;;;;3844:1284:175:o;3996:1126::-;4304:18;4290:4;:10;;;:32;;;;;;;;:::i;:::-;;4282:60;;;;-1:-1:-1;;;4282:60:175;;12896:2:194;4282:60:175;;;12878:21:194;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4282:60:175;12694:339:194;4282:60:175;4356:20;4379:15;4389:4;4379:9;:15::i;:::-;4356:38;;4408:18;4429:538;4614:19;:8;:17;:19::i;:::-;4713:12;4825:28;4845:6;4825:13;:28::i;:::-;4519:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4429:13;:538::i;:::-;4408:559;;5064:4;5014:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5014:55:175;;;;;;;;;;3844:1284;-1:-1:-1;;;;;3844:1284:175:o;3996:1126::-;3939:1189;3844:1284;;;:::o;1377:649::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1813:37;1822:14;1837:1;1822:17;;;;;;;;:::i;:::-;;;;;;;1841:1;1844:2;1848:1;1813:8;:37::i;:::-;1800:4;:10;;:50;;;;1876:38;1885:14;1900:1;1885:17;;;;;;;;:::i;:::-;;;;;;;1904:2;1908;1912:1;1876:8;:38::i;:::-;1860:4;:13;;:54;;;;1937:37;1946:14;1961:1;1946:17;;;;;;;;:::i;1937:37::-;1924:10;;;:50;-1:-1:-1;1985:10:175;;:34;;-1:-1:-1;;1985:34:175;1998:21;1985:34;;;-1:-1:-1;1377:649:175:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;10549:2:194;13313:53:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:105;10347:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;15128:2:194;11346:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:105;14926:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;15534:2:194;11437:65:105;;;15516:21:194;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:105;15332:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;15128:2:194;11647:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:105;14926:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:194;;;7385:18;;;7378:83;458:21:173;563:31;;7317:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;15939:2:194;8996:61:105;;;15921:21:194;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:105;15737:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;16300:2:194;9067:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:105;16098:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;16300:2:194;9271:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:105;16098:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;16657:2:194;12982:55:105;;;16639:21:194;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:105;16455:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;17011:2:194;6476:110:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:105;16809:414:194;2490:1348:175;2550:13;2575:23;;:::i;:::-;2609:288;;;;;;;;;;;;;;;;;;;2919:32;;;;;;;;;;;;2609:30;2919:32;;;2932:7;;;;2919:32;;;2932:18;;:16;:18::i;:::-;2919:6;:32::i;:::-;2908:5;2914:1;2908:8;;;:43;;;;2962:53;;;;;;;;;;;;;;;;;:5;2968:1;2962:8;;;:53;;;;3037:40;;;;;;;;;;;;;;;;;;3054:22;:4;:11;;;:20;:22::i;3037:40::-;3026:8;;;;:51;;;;3088:53;;;;;;;;;;;;;3026:8;3088:53;;;:5;3094:1;3088:8;;;:53;;;;3163:50;;;;;;;;;;;;;;;;;;3185:27;:4;:16;;;:25;:27::i;3163:50::-;3152:8;;;:61;3224:53;;;;;;;;;;;;;;3152:8;3224:53;;;:8;;;:53;3299:37;;;;;;;;;;;;;3224:8;3299:37;;;3314:10;;;;3299:37;;;3314:21;;:19;:21::i;3299:37::-;3288:8;;;:48;3347:54;;;;;;;;;;;;;;3288:8;3347:54;;;:8;;;:54;3423:44;;;;;;;;;3353:1;3423:44;;;3347:8;3423:44;;;-1:-1:-1;3442:13:175;;;3423:44;;;3442:24;;:22;:24::i;3423:44::-;3412:8;;;:55;3478;;;;;;;;;;;;;;3412:8;3478:55;;;:9;;;:55;3556:38;;;;;;;;;;;;;3478:9;3556:38;;;3572:10;;;;3556:38;;;3572:21;;:19;:21::i;3556:38::-;3544:9;;;:50;3605:27;;;;;;;;;;;;;3544:9;3605:27;;;:9;;;:27;3643:20;-1:-1:-1;3674:135:175;3690:12;3688:1;:14;3674:135;;;3767:6;3775:5;3781:1;3775:8;;;;;;;:::i;:::-;;;;;3750:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3721:77;;3703:3;;;;;:::i;:::-;;;;3674:135;;;-1:-1:-1;3825:6:175;2490:1348;-1:-1:-1;;;2490:1348:175:o;447:696:111:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;18585:2:194;765:55:173;;;18567:21:194;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:173;18383:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;18936:2:194;880:69:173;;;18918:21:194;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:173;18734:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;19339:2:194;1022:122:173;;;19321:21:194;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:173;19137:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;19658:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;2032:259:175:-;2176:7;;2233:5;2220:9;:5;2228:1;2220:9;:::i;:::-;2219:19;;;;;;:::i;:::-;2195:44;-1:-1:-1;2265:19:175;2273:11;2195:44;2265:19;:::i;:::-;2256:28;;:6;:28;:::i;:::-;2249:35;2032:259;-1:-1:-1;;;;;;2032:259:175:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;17011:2:194;14409:60:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:105;16809:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;14728:11;;2297:187:175;2400:13;2456:4;2469:6;2439:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2425:52;;2297:187;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:194:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:194;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:194:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:194;;2839:632;-1:-1:-1;;;;;;2839:632:194:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:194;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:194;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:194;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:194;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:194;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:194;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:194;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:194;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:194;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:194;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:194;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:194;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:194:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:194:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:194:o;17703:184::-;-1:-1:-1;;;17752:1:194;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:194;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:194;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:194;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:194;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:194;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:194:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:194:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:194;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:194:o", + "sourceMap": "163:5843:149:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:79;;;;;;:::i;:::-;;:::i;:::-;;;611:14:168;;604:22;586:41;;574:2;559:18;1570:300:79;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:168;;;1779:74;;1767:2;1752:18;3935:167:79;1633:226:168;3468:406:79;;;;;;:::i;:::-;;:::i;:::-;;241:23:147;;;;;;;;;2470:25:168;;;2458:2;2443:18;241:23:147;2324:177:168;481:22:149;;;;;;4612:296:79;;;;;;:::i;:::-;;:::i;509:29:149:-;;;;;;4974:149:79;;;;;;:::i;:::-;;:::i;5516:482:149:-;;;:::i;:::-;;;;;;;:::i;5138:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:168;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5138:372:149;3476:535:168;2190:219:79;;;;;;:::i;:::-;;:::i;1047:324:149:-;;;;;;:::i;:::-;;:::i;1929:204:79:-;;;;;;:::i;:::-;;:::i;544:20:149:-;;;;;-1:-1:-1;;;;;544:20:149;;;2633:102:79;;;:::i;1000:40:149:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:79:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3844:1284:149:-;;;;;;:::i;:::-;;:::i;270:44:147:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:147;;;;;;;7344:25:168;;;-1:-1:-1;;;;;7405:55:168;;;7400:2;7385:18;;7378:83;7317:18;270:44:147;7170:297:168;1377:649:149;;;;;;:::i;:::-;;:::i;4388:162:79:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:79;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:87;937:40;;;;1827:36:79;1688:175;1570:300;-1:-1:-1;;1570:300:79:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:79;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:79;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:79;:2;-1:-1:-1;;;;;3605:11:79;;3597:57;;;;-1:-1:-1;;;3597:57:79;;8381:2:168;3597:57:79;;;8363:21:168;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:79;;;;;;;;;719:10:84;-1:-1:-1;;;;;3686:21:79;;;;:62;;-1:-1:-1;3711:37:79;3728:5;719:10:84;4388:162:79;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:79;;8783:2:168;3665:170:79;;;8765:21:168;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:79;8581:425:168;3665:170:79;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:84;4804:7:79;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:79;;9213:2:168;4763:99:79;;;9195:21:168;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:79;9011:409:168;4763:99:79;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5516:482:149:-;5568:16;5595:15;5613:21;5623:10;5613:9;:21::i;:::-;5595:39;;5644:25;5686:7;5672:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5672:22:149;;5644:50;;5704:13;5731:9;5727:240;5743:7;;5741:1;:9;5727:240;;;5786:10;5772;5780:1;5772:7;:10::i;:::-;-1:-1:-1;;;;;5772:24:149;;5769:188;;5833:1;5815:8;5824:5;5815:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5852:7;;;;:::i;:::-;;-1:-1:-1;;5877:66:149;;;5919:5;5877:66;;5751:3;;;;:::i;:::-;;;;5727:240;;;-1:-1:-1;5983:8:149;;5516:482;-1:-1:-1;;;5516:482:149:o;5138:372::-;5201:7;5278:18;;;:8;:18;;;;;;;;5259:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5259:37:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5201:7;;;;;;;;;;;;5259:37;;5278:18;5259:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5259:37:149;-1:-1:-1;5328:21:149;5314:4;:10;;;:35;;;;;;;;:::i;:::-;;5306:62;;;;-1:-1:-1;;;5306:62:149;;10205:2:168;5306:62:149;;;10187:21:168;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5306:62:149;10003:339:168;5306:62:149;5385:7;;;;5402:11;;;;5423:16;;;;5449:10;;;;5469:13;;;;5492:10;;;;;5385:7;;5402:11;;-1:-1:-1;5423:16:149;;-1:-1:-1;5449:10:149;-1:-1:-1;5469:13:149;;-1:-1:-1;5492:10:149;-1:-1:-1;5138:372:149;-1:-1:-1;;5138:372:149:o;2190:219:79:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;;2324:56;;;;-1:-1:-1;;;2324:56:79;;10549:2:168;2324:56:79;;;10531:21:168;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:79;10347:348:168;1047:324:149;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:149;-1:-1:-1;;;;;1167:18:149;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:149;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:149;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:79:-;2001:7;-1:-1:-1;;;;;2028:19:79;;2020:73;;;;-1:-1:-1;;;2020:73:79;;10902:2:168;2020:73:79;;;10884:21:168;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:79;10700:405:168;2020:73:79;-1:-1:-1;;;;;;2110:16:79;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:84;4296:8:79;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:84;5352:7:79;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:79;;9213:2:168;5311:99:79;;;9195:21:168;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:79;9011:409:168;5311:99:79;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3844:1284:149:-;3949:16;3968:18;;;:8;:18;;;;;;;;3949:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3949:37:149;;;;;;;;;;;;;;;;;;;;;;;;3924:13;3949:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3924:13;;3949:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3949:37:149;-1:-1:-1;4014:19:149;4000:4;:10;;;:33;;;;;;;;:::i;:::-;;3996:1126;;4049:15;4182;4091:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4091:124:149;;;;;;;;;;3844:1284;-1:-1:-1;;;;3844:1284:149:o;3996:1126::-;4304:18;4290:4;:10;;;:32;;;;;;;;:::i;:::-;;4282:60;;;;-1:-1:-1;;;4282:60:149;;12896:2:168;4282:60:149;;;12878:21:168;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4282:60:149;12694:339:168;4282:60:149;4356:20;4379:15;4389:4;4379:9;:15::i;:::-;4356:38;;4408:18;4429:538;4614:19;:8;:17;:19::i;:::-;4713:12;4825:28;4845:6;4825:13;:28::i;:::-;4519:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4429:13;:538::i;:::-;4408:559;;5064:4;5014:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5014:55:149;;;;;;;;;;3844:1284;-1:-1:-1;;;;;3844:1284:149:o;3996:1126::-;3939:1189;3844:1284;;;:::o;1377:649::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1813:37;1822:14;1837:1;1822:17;;;;;;;;:::i;:::-;;;;;;;1841:1;1844:2;1848:1;1813:8;:37::i;:::-;1800:4;:10;;:50;;;;1876:38;1885:14;1900:1;1885:17;;;;;;;;:::i;:::-;;;;;;;1904:2;1908;1912:1;1876:8;:38::i;:::-;1860:4;:13;;:54;;;;1937:37;1946:14;1961:1;1946:17;;;;;;;;:::i;1937:37::-;1924:10;;;:50;-1:-1:-1;1985:10:149;;:34;;-1:-1:-1;;1985:34:149;1998:21;1985:34;;;-1:-1:-1;1377:649:149:o;13240:133:79:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;13313:53;;;;-1:-1:-1;;;13313:53:79;;10549:2:168;13313:53:79;;;10531:21:168;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:79;10347:348:168;13313:53:79;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:79;-1:-1:-1;;;;;12646:29:79;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:79;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:79;:7;-1:-1:-1;;;;;7570:16:79;;:52;;;-1:-1:-1;;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:79;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:79;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:79:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:79;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:79;;11346:81;;;;-1:-1:-1;;;11346:81:79;;15128:2:168;11346:81:79;;;15110:21:168;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:79;14926:401:168;11346:81:79;-1:-1:-1;;;;;11445:16:79;;11437:65;;;;-1:-1:-1;;;11437:65:79;;15534:2:168;11437:65:79;;;15516:21:168;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:79;15332:400:168;11437:65:79;11682:4;-1:-1:-1;;;;;11655:31:79;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:79;;11647:81;;;;-1:-1:-1;;;11647:81:79;;15128:2:168;11647:81:79;;;15110:21:168;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:79;14926:401:168;11647:81:79;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:79;;;;;;-1:-1:-1;;;;;12265:15:79;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:79;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:147:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:147;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:168;;;7385:18;;;7378:83;458:21:147;563:31;;7317:18:168;563:31:147;;;;;;;429:172;378:223;:::o;8925:920:79:-;-1:-1:-1;;;;;9004:16:79;;8996:61;;;;-1:-1:-1;;;8996:61:79;;15939:2:168;8996:61:79;;;15921:21:168;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:79;15737:356:168;8996:61:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:79;;16300:2:168;9067:58:79;;;16282:21:168;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:79;16098:352:168;9067:58:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:79;;16300:2:168;9271:58:79;;;16282:21:168;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:79;16098:352:168;9271:58:79;-1:-1:-1;;;;;9671:13:79;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:79;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:79;:5;-1:-1:-1;;;;;12990:17:79;;12982:55;;;;-1:-1:-1;;;12982:55:79;;16657:2:168;12982:55:79;;;16639:21:168;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:79;16455:349:168;12982:55:79;-1:-1:-1;;;;;13047:25:79;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:79;;;;;;;;;;13108:41;;586::168;;;13108::79;;559:18:168;13108:41:79;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:79;;17011:2:168;6476:110:79;;;16993:21:168;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:79;16809:414:168;2490:1348:149;2550:13;2575:23;;:::i;:::-;2609:288;;;;;;;;;;;;;;;;;;;2919:32;;;;;;;;;;;;2609:30;2919:32;;;2932:7;;;;2919:32;;;2932:18;;:16;:18::i;:::-;2919:6;:32::i;:::-;2908:5;2914:1;2908:8;;;:43;;;;2962:53;;;;;;;;;;;;;;;;;:5;2968:1;2962:8;;;:53;;;;3037:40;;;;;;;;;;;;;;;;;;3054:22;:4;:11;;;:20;:22::i;3037:40::-;3026:8;;;;:51;;;;3088:53;;;;;;;;;;;;;3026:8;3088:53;;;:5;3094:1;3088:8;;;:53;;;;3163:50;;;;;;;;;;;;;;;;;;3185:27;:4;:16;;;:25;:27::i;3163:50::-;3152:8;;;:61;3224:53;;;;;;;;;;;;;;3152:8;3224:53;;;:8;;;:53;3299:37;;;;;;;;;;;;;3224:8;3299:37;;;3314:10;;;;3299:37;;;3314:21;;:19;:21::i;3299:37::-;3288:8;;;:48;3347:54;;;;;;;;;;;;;;3288:8;3347:54;;;:8;;;:54;3423:44;;;;;;;;;3353:1;3423:44;;;3347:8;3423:44;;;-1:-1:-1;3442:13:149;;;3423:44;;;3442:24;;:22;:24::i;3423:44::-;3412:8;;;:55;3478;;;;;;;;;;;;;;3412:8;3478:55;;;:9;;;:55;3556:38;;;;;;;;;;;;;3478:9;3556:38;;;3572:10;;;;3556:38;;;3572:21;;:19;:21::i;3556:38::-;3544:9;;;:50;3605:27;;;;;;;;;;;;;3544:9;3605:27;;;:9;;;:27;3643:20;-1:-1:-1;3674:135:149;3690:12;3688:1;:14;3674:135;;;3767:6;3775:5;3781:1;3775:8;;;;;;;:::i;:::-;;;;;3750:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3721:77;;3703:3;;;;;:::i;:::-;;;;3674:135;;;-1:-1:-1;3825:6:149;2490:1348;-1:-1:-1;;;2490:1348:149:o;447:696:85:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:85;-1:-1:-1;604:41:85;-1:-1:-1;765:28:85;;;781:2;765:28;820:280;-1:-1:-1;;851:5:85;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:85;820:280;1064:21;-1:-1:-1;1120:6:85;447:696;-1:-1:-1;;;447:696:85:o;396:1557:144:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:144;;;;;;;;;-1:-1:-1;528:9:144;;;396:1557;-1:-1:-1;396:1557:144:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:144;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:144;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:144;;1810:41;1659:206;-1:-1:-1;;;1879:26:144;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:144:o;607:996:147:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:147;;18585:2:168;765:55:147;;;18567:21:168;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:147;18383:346:168;765:55:147;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:147;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:147;;18936:2:168;880:69:147;;;18918:21:168;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:147;18734:398:168;880:69:147;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:147;-1:-1:-1;1059:13:147;;959:53;;-1:-1:-1;1059:31:147;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:147;;19339:2:168;1022:122:147;;;19321:21:168;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:147;19137:352:168;1022:122:147;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:168;;;1177:28:147;-1:-1:-1;1169:37:147;;19658:12:168;1303:22:147;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:147;;607:996;-1:-1:-1;;;;;;;607:996:147:o;2032:259:149:-;2176:7;;2233:5;2220:9;:5;2228:1;2220:9;:::i;:::-;2219:19;;;;;;:::i;:::-;2195:44;-1:-1:-1;2265:19:149;2273:11;2195:44;2265:19;:::i;:::-;2256:28;;:6;:28;:::i;:::-;2249:35;2032:259;-1:-1:-1;;;;;;2032:259:149:o;13925:831:79:-;14074:4;-1:-1:-1;;;;;14094:13:79;;1702:19:83;:23;14090:660:79;;14129:71;;;;;-1:-1:-1;;;;;14129:36:79;;;;;:71;;719:10:84;;14180:4:79;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:79;;;;;;;;-1:-1:-1;;14129:71:79;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:79;;17011:2:168;14409:60:79;;;16993:21:168;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:79;16809:414:168;14363:321:79;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:79;;14090:660;-1:-1:-1;14735:4:79;14728:11;;2297:187:149;2400:13;2456:4;2469:6;2439:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2425:52;;2297:187;;;;:::o;10139:916:89:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:89;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:89;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:89;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:89;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:89;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:89;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:89:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:168:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:168:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:168;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:168;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:168:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:168;;1448:180;-1:-1:-1;1448:180:168:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:168;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:168:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:168;;2839:632;-1:-1:-1;;;;;;2839:632:168:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:168;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:168;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:168;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:168;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:168;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:168;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:168;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:168;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:168;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:168;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:168;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:168;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:168:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:168:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:168:o;17703:184::-;-1:-1:-1;;;17752:1:168;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:168;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:168;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:168;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:168;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:168;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:168:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:168:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:168;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:168:o", "linkReferences": {} }, "methodIdentifiers": { @@ -1423,58 +1423,58 @@ }, "ast": { "absolutePath": "src/other/User.sol", - "id": 121589, + "id": 113296, "exportedSymbols": { "Address": [ - 132093 + 30657 ], "Base64": [ - 119403 + 111110 ], "Context": [ - 132115 + 30679 ], "ERC165": [ - 132139 + 31460 ], "ERC721": [ - 72425 + 30166 ], "IERC165": [ - 174420 + 31472 ], "IERC721": [ - 131718 + 30282 ], "IERC721Metadata": [ - 131763 + 30327 ], "IERC721Receiver": [ - 131736 + 30300 ], "MRandom": [ - 120834 + 112541 ], "MUser": [ - 121588 + 113295 ], "Math": [ - 133005 + 32338 ], "SignedMath": [ - 133110 + 32443 ], "Strings": [ - 72654 + 30908 ] }, "nodeType": "SourceUnit", - "src": "32:5975:175", + "src": "32:5975:149", "nodes": [ { - "id": 120931, + "id": 112638, "nodeType": "PragmaDirective", - "src": "32:24:175", + "src": "32:24:149", "nodes": [], "literals": [ "solidity", @@ -1484,67 +1484,67 @@ ] }, { - "id": 120932, + "id": 112639, "nodeType": "ImportDirective", - "src": "57:57:175", + "src": "57:57:149", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 72426, + "scope": 113296, + "sourceUnit": 30167, "symbolAliases": [], "unitAlias": "" }, { - "id": 120933, + "id": 112640, "nodeType": "ImportDirective", - "src": "115:23:175", + "src": "115:23:149", "nodes": [], "absolutePath": "src/other/MRandom.sol", "file": "./MRandom.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 120835, + "scope": 113296, + "sourceUnit": 112542, "symbolAliases": [], "unitAlias": "" }, { - "id": 120934, + "id": 112641, "nodeType": "ImportDirective", - "src": "139:22:175", + "src": "139:22:149", "nodes": [], "absolutePath": "src/other/Base64.sol", "file": "./Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 119404, + "scope": 113296, + "sourceUnit": 111111, "symbolAliases": [], "unitAlias": "" }, { - "id": 121588, + "id": 113295, "nodeType": "ContractDefinition", - "src": "163:5843:175", + "src": "163:5843:149", "nodes": [ { - "id": 120941, + "id": 112648, "nodeType": "UsingForDirective", - "src": "203:26:175", + "src": "203:26:149", "nodes": [], "global": false, "libraryName": { - "id": 120939, + "id": 112646, "name": "Strings", "nodeType": "IdentifierPath", - "referencedDeclaration": 72654, - "src": "209:7:175" + "referencedDeclaration": 30908, + "src": "209:7:149" }, "typeName": { - "id": 120940, + "id": 112647, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "221:7:175", + "src": "221:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1552,21 +1552,21 @@ } }, { - "id": 120961, + "id": 112668, "nodeType": "StructDefinition", - "src": "235:240:175", + "src": "235:240:149", "nodes": [], "canonicalName": "MUser.User", "members": [ { "constant": false, - "id": 120943, + "id": 112650, "mutability": "mutable", "name": "randomId", - "nameLocation": "265:8:175", + "nameLocation": "265:8:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "257:16:175", + "scope": 112668, + "src": "257:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1574,10 +1574,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120942, + "id": 112649, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "257:7:175", + "src": "257:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1587,13 +1587,13 @@ }, { "constant": false, - "id": 120945, + "id": 112652, "mutability": "mutable", "name": "owner", - "nameLocation": "291:5:175", + "nameLocation": "291:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "283:13:175", + "scope": 112668, + "src": "283:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1601,10 +1601,10 @@ "typeString": "address" }, "typeName": { - "id": 120944, + "id": 112651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "283:7:175", + "src": "283:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1615,13 +1615,13 @@ }, { "constant": false, - "id": 120947, + "id": 112654, "mutability": "mutable", "name": "HP", - "nameLocation": "314:2:175", + "nameLocation": "314:2:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "306:10:175", + "scope": 112668, + "src": "306:10:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1629,10 +1629,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120946, + "id": 112653, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "306:7:175", + "src": "306:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1642,13 +1642,13 @@ }, { "constant": false, - "id": 120949, + "id": 112656, "mutability": "mutable", "name": "Attack", - "nameLocation": "334:6:175", + "nameLocation": "334:6:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "326:14:175", + "scope": 112668, + "src": "326:14:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1656,10 +1656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120948, + "id": 112655, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "326:7:175", + "src": "326:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1669,13 +1669,13 @@ }, { "constant": false, - "id": 120951, + "id": 112658, "mutability": "mutable", "name": "AttackRange", - "nameLocation": "358:11:175", + "nameLocation": "358:11:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "350:19:175", + "scope": 112668, + "src": "350:19:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1683,10 +1683,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120950, + "id": 112657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "350:7:175", + "src": "350:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1696,13 +1696,13 @@ }, { "constant": false, - "id": 120953, + "id": 112660, "mutability": "mutable", "name": "Speed", - "nameLocation": "387:5:175", + "nameLocation": "387:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "379:13:175", + "scope": 112668, + "src": "379:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1710,10 +1710,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120952, + "id": 112659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "379:7:175", + "src": "379:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,13 +1723,13 @@ }, { "constant": false, - "id": 120955, + "id": 112662, "mutability": "mutable", "name": "Strength", - "nameLocation": "410:8:175", + "nameLocation": "410:8:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "402:16:175", + "scope": 112668, + "src": "402:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1737,10 +1737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120954, + "id": 112661, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "402:7:175", + "src": "402:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1750,13 +1750,13 @@ }, { "constant": false, - "id": 120957, + "id": 112664, "mutability": "mutable", "name": "Space", - "nameLocation": "436:5:175", + "nameLocation": "436:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "428:13:175", + "scope": 112668, + "src": "428:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1764,10 +1764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120956, + "id": 112663, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "428:7:175", + "src": "428:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1777,33 +1777,33 @@ }, { "constant": false, - "id": 120960, + "id": 112667, "mutability": "mutable", "name": "state", - "nameLocation": "463:5:175", + "nameLocation": "463:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "451:17:175", + "scope": 112668, + "src": "451:17:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, "typeName": { - "id": 120959, + "id": 112666, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120958, + "id": 112665, "name": "RandomState", "nodeType": "IdentifierPath", - "referencedDeclaration": 120643, - "src": "451:11:175" + "referencedDeclaration": 112350, + "src": "451:11:149" }, - "referencedDeclaration": 120643, - "src": "451:11:175", + "referencedDeclaration": 112350, + "src": "451:11:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -1811,21 +1811,21 @@ } ], "name": "User", - "nameLocation": "242:4:175", - "scope": 121588, + "nameLocation": "242:4:149", + "scope": 113295, "visibility": "public" }, { - "id": 120963, + "id": 112670, "nodeType": "VariableDeclaration", - "src": "481:22:175", + "src": "481:22:149", "nodes": [], "constant": false, "functionSelector": "17d70f7c", "mutability": "mutable", "name": "tokenId", - "nameLocation": "496:7:175", - "scope": 121588, + "nameLocation": "496:7:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1833,10 +1833,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120962, + "id": 112669, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "481:7:175", + "src": "481:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1845,16 +1845,16 @@ "visibility": "public" }, { - "id": 120965, + "id": 112672, "nodeType": "VariableDeclaration", - "src": "509:29:175", + "src": "509:29:149", "nodes": [], "constant": false, "functionSelector": "3e8474ca", "mutability": "mutable", "name": "waitBlockCount", - "nameLocation": "524:14:175", - "scope": 121588, + "nameLocation": "524:14:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1862,10 +1862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120964, + "id": 112671, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "509:7:175", + "src": "509:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1874,16 +1874,16 @@ "visibility": "public" }, { - "id": 120967, + "id": 112674, "nodeType": "VariableDeclaration", - "src": "544:20:175", + "src": "544:20:149", "nodes": [], "constant": false, "functionSelector": "8da5cb5b", "mutability": "mutable", "name": "owner", - "nameLocation": "559:5:175", - "scope": 121588, + "nameLocation": "559:5:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1891,10 +1891,10 @@ "typeString": "address" }, "typeName": { - "id": 120966, + "id": 112673, "name": "address", "nodeType": "ElementaryTypeName", - "src": "544:7:175", + "src": "544:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1904,15 +1904,15 @@ "visibility": "public" }, { - "id": 120969, + "id": 112676, "nodeType": "VariableDeclaration", - "src": "570:22:175", + "src": "570:22:149", "nodes": [], "constant": false, "mutability": "mutable", "name": "notRevealedInfo", - "nameLocation": "577:15:175", - "scope": 121588, + "nameLocation": "577:15:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1920,10 +1920,10 @@ "typeString": "string" }, "typeName": { - "id": 120968, + "id": 112675, "name": "string", "nodeType": "ElementaryTypeName", - "src": "570:6:175", + "src": "570:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1932,15 +1932,15 @@ "visibility": "internal" }, { - "id": 120971, + "id": 112678, "nodeType": "VariableDeclaration", - "src": "598:19:175", + "src": "598:19:149", "nodes": [], "constant": false, "mutability": "mutable", "name": "revealedDesc", - "nameLocation": "605:12:175", - "scope": 121588, + "nameLocation": "605:12:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1948,10 +1948,10 @@ "typeString": "string" }, "typeName": { - "id": 120970, + "id": 112677, "name": "string", "nodeType": "ElementaryTypeName", - "src": "598:6:175", + "src": "598:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1960,30 +1960,30 @@ "visibility": "internal" }, { - "id": 121006, + "id": 112713, "nodeType": "FunctionDefinition", - "src": "624:370:175", + "src": "624:370:149", "nodes": [], "body": { - "id": 121005, + "id": 112712, "nodeType": "Block", - "src": "835:159:175", + "src": "835:159:149", "nodes": [], "statements": [ { "expression": { - "id": 120991, + "id": 112698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120988, + "id": 112695, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120967, - "src": "845:5:175", + "referencedDeclaration": 112674, + "src": "845:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1993,54 +1993,54 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120989, + "id": 112696, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "853:3:175", + "src": "853:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120990, + "id": 112697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "853:10:175", + "src": "853:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "845:18:175", + "src": "845:18:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120992, + "id": 112699, "nodeType": "ExpressionStatement", - "src": "845:18:175" + "src": "845:18:149" }, { "expression": { - "id": 120995, + "id": 112702, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120993, + "id": 112700, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120965, - "src": "873:14:175", + "referencedDeclaration": 112672, + "src": "873:14:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2049,41 +2049,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120994, + "id": 112701, "name": "_waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120973, - "src": "890:15:175", + "referencedDeclaration": 112680, + "src": "890:15:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "873:32:175", + "src": "873:32:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120996, + "id": 112703, "nodeType": "ExpressionStatement", - "src": "873:32:175" + "src": "873:32:149" }, { "expression": { - "id": 120999, + "id": 112706, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120997, + "id": 112704, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120969, - "src": "915:15:175", + "referencedDeclaration": 112676, + "src": "915:15:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2092,41 +2092,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120998, + "id": 112705, "name": "_notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120979, - "src": "933:16:175", + "referencedDeclaration": 112686, + "src": "933:16:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "915:34:175", + "src": "915:34:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 121000, + "id": 112707, "nodeType": "ExpressionStatement", - "src": "915:34:175" + "src": "915:34:149" }, { "expression": { - "id": 121003, + "id": 112710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121001, + "id": 112708, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120971, - "src": "959:12:175", + "referencedDeclaration": 112678, + "src": "959:12:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2135,26 +2135,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121002, + "id": 112709, "name": "_revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120981, - "src": "974:13:175", + "referencedDeclaration": 112688, + "src": "974:13:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "959:28:175", + "src": "959:28:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 121004, + "id": 112711, "nodeType": "ExpressionStatement", - "src": "959:28:175" + "src": "959:28:149" } ] }, @@ -2164,58 +2164,58 @@ { "arguments": [ { - "id": 120984, + "id": 112691, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120975, - "src": "819:7:175", + "referencedDeclaration": 112682, + "src": "819:7:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 120985, + "id": 112692, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120977, - "src": "828:5:175", + "referencedDeclaration": 112684, + "src": "828:5:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 120986, + "id": 112693, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 120983, + "id": 112690, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "812:6:175" + "referencedDeclaration": 30166, + "src": "812:6:149" }, "nodeType": "ModifierInvocation", - "src": "812:22:175" + "src": "812:22:149" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 120982, + "id": 112689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120973, + "id": 112680, "mutability": "mutable", "name": "_waitBlockCount", - "nameLocation": "653:15:175", + "nameLocation": "653:15:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "645:23:175", + "scope": 112713, + "src": "645:23:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2223,10 +2223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120972, + "id": 112679, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "645:7:175", + "src": "645:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2236,13 +2236,13 @@ }, { "constant": false, - "id": 120975, + "id": 112682, "mutability": "mutable", "name": "_symbol", - "nameLocation": "692:7:175", + "nameLocation": "692:7:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "678:21:175", + "scope": 112713, + "src": "678:21:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2250,10 +2250,10 @@ "typeString": "string" }, "typeName": { - "id": 120974, + "id": 112681, "name": "string", "nodeType": "ElementaryTypeName", - "src": "678:6:175", + "src": "678:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2263,13 +2263,13 @@ }, { "constant": false, - "id": 120977, + "id": 112684, "mutability": "mutable", "name": "_name", - "nameLocation": "723:5:175", + "nameLocation": "723:5:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "709:19:175", + "scope": 112713, + "src": "709:19:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2277,10 +2277,10 @@ "typeString": "string" }, "typeName": { - "id": 120976, + "id": 112683, "name": "string", "nodeType": "ElementaryTypeName", - "src": "709:6:175", + "src": "709:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2290,13 +2290,13 @@ }, { "constant": false, - "id": 120979, + "id": 112686, "mutability": "mutable", "name": "_notRevealedInfo", - "nameLocation": "752:16:175", + "nameLocation": "752:16:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "738:30:175", + "scope": 112713, + "src": "738:30:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2304,10 +2304,10 @@ "typeString": "string" }, "typeName": { - "id": 120978, + "id": 112685, "name": "string", "nodeType": "ElementaryTypeName", - "src": "738:6:175", + "src": "738:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2317,13 +2317,13 @@ }, { "constant": false, - "id": 120981, + "id": 112688, "mutability": "mutable", "name": "_revealedDesc", - "nameLocation": "792:13:175", + "nameLocation": "792:13:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "778:27:175", + "scope": 112713, + "src": "778:27:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2331,10 +2331,10 @@ "typeString": "string" }, "typeName": { - "id": 120980, + "id": 112687, "name": "string", "nodeType": "ElementaryTypeName", - "src": "778:6:175", + "src": "778:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2343,68 +2343,68 @@ "visibility": "internal" } ], - "src": "635:176:175" + "src": "635:176:149" }, "returnParameters": { - "id": 120987, + "id": 112694, "nodeType": "ParameterList", "parameters": [], - "src": "835:0:175" + "src": "835:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 121011, + "id": 112718, "nodeType": "VariableDeclaration", - "src": "1000:40:175", + "src": "1000:40:149", "nodes": [], "constant": false, "functionSelector": "9f4216e8", "mutability": "mutable", "name": "userList", - "nameLocation": "1032:8:175", - "scope": 121588, + "nameLocation": "1032:8:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "typeName": { - "id": 121010, + "id": 112717, "keyType": { - "id": 121007, + "id": 112714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1008:7:175", + "src": "1008:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1000:24:175", + "src": "1000:24:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "valueType": { - "id": 121009, + "id": 112716, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121008, + "id": 112715, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1019:4:175" + "referencedDeclaration": 112668, + "src": "1019:4:149" }, - "referencedDeclaration": 120961, - "src": "1019:4:175", + "referencedDeclaration": 112668, + "src": "1019:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } } @@ -2412,78 +2412,78 @@ "visibility": "public" }, { - "id": 121058, + "id": 112765, "nodeType": "FunctionDefinition", - "src": "1047:324:175", + "src": "1047:324:149", "nodes": [], "body": { - "id": 121057, + "id": 112764, "nodeType": "Block", - "src": "1085:286:175", + "src": "1085:286:149", "nodes": [], "statements": [ { "assignments": [ - 121018 + 112725 ], "declarations": [ { "constant": false, - "id": 121018, + "id": 112725, "mutability": "mutable", "name": "user", - "nameLocation": "1133:4:175", + "nameLocation": "1133:4:149", "nodeType": "VariableDeclaration", - "scope": 121057, - "src": "1120:17:175", + "scope": 112764, + "src": "1120:17:149", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121017, + "id": 112724, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121016, + "id": 112723, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1120:4:175" + "referencedDeclaration": 112668, + "src": "1120:4:149" }, - "referencedDeclaration": 120961, - "src": "1120:4:175", + "referencedDeclaration": 112668, + "src": "1120:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121022, + "id": 112729, "initialValue": { "baseExpression": { - "id": 121019, + "id": 112726, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "1140:8:175", + "referencedDeclaration": 112718, + "src": "1140:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121021, + "id": 112728, "indexExpression": { - "id": 121020, + "id": 112727, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1149:7:175", + "referencedDeclaration": 112670, + "src": "1149:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2494,44 +2494,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1140:17:175", + "src": "1140:17:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1120:37:175" + "src": "1120:37:149" }, { "expression": { - "id": 121027, + "id": 112734, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121023, + "id": 112730, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1167:4:175", + "referencedDeclaration": 112725, + "src": "1167:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121025, + "id": 112732, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 120945, - "src": "1167:10:175", + "referencedDeclaration": 112652, + "src": "1167:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2540,58 +2540,58 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121026, + "id": 112733, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121013, - "src": "1180:5:175", + "referencedDeclaration": 112720, + "src": "1180:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1167:18:175", + "src": "1167:18:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 121028, + "id": 112735, "nodeType": "ExpressionStatement", - "src": "1167:18:175" + "src": "1167:18:149" }, { "expression": { - "id": 121034, + "id": 112741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121029, + "id": 112736, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1195:4:175", + "referencedDeclaration": 112725, + "src": "1195:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121031, + "id": 112738, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "1195:10:175", + "referencedDeclaration": 112667, + "src": "1195:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -2599,70 +2599,70 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 121032, + "id": 112739, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1208:11:175", + "referencedDeclaration": 112350, + "src": "1208:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121033, + "id": 112740, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "1208:19:175", + "referencedDeclaration": 112348, + "src": "1208:19:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1195:32:175", + "src": "1195:32:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 121035, + "id": 112742, "nodeType": "ExpressionStatement", - "src": "1195:32:175" + "src": "1195:32:149" }, { "expression": { - "id": 121040, + "id": 112747, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121036, + "id": 112743, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1237:4:175", + "referencedDeclaration": 112725, + "src": "1237:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121038, + "id": 112745, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 120943, - "src": "1237:13:175", + "referencedDeclaration": 112650, + "src": "1237:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2671,37 +2671,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121039, + "id": 112746, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1253:8:175", + "referencedDeclaration": 112357, + "src": "1253:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1237:24:175", + "src": "1237:24:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121041, + "id": 112748, "nodeType": "ExpressionStatement", - "src": "1237:24:175" + "src": "1237:24:149" }, { "expression": { "arguments": [ { - "id": 121043, + "id": 112750, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1285:8:175", + "referencedDeclaration": 112357, + "src": "1285:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2715,18 +2715,18 @@ "typeString": "uint256" } ], - "id": 121042, + "id": 112749, "name": "requestRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120694, - "src": "1271:13:175", + "referencedDeclaration": 112401, + "src": "1271:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 121044, + "id": 112751, "isConstant": false, "isLValue": false, "isPure": false, @@ -2734,39 +2734,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1271:23:175", + "src": "1271:23:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121045, + "id": 112752, "nodeType": "ExpressionStatement", - "src": "1271:23:175" + "src": "1271:23:149" }, { "expression": { "arguments": [ { - "id": 121047, + "id": 112754, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121013, - "src": "1310:5:175", + "referencedDeclaration": 112720, + "src": "1310:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 121048, + "id": 112755, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1317:7:175", + "referencedDeclaration": 112670, + "src": "1317:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2784,18 +2784,18 @@ "typeString": "uint256" } ], - "id": 121046, + "id": 112753, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72099, - "src": "1304:5:175", + "referencedDeclaration": 29840, + "src": "1304:5:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 121049, + "id": 112756, "isConstant": false, "isLValue": false, "isPure": false, @@ -2803,20 +2803,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1304:21:175", + "src": "1304:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121050, + "id": 112757, "nodeType": "ExpressionStatement", - "src": "1304:21:175" + "src": "1304:21:149" }, { "expression": { - "id": 121052, + "id": 112759, "isConstant": false, "isLValue": false, "isPure": false, @@ -2824,14 +2824,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1335:9:175", + "src": "1335:9:149", "subExpression": { - "id": 121051, + "id": 112758, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1335:7:175", + "referencedDeclaration": 112670, + "src": "1335:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2842,13 +2842,13 @@ "typeString": "uint256" } }, - "id": 121053, + "id": 112760, "nodeType": "ExpressionStatement", - "src": "1335:9:175" + "src": "1335:9:149" }, { "expression": { - "id": 121055, + "id": 112762, "isConstant": false, "isLValue": false, "isPure": false, @@ -2856,14 +2856,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1354:10:175", + "src": "1354:10:149", "subExpression": { - "id": 121054, + "id": 112761, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1354:8:175", + "referencedDeclaration": 112357, + "src": "1354:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2874,9 +2874,9 @@ "typeString": "uint256" } }, - "id": 121056, + "id": 112763, "nodeType": "ExpressionStatement", - "src": "1354:10:175" + "src": "1354:10:149" } ] }, @@ -2885,20 +2885,20 @@ "kind": "function", "modifiers": [], "name": "mint", - "nameLocation": "1056:4:175", + "nameLocation": "1056:4:149", "parameters": { - "id": 121014, + "id": 112721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121013, + "id": 112720, "mutability": "mutable", "name": "_addr", - "nameLocation": "1069:5:175", + "nameLocation": "1069:5:149", "nodeType": "VariableDeclaration", - "scope": 121058, - "src": "1061:13:175", + "scope": 112765, + "src": "1061:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2906,10 +2906,10 @@ "typeString": "address" }, "typeName": { - "id": 121012, + "id": 112719, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:175", + "src": "1061:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2919,92 +2919,92 @@ "visibility": "internal" } ], - "src": "1060:15:175" + "src": "1060:15:149" }, "returnParameters": { - "id": 121015, + "id": 112722, "nodeType": "ParameterList", "parameters": [], - "src": "1085:0:175" + "src": "1085:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 121168, + "id": 112875, "nodeType": "FunctionDefinition", - "src": "1377:649:175", + "src": "1377:649:149", "nodes": [], "body": { - "id": 121167, + "id": 112874, "nodeType": "Block", - "src": "1423:603:175", + "src": "1423:603:149", "nodes": [], "statements": [ { "assignments": [ - 121065 + 112772 ], "declarations": [ { "constant": false, - "id": 121065, + "id": 112772, "mutability": "mutable", "name": "user", - "nameLocation": "1446:4:175", + "nameLocation": "1446:4:149", "nodeType": "VariableDeclaration", - "scope": 121167, - "src": "1433:17:175", + "scope": 112874, + "src": "1433:17:149", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121064, + "id": 112771, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121063, + "id": 112770, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1433:4:175" + "referencedDeclaration": 112668, + "src": "1433:4:149" }, - "referencedDeclaration": 120961, - "src": "1433:4:175", + "referencedDeclaration": 112668, + "src": "1433:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121069, + "id": 112776, "initialValue": { "baseExpression": { - "id": 121066, + "id": 112773, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "1453:8:175", + "referencedDeclaration": 112718, + "src": "1453:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121068, + "id": 112775, "indexExpression": { - "id": 121067, + "id": 112774, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121060, - "src": "1462:8:175", + "referencedDeclaration": 112767, + "src": "1462:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3015,29 +3015,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:18:175", + "src": "1453:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1433:38:175" + "src": "1433:38:149" }, { "assignments": [ - 121074 + 112781 ], "declarations": [ { "constant": false, - "id": 121074, + "id": 112781, "mutability": "mutable", "name": "random_numbers", - "nameLocation": "1496:14:175", + "nameLocation": "1496:14:149", "nodeType": "VariableDeclaration", - "scope": 121167, - "src": "1481:29:175", + "scope": 112874, + "src": "1481:29:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3046,18 +3046,18 @@ }, "typeName": { "baseType": { - "id": 121072, + "id": 112779, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1481:5:175", + "src": "1481:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 121073, + "id": 112780, "nodeType": "ArrayTypeName", - "src": "1481:7:175", + "src": "1481:7:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -3066,31 +3066,31 @@ "visibility": "internal" } ], - "id": 121081, + "id": 112788, "initialValue": { "arguments": [ { "expression": { - "id": 121076, + "id": 112783, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1536:4:175", + "referencedDeclaration": 112772, + "src": "1536:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121077, + "id": 112784, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 120943, - "src": "1536:13:175", + "referencedDeclaration": 112650, + "src": "1536:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3098,14 +3098,14 @@ }, { "hexValue": "38", - "id": 121078, + "id": 112785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1563:1:175", + "src": "1563:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -3113,12 +3113,12 @@ "value": "8" }, { - "id": 121079, + "id": 112786, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120965, - "src": "1578:14:175", + "referencedDeclaration": 112672, + "src": "1578:14:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3140,18 +3140,18 @@ "typeString": "uint256" } ], - "id": 121075, + "id": 112782, "name": "getRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120811, - "src": "1513:9:175", + "referencedDeclaration": 112518, + "src": "1513:9:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" } }, - "id": 121080, + "id": 112787, "isConstant": false, "isLValue": false, "isPure": false, @@ -3159,7 +3159,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1513:89:175", + "src": "1513:89:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", @@ -3167,37 +3167,37 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1481:121:175" + "src": "1481:121:149" }, { "expression": { - "id": 121093, + "id": 112800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121082, + "id": 112789, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1613:4:175", + "referencedDeclaration": 112772, + "src": "1613:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121084, + "id": 112791, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "1613:7:175", + "referencedDeclaration": 112654, + "src": "1613:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3209,28 +3209,28 @@ "arguments": [ { "baseExpression": { - "id": 121086, + "id": 112793, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1632:14:175", + "referencedDeclaration": 112781, + "src": "1632:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121088, + "id": 112795, "indexExpression": { "hexValue": "30", - "id": 121087, + "id": 112794, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1647:1:175", + "src": "1647:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3242,7 +3242,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1632:17:175", + "src": "1632:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3250,14 +3250,14 @@ }, { "hexValue": "313030", - "id": 121089, + "id": 112796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1651:3:175", + "src": "1651:3:149", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" @@ -3266,14 +3266,14 @@ }, { "hexValue": "3130", - "id": 121090, + "id": 112797, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1656:2:175", + "src": "1656:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3282,14 +3282,14 @@ }, { "hexValue": "35", - "id": 121091, + "id": 112798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:175", + "src": "1660:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -3316,18 +3316,18 @@ "typeString": "int_const 5" } ], - "id": 121085, + "id": 112792, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1623:8:175", + "referencedDeclaration": 112907, + "src": "1623:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121092, + "id": 112799, "isConstant": false, "isLValue": false, "isPure": false, @@ -3335,52 +3335,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1623:39:175", + "src": "1623:39:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1613:49:175", + "src": "1613:49:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121094, + "id": 112801, "nodeType": "ExpressionStatement", - "src": "1613:49:175" + "src": "1613:49:149" }, { "expression": { - "id": 121106, + "id": 112813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121095, + "id": 112802, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1672:4:175", + "referencedDeclaration": 112772, + "src": "1672:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121097, + "id": 112804, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "1672:11:175", + "referencedDeclaration": 112656, + "src": "1672:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3392,28 +3392,28 @@ "arguments": [ { "baseExpression": { - "id": 121099, + "id": 112806, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1695:14:175", + "referencedDeclaration": 112781, + "src": "1695:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121101, + "id": 112808, "indexExpression": { "hexValue": "31", - "id": 121100, + "id": 112807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1710:1:175", + "src": "1710:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3425,7 +3425,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1695:17:175", + "src": "1695:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3433,14 +3433,14 @@ }, { "hexValue": "3330", - "id": 121102, + "id": 112809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1714:2:175", + "src": "1714:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", "typeString": "int_const 30" @@ -3449,14 +3449,14 @@ }, { "hexValue": "3130", - "id": 121103, + "id": 112810, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1718:2:175", + "src": "1718:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3465,14 +3465,14 @@ }, { "hexValue": "32", - "id": 121104, + "id": 112811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1722:1:175", + "src": "1722:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3499,18 +3499,18 @@ "typeString": "int_const 2" } ], - "id": 121098, + "id": 112805, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1686:8:175", + "referencedDeclaration": 112907, + "src": "1686:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121105, + "id": 112812, "isConstant": false, "isLValue": false, "isPure": false, @@ -3518,52 +3518,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1686:38:175", + "src": "1686:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1672:52:175", + "src": "1672:52:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121107, + "id": 112814, "nodeType": "ExpressionStatement", - "src": "1672:52:175" + "src": "1672:52:149" }, { "expression": { - "id": 121119, + "id": 112826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121108, + "id": 112815, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1734:4:175", + "referencedDeclaration": 112772, + "src": "1734:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121110, + "id": 112817, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "1734:16:175", + "referencedDeclaration": 112658, + "src": "1734:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3575,28 +3575,28 @@ "arguments": [ { "baseExpression": { - "id": 121112, + "id": 112819, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1762:14:175", + "referencedDeclaration": 112781, + "src": "1762:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121114, + "id": 112821, "indexExpression": { "hexValue": "32", - "id": 121113, + "id": 112820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1777:1:175", + "src": "1777:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3608,7 +3608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1762:17:175", + "src": "1762:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3616,14 +3616,14 @@ }, { "hexValue": "32", - "id": 121115, + "id": 112822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1781:1:175", + "src": "1781:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3632,14 +3632,14 @@ }, { "hexValue": "3530", - "id": 121116, + "id": 112823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1784:2:175", + "src": "1784:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -3648,14 +3648,14 @@ }, { "hexValue": "31", - "id": 121117, + "id": 112824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1788:1:175", + "src": "1788:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3682,18 +3682,18 @@ "typeString": "int_const 1" } ], - "id": 121111, + "id": 112818, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1753:8:175", + "referencedDeclaration": 112907, + "src": "1753:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121118, + "id": 112825, "isConstant": false, "isLValue": false, "isPure": false, @@ -3701,52 +3701,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1753:37:175", + "src": "1753:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1734:56:175", + "src": "1734:56:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121120, + "id": 112827, "nodeType": "ExpressionStatement", - "src": "1734:56:175" + "src": "1734:56:149" }, { "expression": { - "id": 121132, + "id": 112839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121121, + "id": 112828, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1800:4:175", + "referencedDeclaration": 112772, + "src": "1800:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121123, + "id": 112830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "1800:10:175", + "referencedDeclaration": 112660, + "src": "1800:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3758,28 +3758,28 @@ "arguments": [ { "baseExpression": { - "id": 121125, + "id": 112832, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1822:14:175", + "referencedDeclaration": 112781, + "src": "1822:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121127, + "id": 112834, "indexExpression": { "hexValue": "33", - "id": 121126, + "id": 112833, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1837:1:175", + "src": "1837:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3791,7 +3791,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1822:17:175", + "src": "1822:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3799,14 +3799,14 @@ }, { "hexValue": "33", - "id": 121128, + "id": 112835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1841:1:175", + "src": "1841:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3815,14 +3815,14 @@ }, { "hexValue": "3530", - "id": 121129, + "id": 112836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1844:2:175", + "src": "1844:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -3831,14 +3831,14 @@ }, { "hexValue": "32", - "id": 121130, + "id": 112837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1848:1:175", + "src": "1848:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3865,18 +3865,18 @@ "typeString": "int_const 2" } ], - "id": 121124, + "id": 112831, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1813:8:175", + "referencedDeclaration": 112907, + "src": "1813:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121131, + "id": 112838, "isConstant": false, "isLValue": false, "isPure": false, @@ -3884,52 +3884,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1813:37:175", + "src": "1813:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1800:50:175", + "src": "1800:50:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121133, + "id": 112840, "nodeType": "ExpressionStatement", - "src": "1800:50:175" + "src": "1800:50:149" }, { "expression": { - "id": 121145, + "id": 112852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121134, + "id": 112841, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1860:4:175", + "referencedDeclaration": 112772, + "src": "1860:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121136, + "id": 112843, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "1860:13:175", + "referencedDeclaration": 112662, + "src": "1860:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3941,28 +3941,28 @@ "arguments": [ { "baseExpression": { - "id": 121138, + "id": 112845, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1885:14:175", + "referencedDeclaration": 112781, + "src": "1885:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121140, + "id": 112847, "indexExpression": { "hexValue": "34", - "id": 121139, + "id": 112846, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1900:1:175", + "src": "1900:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3974,7 +3974,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1885:17:175", + "src": "1885:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3982,14 +3982,14 @@ }, { "hexValue": "3230", - "id": 121141, + "id": 112848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1904:2:175", + "src": "1904:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -3998,14 +3998,14 @@ }, { "hexValue": "3130", - "id": 121142, + "id": 112849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1908:2:175", + "src": "1908:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -4014,14 +4014,14 @@ }, { "hexValue": "33", - "id": 121143, + "id": 112850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1912:1:175", + "src": "1912:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -4048,18 +4048,18 @@ "typeString": "int_const 3" } ], - "id": 121137, + "id": 112844, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1876:8:175", + "referencedDeclaration": 112907, + "src": "1876:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121144, + "id": 112851, "isConstant": false, "isLValue": false, "isPure": false, @@ -4067,52 +4067,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1876:38:175", + "src": "1876:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1860:54:175", + "src": "1860:54:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121146, + "id": 112853, "nodeType": "ExpressionStatement", - "src": "1860:54:175" + "src": "1860:54:149" }, { "expression": { - "id": 121158, + "id": 112865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121147, + "id": 112854, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1924:4:175", + "referencedDeclaration": 112772, + "src": "1924:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121149, + "id": 112856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "1924:10:175", + "referencedDeclaration": 112664, + "src": "1924:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4124,28 +4124,28 @@ "arguments": [ { "baseExpression": { - "id": 121151, + "id": 112858, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1946:14:175", + "referencedDeclaration": 112781, + "src": "1946:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121153, + "id": 112860, "indexExpression": { "hexValue": "35", - "id": 121152, + "id": 112859, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1961:1:175", + "src": "1961:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -4157,7 +4157,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1946:17:175", + "src": "1946:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4165,14 +4165,14 @@ }, { "hexValue": "32", - "id": 121154, + "id": 112861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1965:1:175", + "src": "1965:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4181,14 +4181,14 @@ }, { "hexValue": "3530", - "id": 121155, + "id": 112862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1968:2:175", + "src": "1968:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -4197,14 +4197,14 @@ }, { "hexValue": "31", - "id": 121156, + "id": 112863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1972:1:175", + "src": "1972:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4231,18 +4231,18 @@ "typeString": "int_const 1" } ], - "id": 121150, + "id": 112857, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1937:8:175", + "referencedDeclaration": 112907, + "src": "1937:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121157, + "id": 112864, "isConstant": false, "isLValue": false, "isPure": false, @@ -4250,54 +4250,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1937:37:175", + "src": "1937:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1924:50:175", + "src": "1924:50:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121159, + "id": 112866, "nodeType": "ExpressionStatement", - "src": "1924:50:175" + "src": "1924:50:149" }, { "expression": { - "id": 121165, + "id": 112872, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121160, + "id": 112867, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1985:4:175", + "referencedDeclaration": 112772, + "src": "1985:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121162, + "id": 112869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "1985:10:175", + "referencedDeclaration": 112667, + "src": "1985:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -4305,40 +4305,40 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 121163, + "id": 112870, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1998:11:175", + "referencedDeclaration": 112350, + "src": "1998:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121164, + "id": 112871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "1998:21:175", + "referencedDeclaration": 112349, + "src": "1998:21:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1985:34:175", + "src": "1985:34:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 121166, + "id": 112873, "nodeType": "ExpressionStatement", - "src": "1985:34:175" + "src": "1985:34:149" } ] }, @@ -4347,20 +4347,20 @@ "kind": "function", "modifiers": [], "name": "revealNFT", - "nameLocation": "1386:9:175", + "nameLocation": "1386:9:149", "parameters": { - "id": 121061, + "id": 112768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121060, + "id": 112767, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1404:8:175", + "nameLocation": "1404:8:149", "nodeType": "VariableDeclaration", - "scope": 121168, - "src": "1396:16:175", + "scope": 112875, + "src": "1396:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4368,10 +4368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121059, + "id": 112766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1396:7:175", + "src": "1396:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4380,44 +4380,44 @@ "visibility": "internal" } ], - "src": "1395:18:175" + "src": "1395:18:149" }, "returnParameters": { - "id": 121062, + "id": 112769, "nodeType": "ParameterList", "parameters": [], - "src": "1423:0:175" + "src": "1423:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 121200, + "id": 112907, "nodeType": "FunctionDefinition", - "src": "2032:259:175", + "src": "2032:259:149", "nodes": [], "body": { - "id": 121199, + "id": 112906, "nodeType": "Block", - "src": "2185:106:175", + "src": "2185:106:149", "nodes": [], "statements": [ { "assignments": [ - 121182 + 112889 ], "declarations": [ { "constant": false, - "id": 121182, + "id": 112889, "mutability": "mutable", "name": "times", - "nameLocation": "2203:5:175", + "nameLocation": "2203:5:149", "nodeType": "VariableDeclaration", - "scope": 121199, - "src": "2195:13:175", + "scope": 112906, + "src": "2195:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4425,10 +4425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121181, + "id": 112888, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2195:7:175", + "src": "2195:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4437,7 +4437,7 @@ "visibility": "internal" } ], - "id": 121192, + "id": 112899, "initialValue": { "arguments": [ { @@ -4445,7 +4445,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121190, + "id": 112897, "isConstant": false, "isLValue": false, "isPure": false, @@ -4457,18 +4457,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 121187, + "id": 112894, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121185, + "id": 112892, "name": "_rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121170, - "src": "2220:5:175", + "referencedDeclaration": 112877, + "src": "2220:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4478,35 +4478,35 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 121186, + "id": 112893, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2228:1:175", + "src": "2228:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2220:9:175", + "src": "2220:9:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 121188, + "id": 112895, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2219:11:175", + "src": "2219:11:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4515,18 +4515,18 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 121189, + "id": 112896, "name": "_step", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121174, - "src": "2233:5:175", + "referencedDeclaration": 112881, + "src": "2233:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2219:19:175", + "src": "2219:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4540,26 +4540,26 @@ "typeString": "uint256" } ], - "id": 121184, + "id": 112891, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2211:7:175", + "src": "2211:7:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 121183, + "id": 112890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2211:7:175", + "src": "2211:7:149", "typeDescriptions": {} } }, - "id": 121191, + "id": 112898, "isConstant": false, "isLValue": false, "isPure": false, @@ -4567,7 +4567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2211:28:175", + "src": "2211:28:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4575,7 +4575,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2195:44:175" + "src": "2195:44:149" }, { "expression": { @@ -4583,18 +4583,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121197, + "id": 112904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121193, + "id": 112900, "name": "_start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121172, - "src": "2256:6:175", + "referencedDeclaration": 112879, + "src": "2256:6:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4607,18 +4607,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121196, + "id": 112903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121194, + "id": 112901, "name": "times", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121182, - "src": "2265:5:175", + "referencedDeclaration": 112889, + "src": "2265:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4627,33 +4627,33 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 121195, + "id": 112902, "name": "_stepLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121176, - "src": "2273:11:175", + "referencedDeclaration": 112883, + "src": "2273:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2265:19:175", + "src": "2265:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2256:28:175", + "src": "2256:28:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 121180, - "id": 121198, + "functionReturnParameters": 112887, + "id": 112905, "nodeType": "Return", - "src": "2249:35:175" + "src": "2249:35:149" } ] }, @@ -4661,20 +4661,20 @@ "kind": "function", "modifiers": [], "name": "getRange", - "nameLocation": "2041:8:175", + "nameLocation": "2041:8:149", "parameters": { - "id": 121177, + "id": 112884, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121170, + "id": 112877, "mutability": "mutable", "name": "_rand", - "nameLocation": "2065:5:175", + "nameLocation": "2065:5:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2059:11:175", + "scope": 112907, + "src": "2059:11:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4682,10 +4682,10 @@ "typeString": "uint8" }, "typeName": { - "id": 121169, + "id": 112876, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2059:5:175", + "src": "2059:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4695,13 +4695,13 @@ }, { "constant": false, - "id": 121172, + "id": 112879, "mutability": "mutable", "name": "_start", - "nameLocation": "2088:6:175", + "nameLocation": "2088:6:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2080:14:175", + "scope": 112907, + "src": "2080:14:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4709,10 +4709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121171, + "id": 112878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2080:7:175", + "src": "2080:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4722,13 +4722,13 @@ }, { "constant": false, - "id": 121174, + "id": 112881, "mutability": "mutable", "name": "_step", - "nameLocation": "2112:5:175", + "nameLocation": "2112:5:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2104:13:175", + "scope": 112907, + "src": "2104:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4736,10 +4736,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121173, + "id": 112880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2104:7:175", + "src": "2104:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4749,13 +4749,13 @@ }, { "constant": false, - "id": 121176, + "id": 112883, "mutability": "mutable", "name": "_stepLength", - "nameLocation": "2135:11:175", + "nameLocation": "2135:11:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2127:19:175", + "scope": 112907, + "src": "2127:19:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4763,10 +4763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121175, + "id": 112882, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2127:7:175", + "src": "2127:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4775,21 +4775,21 @@ "visibility": "internal" } ], - "src": "2049:103:175" + "src": "2049:103:149" }, "returnParameters": { - "id": 121180, + "id": 112887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121179, + "id": 112886, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2176:7:175", + "scope": 112907, + "src": "2176:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,10 +4797,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121178, + "id": 112885, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2176:7:175", + "src": "2176:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4809,22 +4809,22 @@ "visibility": "internal" } ], - "src": "2175:9:175" + "src": "2175:9:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121220, + "id": 112927, "nodeType": "FunctionDefinition", - "src": "2297:187:175", + "src": "2297:187:149", "nodes": [], "body": { - "id": 121219, + "id": 112926, "nodeType": "Block", - "src": "2415:69:175", + "src": "2415:69:149", "nodes": [], "statements": [ { @@ -4833,12 +4833,12 @@ { "arguments": [ { - "id": 121213, + "id": 112920, "name": "_key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121202, - "src": "2456:4:175", + "referencedDeclaration": 112909, + "src": "2456:4:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4846,14 +4846,14 @@ }, { "hexValue": "203a20", - "id": 121214, + "id": 112921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2462:5:175", + "src": "2462:5:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", "typeString": "literal_string \" : \"" @@ -4861,12 +4861,12 @@ "value": " : " }, { - "id": 121215, + "id": 112922, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121204, - "src": "2469:6:175", + "referencedDeclaration": 112911, + "src": "2469:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4889,31 +4889,31 @@ } ], "expression": { - "id": 121211, + "id": 112918, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2439:3:175", + "src": "2439:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121212, + "id": 112919, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2439:16:175", + "src": "2439:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121216, + "id": 112923, "isConstant": false, "isLValue": false, "isPure": false, @@ -4921,7 +4921,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2439:37:175", + "src": "2439:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4936,26 +4936,26 @@ "typeString": "bytes memory" } ], - "id": 121210, + "id": 112917, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2432:6:175", + "src": "2432:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121209, + "id": 112916, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2432:6:175", + "src": "2432:6:149", "typeDescriptions": {} } }, - "id": 121217, + "id": 112924, "isConstant": false, "isLValue": false, "isPure": false, @@ -4963,17 +4963,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2432:45:175", + "src": "2432:45:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121208, - "id": 121218, + "functionReturnParameters": 112915, + "id": 112925, "nodeType": "Return", - "src": "2425:52:175" + "src": "2425:52:149" } ] }, @@ -4981,20 +4981,20 @@ "kind": "function", "modifiers": [], "name": "concat", - "nameLocation": "2306:6:175", + "nameLocation": "2306:6:149", "parameters": { - "id": 121205, + "id": 112912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121202, + "id": 112909, "mutability": "mutable", "name": "_key", - "nameLocation": "2336:4:175", + "nameLocation": "2336:4:149", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2322:18:175", + "scope": 112927, + "src": "2322:18:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5002,10 +5002,10 @@ "typeString": "string" }, "typeName": { - "id": 121201, + "id": 112908, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2322:6:175", + "src": "2322:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5015,13 +5015,13 @@ }, { "constant": false, - "id": 121204, + "id": 112911, "mutability": "mutable", "name": "_value", - "nameLocation": "2364:6:175", + "nameLocation": "2364:6:149", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2350:20:175", + "scope": 112927, + "src": "2350:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5029,10 +5029,10 @@ "typeString": "string" }, "typeName": { - "id": 121203, + "id": 112910, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2350:6:175", + "src": "2350:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5041,21 +5041,21 @@ "visibility": "internal" } ], - "src": "2312:64:175" + "src": "2312:64:149" }, "returnParameters": { - "id": 121208, + "id": 112915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121207, + "id": 112914, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2400:13:175", + "scope": 112927, + "src": "2400:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5063,10 +5063,10 @@ "typeString": "string" }, "typeName": { - "id": 121206, + "id": 112913, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2400:6:175", + "src": "2400:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5075,38 +5075,38 @@ "visibility": "internal" } ], - "src": "2399:15:175" + "src": "2399:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121380, + "id": 113087, "nodeType": "FunctionDefinition", - "src": "2490:1348:175", + "src": "2490:1348:149", "nodes": [], "body": { - "id": 121379, + "id": 113086, "nodeType": "Block", - "src": "2565:1273:175", + "src": "2565:1273:149", "nodes": [], "statements": [ { "assignments": [ - 121233 + 112940 ], "declarations": [ { "constant": false, - "id": 121233, + "id": 112940, "mutability": "mutable", "name": "parts", - "nameLocation": "2593:5:175", + "nameLocation": "2593:5:149", "nodeType": "VariableDeclaration", - "scope": 121379, - "src": "2575:23:175", + "scope": 113086, + "src": "2575:23:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5115,26 +5115,26 @@ }, "typeName": { "baseType": { - "id": 121231, + "id": 112938, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2575:6:175", + "src": "2575:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 121232, + "id": 112939, "length": { "hexValue": "3133", - "id": 121230, + "id": 112937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2582:2:175", + "src": "2582:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -5142,7 +5142,7 @@ "value": "13" }, "nodeType": "ArrayTypeName", - "src": "2575:10:175", + "src": "2575:10:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$13_storage_ptr", "typeString": "string[13]" @@ -5151,41 +5151,41 @@ "visibility": "internal" } ], - "id": 121234, + "id": 112941, "nodeType": "VariableDeclarationStatement", - "src": "2575:23:175" + "src": "2575:23:149" }, { "expression": { - "id": 121239, + "id": 112946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121235, + "id": 112942, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2609:5:175", + "referencedDeclaration": 112940, + "src": "2609:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121237, + "id": 112944, "indexExpression": { "hexValue": "30", - "id": 121236, + "id": 112943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2628:1:175", + "src": "2628:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5197,7 +5197,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2609:30:175", + "src": "2609:30:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5207,61 +5207,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", - "id": 121238, + "id": 112945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2642:255:175", + "src": "2642:255:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2609:288:175", + "src": "2609:288:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121240, + "id": 112947, "nodeType": "ExpressionStatement", - "src": "2609:288:175" + "src": "2609:288:149" }, { "expression": { - "id": 121251, + "id": 112958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121241, + "id": 112948, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2908:5:175", + "referencedDeclaration": 112940, + "src": "2908:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121243, + "id": 112950, "indexExpression": { "hexValue": "31", - "id": 121242, + "id": 112949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2914:1:175", + "src": "2914:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5273,7 +5273,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2908:8:175", + "src": "2908:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5285,14 +5285,14 @@ "arguments": [ { "hexValue": "4850", - "id": 121245, + "id": 112952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2926:4:175", + "src": "2926:4:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", "typeString": "literal_string \"HP\"" @@ -5305,46 +5305,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121246, + "id": 112953, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "2932:4:175", + "referencedDeclaration": 112930, + "src": "2932:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121247, + "id": 112954, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "2932:7:175", + "referencedDeclaration": 112654, + "src": "2932:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121248, + "id": 112955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "2932:16:175", + "referencedDeclaration": 30738, + "src": "2932:16:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121249, + "id": 112956, "isConstant": false, "isLValue": false, "isPure": false, @@ -5352,7 +5352,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2932:18:175", + "src": "2932:18:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5371,18 +5371,18 @@ "typeString": "string memory" } ], - "id": 121244, + "id": 112951, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "2919:6:175", + "referencedDeclaration": 112927, + "src": "2919:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121250, + "id": 112957, "isConstant": false, "isLValue": false, "isPure": false, @@ -5390,54 +5390,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2919:32:175", + "src": "2919:32:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2908:43:175", + "src": "2908:43:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121252, + "id": 112959, "nodeType": "ExpressionStatement", - "src": "2908:43:175" + "src": "2908:43:149" }, { "expression": { - "id": 121257, + "id": 112964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121253, + "id": 112960, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2962:5:175", + "referencedDeclaration": 112940, + "src": "2962:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121255, + "id": 112962, "indexExpression": { "hexValue": "32", - "id": 121254, + "id": 112961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2968:1:175", + "src": "2968:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5449,7 +5449,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2962:8:175", + "src": "2962:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5459,61 +5459,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", - "id": 121256, + "id": 112963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2973:42:175", + "src": "2973:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2962:53:175", + "src": "2962:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121258, + "id": 112965, "nodeType": "ExpressionStatement", - "src": "2962:53:175" + "src": "2962:53:149" }, { "expression": { - "id": 121269, + "id": 112976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121259, + "id": 112966, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3026:5:175", + "referencedDeclaration": 112940, + "src": "3026:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121261, + "id": 112968, "indexExpression": { "hexValue": "33", - "id": 121260, + "id": 112967, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3032:1:175", + "src": "3032:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -5525,7 +5525,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3026:8:175", + "src": "3026:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5537,14 +5537,14 @@ "arguments": [ { "hexValue": "41747461636b", - "id": 121263, + "id": 112970, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3044:8:175", + "src": "3044:8:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", "typeString": "literal_string \"Attack\"" @@ -5557,46 +5557,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121264, + "id": 112971, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3054:4:175", + "referencedDeclaration": 112930, + "src": "3054:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121265, + "id": 112972, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "3054:11:175", + "referencedDeclaration": 112656, + "src": "3054:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121266, + "id": 112973, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3054:20:175", + "referencedDeclaration": 30738, + "src": "3054:20:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121267, + "id": 112974, "isConstant": false, "isLValue": false, "isPure": false, @@ -5604,7 +5604,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3054:22:175", + "src": "3054:22:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5623,18 +5623,18 @@ "typeString": "string memory" } ], - "id": 121262, + "id": 112969, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3037:6:175", + "referencedDeclaration": 112927, + "src": "3037:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121268, + "id": 112975, "isConstant": false, "isLValue": false, "isPure": false, @@ -5642,54 +5642,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3037:40:175", + "src": "3037:40:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3026:51:175", + "src": "3026:51:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121270, + "id": 112977, "nodeType": "ExpressionStatement", - "src": "3026:51:175" + "src": "3026:51:149" }, { "expression": { - "id": 121275, + "id": 112982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121271, + "id": 112978, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3088:5:175", + "referencedDeclaration": 112940, + "src": "3088:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121273, + "id": 112980, "indexExpression": { "hexValue": "34", - "id": 121272, + "id": 112979, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3094:1:175", + "src": "3094:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5701,7 +5701,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3088:8:175", + "src": "3088:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5711,61 +5711,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", - "id": 121274, + "id": 112981, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3099:42:175", + "src": "3099:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3088:53:175", + "src": "3088:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121276, + "id": 112983, "nodeType": "ExpressionStatement", - "src": "3088:53:175" + "src": "3088:53:149" }, { "expression": { - "id": 121287, + "id": 112994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121277, + "id": 112984, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3152:5:175", + "referencedDeclaration": 112940, + "src": "3152:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121279, + "id": 112986, "indexExpression": { "hexValue": "35", - "id": 121278, + "id": 112985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3158:1:175", + "src": "3158:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -5777,7 +5777,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3152:8:175", + "src": "3152:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5789,14 +5789,14 @@ "arguments": [ { "hexValue": "41747461636b52616e6765", - "id": 121281, + "id": 112988, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3170:13:175", + "src": "3170:13:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", "typeString": "literal_string \"AttackRange\"" @@ -5809,46 +5809,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121282, + "id": 112989, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3185:4:175", + "referencedDeclaration": 112930, + "src": "3185:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121283, + "id": 112990, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "3185:16:175", + "referencedDeclaration": 112658, + "src": "3185:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121284, + "id": 112991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3185:25:175", + "referencedDeclaration": 30738, + "src": "3185:25:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121285, + "id": 112992, "isConstant": false, "isLValue": false, "isPure": false, @@ -5856,7 +5856,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3185:27:175", + "src": "3185:27:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5875,18 +5875,18 @@ "typeString": "string memory" } ], - "id": 121280, + "id": 112987, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3163:6:175", + "referencedDeclaration": 112927, + "src": "3163:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121286, + "id": 112993, "isConstant": false, "isLValue": false, "isPure": false, @@ -5894,54 +5894,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3163:50:175", + "src": "3163:50:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3152:61:175", + "src": "3152:61:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121288, + "id": 112995, "nodeType": "ExpressionStatement", - "src": "3152:61:175" + "src": "3152:61:149" }, { "expression": { - "id": 121293, + "id": 113000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121289, + "id": 112996, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3224:5:175", + "referencedDeclaration": 112940, + "src": "3224:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121291, + "id": 112998, "indexExpression": { "hexValue": "36", - "id": 121290, + "id": 112997, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3230:1:175", + "src": "3230:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -5953,7 +5953,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3224:8:175", + "src": "3224:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5963,61 +5963,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", - "id": 121292, + "id": 112999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3235:42:175", + "src": "3235:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3224:53:175", + "src": "3224:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121294, + "id": 113001, "nodeType": "ExpressionStatement", - "src": "3224:53:175" + "src": "3224:53:149" }, { "expression": { - "id": 121305, + "id": 113012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121295, + "id": 113002, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3288:5:175", + "referencedDeclaration": 112940, + "src": "3288:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121297, + "id": 113004, "indexExpression": { "hexValue": "37", - "id": 121296, + "id": 113003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3294:1:175", + "src": "3294:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -6029,7 +6029,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3288:8:175", + "src": "3288:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6041,14 +6041,14 @@ "arguments": [ { "hexValue": "5370656564", - "id": 121299, + "id": 113006, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3306:7:175", + "src": "3306:7:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", "typeString": "literal_string \"Speed\"" @@ -6061,46 +6061,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121300, + "id": 113007, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3314:4:175", + "referencedDeclaration": 112930, + "src": "3314:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121301, + "id": 113008, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "3314:10:175", + "referencedDeclaration": 112660, + "src": "3314:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121302, + "id": 113009, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3314:19:175", + "referencedDeclaration": 30738, + "src": "3314:19:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121303, + "id": 113010, "isConstant": false, "isLValue": false, "isPure": false, @@ -6108,7 +6108,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3314:21:175", + "src": "3314:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6127,18 +6127,18 @@ "typeString": "string memory" } ], - "id": 121298, + "id": 113005, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3299:6:175", + "referencedDeclaration": 112927, + "src": "3299:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121304, + "id": 113011, "isConstant": false, "isLValue": false, "isPure": false, @@ -6146,54 +6146,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3299:37:175", + "src": "3299:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3288:48:175", + "src": "3288:48:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121306, + "id": 113013, "nodeType": "ExpressionStatement", - "src": "3288:48:175" + "src": "3288:48:149" }, { "expression": { - "id": 121311, + "id": 113018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121307, + "id": 113014, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3347:5:175", + "referencedDeclaration": 112940, + "src": "3347:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121309, + "id": 113016, "indexExpression": { "hexValue": "38", - "id": 121308, + "id": 113015, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3353:1:175", + "src": "3353:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -6205,7 +6205,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3347:8:175", + "src": "3347:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6215,61 +6215,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", - "id": 121310, + "id": 113017, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3358:43:175", + "src": "3358:43:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3347:54:175", + "src": "3347:54:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121312, + "id": 113019, "nodeType": "ExpressionStatement", - "src": "3347:54:175" + "src": "3347:54:149" }, { "expression": { - "id": 121323, + "id": 113030, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121313, + "id": 113020, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3412:5:175", + "referencedDeclaration": 112940, + "src": "3412:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121315, + "id": 113022, "indexExpression": { "hexValue": "39", - "id": 121314, + "id": 113021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3418:1:175", + "src": "3418:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -6281,7 +6281,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3412:8:175", + "src": "3412:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6293,14 +6293,14 @@ "arguments": [ { "hexValue": "537472656e677468", - "id": 121317, + "id": 113024, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3430:10:175", + "src": "3430:10:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", "typeString": "literal_string \"Strength\"" @@ -6313,46 +6313,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121318, + "id": 113025, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3442:4:175", + "referencedDeclaration": 112930, + "src": "3442:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121319, + "id": 113026, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "3442:13:175", + "referencedDeclaration": 112662, + "src": "3442:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121320, + "id": 113027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3442:22:175", + "referencedDeclaration": 30738, + "src": "3442:22:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121321, + "id": 113028, "isConstant": false, "isLValue": false, "isPure": false, @@ -6360,7 +6360,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3442:24:175", + "src": "3442:24:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6379,18 +6379,18 @@ "typeString": "string memory" } ], - "id": 121316, + "id": 113023, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3423:6:175", + "referencedDeclaration": 112927, + "src": "3423:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121322, + "id": 113029, "isConstant": false, "isLValue": false, "isPure": false, @@ -6398,54 +6398,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3423:44:175", + "src": "3423:44:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3412:55:175", + "src": "3412:55:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121324, + "id": 113031, "nodeType": "ExpressionStatement", - "src": "3412:55:175" + "src": "3412:55:149" }, { "expression": { - "id": 121329, + "id": 113036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121325, + "id": 113032, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3478:5:175", + "referencedDeclaration": 112940, + "src": "3478:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121327, + "id": 113034, "indexExpression": { "hexValue": "3130", - "id": 121326, + "id": 113033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3484:2:175", + "src": "3484:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -6457,7 +6457,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3478:9:175", + "src": "3478:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6467,61 +6467,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", - "id": 121328, + "id": 113035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3490:43:175", + "src": "3490:43:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3478:55:175", + "src": "3478:55:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121330, + "id": 113037, "nodeType": "ExpressionStatement", - "src": "3478:55:175" + "src": "3478:55:149" }, { "expression": { - "id": 121341, + "id": 113048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121331, + "id": 113038, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3544:5:175", + "referencedDeclaration": 112940, + "src": "3544:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121333, + "id": 113040, "indexExpression": { "hexValue": "3131", - "id": 121332, + "id": 113039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3550:2:175", + "src": "3550:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -6533,7 +6533,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3544:9:175", + "src": "3544:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6545,14 +6545,14 @@ "arguments": [ { "hexValue": "5370616365", - "id": 121335, + "id": 113042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3563:7:175", + "src": "3563:7:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", "typeString": "literal_string \"Space\"" @@ -6565,46 +6565,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121336, + "id": 113043, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3572:4:175", + "referencedDeclaration": 112930, + "src": "3572:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121337, + "id": 113044, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "3572:10:175", + "referencedDeclaration": 112664, + "src": "3572:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121338, + "id": 113045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3572:19:175", + "referencedDeclaration": 30738, + "src": "3572:19:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121339, + "id": 113046, "isConstant": false, "isLValue": false, "isPure": false, @@ -6612,7 +6612,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3572:21:175", + "src": "3572:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6631,18 +6631,18 @@ "typeString": "string memory" } ], - "id": 121334, + "id": 113041, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3556:6:175", + "referencedDeclaration": 112927, + "src": "3556:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121340, + "id": 113047, "isConstant": false, "isLValue": false, "isPure": false, @@ -6650,54 +6650,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3556:38:175", + "src": "3556:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3544:50:175", + "src": "3544:50:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121342, + "id": 113049, "nodeType": "ExpressionStatement", - "src": "3544:50:175" + "src": "3544:50:149" }, { "expression": { - "id": 121347, + "id": 113054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121343, + "id": 113050, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3605:5:175", + "referencedDeclaration": 112940, + "src": "3605:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121345, + "id": 113052, "indexExpression": { "hexValue": "3132", - "id": 121344, + "id": 113051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3611:2:175", + "src": "3611:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -6709,7 +6709,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3605:9:175", + "src": "3605:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6719,44 +6719,44 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c2f7376673e", - "id": 121346, + "id": 113053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3617:15:175", + "src": "3617:15:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3605:27:175", + "src": "3605:27:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121348, + "id": 113055, "nodeType": "ExpressionStatement", - "src": "3605:27:175" + "src": "3605:27:149" }, { "assignments": [ - 121350 + 113057 ], "declarations": [ { "constant": false, - "id": 121350, + "id": 113057, "mutability": "mutable", "name": "output", - "nameLocation": "3657:6:175", + "nameLocation": "3657:6:149", "nodeType": "VariableDeclaration", - "scope": 121379, - "src": "3643:20:175", + "scope": 113086, + "src": "3643:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6764,10 +6764,10 @@ "typeString": "string" }, "typeName": { - "id": 121349, + "id": 113056, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3643:6:175", + "src": "3643:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6776,30 +6776,30 @@ "visibility": "internal" } ], - "id": 121351, + "id": 113058, "nodeType": "VariableDeclarationStatement", - "src": "3643:20:175" + "src": "3643:20:149" }, { "body": { - "id": 121375, + "id": 113082, "nodeType": "Block", - "src": "3707:102:175", + "src": "3707:102:149", "statements": [ { "expression": { - "id": 121373, + "id": 113080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121362, + "id": 113069, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3721:6:175", + "referencedDeclaration": 113057, + "src": "3721:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6812,12 +6812,12 @@ { "arguments": [ { - "id": 121367, + "id": 113074, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3767:6:175", + "referencedDeclaration": 113057, + "src": "3767:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6825,25 +6825,25 @@ }, { "baseExpression": { - "id": 121368, + "id": 113075, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3775:5:175", + "referencedDeclaration": 112940, + "src": "3775:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121370, + "id": 113077, "indexExpression": { - "id": 121369, + "id": 113076, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3781:1:175", + "referencedDeclaration": 113060, + "src": "3781:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6854,7 +6854,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3775:8:175", + "src": "3775:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6873,31 +6873,31 @@ } ], "expression": { - "id": 121365, + "id": 113072, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3750:3:175", + "src": "3750:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121366, + "id": 113073, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3750:16:175", + "src": "3750:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121371, + "id": 113078, "isConstant": false, "isLValue": false, "isPure": false, @@ -6905,7 +6905,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3750:34:175", + "src": "3750:34:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6920,26 +6920,26 @@ "typeString": "bytes memory" } ], - "id": 121364, + "id": 113071, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3730:6:175", + "src": "3730:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121363, + "id": 113070, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3730:6:175", + "src": "3730:6:149", "typeDescriptions": {} } }, - "id": 121372, + "id": 113079, "isConstant": false, "isLValue": false, "isPure": false, @@ -6947,22 +6947,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3730:68:175", + "src": "3730:68:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3721:77:175", + "src": "3721:77:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121374, + "id": 113081, "nodeType": "ExpressionStatement", - "src": "3721:77:175" + "src": "3721:77:149" } ] }, @@ -6971,18 +6971,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121358, + "id": 113065, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121355, + "id": 113062, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3688:1:175", + "referencedDeclaration": 113060, + "src": "3688:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6992,51 +6992,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 121356, + "id": 113063, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3690:5:175", + "referencedDeclaration": 112940, + "src": "3690:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121357, + "id": 113064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "3690:12:175", + "src": "3690:12:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3688:14:175", + "src": "3688:14:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121376, + "id": 113083, "initializationExpression": { "assignments": [ - 121353 + 113060 ], "declarations": [ { "constant": false, - "id": 121353, + "id": 113060, "mutability": "mutable", "name": "i", - "nameLocation": "3686:1:175", + "nameLocation": "3686:1:149", "nodeType": "VariableDeclaration", - "scope": 121376, - "src": "3678:9:175", + "scope": 113083, + "src": "3678:9:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7044,10 +7044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121352, + "id": 113059, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3678:7:175", + "src": "3678:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7056,13 +7056,13 @@ "visibility": "internal" } ], - "id": 121354, + "id": 113061, "nodeType": "VariableDeclarationStatement", - "src": "3678:9:175" + "src": "3678:9:149" }, "loopExpression": { "expression": { - "id": 121360, + "id": 113067, "isConstant": false, "isLValue": false, "isPure": false, @@ -7070,14 +7070,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3703:3:175", + "src": "3703:3:149", "subExpression": { - "id": 121359, + "id": 113066, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3703:1:175", + "referencedDeclaration": 113060, + "src": "3703:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7088,30 +7088,30 @@ "typeString": "uint256" } }, - "id": 121361, + "id": 113068, "nodeType": "ExpressionStatement", - "src": "3703:3:175" + "src": "3703:3:149" }, "nodeType": "ForStatement", - "src": "3674:135:175" + "src": "3674:135:149" }, { "expression": { - "id": 121377, + "id": 113084, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3825:6:175", + "referencedDeclaration": 113057, + "src": "3825:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121227, - "id": 121378, + "functionReturnParameters": 112934, + "id": 113085, "nodeType": "Return", - "src": "3818:13:175" + "src": "3818:13:149" } ] }, @@ -7119,61 +7119,61 @@ "kind": "function", "modifiers": [], "name": "createSVG", - "nameLocation": "2499:9:175", + "nameLocation": "2499:9:149", "parameters": { - "id": 121224, + "id": 112931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121223, + "id": 112930, "mutability": "mutable", "name": "user", - "nameLocation": "2521:4:175", + "nameLocation": "2521:4:149", "nodeType": "VariableDeclaration", - "scope": 121380, - "src": "2509:16:175", + "scope": 113087, + "src": "2509:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121222, + "id": 112929, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121221, + "id": 112928, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "2509:4:175" + "referencedDeclaration": 112668, + "src": "2509:4:149" }, - "referencedDeclaration": 120961, - "src": "2509:4:175", + "referencedDeclaration": 112668, + "src": "2509:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "src": "2508:18:175" + "src": "2508:18:149" }, "returnParameters": { - "id": 121227, + "id": 112934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121226, + "id": 112933, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121380, - "src": "2550:13:175", + "scope": 113087, + "src": "2550:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7181,10 +7181,10 @@ "typeString": "string" }, "typeName": { - "id": 121225, + "id": 112932, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2550:6:175", + "src": "2550:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7193,86 +7193,86 @@ "visibility": "internal" } ], - "src": "2549:15:175" + "src": "2549:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121475, + "id": 113182, "nodeType": "FunctionDefinition", - "src": "3844:1284:175", + "src": "3844:1284:149", "nodes": [], "body": { - "id": 121474, + "id": 113181, "nodeType": "Block", - "src": "3939:1189:175", + "src": "3939:1189:149", "nodes": [], "statements": [ { "assignments": [ - 121390 + 113097 ], "declarations": [ { "constant": false, - "id": 121390, + "id": 113097, "mutability": "mutable", "name": "user", - "nameLocation": "3961:4:175", + "nameLocation": "3961:4:149", "nodeType": "VariableDeclaration", - "scope": 121474, - "src": "3949:16:175", + "scope": 113181, + "src": "3949:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121389, + "id": 113096, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121388, + "id": 113095, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "3949:4:175" + "referencedDeclaration": 112668, + "src": "3949:4:149" }, - "referencedDeclaration": 120961, - "src": "3949:4:175", + "referencedDeclaration": 112668, + "src": "3949:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121394, + "id": 113101, "initialValue": { "baseExpression": { - "id": 121391, + "id": 113098, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "3968:8:175", + "referencedDeclaration": 112718, + "src": "3968:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121393, + "id": 113100, "indexExpression": { - "id": 121392, + "id": 113099, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121382, - "src": "3977:8:175", + "referencedDeclaration": 113089, + "src": "3977:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7283,50 +7283,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3968:18:175", + "src": "3968:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3949:37:175" + "src": "3949:37:149" }, { "condition": { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121399, + "id": 113106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121395, + "id": 113102, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4000:4:175", + "referencedDeclaration": 113097, + "src": "4000:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121396, + "id": 113103, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "4000:10:175", + "referencedDeclaration": 112667, + "src": "4000:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -7334,79 +7334,79 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121397, + "id": 113104, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "4014:11:175", + "referencedDeclaration": 112350, + "src": "4014:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121398, + "id": 113105, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "4014:19:175", + "referencedDeclaration": 112348, + "src": "4014:19:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "4000:33:175", + "src": "4000:33:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 121472, + "id": 113179, "nodeType": "Block", - "src": "4268:854:175", + "src": "4268:854:149", "statements": [ { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121419, + "id": 113126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121415, + "id": 113122, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4290:4:175", + "referencedDeclaration": 113097, + "src": "4290:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121416, + "id": 113123, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "4290:10:175", + "referencedDeclaration": 112667, + "src": "4290:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -7414,32 +7414,32 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 121417, + "id": 113124, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "4304:11:175", + "referencedDeclaration": 112350, + "src": "4304:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121418, + "id": 113125, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Inited", "nodeType": "MemberAccess", - "referencedDeclaration": 120640, - "src": "4304:18:175", + "referencedDeclaration": 112347, + "src": "4304:18:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "4290:32:175", + "src": "4290:32:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7447,14 +7447,14 @@ }, { "hexValue": "426f78206e6f742065786973746564", - "id": 121420, + "id": 113127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4324:17:175", + "src": "4324:17:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", "typeString": "literal_string \"Box not existed\"" @@ -7473,7 +7473,7 @@ "typeString": "literal_string \"Box not existed\"" } ], - "id": 121414, + "id": 113121, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7481,13 +7481,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4282:7:175", + "src": "4282:7:149", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 121421, + "id": 113128, "isConstant": false, "isLValue": false, "isPure": false, @@ -7495,31 +7495,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4282:60:175", + "src": "4282:60:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121422, + "id": 113129, "nodeType": "ExpressionStatement", - "src": "4282:60:175" + "src": "4282:60:149" }, { "assignments": [ - 121424 + 113131 ], "declarations": [ { "constant": false, - "id": 121424, + "id": 113131, "mutability": "mutable", "name": "output", - "nameLocation": "4370:6:175", + "nameLocation": "4370:6:149", "nodeType": "VariableDeclaration", - "scope": 121472, - "src": "4356:20:175", + "scope": 113179, + "src": "4356:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7527,10 +7527,10 @@ "typeString": "string" }, "typeName": { - "id": 121423, + "id": 113130, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4356:6:175", + "src": "4356:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7539,18 +7539,18 @@ "visibility": "internal" } ], - "id": 121428, + "id": 113135, "initialValue": { "arguments": [ { - "id": 121426, + "id": 113133, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4389:4:175", + "referencedDeclaration": 113097, + "src": "4389:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } } @@ -7558,22 +7558,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } ], - "id": 121425, + "id": 113132, "name": "createSVG", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121380, - "src": "4379:9:175", + "referencedDeclaration": 113087, + "src": "4379:9:149", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$120961_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$112668_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (struct MUser.User memory) pure returns (string memory)" } }, - "id": 121427, + "id": 113134, "isConstant": false, "isLValue": false, "isPure": false, @@ -7581,7 +7581,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4379:15:175", + "src": "4379:15:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7589,22 +7589,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4356:38:175" + "src": "4356:38:149" }, { "assignments": [ - 121430 + 113137 ], "declarations": [ { "constant": false, - "id": 121430, + "id": 113137, "mutability": "mutable", "name": "json", - "nameLocation": "4422:4:175", + "nameLocation": "4422:4:149", "nodeType": "VariableDeclaration", - "scope": 121472, - "src": "4408:18:175", + "scope": 113179, + "src": "4408:18:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7612,10 +7612,10 @@ "typeString": "string" }, "typeName": { - "id": 121429, + "id": 113136, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4408:6:175", + "src": "4408:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7624,7 +7624,7 @@ "visibility": "internal" } ], - "id": 121458, + "id": 113165, "initialValue": { "arguments": [ { @@ -7635,14 +7635,14 @@ "arguments": [ { "hexValue": "7b226e616d65223a20224d557365722023", - "id": 121439, + "id": 113146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4565:19:175", + "src": "4565:19:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", "typeString": "literal_string \"{\"name\": \"MUser #\"" @@ -7654,32 +7654,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 121440, + "id": 113147, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121382, - "src": "4614:8:175", + "referencedDeclaration": 113089, + "src": "4614:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121441, + "id": 113148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "4614:17:175", + "referencedDeclaration": 30738, + "src": "4614:17:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121442, + "id": 113149, "isConstant": false, "isLValue": false, "isPure": false, @@ -7687,7 +7687,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4614:19:175", + "src": "4614:19:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7696,14 +7696,14 @@ }, { "hexValue": "222c20226465736372697074696f6e223a22", - "id": 121443, + "id": 113150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4663:20:175", + "src": "4663:20:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", "typeString": "literal_string \"\", \"description\":\"\"" @@ -7711,12 +7711,12 @@ "value": "\", \"description\":\"" }, { - "id": 121444, + "id": 113151, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120971, - "src": "4713:12:175", + "referencedDeclaration": 112678, + "src": "4713:12:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7724,14 +7724,14 @@ }, { "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", - "id": 121445, + "id": 113152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4755:40:175", + "src": "4755:40:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" @@ -7743,12 +7743,12 @@ { "arguments": [ { - "id": 121450, + "id": 113157, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "4845:6:175", + "referencedDeclaration": 113131, + "src": "4845:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7762,26 +7762,26 @@ "typeString": "string memory" } ], - "id": 121449, + "id": 113156, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4839:5:175", + "src": "4839:5:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 121448, + "id": 113155, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4839:5:175", + "src": "4839:5:149", "typeDescriptions": {} } }, - "id": 121451, + "id": 113158, "isConstant": false, "isLValue": false, "isPure": false, @@ -7789,7 +7789,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4839:13:175", + "src": "4839:13:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7805,32 +7805,32 @@ } ], "expression": { - "id": 121446, + "id": 113153, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "4825:6:175", + "referencedDeclaration": 111110, + "src": "4825:6:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 121447, + "id": 113154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "4825:13:175", + "referencedDeclaration": 111109, + "src": "4825:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 121452, + "id": 113159, "isConstant": false, "isLValue": false, "isPure": false, @@ -7838,7 +7838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4825:28:175", + "src": "4825:28:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7847,14 +7847,14 @@ }, { "hexValue": "227d", - "id": 121453, + "id": 113160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4883:4:175", + "src": "4883:4:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -7894,31 +7894,31 @@ } ], "expression": { - "id": 121437, + "id": 113144, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4519:3:175", + "src": "4519:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121438, + "id": 113145, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4519:16:175", + "src": "4519:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121454, + "id": 113161, "isConstant": false, "isLValue": false, "isPure": false, @@ -7926,7 +7926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4519:394:175", + "src": "4519:394:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7941,26 +7941,26 @@ "typeString": "bytes memory" } ], - "id": 121436, + "id": 113143, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4487:6:175", + "src": "4487:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121435, + "id": 113142, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4487:6:175", + "src": "4487:6:149", "typeDescriptions": {} } }, - "id": 121455, + "id": 113162, "isConstant": false, "isLValue": false, "isPure": false, @@ -7968,7 +7968,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4487:448:175", + "src": "4487:448:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7983,26 +7983,26 @@ "typeString": "string memory" } ], - "id": 121434, + "id": 113141, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4460:5:175", + "src": "4460:5:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 121433, + "id": 113140, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4460:5:175", + "src": "4460:5:149", "typeDescriptions": {} } }, - "id": 121456, + "id": 113163, "isConstant": false, "isLValue": false, "isPure": false, @@ -8010,7 +8010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4460:493:175", + "src": "4460:493:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8026,32 +8026,32 @@ } ], "expression": { - "id": 121431, + "id": 113138, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "4429:6:175", + "referencedDeclaration": 111110, + "src": "4429:6:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 121432, + "id": 113139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "4429:13:175", + "referencedDeclaration": 111109, + "src": "4429:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 121457, + "id": 113164, "isConstant": false, "isLValue": false, "isPure": false, @@ -8059,7 +8059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4429:538:175", + "src": "4429:538:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8067,22 +8067,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4408:559:175" + "src": "4408:559:149" }, { "expression": { - "id": 121468, + "id": 113175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121459, + "id": 113166, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "4981:6:175", + "referencedDeclaration": 113131, + "src": "4981:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8096,14 +8096,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 121464, + "id": 113171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5031:31:175", + "src": "5031:31:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8111,12 +8111,12 @@ "value": "data:application/json;base64," }, { - "id": 121465, + "id": 113172, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121430, - "src": "5064:4:175", + "referencedDeclaration": 113137, + "src": "5064:4:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8135,31 +8135,31 @@ } ], "expression": { - "id": 121462, + "id": 113169, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5014:3:175", + "src": "5014:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121463, + "id": 113170, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5014:16:175", + "src": "5014:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121466, + "id": 113173, "isConstant": false, "isLValue": false, "isPure": false, @@ -8167,7 +8167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5014:55:175", + "src": "5014:55:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8182,26 +8182,26 @@ "typeString": "bytes memory" } ], - "id": 121461, + "id": 113168, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4990:6:175", + "src": "4990:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121460, + "id": 113167, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4990:6:175", + "src": "4990:6:149", "typeDescriptions": {} } }, - "id": 121467, + "id": 113174, "isConstant": false, "isLValue": false, "isPure": false, @@ -8209,65 +8209,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4990:93:175", + "src": "4990:93:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4981:102:175", + "src": "4981:102:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121469, + "id": 113176, "nodeType": "ExpressionStatement", - "src": "4981:102:175" + "src": "4981:102:149" }, { "expression": { - "id": 121470, + "id": 113177, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "5105:6:175", + "referencedDeclaration": 113131, + "src": "5105:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121387, - "id": 121471, + "functionReturnParameters": 113094, + "id": 113178, "nodeType": "Return", - "src": "5098:13:175" + "src": "5098:13:149" } ] }, - "id": 121473, + "id": 113180, "nodeType": "IfStatement", - "src": "3996:1126:175", + "src": "3996:1126:149", "trueBody": { - "id": 121413, + "id": 113120, "nodeType": "Block", - "src": "4035:227:175", + "src": "4035:227:149", "statements": [ { "assignments": [ - 121401 + 113108 ], "declarations": [ { "constant": false, - "id": 121401, + "id": 113108, "mutability": "mutable", "name": "r", - "nameLocation": "4063:1:175", + "nameLocation": "4063:1:149", "nodeType": "VariableDeclaration", - "scope": 121413, - "src": "4049:15:175", + "scope": 113120, + "src": "4049:15:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8275,10 +8275,10 @@ "typeString": "string" }, "typeName": { - "id": 121400, + "id": 113107, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4049:6:175", + "src": "4049:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8287,21 +8287,21 @@ "visibility": "internal" } ], - "id": 121410, + "id": 113117, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 121406, + "id": 113113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4129:31:175", + "src": "4129:31:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8309,12 +8309,12 @@ "value": "data:application/json;base64," }, { - "id": 121407, + "id": 113114, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120969, - "src": "4182:15:175", + "referencedDeclaration": 112676, + "src": "4182:15:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8333,31 +8333,31 @@ } ], "expression": { - "id": 121404, + "id": 113111, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4091:3:175", + "src": "4091:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121405, + "id": 113112, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4091:16:175", + "src": "4091:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121408, + "id": 113115, "isConstant": false, "isLValue": false, "isPure": false, @@ -8365,7 +8365,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4091:124:175", + "src": "4091:124:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8380,26 +8380,26 @@ "typeString": "bytes memory" } ], - "id": 121403, + "id": 113110, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4067:6:175", + "src": "4067:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121402, + "id": 113109, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4067:6:175", + "src": "4067:6:149", "typeDescriptions": {} } }, - "id": 121409, + "id": 113116, "isConstant": false, "isLValue": false, "isPure": false, @@ -8407,7 +8407,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4067:162:175", + "src": "4067:162:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8415,25 +8415,25 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4049:180:175" + "src": "4049:180:149" }, { "expression": { - "id": 121411, + "id": 113118, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121401, - "src": "4250:1:175", + "referencedDeclaration": 113108, + "src": "4250:1:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121387, - "id": 121412, + "functionReturnParameters": 113094, + "id": 113119, "nodeType": "Return", - "src": "4243:8:175" + "src": "4243:8:149" } ] } @@ -8441,33 +8441,33 @@ ] }, "baseFunctions": [ - 71703 + 29444 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "3853:8:175", + "nameLocation": "3853:8:149", "overrides": { - "id": 121384, + "id": 113091, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3906:8:175" + "src": "3906:8:149" }, "parameters": { - "id": 121383, + "id": 113090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121382, + "id": 113089, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3879:8:175", + "nameLocation": "3879:8:149", "nodeType": "VariableDeclaration", - "scope": 121475, - "src": "3871:16:175", + "scope": 113182, + "src": "3871:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8475,10 +8475,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121381, + "id": 113088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3871:7:175", + "src": "3871:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8487,21 +8487,21 @@ "visibility": "internal" } ], - "src": "3861:32:175" + "src": "3861:32:149" }, "returnParameters": { - "id": 121387, + "id": 113094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121386, + "id": 113093, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121475, - "src": "3924:13:175", + "scope": 113182, + "src": "3924:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8509,10 +8509,10 @@ "typeString": "string" }, "typeName": { - "id": 121385, + "id": 113092, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3924:6:175", + "src": "3924:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8521,86 +8521,86 @@ "visibility": "internal" } ], - "src": "3923:15:175" + "src": "3923:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 121523, + "id": 113230, "nodeType": "FunctionDefinition", - "src": "5138:372:175", + "src": "5138:372:149", "nodes": [], "body": { - "id": 121522, + "id": 113229, "nodeType": "Block", - "src": "5249:261:175", + "src": "5249:261:149", "nodes": [], "statements": [ { "assignments": [ - 121494 + 113201 ], "declarations": [ { "constant": false, - "id": 121494, + "id": 113201, "mutability": "mutable", "name": "user", - "nameLocation": "5271:4:175", + "nameLocation": "5271:4:149", "nodeType": "VariableDeclaration", - "scope": 121522, - "src": "5259:16:175", + "scope": 113229, + "src": "5259:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121493, + "id": 113200, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121492, + "id": 113199, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "5259:4:175" + "referencedDeclaration": 112668, + "src": "5259:4:149" }, - "referencedDeclaration": 120961, - "src": "5259:4:175", + "referencedDeclaration": 112668, + "src": "5259:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121498, + "id": 113205, "initialValue": { "baseExpression": { - "id": 121495, + "id": 113202, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "5278:8:175", + "referencedDeclaration": 112718, + "src": "5278:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121497, + "id": 113204, "indexExpression": { - "id": 121496, + "id": 113203, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121477, - "src": "5287:8:175", + "referencedDeclaration": 113184, + "src": "5287:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8611,52 +8611,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5278:18:175", + "src": "5278:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5259:37:175" + "src": "5259:37:149" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121504, + "id": 113211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121500, + "id": 113207, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5314:4:175", + "referencedDeclaration": 113201, + "src": "5314:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121501, + "id": 113208, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "5314:10:175", + "referencedDeclaration": 112667, + "src": "5314:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -8664,32 +8664,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121502, + "id": 113209, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "5328:11:175", + "referencedDeclaration": 112350, + "src": "5328:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121503, + "id": 113210, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "5328:21:175", + "referencedDeclaration": 112349, + "src": "5328:21:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "5314:35:175", + "src": "5314:35:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8697,14 +8697,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 121505, + "id": 113212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5350:17:175", + "src": "5350:17:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -8723,7 +8723,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 121499, + "id": 113206, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8731,13 +8731,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5306:7:175", + "src": "5306:7:149", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 121506, + "id": 113213, "isConstant": false, "isLValue": false, "isPure": false, @@ -8745,42 +8745,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5306:62:175", + "src": "5306:62:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121507, + "id": 113214, "nodeType": "ExpressionStatement", - "src": "5306:62:175" + "src": "5306:62:149" }, { "expression": { "components": [ { "expression": { - "id": 121508, + "id": 113215, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5385:4:175", + "referencedDeclaration": 113201, + "src": "5385:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121509, + "id": 113216, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "5385:7:175", + "referencedDeclaration": 112654, + "src": "5385:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8788,26 +8788,26 @@ }, { "expression": { - "id": 121510, + "id": 113217, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5402:4:175", + "referencedDeclaration": 113201, + "src": "5402:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121511, + "id": 113218, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "5402:11:175", + "referencedDeclaration": 112656, + "src": "5402:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8815,26 +8815,26 @@ }, { "expression": { - "id": 121512, + "id": 113219, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5423:4:175", + "referencedDeclaration": 113201, + "src": "5423:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121513, + "id": 113220, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "5423:16:175", + "referencedDeclaration": 112658, + "src": "5423:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8842,26 +8842,26 @@ }, { "expression": { - "id": 121514, + "id": 113221, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5449:4:175", + "referencedDeclaration": 113201, + "src": "5449:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121515, + "id": 113222, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "5449:10:175", + "referencedDeclaration": 112660, + "src": "5449:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8869,26 +8869,26 @@ }, { "expression": { - "id": 121516, + "id": 113223, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5469:4:175", + "referencedDeclaration": 113201, + "src": "5469:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121517, + "id": 113224, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "5469:13:175", + "referencedDeclaration": 112662, + "src": "5469:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8896,49 +8896,49 @@ }, { "expression": { - "id": 121518, + "id": 113225, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5492:4:175", + "referencedDeclaration": 113201, + "src": "5492:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121519, + "id": 113226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "5492:10:175", + "referencedDeclaration": 112664, + "src": "5492:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 121520, + "id": 113227, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5384:119:175", + "src": "5384:119:149", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 121491, - "id": 121521, + "functionReturnParameters": 113198, + "id": 113228, "nodeType": "Return", - "src": "5378:125:175" + "src": "5378:125:149" } ] }, @@ -8947,20 +8947,20 @@ "kind": "function", "modifiers": [], "name": "getStructInfo", - "nameLocation": "5147:13:175", + "nameLocation": "5147:13:149", "parameters": { - "id": 121478, + "id": 113185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121477, + "id": 113184, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5169:8:175", + "nameLocation": "5169:8:149", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5161:16:175", + "scope": 113230, + "src": "5161:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8968,10 +8968,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121476, + "id": 113183, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5161:7:175", + "src": "5161:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8980,21 +8980,21 @@ "visibility": "internal" } ], - "src": "5160:18:175" + "src": "5160:18:149" }, "returnParameters": { - "id": 121491, + "id": 113198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121480, + "id": 113187, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5201:7:175", + "scope": 113230, + "src": "5201:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9002,10 +9002,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121479, + "id": 113186, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5201:7:175", + "src": "5201:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9015,13 +9015,13 @@ }, { "constant": false, - "id": 121482, + "id": 113189, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5209:7:175", + "scope": 113230, + "src": "5209:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9029,10 +9029,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121481, + "id": 113188, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5209:7:175", + "src": "5209:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9042,13 +9042,13 @@ }, { "constant": false, - "id": 121484, + "id": 113191, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5217:7:175", + "scope": 113230, + "src": "5217:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9056,10 +9056,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121483, + "id": 113190, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5217:7:175", + "src": "5217:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9069,13 +9069,13 @@ }, { "constant": false, - "id": 121486, + "id": 113193, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5225:7:175", + "scope": 113230, + "src": "5225:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9083,10 +9083,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121485, + "id": 113192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5225:7:175", + "src": "5225:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9096,13 +9096,13 @@ }, { "constant": false, - "id": 121488, + "id": 113195, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5233:7:175", + "scope": 113230, + "src": "5233:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9110,10 +9110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121487, + "id": 113194, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5233:7:175", + "src": "5233:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9123,13 +9123,13 @@ }, { "constant": false, - "id": 121490, + "id": 113197, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5241:7:175", + "scope": 113230, + "src": "5241:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9137,10 +9137,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121489, + "id": 113196, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5241:7:175", + "src": "5241:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9149,38 +9149,38 @@ "visibility": "internal" } ], - "src": "5200:49:175" + "src": "5200:49:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 121587, + "id": 113294, "nodeType": "FunctionDefinition", - "src": "5516:482:175", + "src": "5516:482:149", "nodes": [], "body": { - "id": 121586, + "id": 113293, "nodeType": "Block", - "src": "5585:413:175", + "src": "5585:413:149", "nodes": [], "statements": [ { "assignments": [ - 121530 + 113237 ], "declarations": [ { "constant": false, - "id": 121530, + "id": 113237, "mutability": "mutable", "name": "balance", - "nameLocation": "5603:7:175", + "nameLocation": "5603:7:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5595:15:175", + "scope": 113293, + "src": "5595:15:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9188,10 +9188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121529, + "id": 113236, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5595:7:175", + "src": "5595:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9200,30 +9200,30 @@ "visibility": "internal" } ], - "id": 121535, + "id": 113242, "initialValue": { "arguments": [ { "expression": { - "id": 121532, + "id": 113239, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5623:3:175", + "src": "5623:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 121533, + "id": 113240, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5623:10:175", + "src": "5623:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9237,18 +9237,18 @@ "typeString": "address" } ], - "id": 121531, + "id": 113238, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71616, - "src": "5613:9:175", + "referencedDeclaration": 29357, + "src": "5613:9:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 121534, + "id": 113241, "isConstant": false, "isLValue": false, "isPure": false, @@ -9256,7 +9256,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5613:21:175", + "src": "5613:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9264,22 +9264,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5595:39:175" + "src": "5595:39:149" }, { "assignments": [ - 121540 + 113247 ], "declarations": [ { "constant": false, - "id": 121540, + "id": 113247, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "5661:8:175", + "nameLocation": "5661:8:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5644:25:175", + "scope": 113293, + "src": "5644:25:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9288,18 +9288,18 @@ }, "typeName": { "baseType": { - "id": 121538, + "id": 113245, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5644:7:175", + "src": "5644:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121539, + "id": 113246, "nodeType": "ArrayTypeName", - "src": "5644:9:175", + "src": "5644:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9308,16 +9308,16 @@ "visibility": "internal" } ], - "id": 121546, + "id": 113253, "initialValue": { "arguments": [ { - "id": 121544, + "id": 113251, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121530, - "src": "5686:7:175", + "referencedDeclaration": 113237, + "src": "5686:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9331,38 +9331,38 @@ "typeString": "uint256" } ], - "id": 121543, + "id": 113250, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5672:13:175", + "src": "5672:13:149", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 121541, + "id": 113248, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5676:7:175", + "src": "5676:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121542, + "id": 113249, "nodeType": "ArrayTypeName", - "src": "5676:9:175", + "src": "5676:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 121545, + "id": 113252, "isConstant": false, "isLValue": false, "isPure": false, @@ -9370,7 +9370,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5672:22:175", + "src": "5672:22:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -9378,22 +9378,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5644:50:175" + "src": "5644:50:149" }, { "assignments": [ - 121548 + 113255 ], "declarations": [ { "constant": false, - "id": 121548, + "id": 113255, "mutability": "mutable", "name": "index", - "nameLocation": "5712:5:175", + "nameLocation": "5712:5:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5704:13:175", + "scope": 113293, + "src": "5704:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9401,10 +9401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121547, + "id": 113254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5704:7:175", + "src": "5704:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9413,15 +9413,15 @@ "visibility": "internal" } ], - "id": 121549, + "id": 113256, "nodeType": "VariableDeclarationStatement", - "src": "5704:13:175" + "src": "5704:13:149" }, { "body": { - "id": 121582, + "id": 113289, "nodeType": "Block", - "src": "5755:212:175", + "src": "5755:212:149", "statements": [ { "condition": { @@ -9429,7 +9429,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 121564, + "id": 113271, "isConstant": false, "isLValue": false, "isPure": false, @@ -9437,12 +9437,12 @@ "leftExpression": { "arguments": [ { - "id": 121560, + "id": 113267, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5780:1:175", + "referencedDeclaration": 113258, + "src": "5780:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9456,18 +9456,18 @@ "typeString": "uint256" } ], - "id": 121559, + "id": 113266, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71644, - "src": "5772:7:175", + "referencedDeclaration": 29385, + "src": "5772:7:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 121561, + "id": 113268, "isConstant": false, "isLValue": false, "isPure": false, @@ -9475,7 +9475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5772:10:175", + "src": "5772:10:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9486,72 +9486,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121562, + "id": 113269, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5786:3:175", + "src": "5786:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 121563, + "id": 113270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5786:10:175", + "src": "5786:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5772:24:175", + "src": "5772:24:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121581, + "id": 113288, "nodeType": "IfStatement", - "src": "5769:188:175", + "src": "5769:188:149", "trueBody": { - "id": 121580, + "id": 113287, "nodeType": "Block", - "src": "5797:160:175", + "src": "5797:160:149", "statements": [ { "expression": { - "id": 121569, + "id": 113276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121565, + "id": 113272, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121540, - "src": "5815:8:175", + "referencedDeclaration": 113247, + "src": "5815:8:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 121567, + "id": 113274, "indexExpression": { - "id": 121566, + "id": 113273, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5824:5:175", + "referencedDeclaration": 113255, + "src": "5824:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9562,7 +9562,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5815:15:175", + "src": "5815:15:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9571,30 +9571,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121568, + "id": 113275, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5833:1:175", + "referencedDeclaration": 113258, + "src": "5833:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5815:19:175", + "src": "5815:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121570, + "id": 113277, "nodeType": "ExpressionStatement", - "src": "5815:19:175" + "src": "5815:19:149" }, { "expression": { - "id": 121572, + "id": 113279, "isConstant": false, "isLValue": false, "isPure": false, @@ -9602,14 +9602,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5852:7:175", + "src": "5852:7:149", "subExpression": { - "id": 121571, + "id": 113278, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5852:5:175", + "referencedDeclaration": 113255, + "src": "5852:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9620,9 +9620,9 @@ "typeString": "uint256" } }, - "id": 121573, + "id": 113280, "nodeType": "ExpressionStatement", - "src": "5852:7:175" + "src": "5852:7:149" }, { "condition": { @@ -9630,18 +9630,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121576, + "id": 113283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121574, + "id": 113281, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5880:5:175", + "referencedDeclaration": 113255, + "src": "5880:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9650,35 +9650,35 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 121575, + "id": 113282, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121530, - "src": "5889:7:175", + "referencedDeclaration": 113237, + "src": "5889:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5880:16:175", + "src": "5880:16:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121579, + "id": 113286, "nodeType": "IfStatement", - "src": "5877:66:175", + "src": "5877:66:149", "trueBody": { - "id": 121578, + "id": 113285, "nodeType": "Block", - "src": "5897:46:175", + "src": "5897:46:149", "statements": [ { - "id": 121577, + "id": 113284, "nodeType": "Break", - "src": "5919:5:175" + "src": "5919:5:149" } ] } @@ -9693,18 +9693,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121555, + "id": 113262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121553, + "id": 113260, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5741:1:175", + "referencedDeclaration": 113258, + "src": "5741:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9713,38 +9713,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 121554, + "id": 113261, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "5743:7:175", + "referencedDeclaration": 112670, + "src": "5743:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5741:9:175", + "src": "5741:9:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121583, + "id": 113290, "initializationExpression": { "assignments": [ - 121551 + 113258 ], "declarations": [ { "constant": false, - "id": 121551, + "id": 113258, "mutability": "mutable", "name": "i", - "nameLocation": "5739:1:175", + "nameLocation": "5739:1:149", "nodeType": "VariableDeclaration", - "scope": 121583, - "src": "5731:9:175", + "scope": 113290, + "src": "5731:9:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9752,10 +9752,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121550, + "id": 113257, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5731:7:175", + "src": "5731:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9764,13 +9764,13 @@ "visibility": "internal" } ], - "id": 121552, + "id": 113259, "nodeType": "VariableDeclarationStatement", - "src": "5731:9:175" + "src": "5731:9:149" }, "loopExpression": { "expression": { - "id": 121557, + "id": 113264, "isConstant": false, "isLValue": false, "isPure": false, @@ -9778,14 +9778,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5751:3:175", + "src": "5751:3:149", "subExpression": { - "id": 121556, + "id": 113263, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5751:1:175", + "referencedDeclaration": 113258, + "src": "5751:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9796,30 +9796,30 @@ "typeString": "uint256" } }, - "id": 121558, + "id": 113265, "nodeType": "ExpressionStatement", - "src": "5751:3:175" + "src": "5751:3:149" }, "nodeType": "ForStatement", - "src": "5727:240:175" + "src": "5727:240:149" }, { "expression": { - "id": 121584, + "id": 113291, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121540, - "src": "5983:8:175", + "referencedDeclaration": 113247, + "src": "5983:8:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 121528, - "id": 121585, + "functionReturnParameters": 113235, + "id": 113292, "nodeType": "Return", - "src": "5976:15:175" + "src": "5976:15:149" } ] }, @@ -9828,26 +9828,26 @@ "kind": "function", "modifiers": [], "name": "getUserTokenIdList", - "nameLocation": "5525:18:175", + "nameLocation": "5525:18:149", "parameters": { - "id": 121524, + "id": 113231, "nodeType": "ParameterList", "parameters": [], - "src": "5543:2:175" + "src": "5543:2:149" }, "returnParameters": { - "id": 121528, + "id": 113235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121527, + "id": 113234, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121587, - "src": "5568:16:175", + "scope": 113294, + "src": "5568:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9856,18 +9856,18 @@ }, "typeName": { "baseType": { - "id": 121525, + "id": 113232, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5568:7:175", + "src": "5568:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121526, + "id": 113233, "nodeType": "ArrayTypeName", - "src": "5568:9:175", + "src": "5568:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9876,9 +9876,9 @@ "visibility": "internal" } ], - "src": "5567:18:175" + "src": "5567:18:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -9888,27 +9888,27 @@ "baseContracts": [ { "baseName": { - "id": 120935, + "id": 112642, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "181:6:175" + "referencedDeclaration": 30166, + "src": "181:6:149" }, - "id": 120936, + "id": 112643, "nodeType": "InheritanceSpecifier", - "src": "181:6:175" + "src": "181:6:149" }, { "baseName": { - "id": 120937, + "id": 112644, "name": "MRandom", "nodeType": "IdentifierPath", - "referencedDeclaration": 120834, - "src": "189:7:175" + "referencedDeclaration": 112541, + "src": "189:7:149" }, - "id": 120938, + "id": 112645, "nodeType": "InheritanceSpecifier", - "src": "189:7:175" + "src": "189:7:149" } ], "canonicalName": "MUser", @@ -9916,22 +9916,22 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 121588, - 120834, - 72425, - 131763, - 131718, - 132139, - 174420, - 132115 + 113295, + 112541, + 30166, + 30327, + 30282, + 31460, + 31472, + 30679 ], "name": "MUser", - "nameLocation": "172:5:175", - "scope": 121589, + "nameLocation": "172:5:149", + "scope": 113296, "usedErrors": [] } ], "license": "MIT" }, - "id": 175 + "id": 149 } \ No newline at end of file diff --git a/packages/contracts/src/systems/BattlePrepareSystem.sol b/packages/contracts/src/systems/BattlePrepareSystem.sol index 46f86805..5c6bf9d2 100644 --- a/packages/contracts/src/systems/BattlePrepareSystem.sol +++ b/packages/contracts/src/systems/BattlePrepareSystem.sol @@ -25,7 +25,7 @@ contract BattlePrepareSystem is System { Player.setX(player, GameConfig.getOriginX(GAME_CONFIG_KEY)); Player.setY(player, GameConfig.getOriginY(GAME_CONFIG_KEY)); Player.setState(player, PlayerState.Exploring); - Player.setHp(player, initPlayerHp(player)); + // Player.setHp(player, initPlayerHp(player)); } function goHome() external { @@ -70,6 +70,9 @@ contract BattlePrepareSystem is System { Player.setState(_msgSender(), PlayerState.Attacking); Player.setState(_targetAddress, PlayerState.Attacking); + Player.setHp(_msgSender(), initPlayerHp(_msgSender())); + Player.setHp(_targetAddress, initPlayerHp(_targetAddress)); + uint256 battleId = GameConfig.getBattleId(GAME_CONFIG_KEY); BattleList.setAttacker(battleId, _msgSender()); BattleList.setDefender(battleId, _targetAddress); diff --git a/packages/contracts/src/systems/library/BattleUtils.sol b/packages/contracts/src/systems/library/BattleUtils.sol index 8b4f041e..867dc891 100644 --- a/packages/contracts/src/systems/library/BattleUtils.sol +++ b/packages/contracts/src/systems/library/BattleUtils.sol @@ -13,14 +13,14 @@ library BattleUtils { // 0: fail , 1: equal , 2: success if ( (_myBuff == Buff.Water && _targetBuff == Buff.Fire) || - (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || + (_myBuff == Buff.Water && _targetBuff == Buff.Wind) || (_myBuff == Buff.Fire && _targetBuff == Buff.Wind) ) { return 2; } if ( (_myBuff == Buff.Fire && _targetBuff == Buff.Water) || - (_myBuff == Buff.Water && _targetBuff == Buff.Wind) || + (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || (_myBuff == Buff.Wind && _targetBuff == Buff.Fire) ) { return 0; From 74f3b92b20862bba0b00ca1fae710ee7a0e08fe7 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 13:30:32 +0800 Subject: [PATCH 11/48] debug attack range --- packages/client/src/index.tsx | 24 +++--- packages/client/src/mud/getNetworkConfig.ts | 1 + packages/contracts/out/IWorld.sol/IWorld.json | 50 +++++------ packages/contracts/out/Loot.sol/MLoot.json | 28 +++---- .../contracts/out/Plugin.sol/MPlugin.json | 82 +++++++++---------- packages/contracts/out/User.sol/MUser.json | 28 +++---- .../src/systems/BattlePrepareSystem.sol | 2 +- .../contracts/src/systems/BattleSystem.sol | 14 ++-- .../src/systems/library/BattleUtils.sol | 3 +- packages/contracts/worlds.json | 2 +- 10 files changed, 116 insertions(+), 118 deletions(-) diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 6cc50bdd..5029c9e2 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -17,16 +17,16 @@ setup().then(async (result) => { ); - // const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); - // mountDevTools({ - // config: mudConfig, - // publicClient: network.publicClient, - // walletClient: network.walletClient, - // latestBlock$: network.latestBlock$, - // blockStorageOperations$: network.blockStorageOperations$, - // worldAddress: network.worldContract.address, - // worldAbi: network.worldContract.abi, - // write$: network.write$, - // recsWorld: network.world, - // }); + const { mount: mountDevTools } = await import("@latticexyz/dev-tools"); + mountDevTools({ + config: mudConfig, + publicClient: network.publicClient, + walletClient: network.walletClient, + latestBlock$: network.latestBlock$, + blockStorageOperations$: network.blockStorageOperations$, + worldAddress: network.worldContract.address, + worldAbi: network.worldContract.abi, + write$: network.write$, + recsWorld: network.world, + }); }); diff --git a/packages/client/src/mud/getNetworkConfig.ts b/packages/client/src/mud/getNetworkConfig.ts index 4c1151a3..58c3300e 100644 --- a/packages/client/src/mud/getNetworkConfig.ts +++ b/packages/client/src/mud/getNetworkConfig.ts @@ -8,6 +8,7 @@ export async function getNetworkConfig() { const params = new URLSearchParams(window.location.search); // const chainId = Number(params.get("chainId") || params.get("chainid") || (import.meta.env.DEV ? import.meta.env.TEST_CHAIN_ID : import.meta.env.VITE_CHAIN_ID) || 31337); const chainId = 33784; + // const chainId = 31337; // const chainId = 421613; // console.log(supportedChains); if (import.meta.env.DEV) { diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json index 242a0697..20d0efe7 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.json +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -3912,16 +3912,16 @@ 119088, 119076, 71348, - 130556, - 130465, - 130449, - 130452, - 130504, - 174214, - 130494, - 130483, + 130454, + 130363, + 130347, + 130350, + 130402, + 174112, + 130392, + 130381, 64435, - 127722, + 127620, 64393, 64426, 64399, @@ -3932,22 +3932,22 @@ "nameLocation": "798:6:169", "scope": 119346, "usedErrors": [ - 127687, - 127693, - 127695, - 127697, - 127703, - 127709, - 127715, - 127721, - 174183, - 174187, - 174193, - 174197, - 174201, - 174205, - 174209, - 174213 + 127585, + 127591, + 127593, + 127595, + 127601, + 127607, + 127613, + 127619, + 174081, + 174085, + 174091, + 174095, + 174099, + 174103, + 174107, + 174111 ] } ], diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json index 3109ed9a..af80770e 100644 --- a/packages/contracts/out/Loot.sol/MLoot.json +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -1636,34 +1636,34 @@ "id": 120387, "exportedSymbols": { "Address": [ - 132093 + 131991 ], "Base64": [ 119403 ], "Context": [ - 132115 + 132013 ], "ERC165": [ - 132139 + 132037 ], "ERC721": [ 72425 ], "IERC165": [ - 174420 + 174318 ], "IERC20": [ 71498 ], "IERC721": [ - 131718 + 131616 ], "IERC721Metadata": [ - 131763 + 131661 ], "IERC721Receiver": [ - 131736 + 131634 ], "MLoot": [ 120386 @@ -1672,10 +1672,10 @@ 120834 ], "Math": [ - 133005 + 132903 ], "SignedMath": [ - 133110 + 133008 ], "Strings": [ 72654 @@ -14325,11 +14325,11 @@ 120386, 120834, 72425, - 131763, - 131718, - 132139, - 174420, - 132115, + 131661, + 131616, + 132037, + 174318, + 132013, 120637 ], "name": "MLoot", diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json index 9c44442e..2be04d1b 100644 --- a/packages/contracts/out/Plugin.sol/MPlugin.json +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -217,13 +217,13 @@ "id": 120930, "exportedSymbols": { "Loot": [ - 125452 + 125350 ], "MPlugin": [ 120929 ], "User": [ - 125413 + 125311 ] }, "nodeType": "SourceUnit", @@ -250,7 +250,7 @@ "file": "@systems/library/Interface.sol", "nameLocation": "-1:-1:-1", "scope": 120930, - "sourceUnit": 125453, + "sourceUnit": 125351, "symbolAliases": [ { "foreign": { @@ -258,7 +258,7 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "66:4:174", "typeDescriptions": {} }, @@ -270,7 +270,7 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "72:4:174", "typeDescriptions": {} }, @@ -550,7 +550,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" }, "typeName": { @@ -560,13 +560,13 @@ "id": 120862, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "389:4:174" }, - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "389:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -600,10 +600,10 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "401:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125413_$", + "typeIdentifier": "t_type$_t_contract$_User_$125311_$", "typeString": "type(contract User)" } }, @@ -618,7 +618,7 @@ "src": "401:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -642,7 +642,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" }, "typeName": { @@ -652,13 +652,13 @@ "id": 120869, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "428:4:174" }, - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "428:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -692,10 +692,10 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "440:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125452_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$125350_$", "typeString": "type(contract Loot)" } }, @@ -710,7 +710,7 @@ "src": "440:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -812,7 +812,7 @@ "referencedDeclaration": 120864, "src": "503:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -823,7 +823,7 @@ "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125407, + "referencedDeclaration": 125305, "src": "503:9:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", @@ -880,7 +880,7 @@ "referencedDeclaration": 120871, "src": "529:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -891,7 +891,7 @@ "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125446, + "referencedDeclaration": 125344, "src": "529:9:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", @@ -970,7 +970,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" }, "typeName": { @@ -980,13 +980,13 @@ "id": 120901, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "643:4:174" }, - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "643:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -1020,10 +1020,10 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125413, + "referencedDeclaration": 125311, "src": "655:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125413_$", + "typeIdentifier": "t_type$_t_contract$_User_$125311_$", "typeString": "type(contract User)" } }, @@ -1038,7 +1038,7 @@ "src": "655:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -1062,7 +1062,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" }, "typeName": { @@ -1072,13 +1072,13 @@ "id": 120908, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "682:4:174" }, - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "682:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -1112,10 +1112,10 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125452, + "referencedDeclaration": 125350, "src": "694:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125452_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$125350_$", "typeString": "type(contract Loot)" } }, @@ -1130,7 +1130,7 @@ "src": "694:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -1168,7 +1168,7 @@ "referencedDeclaration": 120910, "src": "721:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125452", + "typeIdentifier": "t_contract$_Loot_$125350", "typeString": "contract Loot" } }, @@ -1179,7 +1179,7 @@ "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125451, + "referencedDeclaration": 125349, "src": "721:14:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", @@ -1236,7 +1236,7 @@ "referencedDeclaration": 120903, "src": "759:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125413", + "typeIdentifier": "t_contract$_User_$125311", "typeString": "contract User" } }, @@ -1247,7 +1247,7 @@ "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125412, + "referencedDeclaration": 125310, "src": "759:14:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json index 84e18d08..67576b8a 100644 --- a/packages/contracts/out/User.sol/MUser.json +++ b/packages/contracts/out/User.sol/MUser.json @@ -1426,31 +1426,31 @@ "id": 121589, "exportedSymbols": { "Address": [ - 132093 + 131991 ], "Base64": [ 119403 ], "Context": [ - 132115 + 132013 ], "ERC165": [ - 132139 + 132037 ], "ERC721": [ 72425 ], "IERC165": [ - 174420 + 174318 ], "IERC721": [ - 131718 + 131616 ], "IERC721Metadata": [ - 131763 + 131661 ], "IERC721Receiver": [ - 131736 + 131634 ], "MRandom": [ 120834 @@ -1459,10 +1459,10 @@ 121588 ], "Math": [ - 133005 + 132903 ], "SignedMath": [ - 133110 + 133008 ], "Strings": [ 72654 @@ -9919,11 +9919,11 @@ 121588, 120834, 72425, - 131763, - 131718, - 132139, - 174420, - 132115 + 131661, + 131616, + 132037, + 174318, + 132013 ], "name": "MUser", "nameLocation": "172:5:175", diff --git a/packages/contracts/src/systems/BattlePrepareSystem.sol b/packages/contracts/src/systems/BattlePrepareSystem.sol index 46f86805..5c8a7533 100644 --- a/packages/contracts/src/systems/BattlePrepareSystem.sol +++ b/packages/contracts/src/systems/BattlePrepareSystem.sol @@ -52,7 +52,7 @@ contract BattlePrepareSystem is System { positionList.length > 0 && positionList.length <= BattleConfig.getMaxAttackzDistance(BATTLE_CONFIG_KEY), "invalid attack distance" ); - require(positionList.length <= Player.getSpace(_msgSender()), "exceed player space"); //Todo: temp remove + require(positionList.length <= Player.getAttackRange(_msgSender()), "exceed player attackRange"); //Todo: temp remove require( Player.getState(_msgSender()) == PlayerState.Exploring && diff --git a/packages/contracts/src/systems/BattleSystem.sol b/packages/contracts/src/systems/BattleSystem.sol index 2c28acac..be49a7ab 100644 --- a/packages/contracts/src/systems/BattleSystem.sol +++ b/packages/contracts/src/systems/BattleSystem.sol @@ -8,6 +8,9 @@ import { GameConfig, BoxListData, BattleList, BattleListData, Player, PlayerDat import { BattleUtils } from "./library/BattleUtils.sol"; import { GAME_CONFIG_KEY, BATTLE_CONFIG_KEY } from "../Constants.sol"; +import "forge-std/console.sol"; + + contract BattleSystem is System { event BattleReveal(uint256 battleId, address sender); event BattleEnd(uint256 battleId, BattleEndType endType, address winner); @@ -48,7 +51,6 @@ contract BattleSystem is System { function revealWinner(uint256 _battleId) public { BattleListData memory battle = BattleList.get(_battleId); BattleUtils.checkBattlePlayer(battle, _msgSender(), BattleState.Revealed); - //set attack uint256 attackerFirepower = Player.getAttack(battle.attacker); uint256 defenderFirepower = Player.getAttack(battle.defender); @@ -92,24 +94,18 @@ contract BattleSystem is System { BattleList.setAttackerHP(_battleId, BattleUtils.getAttackResult(battle.attackerHP, defenderAttackPower)); BattleList.setDefenderHP(_battleId, BattleUtils.getAttackResult(battle.defenderHP, attackerAttackPower)); - - // console.log(" after attack hp ", BattleList.getAttackerHP(_battleId), BattleList.getDefenderHP(_battleId)); - if (BattleList.getAttackerHP(_battleId) == 0 || BattleList.getDefenderHP(_battleId) == 0) { address winner = battle.attackerHP == 0 ? battle.defender : battle.attacker; address looser = battle.attackerHP == 0 ? battle.attacker : battle.defender; BattleList.setWinner(_battleId, winner); BattleList.setIsEnd(_battleId, true); BattleUtils.loseGame(looser, winner); - - // emit BattleEnd(_battleId, BattleEndType.NormalEnd, winner); } } function allEscape(uint _battleId) internal { BattleList.setIsEnd(_battleId, true); BattleList.setWinner(_battleId, address(0)); - // emit BattleEnd(_battleId, BattleEndType.AllEscape, address(0)); } function attackerEscapeDenfenderAttack(uint _battleId, BattleListData memory battle, Buff attackerBuff, @@ -121,9 +117,7 @@ contract BattleSystem is System { BattleList.setIsEnd(_battleId, true); // escaper will lock a while PlayerLocationLock.set(battle.defender, block.timestamp); - // console.log(" escape --- 2"); - // emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.defender); } else { // escape fail, cause hurt uint256 attackerAttackPower = BattleUtils.getAttackPower(attackerBuff, defenderBuff, attackerFirepower); @@ -160,4 +154,6 @@ contract BattleSystem is System { } } } + + } \ No newline at end of file diff --git a/packages/contracts/src/systems/library/BattleUtils.sol b/packages/contracts/src/systems/library/BattleUtils.sol index c36b2742..bf361393 100644 --- a/packages/contracts/src/systems/library/BattleUtils.sol +++ b/packages/contracts/src/systems/library/BattleUtils.sol @@ -4,6 +4,7 @@ pragma solidity >=0.8.0; import { BattleState, Buff, PlayerState } from "../../codegen/Types.sol"; import { BattleListData, Player, BattleConfig, GameConfig, PlayerData, BoxListData, BoxList } from "../../codegen/Tables.sol"; import { BATTLE_CONFIG_KEY, GAME_CONFIG_KEY } from "../../Constants.sol"; +import "forge-std/console.sol"; library BattleUtils { function compareBuff( @@ -11,6 +12,7 @@ library BattleUtils { Buff _targetBuff ) internal pure returns (uint256) { // 0: fail , 1: equal , 2: success + if ( (_myBuff == Buff.Water && _targetBuff == Buff.Fire) || (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || @@ -93,7 +95,6 @@ library BattleUtils { function loseGame(address _looser, address _winner) internal { // lose game; will go home and hp will full. - // TODO bag system, baozang system Player.setState(_looser, PlayerState.Exploring); outBattlefield(_looser); diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 46136775..67414e53 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -4,7 +4,7 @@ "blockNumber": 29582781 }, "31337": { - "address": "0xd977422c9eE9B646f64A4C4389a6C98ad356d8C4" + "address": "0x2428109A9e775E4406fe079132F216dc77117333" }, "33784": { "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34", From 3f17a16566bd3bfc817f7c3d8020a2d5e5b597ef Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 13:32:51 +0800 Subject: [PATCH 12/48] merge --- .../contracts/out/IWorld.sol/IWorld.abi.json | 1505 ----------------- .../contracts/out/Loot.sol/MLoot.abi.json | 697 -------- .../contracts/out/Plugin.sol/MPlugin.abi.json | 69 - .../contracts/out/User.sol/MUser.abi.json | 600 ------- 4 files changed, 2871 deletions(-) delete mode 100644 packages/contracts/out/IWorld.sol/IWorld.abi.json delete mode 100644 packages/contracts/out/Loot.sol/MLoot.abi.json delete mode 100644 packages/contracts/out/Plugin.sol/MPlugin.abi.json delete mode 100644 packages/contracts/out/User.sol/MUser.abi.json diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json deleted file mode 100644 index 31521954..00000000 --- a/packages/contracts/out/IWorld.sol/IWorld.abi.json +++ /dev/null @@ -1,1505 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "string", - "name": "resource", - "type": "string" - }, - { - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "AccessDenied", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "functionSelector", - "type": "bytes4" - } - ], - "name": "FunctionSelectorExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "functionSelector", - "type": "bytes4" - } - ], - "name": "FunctionSelectorNotFound", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "resource", - "type": "string" - } - ], - "name": "InvalidSelector", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "module", - "type": "string" - } - ], - "name": "ModuleAlreadyInstalled", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "resource", - "type": "string" - } - ], - "name": "ResourceExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "resource", - "type": "string" - } - ], - "name": "ResourceNotFound", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "length", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "received", - "type": "uint256" - } - ], - "name": "StoreCore_DataIndexOverflow", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "received", - "type": "uint256" - } - ], - "name": "StoreCore_InvalidDataLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "received", - "type": "uint256" - } - ], - "name": "StoreCore_InvalidFieldNamesLength", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "expected", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "received", - "type": "uint256" - } - ], - "name": "StoreCore_InvalidKeyNamesLength", - "type": "error" - }, - { - "inputs": [], - "name": "StoreCore_NotDynamicField", - "type": "error" - }, - { - "inputs": [], - "name": "StoreCore_NotImplemented", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "tableId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "tableIdString", - "type": "string" - } - ], - "name": "StoreCore_TableAlreadyExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "tableId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "tableIdString", - "type": "string" - } - ], - "name": "StoreCore_TableNotFound", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "system", - "type": "address" - } - ], - "name": "SystemExists", - "type": "error" - }, - { - "anonymous": false, - "inputs": [], - "name": "HelloWorld", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - } - ], - "name": "StoreDeleteRecord", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "StoreEphemeralRecord", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "StoreSetField", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "StoreSetRecord", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_x", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_y", - "type": "uint16" - } - ], - "name": "CreateBox", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "GetSeasonInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_root", - "type": "bytes32" - } - ], - "name": "SetMapMerkleRoot", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_start", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_end", - "type": "uint256" - } - ], - "name": "SetSeasonInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "SetUserContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_targetAddress", - "type": "address" - }, - { - "components": [ - { - "internalType": "uint16", - "name": "x", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "y", - "type": "uint16" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct Position[]", - "name": "positionList", - "type": "tuple[]" - } - ], - "name": "battleInvitation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "funcSelectorAndArgs", - "type": "bytes" - } - ], - "name": "call", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_buffHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_battleId", - "type": "uint256" - } - ], - "name": "confirmBattle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "deleteRecord", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "emitEphemeralRecord", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_battleId", - "type": "uint256" - } - ], - "name": "forceEnd", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_battleId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "getBattlePlayerHp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_boxId", - "type": "uint256" - }, - { - "internalType": "uint16", - "name": "_oreAmount", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "_treasureAmount", - "type": "uint16" - } - ], - "name": "getCollections", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "getField", - "outputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "getFieldLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "start", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "end", - "type": "uint256" - } - ], - "name": "getFieldSlice", - "outputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "getInfo", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - } - ], - "name": "getKeySchema", - "outputs": [ - { - "internalType": "Schema", - "name": "schema", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "getPosition", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "getRecord", - "outputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSenderPosition", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getUserInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - } - ], - "name": "getValueSchema", - "outputs": [ - { - "internalType": "Schema", - "name": "schema", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "goHome", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "grantee", - "type": "address" - } - ], - "name": "grantAccess", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_player", - "type": "address" - } - ], - "name": "initPlayerHp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "initUserInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IModule", - "name": "module", - "type": "address" - }, - { - "internalType": "bytes", - "name": "args", - "type": "bytes" - } - ], - "name": "installModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IModule", - "name": "module", - "type": "address" - }, - { - "internalType": "bytes", - "name": "args", - "type": "bytes" - } - ], - "name": "installRootModule", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "joinBattlefield", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint16", - "name": "x", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "y", - "type": "uint16" - }, - { - "internalType": "bytes32[]", - "name": "proof", - "type": "bytes32[]" - } - ], - "internalType": "struct Position[]", - "name": "moveList", - "type": "tuple[]" - } - ], - "name": "move", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_boxId", - "type": "uint256" - } - ], - "name": "openBox", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "byteLengthToPop", - "type": "uint256" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "popFromField", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "dataToPush", - "type": "bytes" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "pushToField", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "systemFunctionName", - "type": "string" - }, - { - "internalType": "string", - "name": "systemFunctionArguments", - "type": "string" - } - ], - "name": "registerFunctionSelector", - "outputs": [ - { - "internalType": "bytes4", - "name": "worldFunctionSelector", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes16", - "name": "namespace", - "type": "bytes16" - } - ], - "name": "registerNamespace", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "bytes4", - "name": "worldFunctionSelector", - "type": "bytes4" - }, - { - "internalType": "bytes4", - "name": "systemFunctionSelector", - "type": "bytes4" - } - ], - "name": "registerRootFunctionSelector", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "contract IStoreHook", - "name": "hook", - "type": "address" - } - ], - "name": "registerStoreHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "contract System", - "name": "system", - "type": "address" - }, - { - "internalType": "bool", - "name": "publicAccess", - "type": "bool" - } - ], - "name": "registerSystem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "contract ISystemHook", - "name": "hook", - "type": "address" - } - ], - "name": "registerSystemHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "Schema", - "name": "keySchema", - "type": "bytes32" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - }, - { - "internalType": "string[]", - "name": "keyNames", - "type": "string[]" - }, - { - "internalType": "string[]", - "name": "fieldNames", - "type": "string[]" - } - ], - "name": "registerTable", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_battleId", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_action", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "_arg", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_nonce", - "type": "bytes32" - } - ], - "name": "revealBattle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_boxId", - "type": "uint256" - } - ], - "name": "revealBox", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_battleId", - "type": "uint256" - } - ], - "name": "revealWinner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "resourceSelector", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "grantee", - "type": "address" - } - ], - "name": "revokeAccess", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_userTokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lootTokenId", - "type": "uint256" - } - ], - "name": "selectBothNFT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "selectLootNFT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "selectUserNft", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "setField", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "url", - "type": "string" - } - ], - "name": "setInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "setRecord", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "submitGem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - }, - { - "internalType": "uint16", - "name": "x", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "y", - "type": "uint16" - } - ], - "name": "transfer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlockUserLocation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "table", - "type": "bytes32" - }, - { - "internalType": "bytes32[]", - "name": "key", - "type": "bytes32[]" - }, - { - "internalType": "uint8", - "name": "schemaIndex", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "startByteIndex", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "dataToSet", - "type": "bytes" - }, - { - "internalType": "Schema", - "name": "valueSchema", - "type": "bytes32" - } - ], - "name": "updateInField", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.abi.json b/packages/contracts/out/Loot.sol/MLoot.abi.json deleted file mode 100644 index 4bcc3741..00000000 --- a/packages/contracts/out/Loot.sol/MLoot.abi.json +++ /dev/null @@ -1,697 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "string", - "name": "_desc", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "_notRevealedInfo", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_waitBlockCount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "randomId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "author", - "type": "address" - } - ], - "name": "NewRandom", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "getStructIndexInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "getStructInfo", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUserTokenIdList", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "lootList", - "outputs": [ - { - "internalType": "uint256", - "name": "randomId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "string", - "name": "Weapon", - "type": "string" - }, - { - "internalType": "string", - "name": "Chest", - "type": "string" - }, - { - "internalType": "string", - "name": "Head", - "type": "string" - }, - { - "internalType": "string", - "name": "Waist", - "type": "string" - }, - { - "internalType": "string", - "name": "Foot", - "type": "string" - }, - { - "internalType": "string", - "name": "Hand", - "type": "string" - }, - { - "internalType": "string", - "name": "Neck", - "type": "string" - }, - { - "internalType": "string", - "name": "Ring", - "type": "string" - }, - { - "internalType": "enum MRandom.RandomState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "randomId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "randomList", - "outputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "address", - "name": "author", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "revealNFT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "waitBlockCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_targetAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_contractAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawErc20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.abi.json b/packages/contracts/out/Plugin.sol/MPlugin.abi.json deleted file mode 100644 index 23133797..00000000 --- a/packages/contracts/out/Plugin.sol/MPlugin.abi.json +++ /dev/null @@ -1,69 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "address", - "name": "_lootAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_userAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "lootAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "multMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_lootTokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_userTokenId", - "type": "uint256" - } - ], - "name": "multRevealNFT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "userAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.abi.json b/packages/contracts/out/User.sol/MUser.abi.json deleted file mode 100644 index 6a8af3cb..00000000 --- a/packages/contracts/out/User.sol/MUser.abi.json +++ /dev/null @@ -1,600 +0,0 @@ -[ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_waitBlockCount", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_notRevealedInfo", - "type": "string" - }, - { - "internalType": "string", - "name": "_revealedDesc", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "randomId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "author", - "type": "address" - } - ], - "name": "NewRandom", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "getStructInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUserTokenIdList", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_addr", - "type": "address" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "randomId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "randomList", - "outputs": [ - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - }, - { - "internalType": "address", - "name": "author", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "revealNFT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "userList", - "outputs": [ - { - "internalType": "uint256", - "name": "randomId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "HP", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "Attack", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "AttackRange", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "Speed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "Strength", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "Space", - "type": "uint256" - }, - { - "internalType": "enum MRandom.RandomState", - "name": "state", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "waitBlockCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file From cdbe800ca335a0cc407acc3b6d917cef451f3978 Mon Sep 17 00:00:00 2001 From: lewis <> Date: Thu, 9 Nov 2023 16:08:23 +0800 Subject: [PATCH 13/48] fix: attacker strategy not effect --- packages/contracts/src/systems/BattleSystem.sol | 2 +- .../contracts/src/systems/library/BattleUtils.sol | 11 ++++++----- .../contracts/src/systems/library/CommonUtils.sol | 7 +++---- packages/contracts/test/BattleTest.t.sol | 2 +- packages/contracts/test/MoveTest.t.sol | 11 +++++++++++ 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/packages/contracts/src/systems/BattleSystem.sol b/packages/contracts/src/systems/BattleSystem.sol index be49a7ab..c839e554 100644 --- a/packages/contracts/src/systems/BattleSystem.sol +++ b/packages/contracts/src/systems/BattleSystem.sol @@ -54,7 +54,7 @@ contract BattleSystem is System { //set attack uint256 attackerFirepower = Player.getAttack(battle.attacker); uint256 defenderFirepower = Player.getAttack(battle.defender); - Buff attackerBuff = Buff(battle.defenderArg); + Buff attackerBuff = Buff(battle.attackerArg); Buff defenderBuff = Buff(battle.defenderArg); if (battle.attackerAction == bytes32("attack") && battle.defenderAction == bytes32("attack")) { allAttack(_battleId, battle, attackerBuff, defenderBuff, attackerFirepower, defenderFirepower); diff --git a/packages/contracts/src/systems/library/BattleUtils.sol b/packages/contracts/src/systems/library/BattleUtils.sol index 6fb15c97..953af8c2 100644 --- a/packages/contracts/src/systems/library/BattleUtils.sol +++ b/packages/contracts/src/systems/library/BattleUtils.sol @@ -12,18 +12,19 @@ library BattleUtils { Buff _targetBuff ) internal pure returns (uint256) { // 0: fail , 1: equal , 2: success + // Wind > Water > Fire if ( - (_myBuff == Buff.Water && _targetBuff == Buff.Fire) || - (_myBuff == Buff.Water && _targetBuff == Buff.Wind) || - (_myBuff == Buff.Fire && _targetBuff == Buff.Wind) + (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || + (_myBuff == Buff.Wind && _targetBuff == Buff.Fire) || + (_myBuff == Buff.Water && _targetBuff == Buff.Fire) ) { return 2; } if ( (_myBuff == Buff.Fire && _targetBuff == Buff.Water) || - (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || - (_myBuff == Buff.Wind && _targetBuff == Buff.Fire) + (_myBuff == Buff.Fire && _targetBuff == Buff.Wind) || + (_myBuff == Buff.Water && _targetBuff == Buff.Wind) ) { return 0; } diff --git a/packages/contracts/src/systems/library/CommonUtils.sol b/packages/contracts/src/systems/library/CommonUtils.sol index ecfb7adb..df584c84 100644 --- a/packages/contracts/src/systems/library/CommonUtils.sol +++ b/packages/contracts/src/systems/library/CommonUtils.sol @@ -63,10 +63,9 @@ library CommonUtils { uint16 x2 = i > 0 ? moveList[i - 1].x : Player.getX(_msgSender); uint16 y2 = i > 0 ? moveList[i - 1].y : Player.getY(_msgSender); - console.log(" step : ", i, x2, y2); - if (i > 1) { - console.log(" move : ", moveList[i].x, moveList[i].y); - } + // console.log(" step : ", i, x2, y2); + // console.log(" move : ", moveList[i].x, moveList[i].y); + require( CommonUtils.isNear(moveList[i].x, x2, moveList[i].y, y2), "invalied move" diff --git a/packages/contracts/test/BattleTest.t.sol b/packages/contracts/test/BattleTest.t.sol index 69f4a8b1..c4687471 100644 --- a/packages/contracts/test/BattleTest.t.sol +++ b/packages/contracts/test/BattleTest.t.sol @@ -98,7 +98,7 @@ contract BattleTest is MudTest { vm.startPrank(alice); bytes32 action2 = bytes32("attack"); uint256 arg2 = 2; - bytes32 nonce2 = bytes32("1"); + bytes32 nonce2 = bytes32("2"); bytes32 buffHash2 = keccak256(abi.encodePacked(action2, arg2, nonce2)); world.confirmBattle(buffHash2, 1); vm.stopPrank(); diff --git a/packages/contracts/test/MoveTest.t.sol b/packages/contracts/test/MoveTest.t.sol index 195e1699..7187af25 100644 --- a/packages/contracts/test/MoveTest.t.sol +++ b/packages/contracts/test/MoveTest.t.sol @@ -116,6 +116,17 @@ contract MoveTest is MudTest { vm.stopPrank(); address bob = address(1); + // init bob property + vm.startPrank(vm.addr(vm.envUint("PRIVATE_KEY"))); + Player.setMaxHp(bob, 200); + Player.setHp(bob, 200); + Player.setAttack(bob, 36); + Player.setAttackRange(bob, 5); + Player.setSpeed(bob, 6); + Player.setStrength(bob, 5); + Player.setSpace(bob, 5); + vm.stopPrank(); + // join game vm.startPrank(bob); world.joinBattlefield(); From 2345a6d95db167c5750da549d8e696f1167fb728 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 21:24:20 +0800 Subject: [PATCH 14/48] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9A=84=E5=9F=BA=E7=A1=80=E5=B1=9E=E6=80=A7=E5=80=BC,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BD=91=E9=A1=B5=E6=98=BE=E7=A4=BA(?= =?UTF-8?q?=E5=8F=AF=E8=A7=86=E8=8C=83=E5=9B=B4,=E6=95=B4=E4=BD=93?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/client/.env | 2 +- packages/client/src/_theme.scss | 2 +- .../client/src/components/Fog/styles.scss | 2 +- packages/client/src/mud/getNetworkConfig.ts | 4 +- .../contracts/out/IWorld.sol/IWorld.abi.json | 1505 ++ packages/contracts/out/IWorld.sol/IWorld.json | 3957 +++++ .../contracts/out/Loot.sol/MLoot.abi.json | 697 + packages/contracts/out/Loot.sol/MLoot.json | 14344 ++++++++++++++++ .../contracts/out/Plugin.sol/MPlugin.abi.json | 69 + .../contracts/out/Plugin.sol/MPlugin.json | 1375 ++ .../contracts/out/User.sol/MUser.abi.json | 600 + packages/contracts/out/User.sol/MUser.json | 9937 +++++++++++ .../contracts/script/BattleConfigInit.sol | 2 +- packages/contracts/src/other/User.sol | 6 +- .../src/systems/library/BattleUtils.sol | 5 +- packages/contracts/worlds.json | 2 +- 16 files changed, 32496 insertions(+), 13 deletions(-) create mode 100644 packages/contracts/out/IWorld.sol/IWorld.abi.json create mode 100644 packages/contracts/out/IWorld.sol/IWorld.json create mode 100644 packages/contracts/out/Loot.sol/MLoot.abi.json create mode 100644 packages/contracts/out/Loot.sol/MLoot.json create mode 100644 packages/contracts/out/Plugin.sol/MPlugin.abi.json create mode 100644 packages/contracts/out/Plugin.sol/MPlugin.json create mode 100644 packages/contracts/out/User.sol/MUser.abi.json create mode 100644 packages/contracts/out/User.sol/MUser.json diff --git a/packages/client/.env b/packages/client/.env index 6fa2607e..8b4796da 100644 --- a/packages/client/.env +++ b/packages/client/.env @@ -1,2 +1,2 @@ -VITE_CHAIN_ID=4242 +VITE_CHAIN_ID=33784 TEST_CHAIN_ID=31337 diff --git a/packages/client/src/_theme.scss b/packages/client/src/_theme.scss index 1065a3f6..3ef6e75e 100644 --- a/packages/client/src/_theme.scss +++ b/packages/client/src/_theme.scss @@ -1 +1 @@ -$cellSize: 48px; \ No newline at end of file +$cellSize: 72px; \ No newline at end of file diff --git a/packages/client/src/components/Fog/styles.scss b/packages/client/src/components/Fog/styles.scss index a9c114b7..bcea1f04 100644 --- a/packages/client/src/components/Fog/styles.scss +++ b/packages/client/src/components/Fog/styles.scss @@ -5,7 +5,7 @@ top: -150vh; width: 300vw; height: 300vh; - background: radial-gradient(circle closest-side at 50% 50%, #00000000 200px, #000000ff 24%); + background: radial-gradient(circle closest-side at 50% 50%, #00000000 300px, #000000ff 64%); pointer-events: none; // display: none; } \ No newline at end of file diff --git a/packages/client/src/mud/getNetworkConfig.ts b/packages/client/src/mud/getNetworkConfig.ts index 58c3300e..a730761a 100644 --- a/packages/client/src/mud/getNetworkConfig.ts +++ b/packages/client/src/mud/getNetworkConfig.ts @@ -6,8 +6,8 @@ const worlds = worldsJson as Partial=", + "0.8", + ".0" + ] + }, + { + "id": 119305, + "nodeType": "ImportDirective", + "src": "107:77:169", + "nodes": [], + "absolutePath": "node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol", + "file": "@latticexyz/world/src/interfaces/IBaseWorld.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 71349, + "symbolAliases": [ + { + "foreign": { + "id": 119304, + "name": "IBaseWorld", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71348, + "src": "116:10:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119307, + "nodeType": "ImportDirective", + "src": "186:62:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleForceSystem.sol", + "file": "./IBattleForceSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119077, + "symbolAliases": [ + { + "foreign": { + "id": 119306, + "name": "IBattleForceSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119076, + "src": "195:18:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119309, + "nodeType": "ImportDirective", + "src": "249:60:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleInfoSystem.sol", + "file": "./IBattleInfoSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119089, + "symbolAliases": [ + { + "foreign": { + "id": 119308, + "name": "IBattleInfoSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119088, + "src": "258:17:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119311, + "nodeType": "ImportDirective", + "src": "310:66:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattlePrepareSystem.sol", + "file": "./IBattlePrepareSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119123, + "symbolAliases": [ + { + "foreign": { + "id": 119310, + "name": "IBattlePrepareSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119122, + "src": "319:20:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119313, + "nodeType": "ImportDirective", + "src": "377:52:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleSystem.sol", + "file": "./IBattleSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119142, + "symbolAliases": [ + { + "foreign": { + "id": 119312, + "name": "IBattleSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119141, + "src": "386:13:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119315, + "nodeType": "ImportDirective", + "src": "430:46:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBoxSystem.sol", + "file": "./IBoxSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119164, + "symbolAliases": [ + { + "foreign": { + "id": 119314, + "name": "IBoxSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119163, + "src": "439:10:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119317, + "nodeType": "ImportDirective", + "src": "477:48:169", + "nodes": [], + "absolutePath": "src/codegen/world/IGameSystem.sol", + "file": "./IGameSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119206, + "symbolAliases": [ + { + "foreign": { + "id": 119316, + "name": "IGameSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119205, + "src": "486:11:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119319, + "nodeType": "ImportDirective", + "src": "526:44:169", + "nodes": [], + "absolutePath": "src/codegen/world/IGMSystem.sol", + "file": "./IGMSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119200, + "symbolAliases": [ + { + "foreign": { + "id": 119318, + "name": "IGMSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119199, + "src": "535:9:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119321, + "nodeType": "ImportDirective", + "src": "571:48:169", + "nodes": [], + "absolutePath": "src/codegen/world/IMoveSystem.sol", + "file": "./IMoveSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119221, + "symbolAliases": [ + { + "foreign": { + "id": 119320, + "name": "IMoveSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119220, + "src": "580:11:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119323, + "nodeType": "ImportDirective", + "src": "620:52:169", + "nodes": [], + "absolutePath": "src/codegen/world/IPlayerSystem.sol", + "file": "./IPlayerSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119302, + "symbolAliases": [ + { + "foreign": { + "id": 119322, + "name": "IPlayerSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119301, + "src": "629:13:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119345, + "nodeType": "ContractDefinition", + "src": "788:195:169", + "nodes": [], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 119325, + "name": "IBaseWorld", + "nodeType": "IdentifierPath", + "referencedDeclaration": 71348, + "src": "810:10:169" + }, + "id": 119326, + "nodeType": "InheritanceSpecifier", + "src": "810:10:169" + }, + { + "baseName": { + "id": 119327, + "name": "IBattleForceSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119076, + "src": "824:18:169" + }, + "id": 119328, + "nodeType": "InheritanceSpecifier", + "src": "824:18:169" + }, + { + "baseName": { + "id": 119329, + "name": "IBattleInfoSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119088, + "src": "846:17:169" + }, + "id": 119330, + "nodeType": "InheritanceSpecifier", + "src": "846:17:169" + }, + { + "baseName": { + "id": 119331, + "name": "IBattlePrepareSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119122, + "src": "867:20:169" + }, + "id": 119332, + "nodeType": "InheritanceSpecifier", + "src": "867:20:169" + }, + { + "baseName": { + "id": 119333, + "name": "IBattleSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119141, + "src": "891:13:169" + }, + "id": 119334, + "nodeType": "InheritanceSpecifier", + "src": "891:13:169" + }, + { + "baseName": { + "id": 119335, + "name": "IBoxSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119163, + "src": "908:10:169" + }, + "id": 119336, + "nodeType": "InheritanceSpecifier", + "src": "908:10:169" + }, + { + "baseName": { + "id": 119337, + "name": "IGameSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119205, + "src": "922:11:169" + }, + "id": 119338, + "nodeType": "InheritanceSpecifier", + "src": "922:11:169" + }, + { + "baseName": { + "id": 119339, + "name": "IGMSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119199, + "src": "937:9:169" + }, + "id": 119340, + "nodeType": "InheritanceSpecifier", + "src": "937:9:169" + }, + { + "baseName": { + "id": 119341, + "name": "IMoveSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119220, + "src": "950:11:169" + }, + "id": 119342, + "nodeType": "InheritanceSpecifier", + "src": "950:11:169" + }, + { + "baseName": { + "id": 119343, + "name": "IPlayerSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119301, + "src": "965:13:169" + }, + "id": 119344, + "nodeType": "InheritanceSpecifier", + "src": "965:13:169" + } + ], + "canonicalName": "IWorld", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 119324, + "nodeType": "StructuredDocumentation", + "src": "674:113:169", + "text": " The IWorld interface includes all systems dynamically added to the World\n during the deploy process." + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 119345, + 119301, + 119220, + 119199, + 119205, + 119163, + 119141, + 119122, + 119088, + 119076, + 71348, + 130569, + 130478, + 130462, + 130465, + 130517, + 174227, + 130507, + 130496, + 64435, + 127735, + 64393, + 64426, + 64399, + 64370, + 64256 + ], + "name": "IWorld", + "nameLocation": "798:6:169", + "scope": 119346, + "usedErrors": [ + 127700, + 127706, + 127708, + 127710, + 127716, + 127722, + 127728, + 127734, + 174196, + 174200, + 174206, + 174210, + 174214, + 174218, + 174222, + 174226 + ] + } + ], + "license": "MIT" + }, + "id": 169 +} \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.abi.json b/packages/contracts/out/Loot.sol/MLoot.abi.json new file mode 100644 index 00000000..4bcc3741 --- /dev/null +++ b/packages/contracts/out/Loot.sol/MLoot.abi.json @@ -0,0 +1,697 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawErc20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json new file mode 100644 index 00000000..5dcf2b2c --- /dev/null +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -0,0 +1,14344 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawErc20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60096102c0818152682bb0b93430b6b6b2b960b91b6102e0526080908152600c6103009081526b28bab0b93a32b939ba30b33360a11b6103205260a05260046103408181526313585d5b60e21b6103605260c052610380818152634d61636560e01b6103a05260e0526103c08181526321b63ab160e11b6103e052610100526006610400908152654b6174616e6160d01b61042052610120526008610440818152672330b631b434b7b760c11b61046052610140526104808181526729b1b4b6b4ba30b960c11b6104a05261016052600a6104c081815269131bdb99c814dddbdc9960b21b6104e05261018052600b6105009081526a14da1bdc9d0814dddbdc9960aa1b610520526101a0526105408181526911da1bdcdd0815d85b9960b21b610560526101c0526105809081526911dc985d994815d85b9960b21b6105a0526101e0526105c084815268109bdb994815d85b9960ba1b6105e052610200526106008281526315d85b9960e21b6106205261022052610640908152674772696d6f69726560c01b6106605261024052610680928352684368726f6e69636c6560b81b6106a052610260929092526106c082815263546f6d6560e01b6106e0526102805261074060405261070091825263426f6f6b60e01b610720526102a091909152620001f190600090601262001ce5565b506040805161022081018252600b6101e082019081526a446976696e6520526f626560a81b61020083015281528151808301835260098082526853696c6b20526f626560b81b6020838101919091528084019290925283518085018552600a808252694c696e656e20526f626560b01b8285015284860191909152845180860186526004815263526f626560e01b81850152606085015284518086018652600581526414da1a5c9d60da1b818501526080850152845180860186528181526944656d6f6e204875736b60b01b8185015260a085015284518086018652601081526f223930b3b7b739b5b4b71020b936b7b960811b8185015260c085015284518086018652601581527f53747564646564204c6561746865722041726d6f7200000000000000000000008185015260e08501528451808601865260128152712430b932102632b0ba3432b91020b936b7b960711b8185015261010085015284518086018652600d81526c2632b0ba3432b91020b936b7b960991b8185015261012085015284518086018652600f8082526e486f6c79204368657374706c61746560881b828601526101408601919091528551808701875260118152704f726e617465204368657374706c61746560781b818601526101608601528551808701875282815269141b185d194813585a5b60b21b81860152610180860152855180870187529182526910da185a5b8813585a5b60b21b828501526101a0850191909152845180860190955290845268149a5b99c813585a5b60ba1b918401919091526101c082019290925262000448916001919062001d49565b506040805161022081018252600c6101e082019081526b416e6369656e742048656c6d60a01b610200830152815281518083018352600b8082526a4f726e6174652048656c6d60a81b6020838101919091528084019290925283518085018552600a8082526947726561742048656c6d60b01b82850152848601919091528451808601865260098082526846756c6c2048656c6d60b81b8286015260608601919091528551808701875260048082526348656c6d60e01b828701526080870191909152865180880188528481526a2232b6b7b71021b937bbb760a91b8187015260a087015286518088018852600e81526d223930b3b7b713b99021b937bbb760911b8187015260c08701528651808801885260078152660576172204361760cc1b8187015260e0870152865180880188528481526a04c656174686572204361760ac1b8187015261010087015286518088018852600381526204361760ec1b8187015261012087015286518088018852600581526421b937bbb760d91b81870152610140870152865180880188529384526a111a5d9a5b9948121bdbd960aa1b84860152610160860193909352855180870187529081526814da5b1ac8121bdbd960ba1b818501526101808501528451808601865290815269131a5b995b88121bdbd960b21b818401526101a08401528351808501909452835263121bdbd960e21b908301526101c08101919091526200066790600290600f62001d49565b506040805161022081018252600b6101e082018181526a13dc9b985d194810995b1d60aa1b610200840152825282518084018452600881526715d85c8810995b1d60c21b60208281019190915280840191909152835180850185529182526a141b185d19590810995b1d60aa1b82820152828401919091528251808401845260098082526813595cda0810995b1d60ba1b82840152606084019190915283518085018552600a808252691219585d9e4810995b1d60b21b82850152608085019190915284518086018652600e81526d11195b5bdb9a1a59194810995b1d60921b8185015260a085015284518086018652600f8082526e111c9859dbdb9cdada5b8810995b1d608a1b8286015260c086019190915285518087018752601481527f53747564646564204c6561746865722042656c740000000000000000000000008186015260e086015285518087018752601181527012185c99081319585d1a195c8810995b1d607a1b8186015261010086015285518087018752600c81526b1319585d1a195c8810995b1d60a21b81860152610120860152855180870187528181526e084e4d2ced0e8e6d2d8d640a6c2e6d608b1b8186015261014086015285518087018752838152680a6d2d8d640a6c2e6d60bb1b8186015261016086015285518087018752928352680aededed840a6c2e6d60bb1b838501526101808501929092528451808601865290815269098d2dccadc40a6c2e6d60b31b818401526101a0840152835180850190945260048452630a6c2e6d60e31b918401919091526101c0820192909252620008c0916003919062001d49565b506040805161022081018252600c6101e082019081526b486f6c79204772656176657360a01b610200830152815281518083018352600e81526d4f726e617465204772656176657360901b602082810191909152808301919091528251808401845260078152664772656176657360c81b818301528284015282518084018452600b8082526a436861696e20426f6f747360a81b828401526060840191909152835180850185528181526a486561767920426f6f747360a81b81840152608084015283518085018552600f8082526e44656d6f6e6869646520426f6f747360881b8285015260a085019190915284518086018652601081526f447261676f6e736b696e20426f6f747360801b8185015260c085015284518086018652601581527f53747564646564204c65617468657220426f6f747300000000000000000000008185015260e085015284518086018652601281527148617264204c65617468657220426f6f747360701b8185015261010085015284518086018652600d8082526c4c65617468657220426f6f747360981b82860152610120860191909152855180870187528281526e446976696e6520536c69707065727360881b81860152610140860152855180870187529081526c53696c6b20536c69707065727360981b8185015261016085015284518086018652600a815269576f6f6c2053686f657360b01b81850152610180850152845180860186529182526a4c696e656e2053686f657360a81b828401526101a08401919091528351808501909452600584526453686f657360d81b918401919091526101c082019290925262000b28916004919062001d49565b506040805161022081018252600e6101e082018181526d486f6c79204761756e746c65747360901b610200840152825282518084018452601081526f4f726e617465204761756e746c65747360801b602082810191909152808401919091528351808501855260098152684761756e746c65747360b81b818301528385015283518085018552600c8082526b436861696e20476c6f76657360a01b828401526060850191909152845180860186528181526b486561767920476c6f76657360a01b81840152608085015284518086018652600d8082526c44656d6f6e27732048616e647360981b8285015260a0860191909152855180870187526011815270447261676f6e736b696e20476c6f76657360781b8185015260c086015285518087018752601681527f53747564646564204c65617468657220476c6f766573000000000000000000008185015260e086015285518087018752601381527f48617264204c65617468657220476c6f7665730000000000000000000000000081850152610100860152855180870187529384526d4c65617468657220476c6f76657360901b84840152610120850193909352845180860186529283526c446976696e6520476c6f76657360981b8383015261014084019290925283518085018552600b8082526a53696c6b20476c6f76657360a81b82840152610160850191909152845180860186529081526a576f6f6c20476c6f76657360a81b81830152610180840152835180850185529182526b4c696e656e20476c6f76657360a01b828201526101a083019190915282518084019093526006835265476c6f76657360d01b908301526101c081019190915262000da590600590600f62001d49565b506040805160a081018252600860608201908152674e65636b6c61636560c01b6080830152815281518083018352600680825265105b5d5b195d60d21b6020838101919091528084019290925283518085018552600781526614195b99185b9d60ca1b928101929092529282015262000e219190600362001d9b565b506040805160e081018252600960a0820190815268476f6c642052696e6760b81b60c0830152815281518083018352600b8082526a53696c7665722052696e6760a81b60208381019190915280840192909252835180850185529081526a42726f6e7a652052696e6760a81b818301528284015282518084018452600d8082526c506c6174696e756d2052696e6760981b828401526060840191909152835180850190945283526c546974616e69756d2052696e6760981b90830152608081019190915262000ef590600790600562001ded565b506040518061020001604052806040518060400160405280600881526020016737b3102837bbb2b960c11b8152508152602001604051806040016040528060098152602001686f66204769616e747360b81b8152508152602001604051806040016040528060098152602001686f6620546974616e7360b81b8152508152602001604051806040016040528060088152602001671bd98814dada5b1b60c21b81525081526020016040518060400160405280600d81526020016c37b3102832b93332b1ba34b7b760991b81525081526020016040518060400160405280600d81526020016c6f66204272696c6c69616e636560981b81525081526020016040518060400160405280601081526020016f1bd988115b9b1a59da1d195b9b595b9d60821b81525081526020016040518060400160405280600d81526020016c37b310283937ba32b1ba34b7b760991b81525081526020016040518060400160405280600881526020016737b31020b733b2b960c11b8152508152602001604051806040016040528060078152602001666f66205261676560c81b8152508152602001604051806040016040528060078152602001666f66204675727960c81b81525081526020016040518060400160405280600a8152602001691bd988159a5d1c9a5bdb60b21b81525081526020016040518060400160405280600a8152602001690decc40e8d0ca408cdef60b31b81525081526020016040518060400160405280600c81526020016b37b3102232ba32b1ba34b7b760a11b81525081526020016040518060400160405280600d81526020016c37b3102932b33632b1ba34b7b760991b81525081526020016040518060400160405280600c81526020016b6f6620746865205477696e7360a01b81525081525060089060106200119a92919062001e3f565b50604080516108e08101825260056108a082018181526441676f6e7960d81b6108c0840152825282518084018452600a8082526941706f63616c7970736560b01b60208381019190915280850192909252845180860186528181526920b936b0b3b2b23237b760b11b818401528486015284518086018652838152641099585cdd60da1b81840152606085015284518086018652600880825267084cad0cadadee8d60c31b82850152608086019190915285518087018752600680825265109b1a59da1d60d21b8286015260a08701919091528651808801885285815264109b1bdbd960da1b8186015260c0870152865180880188526007808252664272616d626c6560c81b8287015260e0880191909152875180890189526009808252684272696d73746f6e6560b81b828801526101008901919091528851808a018a5287815264109c9bdbd960da1b818801526101208901528851808a018a528281526621b0b93934b7b760c91b818801526101408901528851808a018a528181526843617461636c79736d60b81b818801526101608901528851808a018a52848152674368696d6572696360c01b818801526101808901528851808a018a5283815265436f7270736560d01b818801526101a08901528851808a018a528581526921b7b9393ab83a34b7b760b11b818801526101c08901528851808a018a52818152682230b6b730ba34b7b760b91b818801526101e08901528851808a018a5287815264088cac2e8d60db1b818801526102008901528851808a018a52878152642232b6b7b760d91b818801526102208901528851808a018a526004808252634469726560e01b828901526102408a01919091528951808b018b5284815265223930b3b7b760d11b818901526102608a01528951808b018b5288815264111c99585960da1b818901526102808a01528951808b018b5281815263446f6f6d60e01b818901526102a08a01528951808b018b52818152634475736b60e01b818901526102c08a01528951808b018b52888152644561676c6560d81b818901526102e08a01528951808b018b528581526722b6b83cb932b0b760c11b818901526103008a01528951808b018b52818152634661746560e01b818901526103208a01528951808b018b52600380825262466f6560e81b828a01526103408b01919091528a51808c018c528281526347616c6560e01b818a01526103608b01528a51808c018c528981526411da1bdd5b60da1b818a01526103808b01528a51808c018c5289815264476c6f6f6d60d81b818a01526103a08b01528a51808c018c528981526408ed8f2e0d60db1b818a01526103c08b01528a51808c018c5289815264476f6c656d60d81b818a01526103e08b01528a51808c018c52828152634772696d60e01b818a01526104008b01528a51808c018c52828152634861746560e01b818a01526104208b01528a51808c018c52898152644861766f6360d81b818a01526104408b01528a51808c018c52858152652437b737bab960d11b818a01526104608b01528a51808c018c52858152652437b93937b960d11b818a01526104808b01528a51808c018c52868152674879706e6f74696360c01b818a01526104a08b01528a51808c018c528581526525b930b5b2b760d11b818a01526104c08b01528a51808c018c5289815264098dec2e8d60db1b818a01526104e08b01528a51808c018c52838152684d61656c7374726f6d60b81b818a01526105008b01528a51808c018c5282815263135a5b9960e21b818a01526105208b01528a51808c018c52848152664d697261636c6560c81b818a01526105408b01528a51808c018c5285815265135bdc989a5960d21b818a01526105608b01528a51808c018c529586526727b13634bb34b7b760c11b868901526105808a01959095528951808b018b528281526813db9cdb185d59da1d60ba1b818901526105a08a01528951808b018b52818152632830b4b760e11b818901526105c08a01528951808b018b52600b81526a50616e64656d6f6e69756d60a81b818901526105e08a01528951808b018b52838152660a0d0decadcd2f60cb1b818901526106008a01528951808b018b5284815265506c6167756560d01b818901526106208a01528951808b018b52818152635261676560e01b818901526106408a01528951808b018b52838152665261707475726560c81b818901526106608a01528951808b018b528181526352756e6560e01b818901526106808a01528951808b018b528881526414dadd5b1b60da1b818901526106a08a01528951808b018b528581526214dbdb60ea1b818901526106c08a01528951808b018b529081526314dbdd5b60e21b818801526106e08901528851808a018a5283815265536f72726f7760d01b818801526107008901528851808a018a528381526514dc1a5c9a5d60d21b818801526107208901528851808a018a528781526453746f726d60d81b818801526107408901528851808a018a528281526615195b5c195cdd60ca1b818801526107608901528851808a018a5282815266151bdc9b595b9d60ca1b818801526107808901528851808a018a528181526856656e6765616e636560b81b818801526107a08901528851808a018a5282815266566963746f727960c81b818801526107c08901528851808a018a52878152642b34b832b960d91b818801526107e08901528851808a018a52928352650acdee4e8caf60d31b838701526108008801929092528751808901895292835262576f6560e81b8386015261082087019290925286518088018852948552640aee4c2e8d60db1b8585015261084086019490945285518087018752908152664c69676874277360c81b8184015261086085015284518086019095528452695368696d6d6572696e6760b01b90840152610880820192909252620019fe9190604562001e91565b506040805161028081018252600461024082018181526342616e6560e01b61026084015282528251808401845281815263149bdbdd60e21b6020828101919091528084019190915283518085018552828152634269746560e01b81830152838501528351808501855282815263536f6e6760e01b81830152606084015283518085018552828152632937b0b960e11b81830152608084015283518085018552600580825264047726173760dc1b8284015260a085019190915284518086018652600a80825269125b9cdd1c9d5b595b9d60b21b8285015260c08601919091528551808701875284815263476c6f7760e01b8185015260e0860152855180870187526006808252652132b73232b960d11b828601526101008701919091528651808801885290815265536861646f7760d01b818501526101208601528551808701875260078152662bb434b9b832b960c91b81850152610140860152855180870187528281526414da1bdd5d60da1b81850152610160860152855180870187529182526411dc9bdddb60da1b8284015261018085019190915284518086018652838152632a32b0b960e11b818401526101a085015284518086018652838152635065616b60e01b818401526101c08501528451808601865283815263466f726d60e01b818401526101e085015284518086018652600381526229bab760e91b8184015261020085015284518086019095529184526326b7b7b760e11b9084015261022082019290925262001c349190601262001ce5565b5034801562001c4257600080fd5b50604051620076483803806200764883398101604081905262001c6591620020b5565b83518490849062001c7e90600b90602085019062001ee3565b50805162001c9490600c90602084019062001ee3565b5050855162001cac9150601690602088019062001ee3565b50601580546001600160a01b031916331790556014819055815162001cd990601790602085019062001ee3565b505050505050620021b4565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d2691849160209091019062001ee3565b509160200191906001019062001d06565b5062001d4592915062001f6e565b5090565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d8a91849160209091019062001ee3565b509160200191906001019062001d6a565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ddc91849160209091019062001ee3565b509160200191906001019062001dbc565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e2e91849160209091019062001ee3565b509160200191906001019062001e0e565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e8091849160209091019062001ee3565b509160200191906001019062001e60565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ed291849160209091019062001ee3565b509160200191906001019062001eb2565b82805462001ef19062002178565b90600052602060002090601f01602090048101928262001f15576000855562001f60565b82601f1062001f3057805160ff191683800117855562001f60565b8280016001018555821562001f60579182015b8281111562001f6057825182559160200191906001019062001f43565b5062001d4592915062001f8f565b8082111562001d4557600062001f85828262001fa6565b5060010162001f6e565b5b8082111562001d45576000815560010162001f90565b50805462001fb49062002178565b6000825580601f1062001fc5575050565b601f01602090049060005260206000209081019062001fe5919062001f8f565b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200201057600080fd5b81516001600160401b03808211156200202d576200202d62001fe8565b604051601f8301601f19908116603f0116810190828211818310171562002058576200205862001fe8565b816040528381526020925086838588010111156200207557600080fd5b600091505b838210156200209957858201830151818301840152908201906200207a565b83821115620020ab5760008385830101525b9695505050505050565b600080600080600060a08688031215620020ce57600080fd5b85516001600160401b0380821115620020e657600080fd5b620020f489838a0162001ffe565b965060208801519150808211156200210b57600080fd5b6200211989838a0162001ffe565b955060408801519150808211156200213057600080fd5b6200213e89838a0162001ffe565b945060608801519150808211156200215557600080fd5b50620021648882890162001ffe565b925050608086015190509295509295909350565b600181811c908216806200218d57607f821691505b602082108103620021ae57634e487b7160e01b600052602260045260246000fd5b50919050565b61548480620021c46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", + "sourceMap": "79:384:172:-:0;;;;;-1:-1:-1;;;79:384:172;;297:8429:171;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;297:8429:171;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;79:384:172;;:::i;:::-;-1:-1:-1;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:172;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:172;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:172;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;:::i;:::-;-1:-1:-1;2533:149:172;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:172;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:172;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;:::i;:::-;;374::171;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;559:6:171;;567:4;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:171;;::::1;::::0;-1:-1:-1;583:4:171::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:171::1;:18:::0;;-1:-1:-1;;;;;;605:18:171::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:194:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:194;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:171;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", + "sourceMap": "297:8429:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:194;;;1911:74;;1899:2;1884:18;3935:167:105;1765:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2602:25:194;;;2590:2;2575:18;241:23:173;2456:177:194;6480:214:171;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;7219:620:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:194;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:171;2971:679:194;1033:29:171;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;7845:482:171:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:105:-;;;;;;:::i;:::-;;:::i;5946:324:171:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:171:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;10032:25:194;;;-1:-1:-1;;;;;10093:55:194;;;10088:2;10073:18;;10066:83;10005:18;270:44:173;9858:297:194;5263:677:171;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;11069:2:194;3597:57:105;;;11051:21:194;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;11471:2:194;3665:170:105;;;11453:21:194;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:105;11269:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:171:-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:194;;;6629:58:171::1;::::0;::::1;11873:74:194::0;11963:18;;;11956:34;;;6629:33:171;::::1;::::0;::::1;::::0;11846:18:194;;6629:58:171::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:105:-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;12453:2:194;4763:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:105;12251:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:171:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:171;;;-1:-1:-1;;7361:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:171;-1:-1:-1;7430:21:171;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:171;;12867:2:194;7408:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:171;12665:339:194;7408:62:171;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:105:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:171:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:171;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:171;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:171;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:171;;7845:482;-1:-1:-1;;;7845:482:171:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:171;;13789:2:194;6388:40:171::1;::::0;::::1;13771:21:194::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:171::1;13587:340:194::0;6388:40:171::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:171;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:171;;;-1:-1:-1;;6884:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:171;-1:-1:-1;6953:21:171;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:171;;12867:2:194;6931:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:171;12665:339:194;6931:62:171;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;14134:2:194;2324:56:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:105;13932:348:194;5946:324:171;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:171;-1:-1:-1;;;;;6066:18:171;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:171;6066:10;;6094:32;;;;-1:-1:-1;6152:8:171;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:171;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;14487:2:194;2020:73:105;;;14469:21:194;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:105;14285:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:171:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:171;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:171;;;;;;;-1:-1:-1;;1135:40:171;;;:::o;4169:153:105:-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;12453:2:194;5311:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:105;12251:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:171:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:171;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:171;;;-1:-1:-1;;1404:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:171;-1:-1:-1;1468:19:171;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:171:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:171;;16481:2:194;1704:60:171;;;16463:21:194;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:171;16279:339:194;1704:60:171;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:171;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:171;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:171;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:171:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:171;;:34;;-1:-1:-1;;5899:34:171;5912:21;5899:34;;;-1:-1:-1;5263:677:171:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;14134:2:194;13313:53:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:105;13932:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;20485:2:194;11346:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:105;20283:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;20891:2:194;11437:65:105;;;20873:21:194;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:105;20689:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;20485:2:194;11647:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:105;20283:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:171:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:171;;21296:2:194;8452:41:171;;;21278:21:194;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:171;21094:337:194;8452:41:171;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:171;8333:391;-1:-1:-1;;;8333:391:171:o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:194;;;10073:18;;;10066:83;458:21:173;563:31;;10005:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;21919:2:194;8996:61:105;;;21901:21:194;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:105;21717:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;22280:2:194;9067:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:105;22078:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;22280:2:194;9271:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:105;22078:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;22637:2:194;12982:55:105;;;22619:21:194;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:105;22435:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;22991:2:194;6476:110:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:105;22789:414:194;447:696:111;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;24090:2:194;765:55:173;;;24072:21:194;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:173;23888:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;24441:2:194;880:69:173;;;24423:21:194;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:173;24239:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;24844:2:194;1022:122:173;;;24826:21:194;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:173;24642:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;25163:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;4104:1153:171:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:171;4104:1153;-1:-1:-1;;;4104:1153:171:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;22991:2:194;14409:60:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:105;22789:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;13925:831;;;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:194;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:194;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:194:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:194;;3655:632;-1:-1:-1;;;;;;3655:632:194:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:194:o;5875:184::-;-1:-1:-1;;;5924:1:194;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:194;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:194;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:194;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:194;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:194;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:194;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:194;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:194;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:194;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:194;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:194;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:194:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:194:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:194:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:194:o;23208:184::-;-1:-1:-1;;;23257:1:194;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:194;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:194;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:194;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:194;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:194;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:194:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:194:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:194:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:194:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:194;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:194:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "getStructIndexInfo(uint256)": "3c41d28c", + "getStructInfo(uint256)": "53bbd6a7", + "getUserTokenIdList()": "43a47162", + "isApprovedForAll(address,address)": "e985e9c5", + "lootList(uint256)": "9b8a3237", + "mint(address)": "6a627842", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "randomId()": "0ab14d8a", + "randomList(uint256)": "cba86e23", + "revealNFT(uint256)": "d5608f9a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenId()": "17d70f7c", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd", + "waitBlockCount()": "3e8474ca", + "withdraw(address)": "51cff8d9", + "withdrawErc20(address,address,uint256)": "1593dee1" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_desc\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_notRevealedInfo\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_waitBlockCount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"name\":\"NewRandom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructIndexInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUserTokenIdList\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lootList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"Weapon\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Chest\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Head\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Waist\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Foot\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Hand\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Neck\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Ring\",\"type\":\"string\"},{\"internalType\":\"enum MRandom.RandomState\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"randomList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"revealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"waitBlockCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_targetAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawErc20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/Loot.sol\":\"MLoot\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/other/Base64.sol\":{\"keccak256\":\"0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2\",\"dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt\"]},\"src/other/Loot.sol\":{\"keccak256\":\"0x6a3cebf8df977c691cb7a68e8b1509399098e113b5fa4e9695894de03018600f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a47c1135ac397e857e332989475f98bc3d7640c1f9b08a5b185bf8c25574d745\",\"dweb:/ipfs/QmZVZLAGnGwHvdkvy6HvyzQbz1ba1YBQFdZZax1NDcUz1B\"]},\"src/other/LootSuit.sol\":{\"keccak256\":\"0x1f16eb64c95c06b3549a0a080f1f407f5710637e6b5f5acfcd5bb10fd029fadf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7023e085f42a30832f4f701855ada24ce31897ba87dfc013c502b7d67b5eed4f\",\"dweb:/ipfs/QmQTZxCqiUQXLDwghriSeakVD7C9QVT4mR1WY5Eg1PV5aB\"]},\"src/other/MRandom.sol\":{\"keccak256\":\"0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3\",\"dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "author", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "NewRandom", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealNFT" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdrawErc20" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/Loot.sol": "MLoot" + }, + "libraries": {} + }, + "sources": { + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff", + "urls": [ + "bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005", + "dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266", + "urls": [ + "bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4", + "dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "src/other/Base64.sol": { + "keccak256": "0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675", + "urls": [ + "bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2", + "dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt" + ], + "license": "MIT" + }, + "src/other/Loot.sol": { + "keccak256": "0x6a3cebf8df977c691cb7a68e8b1509399098e113b5fa4e9695894de03018600f", + "urls": [ + "bzz-raw://a47c1135ac397e857e332989475f98bc3d7640c1f9b08a5b185bf8c25574d745", + "dweb:/ipfs/QmZVZLAGnGwHvdkvy6HvyzQbz1ba1YBQFdZZax1NDcUz1B" + ], + "license": "MIT" + }, + "src/other/LootSuit.sol": { + "keccak256": "0x1f16eb64c95c06b3549a0a080f1f407f5710637e6b5f5acfcd5bb10fd029fadf", + "urls": [ + "bzz-raw://7023e085f42a30832f4f701855ada24ce31897ba87dfc013c502b7d67b5eed4f", + "dweb:/ipfs/QmQTZxCqiUQXLDwghriSeakVD7C9QVT4mR1WY5Eg1PV5aB" + ], + "license": "MIT" + }, + "src/other/MRandom.sol": { + "keccak256": "0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5", + "urls": [ + "bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3", + "dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/Loot.sol", + "id": 120387, + "exportedSymbols": { + "Address": [ + 132106 + ], + "Base64": [ + 119403 + ], + "Context": [ + 132128 + ], + "ERC165": [ + 132152 + ], + "ERC721": [ + 72425 + ], + "IERC165": [ + 174433 + ], + "IERC20": [ + 71498 + ], + "IERC721": [ + 131731 + ], + "IERC721Metadata": [ + 131776 + ], + "IERC721Receiver": [ + 131749 + ], + "MLoot": [ + 120386 + ], + "MRandom": [ + 120834 + ], + "Math": [ + 133018 + ], + "SignedMath": [ + 133123 + ], + "Strings": [ + 72654 + ], + "Suit": [ + 120637 + ] + }, + "nodeType": "SourceUnit", + "src": "32:8695:171", + "nodes": [ + { + "id": 119405, + "nodeType": "PragmaDirective", + "src": "32:24:171", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 119406, + "nodeType": "ImportDirective", + "src": "57:24:171", + "nodes": [], + "absolutePath": "src/other/LootSuit.sol", + "file": "./LootSuit.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 120638, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119407, + "nodeType": "ImportDirective", + "src": "82:22:171", + "nodes": [], + "absolutePath": "src/other/Base64.sol", + "file": "./Base64.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 119404, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119408, + "nodeType": "ImportDirective", + "src": "105:23:171", + "nodes": [], + "absolutePath": "src/other/MRandom.sol", + "file": "./MRandom.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 120835, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119409, + "nodeType": "ImportDirective", + "src": "129:51:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/utils/Strings.sol", + "file": "@openzeppelin/contracts/utils/Strings.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 72655, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119410, + "nodeType": "ImportDirective", + "src": "181:57:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 72426, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119411, + "nodeType": "ImportDirective", + "src": "239:56:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 71499, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 120386, + "nodeType": "ContractDefinition", + "src": "297:8429:171", + "nodes": [ + { + "id": 119420, + "nodeType": "UsingForDirective", + "src": "342:26:171", + "nodes": [], + "global": false, + "libraryName": { + "id": 119418, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72654, + "src": "348:7:171" + }, + "typeName": { + "id": 119419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "360:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 119455, + "nodeType": "FunctionDefinition", + "src": "374:342:171", + "nodes": [], + "body": { + "id": 119454, + "nodeType": "Block", + "src": "573:143:171", + "nodes": [], + "statements": [ + { + "expression": { + "id": 119439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119437, + "name": "desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119487, + "src": "583:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119438, + "name": "_desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119422, + "src": "590:5:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "583:12:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119440, + "nodeType": "ExpressionStatement", + "src": "583:12:171" + }, + { + "expression": { + "id": 119444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119441, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119485, + "src": "605:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119442, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "613:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 119443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "613:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "605:18:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 119445, + "nodeType": "ExpressionStatement", + "src": "605:18:171" + }, + { + "expression": { + "id": 119448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119446, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119483, + "src": "633:14:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119447, + "name": "_waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119430, + "src": "650:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "633:32:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119449, + "nodeType": "ExpressionStatement", + "src": "633:32:171" + }, + { + "expression": { + "id": 119452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119450, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119489, + "src": "675:15:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119451, + "name": "_notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119428, + "src": "693:16:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "675:34:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119453, + "nodeType": "ExpressionStatement", + "src": "675:34:171" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 119433, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119424, + "src": "559:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 119434, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119426, + "src": "567:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 119435, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 119432, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "552:6:171" + }, + "nodeType": "ModifierInvocation", + "src": "552:20:171" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 119431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119422, + "mutability": "mutable", + "name": "_desc", + "nameLocation": "409:5:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "395:19:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119421, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119424, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "438:6:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "424:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "424:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119426, + "mutability": "mutable", + "name": "name", + "nameLocation": "468:4:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "454:18:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "454:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119428, + "mutability": "mutable", + "name": "_notRevealedInfo", + "nameLocation": "496:16:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "482:30:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119427, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "482:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119430, + "mutability": "mutable", + "name": "_waitBlockCount", + "nameLocation": "530:15:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "522:23:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "522:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "385:166:171" + }, + "returnParameters": { + "id": 119436, + "nodeType": "ParameterList", + "parameters": [], + "src": "573:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 119479, + "nodeType": "StructDefinition", + "src": "732:267:171", + "nodes": [], + "canonicalName": "MLoot.Loot", + "members": [ + { + "constant": false, + "id": 119457, + "mutability": "mutable", + "name": "randomId", + "nameLocation": "762:8:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "754:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "754:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119459, + "mutability": "mutable", + "name": "owner", + "nameLocation": "788:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "780:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119458, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119461, + "mutability": "mutable", + "name": "Weapon", + "nameLocation": "810:6:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "803:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "803:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119463, + "mutability": "mutable", + "name": "Chest", + "nameLocation": "833:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "826:12:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "826:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119465, + "mutability": "mutable", + "name": "Head", + "nameLocation": "855:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "848:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "848:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119467, + "mutability": "mutable", + "name": "Waist", + "nameLocation": "876:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "869:12:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119466, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "869:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119469, + "mutability": "mutable", + "name": "Foot", + "nameLocation": "898:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "891:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "891:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119471, + "mutability": "mutable", + "name": "Hand", + "nameLocation": "919:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "912:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119470, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "912:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119473, + "mutability": "mutable", + "name": "Neck", + "nameLocation": "940:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "933:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119472, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "933:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119475, + "mutability": "mutable", + "name": "Ring", + "nameLocation": "961:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "954:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "954:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119478, + "mutability": "mutable", + "name": "state", + "nameLocation": "987:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "975:17:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "typeName": { + "id": 119477, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119476, + "name": "RandomState", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120643, + "src": "975:11:171" + }, + "referencedDeclaration": 120643, + "src": "975:11:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "visibility": "internal" + } + ], + "name": "Loot", + "nameLocation": "739:4:171", + "scope": 120386, + "visibility": "public" + }, + { + "id": 119481, + "nodeType": "VariableDeclaration", + "src": "1005:22:171", + "nodes": [], + "constant": false, + "functionSelector": "17d70f7c", + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1020:7:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119480, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1005:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 119483, + "nodeType": "VariableDeclaration", + "src": "1033:29:171", + "nodes": [], + "constant": false, + "functionSelector": "3e8474ca", + "mutability": "mutable", + "name": "waitBlockCount", + "nameLocation": "1048:14:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1033:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 119485, + "nodeType": "VariableDeclaration", + "src": "1070:13:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1078:5:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1070:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 119487, + "nodeType": "VariableDeclaration", + "src": "1089:11:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "desc", + "nameLocation": "1096:4:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 119486, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1089:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 119489, + "nodeType": "VariableDeclaration", + "src": "1106:22:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "notRevealedInfo", + "nameLocation": "1113:15:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 119488, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1106:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 119494, + "nodeType": "VariableDeclaration", + "src": "1135:40:171", + "nodes": [], + "constant": false, + "functionSelector": "9b8a3237", + "mutability": "mutable", + "name": "lootList", + "nameLocation": "1167:8:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot)" + }, + "typeName": { + "id": 119493, + "keyType": { + "id": 119490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1135:24:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot)" + }, + "valueType": { + "id": 119492, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119491, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "1154:4:171" + }, + "referencedDeclaration": 119479, + "src": "1154:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + } + }, + "visibility": "public" + }, + { + "id": 119505, + "nodeType": "ModifierDefinition", + "src": "1182:77:171", + "nodes": [], + "body": { + "id": 119504, + "nodeType": "Block", + "src": "1203:56:171", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 119500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119497, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1221:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 119498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1221:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 119499, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119485, + "src": "1235:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1221:19:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 119496, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1213:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 119501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1213:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 119502, + "nodeType": "ExpressionStatement", + "src": "1213:28:171" + }, + { + "id": 119503, + "nodeType": "PlaceholderStatement", + "src": "1251:1:171" + } + ] + }, + "name": "onlyOwner", + "nameLocation": "1191:9:171", + "parameters": { + "id": 119495, + "nodeType": "ParameterList", + "parameters": [], + "src": "1200:2:171" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 119780, + "nodeType": "FunctionDefinition", + "src": "1266:2832:171", + "nodes": [], + "body": { + "id": 119779, + "nodeType": "Block", + "src": "1361:2737:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119518 + ], + "declarations": [ + { + "constant": false, + "id": 119518, + "mutability": "mutable", + "name": "parts", + "nameLocation": "1389:5:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "1371:23:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string[17]" + }, + "typeName": { + "baseType": { + "id": 119516, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1371:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119517, + "length": { + "hexValue": "3137", + "id": 119515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1378:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "nodeType": "ArrayTypeName", + "src": "1371:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$17_storage_ptr", + "typeString": "string[17]" + } + }, + "visibility": "internal" + } + ], + "id": 119519, + "nodeType": "VariableDeclarationStatement", + "src": "1371:23:171" + }, + { + "assignments": [ + 119522 + ], + "declarations": [ + { + "constant": false, + "id": 119522, + "mutability": "mutable", + "name": "loot", + "nameLocation": "1416:4:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "1404:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 119521, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119520, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "1404:4:171" + }, + "referencedDeclaration": 119479, + "src": "1404:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 119526, + "initialValue": { + "baseExpression": { + "id": 119523, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "1423:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 119525, + "indexExpression": { + "id": 119524, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119507, + "src": "1432:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1423:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1404:37:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 119531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119527, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "1454:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "1454:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 119529, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "1468:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 119530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "1468:19:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1454:33:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119546, + "nodeType": "IfStatement", + "src": "1451:244:171", + "trueBody": { + "id": 119545, + "nodeType": "Block", + "src": "1488:207:171", + "statements": [ + { + "assignments": [ + 119533 + ], + "declarations": [ + { + "constant": false, + "id": 119533, + "mutability": "mutable", + "name": "r", + "nameLocation": "1516:1:171", + "nodeType": "VariableDeclaration", + "scope": 119545, + "src": "1502:15:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119532, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1502:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119542, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 119538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1574:31:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 119539, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119489, + "src": "1623:15:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 119536, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1540:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1540:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1540:112:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1520:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119534, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1520:6:171", + "typeDescriptions": {} + } + }, + "id": 119541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:142:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1502:160:171" + }, + { + "expression": { + "id": 119543, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119533, + "src": "1683:1:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119512, + "id": 119544, + "nodeType": "Return", + "src": "1676:8:171" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 119552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119548, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "1712:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "1712:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 119550, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "1726:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 119551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Inited", + "nodeType": "MemberAccess", + "referencedDeclaration": 120640, + "src": "1726:18:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1712:32:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "426f78206e6f742065786973746564", + "id": 119553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1746:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + }, + "value": "Box not existed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + } + ], + "id": 119547, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1704:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 119554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:60:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 119555, + "nodeType": "ExpressionStatement", + "src": "1704:60:171" + }, + { + "expression": { + "id": 119560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119556, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "1775:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119558, + "indexExpression": { + "hexValue": "30", + "id": 119557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1794:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1775:30:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", + "id": 119559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1808:255:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "1775:288:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119561, + "nodeType": "ExpressionStatement", + "src": "1775:288:171" + }, + { + "expression": { + "id": 119567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119562, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2074:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119564, + "indexExpression": { + "hexValue": "31", + "id": 119563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2080:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2074:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119565, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2085:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "2085:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2074:22:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119568, + "nodeType": "ExpressionStatement", + "src": "2074:22:171" + }, + { + "expression": { + "id": 119573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119569, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2107:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119571, + "indexExpression": { + "hexValue": "32", + "id": 119570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2113:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2107:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", + "id": 119572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2118:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2107:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119574, + "nodeType": "ExpressionStatement", + "src": "2107:53:171" + }, + { + "expression": { + "id": 119580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119575, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2171:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119577, + "indexExpression": { + "hexValue": "33", + "id": 119576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2177:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2171:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119578, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2182:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "2182:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2171:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119581, + "nodeType": "ExpressionStatement", + "src": "2171:21:171" + }, + { + "expression": { + "id": 119586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119582, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2203:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119584, + "indexExpression": { + "hexValue": "34", + "id": 119583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2209:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2203:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", + "id": 119585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2214:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2203:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119587, + "nodeType": "ExpressionStatement", + "src": "2203:53:171" + }, + { + "expression": { + "id": 119593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119588, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2267:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119590, + "indexExpression": { + "hexValue": "35", + "id": 119589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2273:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2267:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119591, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2278:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "2278:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2267:20:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119594, + "nodeType": "ExpressionStatement", + "src": "2267:20:171" + }, + { + "expression": { + "id": 119599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119595, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2298:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119597, + "indexExpression": { + "hexValue": "36", + "id": 119596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2304:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2298:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", + "id": 119598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2309:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2298:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119600, + "nodeType": "ExpressionStatement", + "src": "2298:53:171" + }, + { + "expression": { + "id": 119606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119601, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2362:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119603, + "indexExpression": { + "hexValue": "37", + "id": 119602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2368:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2362:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119604, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2373:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "2373:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2362:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119607, + "nodeType": "ExpressionStatement", + "src": "2362:21:171" + }, + { + "expression": { + "id": 119612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119608, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2394:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119610, + "indexExpression": { + "hexValue": "38", + "id": 119609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2400:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2394:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", + "id": 119611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2405:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2394:54:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119613, + "nodeType": "ExpressionStatement", + "src": "2394:54:171" + }, + { + "expression": { + "id": 119619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119614, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2459:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119616, + "indexExpression": { + "hexValue": "39", + "id": 119615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2465:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2459:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119617, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2470:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "2470:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2459:20:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119620, + "nodeType": "ExpressionStatement", + "src": "2459:20:171" + }, + { + "expression": { + "id": 119625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119621, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2490:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119623, + "indexExpression": { + "hexValue": "3130", + "id": 119622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2496:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2490:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", + "id": 119624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2502:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2490:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119626, + "nodeType": "ExpressionStatement", + "src": "2490:55:171" + }, + { + "expression": { + "id": 119632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119627, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2556:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119629, + "indexExpression": { + "hexValue": "3131", + "id": 119628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2562:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2556:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119630, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2568:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119631, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "2568:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2556:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119633, + "nodeType": "ExpressionStatement", + "src": "2556:21:171" + }, + { + "expression": { + "id": 119638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119634, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2588:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119636, + "indexExpression": { + "hexValue": "3132", + "id": 119635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2594:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2588:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e", + "id": 119637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2600:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_802d7ac612e3f71ec446a9f274d9a3dd6ee52f8ac958ec0935e9c85bcfda065f", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2588:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119639, + "nodeType": "ExpressionStatement", + "src": "2588:55:171" + }, + { + "expression": { + "id": 119645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119640, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2654:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119642, + "indexExpression": { + "hexValue": "3133", + "id": 119641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2660:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2654:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119643, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2666:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "2666:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2654:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119646, + "nodeType": "ExpressionStatement", + "src": "2654:21:171" + }, + { + "expression": { + "id": 119651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119647, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2686:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119649, + "indexExpression": { + "hexValue": "3134", + "id": 119648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2692:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2686:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e", + "id": 119650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2698:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b0df153e66a9089705a59f42f527fc62c50272bbdcc98097fe5334a37452f0f", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2686:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119652, + "nodeType": "ExpressionStatement", + "src": "2686:55:171" + }, + { + "expression": { + "id": 119658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119653, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2752:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119655, + "indexExpression": { + "hexValue": "3135", + "id": 119654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2758:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2752:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119656, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2764:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119657, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "2764:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2752:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119659, + "nodeType": "ExpressionStatement", + "src": "2752:21:171" + }, + { + "expression": { + "id": 119664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119660, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2784:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119662, + "indexExpression": { + "hexValue": "3136", + "id": 119661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2790:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2784:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c2f7376673e", + "id": 119663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2796:15:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2784:27:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119665, + "nodeType": "ExpressionStatement", + "src": "2784:27:171" + }, + { + "assignments": [ + 119667 + ], + "declarations": [ + { + "constant": false, + "id": 119667, + "mutability": "mutable", + "name": "output", + "nameLocation": "2836:6:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "2822:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119666, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2822:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119701, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 119672, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2899:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119674, + "indexExpression": { + "hexValue": "30", + "id": 119673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2905:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2899:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119675, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2925:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119677, + "indexExpression": { + "hexValue": "31", + "id": 119676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2931:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2925:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119678, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2951:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119680, + "indexExpression": { + "hexValue": "32", + "id": 119679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2957:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2951:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119681, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2977:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119683, + "indexExpression": { + "hexValue": "33", + "id": 119682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2983:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119684, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3003:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119686, + "indexExpression": { + "hexValue": "34", + "id": 119685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3009:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3003:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119687, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3029:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119689, + "indexExpression": { + "hexValue": "35", + "id": 119688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3035:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3029:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119690, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3055:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119692, + "indexExpression": { + "hexValue": "36", + "id": 119691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3061:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3055:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119693, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3081:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119695, + "indexExpression": { + "hexValue": "37", + "id": 119694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3087:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119696, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3107:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119698, + "indexExpression": { + "hexValue": "38", + "id": 119697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3113:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3107:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119670, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2865:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2865:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2865:264:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2845:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119668, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2845:6:171", + "typeDescriptions": {} + } + }, + "id": 119700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2845:294:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2822:317:171" + }, + { + "expression": { + "id": 119734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119702, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3149:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 119707, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3212:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119708, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3236:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119710, + "indexExpression": { + "hexValue": "39", + "id": 119709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3242:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3236:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119711, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3262:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119713, + "indexExpression": { + "hexValue": "3130", + "id": 119712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3268:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3262:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119714, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3289:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119716, + "indexExpression": { + "hexValue": "3131", + "id": 119715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3295:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3289:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119717, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3316:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119719, + "indexExpression": { + "hexValue": "3132", + "id": 119718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3322:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3316:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119720, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3343:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119722, + "indexExpression": { + "hexValue": "3133", + "id": 119721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3349:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3343:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119723, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3370:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119725, + "indexExpression": { + "hexValue": "3134", + "id": 119724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3376:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3370:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119726, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3397:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119728, + "indexExpression": { + "hexValue": "3135", + "id": 119727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3403:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3397:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119729, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3424:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119731, + "indexExpression": { + "hexValue": "3136", + "id": 119730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3430:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3424:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119705, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3178:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3178:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3178:269:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3158:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3158:6:171", + "typeDescriptions": {} + } + }, + "id": 119733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3158:299:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3149:308:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119735, + "nodeType": "ExpressionStatement", + "src": "3149:308:171" + }, + { + "assignments": [ + 119737 + ], + "declarations": [ + { + "constant": false, + "id": 119737, + "mutability": "mutable", + "name": "json", + "nameLocation": "3482:4:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "3468:18:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3468:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119765, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7b226e616d65223a20224d4c6f6f742023", + "id": 119746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3609:19:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", + "typeString": "literal_string \"{\"name\": \"MLoot #\"" + }, + "value": "{\"name\": \"MLoot #" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 119747, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119507, + "src": "3654:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3654:17:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 119749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3654:19:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "222c20226465736372697074696f6e223a22", + "id": 119750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3699:20:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + "value": "\", \"description\":\"" + }, + { + "id": 119751, + "name": "desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119487, + "src": "3745:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", + "id": 119752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3775:40:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + "value": "\",\"image\": \"data:image/svg+xml;base64," + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 119757, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3861:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 119756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3855:5:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 119755, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3855:5:171", + "typeDescriptions": {} + } + }, + "id": 119758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3855:13:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 119753, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "3841:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 119754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "3841:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 119759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3841:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "227d", + "id": 119760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3895:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + }, + "value": "\"}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", + "typeString": "literal_string \"{\"name\": \"MLoot #\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + } + ], + "expression": { + "id": 119744, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3567:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3567:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3567:354:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3539:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119742, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3539:6:171", + "typeDescriptions": {} + } + }, + "id": 119762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3539:400:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 119741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3516:5:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 119740, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3516:5:171", + "typeDescriptions": {} + } + }, + "id": 119763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3516:437:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 119738, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "3489:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 119739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "3489:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 119764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3489:474:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3468:495:171" + }, + { + "expression": { + "id": 119775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119766, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3973:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 119771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4019:31:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 119772, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119737, + "src": "4052:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119769, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4002:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4002:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:55:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3982:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119767, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3982:6:171", + "typeDescriptions": {} + } + }, + "id": 119774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3982:85:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3973:94:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119776, + "nodeType": "ExpressionStatement", + "src": "3973:94:171" + }, + { + "expression": { + "id": 119777, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "4085:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119512, + "id": 119778, + "nodeType": "Return", + "src": "4078:13:171" + } + ] + }, + "baseFunctions": [ + 71703 + ], + "functionSelector": "c87b56dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1275:8:171", + "overrides": { + "id": 119509, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1328:8:171" + }, + "parameters": { + "id": 119508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119507, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1301:8:171", + "nodeType": "VariableDeclaration", + "scope": 119780, + "src": "1293:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1293:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1283:32:171" + }, + "returnParameters": { + "id": 119512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119780, + "src": "1346:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1346:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1345:15:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 119909, + "nodeType": "FunctionDefinition", + "src": "4104:1153:171", + "nodes": [], + "body": { + "id": 119908, + "nodeType": "Block", + "src": "4219:1038:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119791 + ], + "declarations": [ + { + "constant": false, + "id": 119791, + "mutability": "mutable", + "name": "output", + "nameLocation": "4243:6:171", + "nodeType": "VariableDeclaration", + "scope": 119908, + "src": "4229:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119790, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4229:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119798, + "initialValue": { + "baseExpression": { + "id": 119792, + "name": "sourceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119785, + "src": "4252:11:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 119797, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119793, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4264:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119794, + "name": "sourceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119785, + "src": "4271:11:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 119795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4271:18:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4264:25:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4252:38:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4229:61:171" + }, + { + "assignments": [ + 119800 + ], + "declarations": [ + { + "constant": false, + "id": 119800, + "mutability": "mutable", + "name": "greatness", + "nameLocation": "4309:9:171", + "nodeType": "VariableDeclaration", + "scope": 119908, + "src": "4301:17:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4301:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119804, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 119803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119801, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4321:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3231", + "id": 119802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4328:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "4321:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4301:29:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119805, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4344:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3134", + "id": 119806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4356:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "src": "4344:14:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119826, + "nodeType": "IfStatement", + "src": "4340:155:171", + "trueBody": { + "id": 119825, + "nodeType": "Block", + "src": "4360:135:171", + "statements": [ + { + "expression": { + "id": 119823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119808, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4374:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 119813, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4424:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4432:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119815, + "name": "suffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120541, + "src": "4437:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119820, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119816, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4446:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119817, + "name": "suffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120541, + "src": "4453:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4453:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4446:22:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4437:32:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 119811, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4407:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4407:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4407:63:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4383:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119809, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4383:6:171", + "typeDescriptions": {} + } + }, + "id": 119822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4383:101:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4374:110:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119824, + "nodeType": "ExpressionStatement", + "src": "4374:110:171" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119827, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4508:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3139", + "id": 119828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4521:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "src": "4508:15:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119905, + "nodeType": "IfStatement", + "src": "4504:724:171", + "trueBody": { + "id": 119904, + "nodeType": "Block", + "src": "4525:703:171", + "statements": [ + { + "assignments": [ + 119835 + ], + "declarations": [ + { + "constant": false, + "id": 119835, + "mutability": "mutable", + "name": "name", + "nameLocation": "4556:4:171", + "nodeType": "VariableDeclaration", + "scope": 119904, + "src": "4539:21:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string[2]" + }, + "typeName": { + "baseType": { + "id": 119833, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4539:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119834, + "length": { + "hexValue": "32", + "id": 119832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4546:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "4539:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr", + "typeString": "string[2]" + } + }, + "visibility": "internal" + } + ], + "id": 119836, + "nodeType": "VariableDeclarationStatement", + "src": "4539:21:171" + }, + { + "expression": { + "id": 119846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119837, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4574:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119839, + "indexExpression": { + "hexValue": "30", + "id": 119838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4579:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4574:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 119840, + "name": "namePrefixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120614, + "src": "4584:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119845, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119841, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4597:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119842, + "name": "namePrefixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120614, + "src": "4604:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4604:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4597:26:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4584:40:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "4574:50:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119847, + "nodeType": "ExpressionStatement", + "src": "4574:50:171" + }, + { + "expression": { + "id": 119857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119848, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4638:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119850, + "indexExpression": { + "hexValue": "31", + "id": 119849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4643:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4638:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 119851, + "name": "nameSuffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120636, + "src": "4648:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119856, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119852, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4661:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119853, + "name": "nameSuffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120636, + "src": "4668:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4668:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4661:26:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4648:40:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "4638:50:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119858, + "nodeType": "ExpressionStatement", + "src": "4638:50:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119859, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4706:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3139", + "id": 119860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4719:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "src": "4706:15:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 119902, + "nodeType": "Block", + "src": "4875:343:171", + "statements": [ + { + "expression": { + "id": 119900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119882, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4893:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "22", + "id": 119887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4972:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + "value": "\"" + }, + { + "baseExpression": { + "id": 119888, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "5001:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119890, + "indexExpression": { + "hexValue": "30", + "id": 119889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5006:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5001:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5034:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119892, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "5063:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119894, + "indexExpression": { + "hexValue": "31", + "id": 119893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5068:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5063:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2220", + "id": 119895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5096:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + "value": "\" " + }, + { + "id": 119896, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "5126:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "202b31", + "id": 119897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5158:5:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", + "typeString": "literal_string \" +1\"" + }, + "value": " +1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", + "typeString": "literal_string \" +1\"" + } + ], + "expression": { + "id": 119885, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4930:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4930:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4930:255:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4902:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119883, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4902:6:171", + "typeDescriptions": {} + } + }, + "id": 119899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4902:301:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4893:310:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119901, + "nodeType": "ExpressionStatement", + "src": "4893:310:171" + } + ] + }, + "id": 119903, + "nodeType": "IfStatement", + "src": "4702:516:171", + "trueBody": { + "id": 119881, + "nodeType": "Block", + "src": "4723:146:171", + "statements": [ + { + "expression": { + "id": 119879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119862, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4741:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "22", + "id": 119867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4795:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + "value": "\"" + }, + { + "baseExpression": { + "id": 119868, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4800:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119870, + "indexExpression": { + "hexValue": "30", + "id": 119869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4805:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4800:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4809:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119872, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4814:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119874, + "indexExpression": { + "hexValue": "31", + "id": 119873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4819:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4814:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2220", + "id": 119875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4823:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + "value": "\" " + }, + { + "id": 119876, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4829:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119865, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4778:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4778:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4778:58:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4750:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119863, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4750:6:171", + "typeDescriptions": {} + } + }, + "id": 119878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4750:104:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4741:113:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119880, + "nodeType": "ExpressionStatement", + "src": "4741:113:171" + } + ] + } + } + ] + } + }, + { + "expression": { + "id": 119906, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "5244:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119789, + "id": 119907, + "nodeType": "Return", + "src": "5237:13:171" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "luck", + "nameLocation": "4113:4:171", + "parameters": { + "id": 119786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119782, + "mutability": "mutable", + "name": "rand", + "nameLocation": "4133:4:171", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4127:10:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 119781, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4127:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119785, + "mutability": "mutable", + "name": "sourceArray", + "nameLocation": "4163:11:171", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4147:27:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 119783, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4147:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119784, + "nodeType": "ArrayTypeName", + "src": "4147:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "4117:63:171" + }, + "returnParameters": { + "id": 119789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119788, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4204:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119787, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4204:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4203:15:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 120029, + "nodeType": "FunctionDefinition", + "src": "5263:677:171", + "nodes": [], + "body": { + "id": 120028, + "nodeType": "Block", + "src": "5309:631:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119916 + ], + "declarations": [ + { + "constant": false, + "id": 119916, + "mutability": "mutable", + "name": "loot", + "nameLocation": "5332:4:171", + "nodeType": "VariableDeclaration", + "scope": 120028, + "src": "5319:17:171", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 119915, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119914, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "5319:4:171" + }, + "referencedDeclaration": 119479, + "src": "5319:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 119920, + "initialValue": { + "baseExpression": { + "id": 119917, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "5339:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 119919, + "indexExpression": { + "id": 119918, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119911, + "src": "5348:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5339:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5319:38:171" + }, + { + "assignments": [ + 119925 + ], + "declarations": [ + { + "constant": false, + "id": 119925, + "mutability": "mutable", + "name": "random_numbers", + "nameLocation": "5382:14:171", + "nodeType": "VariableDeclaration", + "scope": 120028, + "src": "5367:29:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[]" + }, + "typeName": { + "baseType": { + "id": 119923, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5367:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 119924, + "nodeType": "ArrayTypeName", + "src": "5367:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", + "typeString": "uint8[]" + } + }, + "visibility": "internal" + } + ], + "id": 119932, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 119927, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5409:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 119457, + "src": "5409:13:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "38", + "id": 119929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5424:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 119930, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119483, + "src": "5426:14:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 119926, + "name": "getRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120811, + "src": "5399:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" + } + }, + "id": 119931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5399:42:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5367:74:171" + }, + { + "expression": { + "id": 119942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119933, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5451:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "5451:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119937, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5470:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119939, + "indexExpression": { + "hexValue": "30", + "id": 119938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5485:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5470:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119940, + "name": "weapons", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120410, + "src": "5489:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119936, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5465:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5465:32:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5451:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119943, + "nodeType": "ExpressionStatement", + "src": "5451:46:171" + }, + { + "expression": { + "id": 119953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119944, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5507:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "5507:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119948, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5525:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119950, + "indexExpression": { + "hexValue": "31", + "id": 119949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5540:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5525:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119951, + "name": "chestArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120429, + "src": "5544:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119947, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5520:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5520:35:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5507:48:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119954, + "nodeType": "ExpressionStatement", + "src": "5507:48:171" + }, + { + "expression": { + "id": 119964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119955, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5565:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "5565:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119959, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5582:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119961, + "indexExpression": { + "hexValue": "32", + "id": 119960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5597:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5582:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119962, + "name": "headArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120448, + "src": "5601:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119958, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5577:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5577:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5565:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119965, + "nodeType": "ExpressionStatement", + "src": "5565:46:171" + }, + { + "expression": { + "id": 119975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119966, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5621:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "5621:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119970, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5639:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119972, + "indexExpression": { + "hexValue": "33", + "id": 119971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5654:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5639:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119973, + "name": "waistArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120467, + "src": "5658:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119969, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5634:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5634:35:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5621:48:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119976, + "nodeType": "ExpressionStatement", + "src": "5621:48:171" + }, + { + "expression": { + "id": 119986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119977, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5679:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "5679:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119981, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5696:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119983, + "indexExpression": { + "hexValue": "34", + "id": 119982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5696:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119984, + "name": "footArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120486, + "src": "5715:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119980, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5691:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5691:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5679:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119987, + "nodeType": "ExpressionStatement", + "src": "5679:46:171" + }, + { + "expression": { + "id": 119997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119988, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5735:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "5735:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119992, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5752:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119994, + "indexExpression": { + "hexValue": "35", + "id": 119993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5767:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5752:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119995, + "name": "handArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120505, + "src": "5771:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119991, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5747:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5747:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5735:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119998, + "nodeType": "ExpressionStatement", + "src": "5735:46:171" + }, + { + "expression": { + "id": 120008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119999, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5791:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "5791:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 120003, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5808:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 120005, + "indexExpression": { + "hexValue": "36", + "id": 120004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5823:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5808:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 120006, + "name": "necklaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120512, + "src": "5827:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 120002, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5803:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 120007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5791:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 120009, + "nodeType": "ExpressionStatement", + "src": "5791:46:171" + }, + { + "expression": { + "id": 120019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120010, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5847:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120012, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "5847:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 120014, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5864:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 120016, + "indexExpression": { + "hexValue": "37", + "id": 120015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5879:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5864:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 120017, + "name": "rings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120521, + "src": "5883:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 120013, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5859:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 120018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5859:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5847:42:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 120020, + "nodeType": "ExpressionStatement", + "src": "5847:42:171" + }, + { + "expression": { + "id": 120026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120021, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5899:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "5899:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 120024, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "5912:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "5912:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "5899:34:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 120027, + "nodeType": "ExpressionStatement", + "src": "5899:34:171" + } + ] + }, + "functionSelector": "d5608f9a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revealNFT", + "nameLocation": "5272:9:171", + "parameters": { + "id": 119912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119911, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "5290:8:171", + "nodeType": "VariableDeclaration", + "scope": 120029, + "src": "5282:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119910, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5282:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5281:18:171" + }, + "returnParameters": { + "id": 119913, + "nodeType": "ParameterList", + "parameters": [], + "src": "5309:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120076, + "nodeType": "FunctionDefinition", + "src": "5946:324:171", + "nodes": [], + "body": { + "id": 120075, + "nodeType": "Block", + "src": "5984:286:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120036 + ], + "declarations": [ + { + "constant": false, + "id": 120036, + "mutability": "mutable", + "name": "loot", + "nameLocation": "6032:4:171", + "nodeType": "VariableDeclaration", + "scope": 120075, + "src": "6019:17:171", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120034, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "6019:4:171" + }, + "referencedDeclaration": 119479, + "src": "6019:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120040, + "initialValue": { + "baseExpression": { + "id": 120037, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "6039:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120039, + "indexExpression": { + "id": 120038, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6048:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6039:17:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6019:37:171" + }, + { + "expression": { + "id": 120045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120041, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6066:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 119459, + "src": "6066:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120044, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120031, + "src": "6079:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6066:18:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120046, + "nodeType": "ExpressionStatement", + "src": "6066:18:171" + }, + { + "expression": { + "id": 120052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120047, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6094:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "6094:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 120050, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "6107:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "6107:19:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "6094:32:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 120053, + "nodeType": "ExpressionStatement", + "src": "6094:32:171" + }, + { + "expression": { + "id": 120058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120054, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6136:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 119457, + "src": "6136:13:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120057, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6152:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6136:24:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120059, + "nodeType": "ExpressionStatement", + "src": "6136:24:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120061, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6184:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120060, + "name": "requestRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120694, + "src": "6170:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 120062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6170:23:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120063, + "nodeType": "ExpressionStatement", + "src": "6170:23:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120065, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120031, + "src": "6209:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 120066, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6216:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120064, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72099, + "src": "6203:5:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 120067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6203:21:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120068, + "nodeType": "ExpressionStatement", + "src": "6203:21:171" + }, + { + "expression": { + "id": 120070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6234:9:171", + "subExpression": { + "id": 120069, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6234:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120071, + "nodeType": "ExpressionStatement", + "src": "6234:9:171" + }, + { + "expression": { + "id": 120073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6253:10:171", + "subExpression": { + "id": 120072, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6253:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120074, + "nodeType": "ExpressionStatement", + "src": "6253:10:171" + } + ] + }, + "functionSelector": "6a627842", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "5955:4:171", + "parameters": { + "id": 120032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120031, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "5968:5:171", + "nodeType": "VariableDeclaration", + "scope": 120076, + "src": "5960:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5960:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5959:15:171" + }, + "returnParameters": { + "id": 120033, + "nodeType": "ParameterList", + "parameters": [], + "src": "5984:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120107, + "nodeType": "FunctionDefinition", + "src": "6282:192:171", + "nodes": [], + "body": { + "id": 120106, + "nodeType": "Block", + "src": "6329:145:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120084 + ], + "declarations": [ + { + "constant": false, + "id": 120084, + "mutability": "mutable", + "name": "balance", + "nameLocation": "6347:7:171", + "nodeType": "VariableDeclaration", + "scope": 120106, + "src": "6339:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6339:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120090, + "initialValue": { + "expression": { + "arguments": [ + { + "id": 120087, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6365:4:171", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MLoot_$120386", + "typeString": "contract MLoot" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MLoot_$120386", + "typeString": "contract MLoot" + } + ], + "id": 120086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6357:7:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 120085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6357:7:171", + "typeDescriptions": {} + } + }, + "id": 120088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6357:13:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "6357:21:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6339:39:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120092, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120084, + "src": "6396:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 120093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6406:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6396:11:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "73756666696369656e742066756e6473", + "id": 120095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6409:18:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", + "typeString": "literal_string \"sufficient funds\"" + }, + "value": "sufficient funds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", + "typeString": "literal_string \"sufficient funds\"" + } + ], + "id": 120091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6388:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6388:40:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120097, + "nodeType": "ExpressionStatement", + "src": "6388:40:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120103, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120084, + "src": "6459:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 120100, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120078, + "src": "6446:2:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6438:8:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 120098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6438:8:171", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 120101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:11:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 120102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "6438:20:171", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 120104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:29:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120105, + "nodeType": "ExpressionStatement", + "src": "6438:29:171" + } + ] + }, + "functionSelector": "51cff8d9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 120081, + "kind": "modifierInvocation", + "modifierName": { + "id": 120080, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119505, + "src": "6319:9:171" + }, + "nodeType": "ModifierInvocation", + "src": "6319:9:171" + } + ], + "name": "withdraw", + "nameLocation": "6291:8:171", + "parameters": { + "id": 120079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120078, + "mutability": "mutable", + "name": "to", + "nameLocation": "6308:2:171", + "nodeType": "VariableDeclaration", + "scope": 120107, + "src": "6300:10:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6300:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6299:12:171" + }, + "returnParameters": { + "id": 120082, + "nodeType": "ParameterList", + "parameters": [], + "src": "6329:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 120127, + "nodeType": "FunctionDefinition", + "src": "6480:214:171", + "nodes": [], + "body": { + "id": 120126, + "nodeType": "Block", + "src": "6619:75:171", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 120122, + "name": "_targetAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120109, + "src": "6663:14:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 120123, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120113, + "src": "6679:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 120119, + "name": "_contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120111, + "src": "6636:16:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120118, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71498, + "src": "6629:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$71498_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 120120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6629:24:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$71498", + "typeString": "contract IERC20" + } + }, + "id": 120121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 71465, + "src": "6629:33:171", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 120124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6629:58:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120125, + "nodeType": "ExpressionStatement", + "src": "6629:58:171" + } + ] + }, + "functionSelector": "1593dee1", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 120116, + "kind": "modifierInvocation", + "modifierName": { + "id": 120115, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119505, + "src": "6609:9:171" + }, + "nodeType": "ModifierInvocation", + "src": "6609:9:171" + } + ], + "name": "withdrawErc20", + "nameLocation": "6489:13:171", + "parameters": { + "id": 120114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120109, + "mutability": "mutable", + "name": "_targetAddress", + "nameLocation": "6520:14:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6512:22:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6512:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120111, + "mutability": "mutable", + "name": "_contractAddress", + "nameLocation": "6552:16:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6544:24:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6544:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120113, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "6586:7:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6578:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6578:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6502:97:171" + }, + "returnParameters": { + "id": 120117, + "nodeType": "ParameterList", + "parameters": [], + "src": "6619:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120183, + "nodeType": "FunctionDefinition", + "src": "6699:515:171", + "nodes": [], + "body": { + "id": 120182, + "nodeType": "Block", + "src": "6874:340:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120150 + ], + "declarations": [ + { + "constant": false, + "id": 120150, + "mutability": "mutable", + "name": "loot", + "nameLocation": "6896:4:171", + "nodeType": "VariableDeclaration", + "scope": 120182, + "src": "6884:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120149, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120148, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "6884:4:171" + }, + "referencedDeclaration": 119479, + "src": "6884:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120154, + "initialValue": { + "baseExpression": { + "id": 120151, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "6903:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120153, + "indexExpression": { + "id": 120152, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120129, + "src": "6912:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6903:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6884:37:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 120160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120156, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "6939:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "6939:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120158, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "6953:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "6953:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "6939:35:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 120161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6975:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 120155, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6931:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6931:62:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120163, + "nodeType": "ExpressionStatement", + "src": "6931:62:171" + }, + { + "expression": { + "components": [ + { + "expression": { + "id": 120164, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7023:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "7023:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120166, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7048:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "7048:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120168, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7072:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "7072:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120170, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7095:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "7095:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120172, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7119:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "7119:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120174, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7142:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120175, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "7142:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120176, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7165:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "7165:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120178, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7188:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "7188:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 120180, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7009:198:171", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$", + "typeString": "tuple(string memory,string memory,string memory,string memory,string memory,string memory,string memory,string memory)" + } + }, + "functionReturnParameters": 120147, + "id": 120181, + "nodeType": "Return", + "src": "7003:204:171" + } + ] + }, + "functionSelector": "53bbd6a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructInfo", + "nameLocation": "6708:13:171", + "parameters": { + "id": 120130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120129, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "6730:8:171", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6722:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6722:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6721:18:171" + }, + "returnParameters": { + "id": 120147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120132, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6762:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120131, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6762:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120134, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6776:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120133, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6776:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120136, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6790:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6790:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120138, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6804:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6804:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120140, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6818:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120139, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6818:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120142, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6832:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120141, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6832:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120144, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6846:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120143, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6846:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120146, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6860:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6860:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6761:113:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120263, + "nodeType": "FunctionDefinition", + "src": "7219:620:171", + "nodes": [], + "body": { + "id": 120262, + "nodeType": "Block", + "src": "7351:488:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120206 + ], + "declarations": [ + { + "constant": false, + "id": 120206, + "mutability": "mutable", + "name": "loot", + "nameLocation": "7373:4:171", + "nodeType": "VariableDeclaration", + "scope": 120262, + "src": "7361:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120205, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120204, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "7361:4:171" + }, + "referencedDeclaration": 119479, + "src": "7361:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120210, + "initialValue": { + "baseExpression": { + "id": 120207, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "7380:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120209, + "indexExpression": { + "id": 120208, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120185, + "src": "7389:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7380:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7361:37:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 120216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120212, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7416:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "7416:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120214, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "7430:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "7430:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "7416:35:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 120217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7452:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 120211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7408:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7408:62:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120219, + "nodeType": "ExpressionStatement", + "src": "7408:62:171" + }, + { + "expression": { + "components": [ + { + "arguments": [ + { + "id": 120221, + "name": "weapons", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120410, + "src": "7508:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120222, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7516:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120223, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "7516:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120220, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7500:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7500:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120226, + "name": "chestArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120429, + "src": "7550:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120227, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7561:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "7561:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120225, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7542:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7542:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120231, + "name": "headArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120448, + "src": "7594:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120232, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7604:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "7604:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120230, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7586:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7586:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120236, + "name": "waistArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120467, + "src": "7636:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120237, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7647:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "7647:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120235, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7628:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7628:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120241, + "name": "footArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120486, + "src": "7680:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120242, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7690:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "7690:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120240, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7672:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7672:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120246, + "name": "handArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120505, + "src": "7722:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120247, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7732:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "7732:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120245, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7714:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7714:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120251, + "name": "necklaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120512, + "src": "7764:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120252, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7774:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "7774:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120250, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7756:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7756:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120256, + "name": "rings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120521, + "src": "7806:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120257, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7812:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "7812:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120255, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7798:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7798:24:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 120260, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7486:346:171", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 120203, + "id": 120261, + "nodeType": "Return", + "src": "7480:352:171" + } + ] + }, + "functionSelector": "3c41d28c", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructIndexInfo", + "nameLocation": "7228:18:171", + "parameters": { + "id": 120186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120185, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7255:8:171", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7247:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7247:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7246:18:171" + }, + "returnParameters": { + "id": 120203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120188, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7287:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7287:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7295:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7295:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120192, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7303:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7303:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120194, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7311:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7311:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120196, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7319:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7319:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7327:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7327:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120200, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7335:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7335:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7343:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7343:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7286:65:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120327, + "nodeType": "FunctionDefinition", + "src": "7845:482:171", + "nodes": [], + "body": { + "id": 120326, + "nodeType": "Block", + "src": "7914:413:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120270 + ], + "declarations": [ + { + "constant": false, + "id": 120270, + "mutability": "mutable", + "name": "balance", + "nameLocation": "7932:7:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "7924:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7924:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120275, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 120272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7952:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7952:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120271, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71616, + "src": "7942:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 120274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7942:21:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7924:39:171" + }, + { + "assignments": [ + 120280 + ], + "declarations": [ + { + "constant": false, + "id": 120280, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "7990:8:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "7973:25:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 120278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7973:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120279, + "nodeType": "ArrayTypeName", + "src": "7973:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 120286, + "initialValue": { + "arguments": [ + { + "id": 120284, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120270, + "src": "8015:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "8001:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 120281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8005:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120282, + "nodeType": "ArrayTypeName", + "src": "8005:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 120285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8001:22:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7973:50:171" + }, + { + "assignments": [ + 120288 + ], + "declarations": [ + { + "constant": false, + "id": 120288, + "mutability": "mutable", + "name": "index", + "nameLocation": "8041:5:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "8033:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8033:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120289, + "nodeType": "VariableDeclarationStatement", + "src": "8033:13:171" + }, + { + "body": { + "id": 120322, + "nodeType": "Block", + "src": "8084:212:171", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 120304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 120300, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8109:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120299, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71644, + "src": "8101:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 120301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8101:10:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120302, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8115:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8115:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8101:24:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120321, + "nodeType": "IfStatement", + "src": "8098:188:171", + "trueBody": { + "id": 120320, + "nodeType": "Block", + "src": "8126:160:171", + "statements": [ + { + "expression": { + "id": 120309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 120305, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120280, + "src": "8144:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 120307, + "indexExpression": { + "id": 120306, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8153:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8144:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120308, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8162:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8144:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120310, + "nodeType": "ExpressionStatement", + "src": "8144:19:171" + }, + { + "expression": { + "id": 120312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8181:7:171", + "subExpression": { + "id": 120311, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8181:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120313, + "nodeType": "ExpressionStatement", + "src": "8181:7:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120314, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8209:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 120315, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120270, + "src": "8218:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8209:16:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120319, + "nodeType": "IfStatement", + "src": "8206:66:171", + "trueBody": { + "id": 120318, + "nodeType": "Block", + "src": "8226:46:171", + "statements": [ + { + "id": 120317, + "nodeType": "Break", + "src": "8248:5:171" + } + ] + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120293, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8070:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 120294, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "8072:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8070:9:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120323, + "initializationExpression": { + "assignments": [ + 120291 + ], + "declarations": [ + { + "constant": false, + "id": 120291, + "mutability": "mutable", + "name": "i", + "nameLocation": "8068:1:171", + "nodeType": "VariableDeclaration", + "scope": 120323, + "src": "8060:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8060:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120292, + "nodeType": "VariableDeclarationStatement", + "src": "8060:9:171" + }, + "loopExpression": { + "expression": { + "id": 120297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8080:3:171", + "subExpression": { + "id": 120296, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8080:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120298, + "nodeType": "ExpressionStatement", + "src": "8080:3:171" + }, + "nodeType": "ForStatement", + "src": "8056:240:171" + }, + { + "expression": { + "id": 120324, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120280, + "src": "8312:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 120268, + "id": 120325, + "nodeType": "Return", + "src": "8305:15:171" + } + ] + }, + "functionSelector": "43a47162", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUserTokenIdList", + "nameLocation": "7854:18:171", + "parameters": { + "id": 120264, + "nodeType": "ParameterList", + "parameters": [], + "src": "7872:2:171" + }, + "returnParameters": { + "id": 120268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120267, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120327, + "src": "7897:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 120265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7897:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120266, + "nodeType": "ArrayTypeName", + "src": "7897:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7896:18:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120385, + "nodeType": "FunctionDefinition", + "src": "8333:391:171", + "nodes": [], + "body": { + "id": 120384, + "nodeType": "Block", + "src": "8423:301:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120338 + ], + "declarations": [ + { + "constant": false, + "id": 120338, + "mutability": "mutable", + "name": "r", + "nameLocation": "8441:1:171", + "nodeType": "VariableDeclaration", + "scope": 120384, + "src": "8433:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8433:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120339, + "nodeType": "VariableDeclarationStatement", + "src": "8433:9:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120341, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8460:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8460:12:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 120343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8475:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8460:16:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6c69737420697320656d707479", + "id": 120345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8477:15:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", + "typeString": "literal_string \"list is empty\"" + }, + "value": "list is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", + "typeString": "literal_string \"list is empty\"" + } + ], + "id": 120340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8452:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8452:41:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120347, + "nodeType": "ExpressionStatement", + "src": "8452:41:171" + }, + { + "body": { + "id": 120380, + "nodeType": "Block", + "src": "8536:164:171", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 120372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 120361, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8580:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120363, + "indexExpression": { + "id": 120362, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8586:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8580:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 120359, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8563:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 120360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8563:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 120364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8563:26:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 120358, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "8553:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 120365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8553:37:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 120369, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120332, + "src": "8621:5:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 120367, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8604:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 120368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8604:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 120370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:23:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 120366, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "8594:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 120371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8594:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8553:75:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120379, + "nodeType": "IfStatement", + "src": "8550:140:171", + "trueBody": { + "id": 120378, + "nodeType": "Block", + "src": "8629:61:171", + "statements": [ + { + "expression": { + "id": 120375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120373, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120338, + "src": "8647:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120374, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8651:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8647:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120376, + "nodeType": "ExpressionStatement", + "src": "8647:5:171" + }, + { + "id": 120377, + "nodeType": "Break", + "src": "8670:5:171" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120351, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8517:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 120352, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8519:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8519:12:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8517:14:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120381, + "initializationExpression": { + "assignments": [ + 120349 + ], + "declarations": [ + { + "constant": false, + "id": 120349, + "mutability": "mutable", + "name": "i", + "nameLocation": "8515:1:171", + "nodeType": "VariableDeclaration", + "scope": 120381, + "src": "8507:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8507:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120350, + "nodeType": "VariableDeclarationStatement", + "src": "8507:9:171" + }, + "loopExpression": { + "expression": { + "id": 120356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8532:3:171", + "subExpression": { + "id": 120355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8532:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120357, + "nodeType": "ExpressionStatement", + "src": "8532:3:171" + }, + "nodeType": "ForStatement", + "src": "8503:197:171" + }, + { + "expression": { + "id": 120382, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120338, + "src": "8716:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 120336, + "id": 120383, + "nodeType": "Return", + "src": "8709:8:171" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "indexOf", + "nameLocation": "8342:7:171", + "parameters": { + "id": 120333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120330, + "mutability": "mutable", + "name": "_list", + "nameLocation": "8366:5:171", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8350:21:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 120328, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8350:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 120329, + "nodeType": "ArrayTypeName", + "src": "8350:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120332, + "mutability": "mutable", + "name": "_name", + "nameLocation": "8386:5:171", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8372:19:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120331, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8372:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8349:43:171" + }, + "returnParameters": { + "id": 120336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120335, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8415:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8415:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8414:9:171" + }, + "scope": 120386, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 119412, + "name": "Suit", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120637, + "src": "315:4:171" + }, + "id": 119413, + "nodeType": "InheritanceSpecifier", + "src": "315:4:171" + }, + { + "baseName": { + "id": 119414, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "321:6:171" + }, + "id": 119415, + "nodeType": "InheritanceSpecifier", + "src": "321:6:171" + }, + { + "baseName": { + "id": 119416, + "name": "MRandom", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120834, + "src": "328:7:171" + }, + "id": 119417, + "nodeType": "InheritanceSpecifier", + "src": "328:7:171" + } + ], + "canonicalName": "MLoot", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 120386, + 120834, + 72425, + 131776, + 131731, + 132152, + 174433, + 132128, + 120637 + ], + "name": "MLoot", + "nameLocation": "306:5:171", + "scope": 120387, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 171 +} \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.abi.json b/packages/contracts/out/Plugin.sol/MPlugin.abi.json new file mode 100644 index 00000000..23133797 --- /dev/null +++ b/packages/contracts/out/Plugin.sol/MPlugin.abi.json @@ -0,0 +1,69 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "multMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "name": "multRevealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json new file mode 100644 index 00000000..e1c79727 --- /dev/null +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -0,0 +1,1375 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "multMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "name": "multRevealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610357806100be6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", + "sourceMap": "121:676:174:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:174;;;-1:-1:-1;;;;;;274:26:174;;;;;;;;310;;;;;;;;;;;121:676;;14:177:194;93:13;;-1:-1:-1;;;;;135:31:194;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:174;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", + "sourceMap": "121:676:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:194;178:55;;;160:74;;148:2;133:18;144:26:174;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:194;;;660:11:174;;;;;699;;;;;;721:14;;617:18:194;;721:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:174;;;;;;;;644:25:194;;;759:14:174;;;;-1:-1:-1;759:14:174;;-1:-1:-1;617:18:194;;759:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:194;;;406:11:174;;;;;445;;;;483:10;406:11;;503:9;;133:18:194;;503:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:174;;;;;:9;178:55:194;;;529:16:174;;;160:74:194;529:9:174;;;-1:-1:-1;529:9:174;;-1:-1:-1;133:18:194;;529:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:194:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:194;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:194:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "lootAddress()": "0e439326", + "multMint()": "d6f0dafc", + "multRevealNFT(uint256,uint256)": "1b9cb7e8", + "userAddress()": "e4128fb3" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lootAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_userAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"lootAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_lootTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_userTokenId\",\"type\":\"uint256\"}],\"name\":\"multRevealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/Plugin.sol\":\"MPlugin\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"src/other/Plugin.sol\":{\"keccak256\":\"0x97abb338aefc1d78621c1b9cb72ea8fad986a64d8f84067b52b5198e3d815c5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57b18625c00036db38b6015a44024415da14a4f8c37ab0dacc7b292ff53c3fb5\",\"dweb:/ipfs/QmTNfWtySH1Yv2sWknZ4txSGrDg6QpQHqFBPbz2sH8k7nh\"]},\"src/systems/library/Interface.sol\":{\"keccak256\":\"0x575834f9bd85b515de6dfd855d93393cfdf29c67a9195b0dae9c1c4d483d2c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e42a8328248642f46b67fdcf7d3f2caf5c8abd859cea97df8fba7ad270b19009\",\"dweb:/ipfs/QmUXaFVJStEyTG4mKf4u8ezC7EZtJCX57etePkWrSWiqMR\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "multMint" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multRevealNFT" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/Plugin.sol": "MPlugin" + }, + "libraries": {} + }, + "sources": { + "src/other/Plugin.sol": { + "keccak256": "0x97abb338aefc1d78621c1b9cb72ea8fad986a64d8f84067b52b5198e3d815c5c", + "urls": [ + "bzz-raw://57b18625c00036db38b6015a44024415da14a4f8c37ab0dacc7b292ff53c3fb5", + "dweb:/ipfs/QmTNfWtySH1Yv2sWknZ4txSGrDg6QpQHqFBPbz2sH8k7nh" + ], + "license": "MIT" + }, + "src/systems/library/Interface.sol": { + "keccak256": "0x575834f9bd85b515de6dfd855d93393cfdf29c67a9195b0dae9c1c4d483d2c1d", + "urls": [ + "bzz-raw://e42a8328248642f46b67fdcf7d3f2caf5c8abd859cea97df8fba7ad270b19009", + "dweb:/ipfs/QmUXaFVJStEyTG4mKf4u8ezC7EZtJCX57etePkWrSWiqMR" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/Plugin.sol", + "id": 120930, + "exportedSymbols": { + "Loot": [ + 125465 + ], + "MPlugin": [ + 120929 + ], + "User": [ + 125426 + ] + }, + "nodeType": "SourceUnit", + "src": "32:765:174", + "nodes": [ + { + "id": 120836, + "nodeType": "PragmaDirective", + "src": "32:24:174", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 120839, + "nodeType": "ImportDirective", + "src": "57:61:174", + "nodes": [], + "absolutePath": "src/systems/library/Interface.sol", + "file": "@systems/library/Interface.sol", + "nameLocation": "-1:-1:-1", + "scope": 120930, + "sourceUnit": 125466, + "symbolAliases": [ + { + "foreign": { + "id": 120837, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125426, + "src": "66:4:174", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 120838, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125465, + "src": "72:4:174", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 120929, + "nodeType": "ContractDefinition", + "src": "121:676:174", + "nodes": [ + { + "id": 120841, + "nodeType": "VariableDeclaration", + "src": "144:26:174", + "nodes": [], + "constant": false, + "functionSelector": "0e439326", + "mutability": "mutable", + "name": "lootAddress", + "nameLocation": "159:11:174", + "scope": 120929, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 120843, + "nodeType": "VariableDeclaration", + "src": "176:26:174", + "nodes": [], + "constant": false, + "functionSelector": "e4128fb3", + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "191:11:174", + "scope": 120929, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "176:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 120859, + "nodeType": "FunctionDefinition", + "src": "209:134:174", + "nodes": [], + "body": { + "id": 120858, + "nodeType": "Block", + "src": "264:79:174", + "nodes": [], + "statements": [ + { + "expression": { + "id": 120852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120850, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "274:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120851, + "name": "_lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120845, + "src": "288:12:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "274:26:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120853, + "nodeType": "ExpressionStatement", + "src": "274:26:174" + }, + { + "expression": { + "id": 120856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120854, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "310:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120855, + "name": "_userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120847, + "src": "324:12:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "310:26:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120857, + "nodeType": "ExpressionStatement", + "src": "310:26:174" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 120848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120845, + "mutability": "mutable", + "name": "_lootAddress", + "nameLocation": "229:12:174", + "nodeType": "VariableDeclaration", + "scope": 120859, + "src": "221:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "221:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120847, + "mutability": "mutable", + "name": "_userAddress", + "nameLocation": "250:12:174", + "nodeType": "VariableDeclaration", + "scope": 120859, + "src": "242:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "220:43:174" + }, + "returnParameters": { + "id": 120849, + "nodeType": "ParameterList", + "parameters": [], + "src": "264:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 120894, + "nodeType": "FunctionDefinition", + "src": "350:202:174", + "nodes": [], + "body": { + "id": 120893, + "nodeType": "Block", + "src": "379:173:174", + "nodes": [], + "statements": [ + { + "assignments": [ + 120864 + ], + "declarations": [ + { + "constant": false, + "id": 120864, + "mutability": "mutable", + "name": "user", + "nameLocation": "394:4:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "389:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + }, + "typeName": { + "id": 120863, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120862, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125426, + "src": "389:4:174" + }, + "referencedDeclaration": 125426, + "src": "389:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "visibility": "internal" + } + ], + "id": 120868, + "initialValue": { + "arguments": [ + { + "id": 120866, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "406:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120865, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125426, + "src": "401:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_User_$125426_$", + "typeString": "type(contract User)" + } + }, + "id": 120867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "401:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "389:29:174" + }, + { + "assignments": [ + 120871 + ], + "declarations": [ + { + "constant": false, + "id": 120871, + "mutability": "mutable", + "name": "loot", + "nameLocation": "433:4:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "428:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + }, + "typeName": { + "id": 120870, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120869, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125465, + "src": "428:4:174" + }, + "referencedDeclaration": 125465, + "src": "428:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120875, + "initialValue": { + "arguments": [ + { + "id": 120873, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "445:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120872, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125465, + "src": "440:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Loot_$125465_$", + "typeString": "type(contract Loot)" + } + }, + "id": 120874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "440:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "428:29:174" + }, + { + "assignments": [ + 120877 + ], + "declarations": [ + { + "constant": false, + "id": 120877, + "mutability": "mutable", + "name": "_user", + "nameLocation": "475:5:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "467:13:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 120880, + "initialValue": { + "expression": { + "id": 120878, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "483:3:174", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "483:10:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "467:26:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120884, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120877, + "src": "513:5:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 120881, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120864, + "src": "503:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "id": 120883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 125420, + "src": "503:9:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 120885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "503:16:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120886, + "nodeType": "ExpressionStatement", + "src": "503:16:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120890, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120877, + "src": "539:5:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 120887, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120871, + "src": "529:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "id": 120889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 125459, + "src": "529:9:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 120891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:16:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120892, + "nodeType": "ExpressionStatement", + "src": "529:16:174" + } + ] + }, + "functionSelector": "d6f0dafc", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multMint", + "nameLocation": "359:8:174", + "parameters": { + "id": 120860, + "nodeType": "ParameterList", + "parameters": [], + "src": "367:2:174" + }, + "returnParameters": { + "id": 120861, + "nodeType": "ParameterList", + "parameters": [], + "src": "379:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120928, + "nodeType": "FunctionDefinition", + "src": "558:236:174", + "nodes": [], + "body": { + "id": 120927, + "nodeType": "Block", + "src": "633:161:174", + "nodes": [], + "statements": [ + { + "assignments": [ + 120903 + ], + "declarations": [ + { + "constant": false, + "id": 120903, + "mutability": "mutable", + "name": "user", + "nameLocation": "648:4:174", + "nodeType": "VariableDeclaration", + "scope": 120927, + "src": "643:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + }, + "typeName": { + "id": 120902, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120901, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125426, + "src": "643:4:174" + }, + "referencedDeclaration": 125426, + "src": "643:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "visibility": "internal" + } + ], + "id": 120907, + "initialValue": { + "arguments": [ + { + "id": 120905, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "660:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120904, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125426, + "src": "655:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_User_$125426_$", + "typeString": "type(contract User)" + } + }, + "id": 120906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "655:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "643:29:174" + }, + { + "assignments": [ + 120910 + ], + "declarations": [ + { + "constant": false, + "id": 120910, + "mutability": "mutable", + "name": "loot", + "nameLocation": "687:4:174", + "nodeType": "VariableDeclaration", + "scope": 120927, + "src": "682:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + }, + "typeName": { + "id": 120909, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120908, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125465, + "src": "682:4:174" + }, + "referencedDeclaration": 125465, + "src": "682:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120914, + "initialValue": { + "arguments": [ + { + "id": 120912, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "699:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120911, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125465, + "src": "694:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Loot_$125465_$", + "typeString": "type(contract Loot)" + } + }, + "id": 120913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "694:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "682:29:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120918, + "name": "_lootTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120896, + "src": "736:12:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 120915, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120910, + "src": "721:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125465", + "typeString": "contract Loot" + } + }, + "id": 120917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealNFT", + "nodeType": "MemberAccess", + "referencedDeclaration": 125464, + "src": "721:14:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 120919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "721:28:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120920, + "nodeType": "ExpressionStatement", + "src": "721:28:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120924, + "name": "_userTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120898, + "src": "774:12:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 120921, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120903, + "src": "759:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125426", + "typeString": "contract User" + } + }, + "id": 120923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealNFT", + "nodeType": "MemberAccess", + "referencedDeclaration": 125425, + "src": "759:14:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 120925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "759:28:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120926, + "nodeType": "ExpressionStatement", + "src": "759:28:174" + } + ] + }, + "functionSelector": "1b9cb7e8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multRevealNFT", + "nameLocation": "567:13:174", + "parameters": { + "id": 120899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120896, + "mutability": "mutable", + "name": "_lootTokenId", + "nameLocation": "589:12:174", + "nodeType": "VariableDeclaration", + "scope": 120928, + "src": "581:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "581:7:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120898, + "mutability": "mutable", + "name": "_userTokenId", + "nameLocation": "610:12:174", + "nodeType": "VariableDeclaration", + "scope": 120928, + "src": "602:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "602:7:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "580:43:174" + }, + "returnParameters": { + "id": 120900, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "MPlugin", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 120929 + ], + "name": "MPlugin", + "nameLocation": "130:7:174", + "scope": 120930, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 174 +} \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.abi.json b/packages/contracts/out/User.sol/MUser.abi.json new file mode 100644 index 00000000..6a8af3cb --- /dev/null +++ b/packages/contracts/out/User.sol/MUser.abi.json @@ -0,0 +1,600 @@ +[ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json new file mode 100644 index 00000000..81187746 --- /dev/null +++ b/packages/contracts/out/User.sol/MUser.json @@ -0,0 +1,9937 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b5060405162002e7b38038062002e7b833981016040819052620000349162000227565b8351849084906200004d906000906020850190620000b4565b50805162000063906001906020840190620000b4565b5050600a80546001600160a01b0319163317905550600985905581516200009290600b906020850190620000b4565b508051620000a890600c906020840190620000b4565b50505050505062000327565b828054620000c290620002eb565b90600052602060002090601f016020900481019282620000e6576000855562000131565b82601f106200010157805160ff191683800117855562000131565b8280016001018555821562000131579182015b828111156200013157825182559160200191906001019062000114565b506200013f92915062000143565b5090565b5b808211156200013f576000815560010162000144565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018257600080fd5b81516001600160401b03808211156200019f576200019f6200015a565b604051601f8301601f19908116603f01168101908282118183101715620001ca57620001ca6200015a565b81604052838152602092508683858801011115620001e757600080fd5b600091505b838210156200020b5785820183015181830184015290820190620001ec565b838211156200021d5760008385830101525b9695505050505050565b600080600080600060a086880312156200024057600080fd5b855160208701519095506001600160401b03808211156200026057600080fd5b6200026e89838a0162000170565b955060408801519150808211156200028557600080fd5b6200029389838a0162000170565b94506060880151915080821115620002aa57600080fd5b620002b889838a0162000170565b93506080880151915080821115620002cf57600080fd5b50620002de8882890162000170565b9150509295509295909350565b600181811c908216806200030057607f821691505b6020821081036200032157634e487b7160e01b600052602260045260246000fd5b50919050565b612b4480620003376000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", + "sourceMap": "163:5874:153:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:90;;819:7:153;;828:5;;1456:13:90;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:90;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:153::1;:18:::0;;-1:-1:-1;;;;;;845:18:153::1;853:10;845:18;::::0;;-1:-1:-1;873:14:153::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:153;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:153;;;-1:-1:-1;163:5874:153;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:156;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:156;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:156;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:156:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:156;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:153;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", + "sourceMap": "163:5874:153:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:90;;;;;;:::i;:::-;;:::i;:::-;;;611:14:156;;604:22;586:41;;574:2;559:18;1570:300:90;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:156;;;1779:74;;1767:2;1752:18;3935:167:90;1633:226:156;3468:406:90;;;;;;:::i;:::-;;:::i;:::-;;241:23:151;;;;;;;;;2470:25:156;;;2458:2;2443:18;241:23:151;2324:177:156;481:22:153;;;;;;4612:296:90;;;;;;:::i;:::-;;:::i;509:29:153:-;;;;;;4974:149:90;;;;;;:::i;:::-;;:::i;5547:482:153:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:156;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:153;3476:535:156;2190:219:90;;;;;;:::i;:::-;;:::i;1047:324:153:-;;;;;;:::i;:::-;;:::i;1929:204:90:-;;;;;;:::i;:::-;;:::i;544:20:153:-;;;;;-1:-1:-1;;;;;544:20:153;;;2633:102:90;;;:::i;1000:40:153:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:90:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:153:-;;;;;;:::i;:::-;;:::i;270:44:151:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:151;;;;;;;7344:25:156;;;-1:-1:-1;;;;;7405:55:156;;;7400:2;7385:18;;7378:83;7317:18;270:44:151;7170:297:156;1377:680:153;;;;;;:::i;:::-;;:::i;4388:162:90:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:90;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:90;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:97;937:40;;;;1827:36:90;1688:175;1570:300;-1:-1:-1;;1570:300:90:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:90;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:90;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:90;:2;-1:-1:-1;;;;;3605:11:90;;3597:57;;;;-1:-1:-1;;;3597:57:90;;8381:2:156;3597:57:90;;;8363:21:156;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:90;;;;;;;;;719:10:95;-1:-1:-1;;;;;3686:21:90;;;;:62;;-1:-1:-1;3711:37:90;3728:5;719:10:95;4388:162:90;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:90;;8783:2:156;3665:170:90;;;8765:21:156;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:90;8581:425:156;3665:170:90;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:95;4804:7:90;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:90;;9213:2:156;4763:99:90;;;9195:21:156;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:90;9011:409:156;4763:99:90;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:153:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:153;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:153;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:153;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:153;;5547:482;-1:-1:-1;;;5547:482:153:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:153;-1:-1:-1;5359:21:153;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:153;;10205:2:156;5337:62:153;;;10187:21:156;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:153;10003:339:156;5337:62:153;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:153;;-1:-1:-1;5480:10:153;-1:-1:-1;5500:13:153;;-1:-1:-1;5523:10:153;-1:-1:-1;5169:372:153;-1:-1:-1;;5169:372:153:o;2190:219:90:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;;2324:56;;;;-1:-1:-1;;;2324:56:90;;10549:2:156;2324:56:90;;;10531:21:156;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:90;10347:348:156;1047:324:153;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:153;-1:-1:-1;;;;;1167:18:153;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:153;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:153;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:90:-;2001:7;-1:-1:-1;;;;;2028:19:90;;2020:73;;;;-1:-1:-1;;;2020:73:90;;10902:2:156;2020:73:90;;;10884:21:156;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:90;10700:405:156;2020:73:90;-1:-1:-1;;;;;;2110:16:90;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:95;4296:8:90;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:95;5352:7:90;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:90;;9213:2:156;5311:99:90;;;9195:21:156;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:90;9011:409:156;5311:99:90;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:153:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:153;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:153;-1:-1:-1;4045:19:153;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:153;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:153:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:153;;12896:2:156;4313:60:153;;;12878:21:156;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:153;12694:339:156;4313:60:153;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:153;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:153:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:153;;:34;;-1:-1:-1;;2015:34:153;2028:21;2015:34;;;-1:-1:-1;1377:680:153:o;13240:133:90:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;13313:53;;;;-1:-1:-1;;;13313:53:90;;10549:2:156;13313:53:90;;;10531:21:156;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:90;10347:348:156;13313:53:90;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:90;-1:-1:-1;;;;;12646:29:90;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:90;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:90;:7;-1:-1:-1;;;;;7570:16:90;;:52;;;-1:-1:-1;;;;;;4508:25:90;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:90;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:90;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:90:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:90;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:90;;11346:81;;;;-1:-1:-1;;;11346:81:90;;15128:2:156;11346:81:90;;;15110:21:156;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:90;14926:401:156;11346:81:90;-1:-1:-1;;;;;11445:16:90;;11437:65;;;;-1:-1:-1;;;11437:65:90;;15534:2:156;11437:65:90;;;15516:21:156;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:90;15332:400:156;11437:65:90;11682:4;-1:-1:-1;;;;;11655:31:90;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:90;;11647:81;;;;-1:-1:-1;;;11647:81:90;;15128:2:156;11647:81:90;;;15110:21:156;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:90;14926:401:156;11647:81:90;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:90;;;;;;-1:-1:-1;;;;;12265:15:90;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:90;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:151:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:151;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:156;;;7385:18;;;7378:83;458:21:151;563:31;;7317:18:156;563:31:151;;;;;;;429:172;378:223;:::o;8925:920:90:-;-1:-1:-1;;;;;9004:16:90;;8996:61;;;;-1:-1:-1;;;8996:61:90;;15939:2:156;8996:61:90;;;15921:21:156;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:90;15737:356:156;8996:61:90;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:90;;16300:2:156;9067:58:90;;;16282:21:156;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:90;16098:352:156;9067:58:90;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:90;;16300:2:156;9271:58:90;;;16282:21:156;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:90;16098:352:156;9271:58:90;-1:-1:-1;;;;;9671:13:90;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:90;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:90;:5;-1:-1:-1;;;;;12990:17:90;;12982:55;;;;-1:-1:-1;;;12982:55:90;;16657:2:156;12982:55:90;;;16639:21:156;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:90;16455:349:156;12982:55:90;-1:-1:-1;;;;;13047:25:90;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:90;;;;;;;;;;13108:41;;586::156;;;13108::90;;559:18:156;13108:41:90;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:90;;17011:2:156;6476:110:90;;;16993:21:156;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:90;16809:414:156;2521:1348:153;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:153;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:153;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:153;2521:1348;-1:-1:-1;;;2521:1348:153:o;447:696:96:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:96;-1:-1:-1;604:41:96;-1:-1:-1;765:28:96;;;781:2;765:28;820:280;-1:-1:-1;;851:5:96;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:96;820:280;1064:21;-1:-1:-1;1120:6:96;447:696;-1:-1:-1;;;447:696:96:o;396:1557:148:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:148;;;;;;;;;-1:-1:-1;528:9:148;;;396:1557;-1:-1:-1;396:1557:148:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:148;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:148;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:148;;1810:41;1659:206;-1:-1:-1;;;1879:26:148;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:148:o;607:996:151:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:151;;18585:2:156;765:55:151;;;18567:21:156;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:151;18383:346:156;765:55:151;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:151;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:151;;18936:2:156;880:69:151;;;18918:21:156;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:151;18734:398:156;880:69:151;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:151;-1:-1:-1;1059:13:151;;959:53;;-1:-1:-1;1059:31:151;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:151;;19339:2:156;1022:122:151;;;19321:21:156;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:151;19137:352:156;1022:122:151;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:156;;;1177:28:151;-1:-1:-1;1169:37:151;;19658:12:156;1303:22:151;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:151;;607:996;-1:-1:-1;;;;;;;607:996:151:o;2063:259:153:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:153;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:153:o;13925:831:90:-;14074:4;-1:-1:-1;;;;;14094:13:90;;1702:19:94;:23;14090:660:90;;14129:71;;;;;-1:-1:-1;;;;;14129:36:90;;;;;:71;;719:10:95;;14180:4:90;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:90;;;;;;;;-1:-1:-1;;14129:71:90;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:90;;17011:2:156;14409:60:90;;;16993:21:156;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:90;16809:414:156;14363:321:90;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:90;;14090:660;-1:-1:-1;14735:4:90;14728:11;;2328:187:153;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:99:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:99;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:99;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:99;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:99;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:99;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:99;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:99:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:156:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:156:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:156;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:156;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:156:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:156;;1448:180;-1:-1:-1;1448:180:156:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:156;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:156:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:156;;2839:632;-1:-1:-1;;;;;;2839:632:156:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:156;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:156;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:156;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:156;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:156;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:156;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:156;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:156;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:156;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:156;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:156;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:156;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:156:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:156:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:156:o;17703:184::-;-1:-1:-1;;;17752:1:156;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:156;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:156;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:156;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:156;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:156;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:156:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:156:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:156;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:156:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "getStructInfo(uint256)": "53bbd6a7", + "getUserTokenIdList()": "43a47162", + "isApprovedForAll(address,address)": "e985e9c5", + "mint(address)": "6a627842", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "ownerOf(uint256)": "6352211e", + "randomId()": "0ab14d8a", + "randomList(uint256)": "cba86e23", + "revealNFT(uint256)": "d5608f9a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenId()": "17d70f7c", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd", + "userList(uint256)": "9f4216e8", + "waitBlockCount()": "3e8474ca" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_waitBlockCount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_notRevealedInfo\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_revealedDesc\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"name\":\"NewRandom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUserTokenIdList\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"randomList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"revealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"HP\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Attack\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"AttackRange\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Speed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Space\",\"type\":\"uint256\"},{\"internalType\":\"enum MRandom.RandomState\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"waitBlockCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/User.sol\":\"MUser\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/other/Base64.sol\":{\"keccak256\":\"0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2\",\"dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt\"]},\"src/other/MRandom.sol\":{\"keccak256\":\"0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3\",\"dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT\"]},\"src/other/User.sol\":{\"keccak256\":\"0x53646fef60184786ca4e6ea5ba0eb43e678fcba3876d8c242e541254267500e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a1404ed20b3ecf45534cacbb6f9e4d0942be743f825e097ad96197b9d0aaf2\",\"dweb:/ipfs/QmepCVzMNwuRP8PbBG1oLn3AVUef9jyzvjnbNCrRmyDuDN\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "author", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "NewRandom", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealNFT" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/User.sol": "MUser" + }, + "libraries": {} + }, + "sources": { + "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff", + "urls": [ + "bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005", + "dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266", + "urls": [ + "bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4", + "dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "src/other/Base64.sol": { + "keccak256": "0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675", + "urls": [ + "bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2", + "dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt" + ], + "license": "MIT" + }, + "src/other/MRandom.sol": { + "keccak256": "0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5", + "urls": [ + "bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3", + "dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT" + ], + "license": "MIT" + }, + "src/other/User.sol": { + "keccak256": "0x53646fef60184786ca4e6ea5ba0eb43e678fcba3876d8c242e541254267500e8", + "urls": [ + "bzz-raw://b4a1404ed20b3ecf45534cacbb6f9e4d0942be743f825e097ad96197b9d0aaf2", + "dweb:/ipfs/QmepCVzMNwuRP8PbBG1oLn3AVUef9jyzvjnbNCrRmyDuDN" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/User.sol", + "id": 115607, + "exportedSymbols": { + "Address": [ + 119032 + ], + "Base64": [ + 113421 + ], + "Context": [ + 119054 + ], + "ERC165": [ + 119078 + ], + "ERC721": [ + 69380 + ], + "IERC165": [ + 159485 + ], + "IERC721": [ + 118657 + ], + "IERC721Metadata": [ + 118702 + ], + "IERC721Receiver": [ + 118675 + ], + "MRandom": [ + 114852 + ], + "MUser": [ + 115606 + ], + "Math": [ + 119944 + ], + "SignedMath": [ + 120049 + ], + "Strings": [ + 69609 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6006:153", + "nodes": [ + { + "id": 114949, + "nodeType": "PragmaDirective", + "src": "32:24:153", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 114950, + "nodeType": "ImportDirective", + "src": "57:57:153", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "nameLocation": "-1:-1:-1", + "scope": 115607, + "sourceUnit": 69381, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 114951, + "nodeType": "ImportDirective", + "src": "115:23:153", + "nodes": [], + "absolutePath": "src/other/MRandom.sol", + "file": "./MRandom.sol", + "nameLocation": "-1:-1:-1", + "scope": 115607, + "sourceUnit": 114853, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 114952, + "nodeType": "ImportDirective", + "src": "139:22:153", + "nodes": [], + "absolutePath": "src/other/Base64.sol", + "file": "./Base64.sol", + "nameLocation": "-1:-1:-1", + "scope": 115607, + "sourceUnit": 113422, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 115606, + "nodeType": "ContractDefinition", + "src": "163:5874:153", + "nodes": [ + { + "id": 114959, + "nodeType": "UsingForDirective", + "src": "203:26:153", + "nodes": [], + "global": false, + "libraryName": { + "id": 114957, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 69609, + "src": "209:7:153" + }, + "typeName": { + "id": 114958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "221:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 114979, + "nodeType": "StructDefinition", + "src": "235:240:153", + "nodes": [], + "canonicalName": "MUser.User", + "members": [ + { + "constant": false, + "id": 114961, + "mutability": "mutable", + "name": "randomId", + "nameLocation": "265:8:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "257:16:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114963, + "mutability": "mutable", + "name": "owner", + "nameLocation": "291:5:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "283:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 114962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "283:7:153", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114965, + "mutability": "mutable", + "name": "HP", + "nameLocation": "314:2:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "306:10:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "306:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114967, + "mutability": "mutable", + "name": "Attack", + "nameLocation": "334:6:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "326:14:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114969, + "mutability": "mutable", + "name": "AttackRange", + "nameLocation": "358:11:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "350:19:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "350:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114971, + "mutability": "mutable", + "name": "Speed", + "nameLocation": "387:5:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "379:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114970, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "379:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114973, + "mutability": "mutable", + "name": "Strength", + "nameLocation": "410:8:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "402:16:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114975, + "mutability": "mutable", + "name": "Space", + "nameLocation": "436:5:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "428:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114974, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "428:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114978, + "mutability": "mutable", + "name": "state", + "nameLocation": "463:5:153", + "nodeType": "VariableDeclaration", + "scope": 114979, + "src": "451:17:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + }, + "typeName": { + "id": 114977, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 114976, + "name": "RandomState", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114661, + "src": "451:11:153" + }, + "referencedDeclaration": 114661, + "src": "451:11:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "visibility": "internal" + } + ], + "name": "User", + "nameLocation": "242:4:153", + "scope": 115606, + "visibility": "public" + }, + { + "id": 114981, + "nodeType": "VariableDeclaration", + "src": "481:22:153", + "nodes": [], + "constant": false, + "functionSelector": "17d70f7c", + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "496:7:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "481:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 114983, + "nodeType": "VariableDeclaration", + "src": "509:29:153", + "nodes": [], + "constant": false, + "functionSelector": "3e8474ca", + "mutability": "mutable", + "name": "waitBlockCount", + "nameLocation": "524:14:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "509:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 114985, + "nodeType": "VariableDeclaration", + "src": "544:20:153", + "nodes": [], + "constant": false, + "functionSelector": "8da5cb5b", + "mutability": "mutable", + "name": "owner", + "nameLocation": "559:5:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 114984, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:153", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 114987, + "nodeType": "VariableDeclaration", + "src": "570:22:153", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "notRevealedInfo", + "nameLocation": "577:15:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 114986, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "570:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 114989, + "nodeType": "VariableDeclaration", + "src": "598:19:153", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "revealedDesc", + "nameLocation": "605:12:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 114988, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "598:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 115024, + "nodeType": "FunctionDefinition", + "src": "624:370:153", + "nodes": [], + "body": { + "id": 115023, + "nodeType": "Block", + "src": "835:159:153", + "nodes": [], + "statements": [ + { + "expression": { + "id": 115009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115006, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114985, + "src": "845:5:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 115007, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "853:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 115008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "853:10:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "845:18:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 115010, + "nodeType": "ExpressionStatement", + "src": "845:18:153" + }, + { + "expression": { + "id": 115013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115011, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114983, + "src": "873:14:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115012, + "name": "_waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114991, + "src": "890:15:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "873:32:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115014, + "nodeType": "ExpressionStatement", + "src": "873:32:153" + }, + { + "expression": { + "id": 115017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115015, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114987, + "src": "915:15:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115016, + "name": "_notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114997, + "src": "933:16:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "915:34:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 115018, + "nodeType": "ExpressionStatement", + "src": "915:34:153" + }, + { + "expression": { + "id": 115021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115019, + "name": "revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114989, + "src": "959:12:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115020, + "name": "_revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114999, + "src": "974:13:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "959:28:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 115022, + "nodeType": "ExpressionStatement", + "src": "959:28:153" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 115002, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114993, + "src": "819:7:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 115003, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114995, + "src": "828:5:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 115004, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 115001, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 69380, + "src": "812:6:153" + }, + "nodeType": "ModifierInvocation", + "src": "812:22:153" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 115000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114991, + "mutability": "mutable", + "name": "_waitBlockCount", + "nameLocation": "653:15:153", + "nodeType": "VariableDeclaration", + "scope": 115024, + "src": "645:23:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 114990, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "645:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114993, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "692:7:153", + "nodeType": "VariableDeclaration", + "scope": 115024, + "src": "678:21:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 114992, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "678:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114995, + "mutability": "mutable", + "name": "_name", + "nameLocation": "723:5:153", + "nodeType": "VariableDeclaration", + "scope": 115024, + "src": "709:19:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 114994, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "709:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114997, + "mutability": "mutable", + "name": "_notRevealedInfo", + "nameLocation": "752:16:153", + "nodeType": "VariableDeclaration", + "scope": 115024, + "src": "738:30:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 114996, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "738:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 114999, + "mutability": "mutable", + "name": "_revealedDesc", + "nameLocation": "792:13:153", + "nodeType": "VariableDeclaration", + "scope": 115024, + "src": "778:27:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 114998, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "778:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "635:176:153" + }, + "returnParameters": { + "id": 115005, + "nodeType": "ParameterList", + "parameters": [], + "src": "835:0:153" + }, + "scope": 115606, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 115029, + "nodeType": "VariableDeclaration", + "src": "1000:40:153", + "nodes": [], + "constant": false, + "functionSelector": "9f4216e8", + "mutability": "mutable", + "name": "userList", + "nameLocation": "1032:8:153", + "scope": 115606, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User)" + }, + "typeName": { + "id": 115028, + "keyType": { + "id": 115025, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1008:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1000:24:153", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User)" + }, + "valueType": { + "id": 115027, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115026, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "1019:4:153" + }, + "referencedDeclaration": 114979, + "src": "1019:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + } + }, + "visibility": "public" + }, + { + "id": 115076, + "nodeType": "FunctionDefinition", + "src": "1047:324:153", + "nodes": [], + "body": { + "id": 115075, + "nodeType": "Block", + "src": "1085:286:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115036 + ], + "declarations": [ + { + "constant": false, + "id": 115036, + "mutability": "mutable", + "name": "user", + "nameLocation": "1133:4:153", + "nodeType": "VariableDeclaration", + "scope": 115075, + "src": "1120:17:153", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 115035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115034, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "1120:4:153" + }, + "referencedDeclaration": 114979, + "src": "1120:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 115040, + "initialValue": { + "baseExpression": { + "id": 115037, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115029, + "src": "1140:8:153", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 115039, + "indexExpression": { + "id": 115038, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114981, + "src": "1149:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1140:17:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1120:37:153" + }, + { + "expression": { + "id": 115045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115041, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115036, + "src": "1167:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 114963, + "src": "1167:10:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115044, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115031, + "src": "1180:5:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1167:18:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 115046, + "nodeType": "ExpressionStatement", + "src": "1167:18:153" + }, + { + "expression": { + "id": 115052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115047, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115036, + "src": "1195:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 114978, + "src": "1195:10:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 115050, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114661, + "src": "1208:11:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 115051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 114659, + "src": "1208:19:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1195:32:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 115053, + "nodeType": "ExpressionStatement", + "src": "1195:32:153" + }, + { + "expression": { + "id": 115058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115054, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115036, + "src": "1237:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 114961, + "src": "1237:13:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115057, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114668, + "src": "1253:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:24:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115059, + "nodeType": "ExpressionStatement", + "src": "1237:24:153" + }, + { + "expression": { + "arguments": [ + { + "id": 115061, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114668, + "src": "1285:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115060, + "name": "requestRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114712, + "src": "1271:13:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 115062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1271:23:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 115063, + "nodeType": "ExpressionStatement", + "src": "1271:23:153" + }, + { + "expression": { + "arguments": [ + { + "id": 115065, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115031, + "src": "1310:5:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 115066, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114981, + "src": "1317:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115064, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 69054, + "src": "1304:5:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 115067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1304:21:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 115068, + "nodeType": "ExpressionStatement", + "src": "1304:21:153" + }, + { + "expression": { + "id": 115070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1335:9:153", + "subExpression": { + "id": 115069, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114981, + "src": "1335:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115071, + "nodeType": "ExpressionStatement", + "src": "1335:9:153" + }, + { + "expression": { + "id": 115073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1354:10:153", + "subExpression": { + "id": 115072, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114668, + "src": "1354:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115074, + "nodeType": "ExpressionStatement", + "src": "1354:10:153" + } + ] + }, + "functionSelector": "6a627842", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "1056:4:153", + "parameters": { + "id": 115032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115031, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "1069:5:153", + "nodeType": "VariableDeclaration", + "scope": 115076, + "src": "1061:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 115030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1061:7:153", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1060:15:153" + }, + "returnParameters": { + "id": 115033, + "nodeType": "ParameterList", + "parameters": [], + "src": "1085:0:153" + }, + "scope": 115606, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 115186, + "nodeType": "FunctionDefinition", + "src": "1377:680:153", + "nodes": [], + "body": { + "id": 115185, + "nodeType": "Block", + "src": "1423:634:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115083 + ], + "declarations": [ + { + "constant": false, + "id": 115083, + "mutability": "mutable", + "name": "user", + "nameLocation": "1446:4:153", + "nodeType": "VariableDeclaration", + "scope": 115185, + "src": "1433:17:153", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 115082, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115081, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "1433:4:153" + }, + "referencedDeclaration": 114979, + "src": "1433:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 115087, + "initialValue": { + "baseExpression": { + "id": 115084, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115029, + "src": "1453:8:153", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 115086, + "indexExpression": { + "id": 115085, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115078, + "src": "1462:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1453:18:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1433:38:153" + }, + { + "assignments": [ + 115092 + ], + "declarations": [ + { + "constant": false, + "id": 115092, + "mutability": "mutable", + "name": "random_numbers", + "nameLocation": "1496:14:153", + "nodeType": "VariableDeclaration", + "scope": 115185, + "src": "1481:29:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[]" + }, + "typeName": { + "baseType": { + "id": 115090, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1481:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 115091, + "nodeType": "ArrayTypeName", + "src": "1481:7:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", + "typeString": "uint8[]" + } + }, + "visibility": "internal" + } + ], + "id": 115099, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 115094, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1536:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 114961, + "src": "1536:13:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "38", + "id": 115096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1563:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 115097, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114983, + "src": "1578:14:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115093, + "name": "getRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114829, + "src": "1513:9:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" + } + }, + "id": 115098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1513:89:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1481:121:153" + }, + { + "expression": { + "id": 115111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115100, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1613:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115102, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 114965, + "src": "1613:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115104, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1632:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115106, + "indexExpression": { + "hexValue": "30", + "id": 115105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1632:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "313030", + "id": 115107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1651:3:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "hexValue": "3130", + "id": 115108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1656:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "35", + "id": 115109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1660:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "id": 115103, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1623:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1623:39:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1613:49:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115112, + "nodeType": "ExpressionStatement", + "src": "1613:49:153" + }, + { + "expression": { + "id": 115124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115113, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1672:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115115, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 114967, + "src": "1672:11:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115117, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1695:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115119, + "indexExpression": { + "hexValue": "31", + "id": 115118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1710:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1695:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "3330", + "id": 115120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1714:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "3130", + "id": 115121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "32", + "id": 115122, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 115116, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1686:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:38:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1672:52:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115125, + "nodeType": "ExpressionStatement", + "src": "1672:52:153" + }, + { + "expression": { + "id": 115137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115126, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1734:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 114969, + "src": "1734:16:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115130, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1762:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115132, + "indexExpression": { + "hexValue": "32", + "id": 115131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1762:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "33", + "id": 115133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "3530", + "id": 115134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "31", + "id": 115135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1788:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 115129, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1753:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1753:37:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1734:56:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115138, + "nodeType": "ExpressionStatement", + "src": "1734:56:153" + }, + { + "expression": { + "id": 115150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115139, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1819:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 114971, + "src": "1819:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115143, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1841:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115145, + "indexExpression": { + "hexValue": "33", + "id": 115144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1856:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "34", + "id": 115146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1860:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + { + "hexValue": "3330", + "id": 115147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1863:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "31", + "id": 115148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1867:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 115142, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1832:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1832:37:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1819:50:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115151, + "nodeType": "ExpressionStatement", + "src": "1819:50:153" + }, + { + "expression": { + "id": 115163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115152, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1891:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 114973, + "src": "1891:13:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115156, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1916:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115158, + "indexExpression": { + "hexValue": "34", + "id": 115157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1931:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1916:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "3230", + "id": 115159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1935:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + { + "hexValue": "3130", + "id": 115160, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1939:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "33", + "id": 115161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1943:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 115155, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1907:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1907:38:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1891:54:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115164, + "nodeType": "ExpressionStatement", + "src": "1891:54:153" + }, + { + "expression": { + "id": 115176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115165, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "1955:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 114975, + "src": "1955:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 115169, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115092, + "src": "1977:14:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 115171, + "indexExpression": { + "hexValue": "35", + "id": 115170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1977:17:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "32", + "id": 115172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1996:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + { + "hexValue": "3530", + "id": 115173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1999:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "31", + "id": 115174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2003:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 115168, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115218, + "src": "1968:8:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 115175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1968:37:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1955:50:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115177, + "nodeType": "ExpressionStatement", + "src": "1955:50:153" + }, + { + "expression": { + "id": 115183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 115178, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115083, + "src": "2015:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 115180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 114978, + "src": "2015:10:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 115181, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114661, + "src": "2028:11:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 115182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 114660, + "src": "2028:21:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "2015:34:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 115184, + "nodeType": "ExpressionStatement", + "src": "2015:34:153" + } + ] + }, + "functionSelector": "d5608f9a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revealNFT", + "nameLocation": "1386:9:153", + "parameters": { + "id": 115079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115078, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1404:8:153", + "nodeType": "VariableDeclaration", + "scope": 115186, + "src": "1396:16:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1396:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1395:18:153" + }, + "returnParameters": { + "id": 115080, + "nodeType": "ParameterList", + "parameters": [], + "src": "1423:0:153" + }, + "scope": 115606, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 115218, + "nodeType": "FunctionDefinition", + "src": "2063:259:153", + "nodes": [], + "body": { + "id": 115217, + "nodeType": "Block", + "src": "2216:106:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115200 + ], + "declarations": [ + { + "constant": false, + "id": 115200, + "mutability": "mutable", + "name": "times", + "nameLocation": "2234:5:153", + "nodeType": "VariableDeclaration", + "scope": 115217, + "src": "2226:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2226:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 115210, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 115205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115203, + "name": "_rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115188, + "src": "2251:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 115204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2259:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2251:9:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 115206, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2250:11:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 115207, + "name": "_step", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115192, + "src": "2264:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2250:19:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2242:7:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 115201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2242:7:153", + "typeDescriptions": {} + } + }, + "id": 115209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:28:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2226:44:153" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115211, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115190, + "src": "2287:6:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115212, + "name": "times", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115200, + "src": "2296:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 115213, + "name": "_stepLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115194, + "src": "2304:11:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2296:19:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2287:28:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 115198, + "id": 115216, + "nodeType": "Return", + "src": "2280:35:153" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRange", + "nameLocation": "2072:8:153", + "parameters": { + "id": 115195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115188, + "mutability": "mutable", + "name": "_rand", + "nameLocation": "2096:5:153", + "nodeType": "VariableDeclaration", + "scope": 115218, + "src": "2090:11:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 115187, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2090:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115190, + "mutability": "mutable", + "name": "_start", + "nameLocation": "2119:6:153", + "nodeType": "VariableDeclaration", + "scope": 115218, + "src": "2111:14:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2111:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115192, + "mutability": "mutable", + "name": "_step", + "nameLocation": "2143:5:153", + "nodeType": "VariableDeclaration", + "scope": 115218, + "src": "2135:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2135:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115194, + "mutability": "mutable", + "name": "_stepLength", + "nameLocation": "2166:11:153", + "nodeType": "VariableDeclaration", + "scope": 115218, + "src": "2158:19:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2158:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2080:103:153" + }, + "returnParameters": { + "id": 115198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115197, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115218, + "src": "2207:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2207:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2206:9:153" + }, + "scope": 115606, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 115238, + "nodeType": "FunctionDefinition", + "src": "2328:187:153", + "nodes": [], + "body": { + "id": 115237, + "nodeType": "Block", + "src": "2446:69:153", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 115231, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115220, + "src": "2487:4:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "203a20", + "id": 115232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2493:5:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", + "typeString": "literal_string \" : \"" + }, + "value": " : " + }, + { + "id": 115233, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115222, + "src": "2500:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", + "typeString": "literal_string \" : \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 115229, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2470:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 115230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2470:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 115234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2470:37:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 115228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2463:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 115227, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2463:6:153", + "typeDescriptions": {} + } + }, + "id": 115235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2463:45:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 115226, + "id": 115236, + "nodeType": "Return", + "src": "2456:52:153" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "concat", + "nameLocation": "2337:6:153", + "parameters": { + "id": 115223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115220, + "mutability": "mutable", + "name": "_key", + "nameLocation": "2367:4:153", + "nodeType": "VariableDeclaration", + "scope": 115238, + "src": "2353:18:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115219, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2353:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115222, + "mutability": "mutable", + "name": "_value", + "nameLocation": "2395:6:153", + "nodeType": "VariableDeclaration", + "scope": 115238, + "src": "2381:20:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115221, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2381:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2343:64:153" + }, + "returnParameters": { + "id": 115226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115225, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115238, + "src": "2431:13:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115224, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2431:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2430:15:153" + }, + "scope": 115606, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 115398, + "nodeType": "FunctionDefinition", + "src": "2521:1348:153", + "nodes": [], + "body": { + "id": 115397, + "nodeType": "Block", + "src": "2596:1273:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115251 + ], + "declarations": [ + { + "constant": false, + "id": 115251, + "mutability": "mutable", + "name": "parts", + "nameLocation": "2624:5:153", + "nodeType": "VariableDeclaration", + "scope": 115397, + "src": "2606:23:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string[13]" + }, + "typeName": { + "baseType": { + "id": 115249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2606:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 115250, + "length": { + "hexValue": "3133", + "id": 115248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2613:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "nodeType": "ArrayTypeName", + "src": "2606:10:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$13_storage_ptr", + "typeString": "string[13]" + } + }, + "visibility": "internal" + } + ], + "id": 115252, + "nodeType": "VariableDeclarationStatement", + "src": "2606:23:153" + }, + { + "expression": { + "id": 115257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115253, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "2640:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115255, + "indexExpression": { + "hexValue": "30", + "id": 115254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2659:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2640:30:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", + "id": 115256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2673:255:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2640:288:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115258, + "nodeType": "ExpressionStatement", + "src": "2640:288:153" + }, + { + "expression": { + "id": 115269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115259, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "2939:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115261, + "indexExpression": { + "hexValue": "31", + "id": 115260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2945:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2939:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "4850", + "id": 115263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2957:4:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", + "typeString": "literal_string \"HP\"" + }, + "value": "HP" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115264, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "2963:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 114965, + "src": "2963:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "2963:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2963:18:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", + "typeString": "literal_string \"HP\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115262, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "2950:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2950:32:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2939:43:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115270, + "nodeType": "ExpressionStatement", + "src": "2939:43:153" + }, + { + "expression": { + "id": 115275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115271, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "2993:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115273, + "indexExpression": { + "hexValue": "32", + "id": 115272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2999:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2993:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", + "id": 115274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3004:42:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2993:53:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115276, + "nodeType": "ExpressionStatement", + "src": "2993:53:153" + }, + { + "expression": { + "id": 115287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115277, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3057:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115279, + "indexExpression": { + "hexValue": "33", + "id": 115278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3063:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3057:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "41747461636b", + "id": 115281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3075:8:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", + "typeString": "literal_string \"Attack\"" + }, + "value": "Attack" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115282, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "3085:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 114967, + "src": "3085:11:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "3085:20:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3085:22:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", + "typeString": "literal_string \"Attack\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115280, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "3068:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3068:40:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3057:51:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115288, + "nodeType": "ExpressionStatement", + "src": "3057:51:153" + }, + { + "expression": { + "id": 115293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115289, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3119:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115291, + "indexExpression": { + "hexValue": "34", + "id": 115290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3125:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3119:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", + "id": 115292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3130:42:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3119:53:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115294, + "nodeType": "ExpressionStatement", + "src": "3119:53:153" + }, + { + "expression": { + "id": 115305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115295, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3183:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115297, + "indexExpression": { + "hexValue": "35", + "id": 115296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3189:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3183:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "41747461636b52616e6765", + "id": 115299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3201:13:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", + "typeString": "literal_string \"AttackRange\"" + }, + "value": "AttackRange" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115300, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "3216:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 114969, + "src": "3216:16:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "3216:25:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3216:27:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", + "typeString": "literal_string \"AttackRange\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115298, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "3194:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3194:50:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3183:61:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115306, + "nodeType": "ExpressionStatement", + "src": "3183:61:153" + }, + { + "expression": { + "id": 115311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115307, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3255:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115309, + "indexExpression": { + "hexValue": "36", + "id": 115308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3261:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3255:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", + "id": 115310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3266:42:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3255:53:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115312, + "nodeType": "ExpressionStatement", + "src": "3255:53:153" + }, + { + "expression": { + "id": 115323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115313, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3319:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115315, + "indexExpression": { + "hexValue": "37", + "id": 115314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3325:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3319:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5370656564", + "id": 115317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3337:7:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", + "typeString": "literal_string \"Speed\"" + }, + "value": "Speed" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115318, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "3345:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 114971, + "src": "3345:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "3345:19:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3345:21:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", + "typeString": "literal_string \"Speed\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115316, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "3330:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3330:37:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3319:48:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115324, + "nodeType": "ExpressionStatement", + "src": "3319:48:153" + }, + { + "expression": { + "id": 115329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115325, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3378:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115327, + "indexExpression": { + "hexValue": "38", + "id": 115326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3384:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3378:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", + "id": 115328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3389:43:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3378:54:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115330, + "nodeType": "ExpressionStatement", + "src": "3378:54:153" + }, + { + "expression": { + "id": 115341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115331, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3443:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115333, + "indexExpression": { + "hexValue": "39", + "id": 115332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3449:1:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3443:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "537472656e677468", + "id": 115335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3461:10:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", + "typeString": "literal_string \"Strength\"" + }, + "value": "Strength" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115336, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "3473:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 114973, + "src": "3473:13:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "3473:22:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:24:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", + "typeString": "literal_string \"Strength\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115334, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "3454:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3454:44:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3443:55:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115342, + "nodeType": "ExpressionStatement", + "src": "3443:55:153" + }, + { + "expression": { + "id": 115347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115343, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3509:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115345, + "indexExpression": { + "hexValue": "3130", + "id": 115344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3515:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3509:9:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", + "id": 115346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3521:43:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3509:55:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115348, + "nodeType": "ExpressionStatement", + "src": "3509:55:153" + }, + { + "expression": { + "id": 115359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115349, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3575:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115351, + "indexExpression": { + "hexValue": "3131", + "id": 115350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3581:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3575:9:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5370616365", + "id": 115353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3594:7:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", + "typeString": "literal_string \"Space\"" + }, + "value": "Space" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 115354, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115241, + "src": "3603:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 114975, + "src": "3603:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "3603:19:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3603:21:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", + "typeString": "literal_string \"Space\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115352, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115238, + "src": "3587:6:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 115358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3587:38:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3575:50:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115360, + "nodeType": "ExpressionStatement", + "src": "3575:50:153" + }, + { + "expression": { + "id": 115365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115361, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3636:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115363, + "indexExpression": { + "hexValue": "3132", + "id": 115362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3642:2:153", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3636:9:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c2f7376673e", + "id": 115364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3648:15:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3636:27:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115366, + "nodeType": "ExpressionStatement", + "src": "3636:27:153" + }, + { + "assignments": [ + 115368 + ], + "declarations": [ + { + "constant": false, + "id": 115368, + "mutability": "mutable", + "name": "output", + "nameLocation": "3688:6:153", + "nodeType": "VariableDeclaration", + "scope": 115397, + "src": "3674:20:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115367, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3674:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 115369, + "nodeType": "VariableDeclarationStatement", + "src": "3674:20:153" + }, + { + "body": { + "id": 115393, + "nodeType": "Block", + "src": "3738:102:153", + "statements": [ + { + "expression": { + "id": 115391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115380, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115368, + "src": "3752:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 115385, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115368, + "src": "3798:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 115386, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3806:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115388, + "indexExpression": { + "id": 115387, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115371, + "src": "3812:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3806:8:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 115383, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3781:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 115384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3781:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 115389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3781:34:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 115382, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3761:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 115381, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3761:6:153", + "typeDescriptions": {} + } + }, + "id": 115390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3761:68:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3752:77:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115392, + "nodeType": "ExpressionStatement", + "src": "3752:77:153" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115373, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115371, + "src": "3719:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 115374, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115251, + "src": "3721:5:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 115375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3721:12:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3719:14:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 115394, + "initializationExpression": { + "assignments": [ + 115371 + ], + "declarations": [ + { + "constant": false, + "id": 115371, + "mutability": "mutable", + "name": "i", + "nameLocation": "3717:1:153", + "nodeType": "VariableDeclaration", + "scope": 115394, + "src": "3709:9:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3709:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 115372, + "nodeType": "VariableDeclarationStatement", + "src": "3709:9:153" + }, + "loopExpression": { + "expression": { + "id": 115378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3734:3:153", + "subExpression": { + "id": 115377, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115371, + "src": "3734:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115379, + "nodeType": "ExpressionStatement", + "src": "3734:3:153" + }, + "nodeType": "ForStatement", + "src": "3705:135:153" + }, + { + "expression": { + "id": 115395, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115368, + "src": "3856:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 115245, + "id": 115396, + "nodeType": "Return", + "src": "3849:13:153" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createSVG", + "nameLocation": "2530:9:153", + "parameters": { + "id": 115242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115241, + "mutability": "mutable", + "name": "user", + "nameLocation": "2552:4:153", + "nodeType": "VariableDeclaration", + "scope": 115398, + "src": "2540:16:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 115240, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115239, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "2540:4:153" + }, + "referencedDeclaration": 114979, + "src": "2540:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "src": "2539:18:153" + }, + "returnParameters": { + "id": 115245, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115244, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115398, + "src": "2581:13:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115243, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2581:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2580:15:153" + }, + "scope": 115606, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 115493, + "nodeType": "FunctionDefinition", + "src": "3875:1284:153", + "nodes": [], + "body": { + "id": 115492, + "nodeType": "Block", + "src": "3970:1189:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115408 + ], + "declarations": [ + { + "constant": false, + "id": 115408, + "mutability": "mutable", + "name": "user", + "nameLocation": "3992:4:153", + "nodeType": "VariableDeclaration", + "scope": 115492, + "src": "3980:16:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 115407, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115406, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "3980:4:153" + }, + "referencedDeclaration": 114979, + "src": "3980:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 115412, + "initialValue": { + "baseExpression": { + "id": 115409, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115029, + "src": "3999:8:153", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 115411, + "indexExpression": { + "id": 115410, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115400, + "src": "4008:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3999:18:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3980:37:153" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + }, + "id": 115417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 115413, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115408, + "src": "4031:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 114978, + "src": "4031:10:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 115415, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114661, + "src": "4045:11:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 115416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 114659, + "src": "4045:19:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "4031:33:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 115490, + "nodeType": "Block", + "src": "4299:854:153", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + }, + "id": 115437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 115433, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115408, + "src": "4321:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115434, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 114978, + "src": "4321:10:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 115435, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114661, + "src": "4335:11:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 115436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Inited", + "nodeType": "MemberAccess", + "referencedDeclaration": 114658, + "src": "4335:18:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "4321:32:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "426f78206e6f742065786973746564", + "id": 115438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4355:17:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + }, + "value": "Box not existed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + } + ], + "id": 115432, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4313:7:153", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 115439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4313:60:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 115440, + "nodeType": "ExpressionStatement", + "src": "4313:60:153" + }, + { + "assignments": [ + 115442 + ], + "declarations": [ + { + "constant": false, + "id": 115442, + "mutability": "mutable", + "name": "output", + "nameLocation": "4401:6:153", + "nodeType": "VariableDeclaration", + "scope": 115490, + "src": "4387:20:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115441, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4387:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 115446, + "initialValue": { + "arguments": [ + { + "id": 115444, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115408, + "src": "4420:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + ], + "id": 115443, + "name": "createSVG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115398, + "src": "4410:9:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$114979_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (struct MUser.User memory) pure returns (string memory)" + } + }, + "id": 115445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4410:15:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4387:38:153" + }, + { + "assignments": [ + 115448 + ], + "declarations": [ + { + "constant": false, + "id": 115448, + "mutability": "mutable", + "name": "json", + "nameLocation": "4453:4:153", + "nodeType": "VariableDeclaration", + "scope": 115490, + "src": "4439:18:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115447, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4439:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 115476, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7b226e616d65223a20224d557365722023", + "id": 115457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4596:19:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", + "typeString": "literal_string \"{\"name\": \"MUser #\"" + }, + "value": "{\"name\": \"MUser #" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 115458, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115400, + "src": "4645:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 69439, + "src": "4645:17:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 115460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4645:19:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "222c20226465736372697074696f6e223a22", + "id": 115461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4694:20:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + "value": "\", \"description\":\"" + }, + { + "id": 115462, + "name": "revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114989, + "src": "4744:12:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", + "id": 115463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4786:40:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + "value": "\",\"image\": \"data:image/svg+xml;base64," + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 115468, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115442, + "src": "4876:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4870:5:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 115466, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4870:5:153", + "typeDescriptions": {} + } + }, + "id": 115469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4870:13:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 115464, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 113421, + "src": "4856:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$113421_$", + "typeString": "type(library Base64)" + } + }, + "id": 115465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 113420, + "src": "4856:13:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 115470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4856:28:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "227d", + "id": 115471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4914:4:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + }, + "value": "\"}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", + "typeString": "literal_string \"{\"name\": \"MUser #\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + } + ], + "expression": { + "id": 115455, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4550:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 115456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4550:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 115472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4550:394:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 115454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4518:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 115453, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4518:6:153", + "typeDescriptions": {} + } + }, + "id": 115473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4518:448:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 115452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4491:5:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 115451, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4491:5:153", + "typeDescriptions": {} + } + }, + "id": 115474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4491:493:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 115449, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 113421, + "src": "4460:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$113421_$", + "typeString": "type(library Base64)" + } + }, + "id": 115450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 113420, + "src": "4460:13:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 115475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4460:538:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4439:559:153" + }, + { + "expression": { + "id": 115486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 115477, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115442, + "src": "5012:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 115482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5062:31:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 115483, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115448, + "src": "5095:4:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 115480, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5045:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 115481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5045:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 115484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5045:55:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 115479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5021:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 115478, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5021:6:153", + "typeDescriptions": {} + } + }, + "id": 115485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5021:93:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5012:102:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 115487, + "nodeType": "ExpressionStatement", + "src": "5012:102:153" + }, + { + "expression": { + "id": 115488, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115442, + "src": "5136:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 115405, + "id": 115489, + "nodeType": "Return", + "src": "5129:13:153" + } + ] + }, + "id": 115491, + "nodeType": "IfStatement", + "src": "4027:1126:153", + "trueBody": { + "id": 115431, + "nodeType": "Block", + "src": "4066:227:153", + "statements": [ + { + "assignments": [ + 115419 + ], + "declarations": [ + { + "constant": false, + "id": 115419, + "mutability": "mutable", + "name": "r", + "nameLocation": "4094:1:153", + "nodeType": "VariableDeclaration", + "scope": 115431, + "src": "4080:15:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4080:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 115428, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 115424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4160:31:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 115425, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114987, + "src": "4213:15:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 115422, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4122:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 115423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4122:16:153", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 115426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4122:124:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 115421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4098:6:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 115420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4098:6:153", + "typeDescriptions": {} + } + }, + "id": 115427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4098:162:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4080:180:153" + }, + { + "expression": { + "id": 115429, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115419, + "src": "4281:1:153", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 115405, + "id": 115430, + "nodeType": "Return", + "src": "4274:8:153" + } + ] + } + } + ] + }, + "baseFunctions": [ + 68658 + ], + "functionSelector": "c87b56dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "3884:8:153", + "overrides": { + "id": 115402, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3937:8:153" + }, + "parameters": { + "id": 115401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115400, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "3910:8:153", + "nodeType": "VariableDeclaration", + "scope": 115493, + "src": "3902:16:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115399, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3902:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3892:32:153" + }, + "returnParameters": { + "id": 115405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115404, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115493, + "src": "3955:13:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 115403, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3955:6:153", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3954:15:153" + }, + "scope": 115606, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 115541, + "nodeType": "FunctionDefinition", + "src": "5169:372:153", + "nodes": [], + "body": { + "id": 115540, + "nodeType": "Block", + "src": "5280:261:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115512 + ], + "declarations": [ + { + "constant": false, + "id": 115512, + "mutability": "mutable", + "name": "user", + "nameLocation": "5302:4:153", + "nodeType": "VariableDeclaration", + "scope": 115540, + "src": "5290:16:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 115511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 115510, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114979, + "src": "5290:4:153" + }, + "referencedDeclaration": 114979, + "src": "5290:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 115516, + "initialValue": { + "baseExpression": { + "id": 115513, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115029, + "src": "5309:8:153", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 115515, + "indexExpression": { + "id": 115514, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115495, + "src": "5318:8:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5309:18:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5290:37:153" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + }, + "id": 115522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 115518, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5345:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 114978, + "src": "5345:10:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 115520, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114661, + "src": "5359:11:153", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 115521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 114660, + "src": "5359:21:153", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$114661", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "5345:35:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 115523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5381:17:153", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 115517, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5337:7:153", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 115524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5337:62:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 115525, + "nodeType": "ExpressionStatement", + "src": "5337:62:153" + }, + { + "expression": { + "components": [ + { + "expression": { + "id": 115526, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5416:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115527, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 114965, + "src": "5416:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 115528, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5433:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 114967, + "src": "5433:11:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 115530, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5454:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115531, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 114969, + "src": "5454:16:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 115532, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5480:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 114971, + "src": "5480:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 115534, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5500:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115535, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 114973, + "src": "5500:13:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 115536, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115512, + "src": "5523:4:153", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 115537, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 114975, + "src": "5523:10:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 115538, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5415:119:153", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 115509, + "id": 115539, + "nodeType": "Return", + "src": "5409:125:153" + } + ] + }, + "functionSelector": "53bbd6a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructInfo", + "nameLocation": "5178:13:153", + "parameters": { + "id": 115496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115495, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "5200:8:153", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5192:16:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5192:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5191:18:153" + }, + "returnParameters": { + "id": 115509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115498, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5232:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5232:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115500, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5240:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5240:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115502, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5248:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115501, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5248:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115504, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5256:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115506, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5264:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5264:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 115508, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115541, + "src": "5272:7:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5272:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5231:49:153" + }, + "scope": 115606, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 115605, + "nodeType": "FunctionDefinition", + "src": "5547:482:153", + "nodes": [], + "body": { + "id": 115604, + "nodeType": "Block", + "src": "5616:413:153", + "nodes": [], + "statements": [ + { + "assignments": [ + 115548 + ], + "declarations": [ + { + "constant": false, + "id": 115548, + "mutability": "mutable", + "name": "balance", + "nameLocation": "5634:7:153", + "nodeType": "VariableDeclaration", + "scope": 115604, + "src": "5626:15:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5626:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 115553, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 115550, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5654:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 115551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5654:10:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 115549, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68571, + "src": "5644:9:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 115552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5644:21:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5626:39:153" + }, + { + "assignments": [ + 115558 + ], + "declarations": [ + { + "constant": false, + "id": 115558, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "5692:8:153", + "nodeType": "VariableDeclaration", + "scope": 115604, + "src": "5675:25:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 115556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5675:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115557, + "nodeType": "ArrayTypeName", + "src": "5675:9:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 115564, + "initialValue": { + "arguments": [ + { + "id": 115562, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115548, + "src": "5717:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5703:13:153", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 115559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5707:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115560, + "nodeType": "ArrayTypeName", + "src": "5707:9:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 115563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:22:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5675:50:153" + }, + { + "assignments": [ + 115566 + ], + "declarations": [ + { + "constant": false, + "id": 115566, + "mutability": "mutable", + "name": "index", + "nameLocation": "5743:5:153", + "nodeType": "VariableDeclaration", + "scope": 115604, + "src": "5735:13:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115565, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5735:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 115567, + "nodeType": "VariableDeclarationStatement", + "src": "5735:13:153" + }, + { + "body": { + "id": 115600, + "nodeType": "Block", + "src": "5786:212:153", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 115582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 115578, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115569, + "src": "5811:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 115577, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 68599, + "src": "5803:7:153", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 115579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:10:153", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 115580, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5817:3:153", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 115581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5817:10:153", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5803:24:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 115599, + "nodeType": "IfStatement", + "src": "5800:188:153", + "trueBody": { + "id": 115598, + "nodeType": "Block", + "src": "5828:160:153", + "statements": [ + { + "expression": { + "id": 115587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 115583, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115558, + "src": "5846:8:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 115585, + "indexExpression": { + "id": 115584, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115566, + "src": "5855:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5846:15:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 115586, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115569, + "src": "5864:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5846:19:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115588, + "nodeType": "ExpressionStatement", + "src": "5846:19:153" + }, + { + "expression": { + "id": 115590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5883:7:153", + "subExpression": { + "id": 115589, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115566, + "src": "5883:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115591, + "nodeType": "ExpressionStatement", + "src": "5883:7:153" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115592, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115566, + "src": "5911:5:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 115593, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115548, + "src": "5920:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5911:16:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 115597, + "nodeType": "IfStatement", + "src": "5908:66:153", + "trueBody": { + "id": 115596, + "nodeType": "Block", + "src": "5928:46:153", + "statements": [ + { + "id": 115595, + "nodeType": "Break", + "src": "5950:5:153" + } + ] + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 115573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 115571, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115569, + "src": "5772:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 115572, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114981, + "src": "5774:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5772:9:153", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 115601, + "initializationExpression": { + "assignments": [ + 115569 + ], + "declarations": [ + { + "constant": false, + "id": 115569, + "mutability": "mutable", + "name": "i", + "nameLocation": "5770:1:153", + "nodeType": "VariableDeclaration", + "scope": 115601, + "src": "5762:9:153", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 115568, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5762:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 115570, + "nodeType": "VariableDeclarationStatement", + "src": "5762:9:153" + }, + "loopExpression": { + "expression": { + "id": 115575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5782:3:153", + "subExpression": { + "id": 115574, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115569, + "src": "5782:1:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115576, + "nodeType": "ExpressionStatement", + "src": "5782:3:153" + }, + "nodeType": "ForStatement", + "src": "5758:240:153" + }, + { + "expression": { + "id": 115602, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 115558, + "src": "6014:8:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 115546, + "id": 115603, + "nodeType": "Return", + "src": "6007:15:153" + } + ] + }, + "functionSelector": "43a47162", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUserTokenIdList", + "nameLocation": "5556:18:153", + "parameters": { + "id": 115542, + "nodeType": "ParameterList", + "parameters": [], + "src": "5574:2:153" + }, + "returnParameters": { + "id": 115546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 115545, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 115605, + "src": "5599:16:153", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 115543, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5599:7:153", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 115544, + "nodeType": "ArrayTypeName", + "src": "5599:9:153", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5598:18:153" + }, + "scope": 115606, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 114953, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 69380, + "src": "181:6:153" + }, + "id": 114954, + "nodeType": "InheritanceSpecifier", + "src": "181:6:153" + }, + { + "baseName": { + "id": 114955, + "name": "MRandom", + "nodeType": "IdentifierPath", + "referencedDeclaration": 114852, + "src": "189:7:153" + }, + "id": 114956, + "nodeType": "InheritanceSpecifier", + "src": "189:7:153" + } + ], + "canonicalName": "MUser", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 115606, + 114852, + 69380, + 118702, + 118657, + 119078, + 159485, + 119054 + ], + "name": "MUser", + "nameLocation": "172:5:153", + "scope": 115607, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 153 +} \ No newline at end of file diff --git a/packages/contracts/script/BattleConfigInit.sol b/packages/contracts/script/BattleConfigInit.sol index 40c58234..8550369d 100644 --- a/packages/contracts/script/BattleConfigInit.sol +++ b/packages/contracts/script/BattleConfigInit.sol @@ -15,7 +15,7 @@ library BattleConfigInit { 10, //maxAttackzDistance 15, //maxMoveDistance, 20, //maxTimeLimit, - 20, //maxUserLocationLockTime, + 10, //maxUserLocationLockTime, 10, //maxBoxBindTime, players ); diff --git a/packages/contracts/src/other/User.sol b/packages/contracts/src/other/User.sol index e6fa3d6d..04ec3a5a 100644 --- a/packages/contracts/src/other/User.sol +++ b/packages/contracts/src/other/User.sol @@ -62,12 +62,12 @@ contract MUser is ERC721, MRandom { user.HP = getRange(random_numbers[0], 100, 10, 5); user.Attack = getRange(random_numbers[1], 30, 10, 2); - user.AttackRange = getRange(random_numbers[2], 2, 50, 1); - user.Speed = getRange(random_numbers[3], 3, 50, 2); + user.AttackRange = getRange(random_numbers[2], 3, 50, 1); //攻击范围3-5 + user.Speed = getRange(random_numbers[3], 4, 30, 1); //速度4-6 user.Strength = getRange(random_numbers[4], 20, 10, 3); user.Space = getRange(random_numbers[5], 2, 50, 1); - user.state = RandomState.Confirmed; + } function getRange( diff --git a/packages/contracts/src/systems/library/BattleUtils.sol b/packages/contracts/src/systems/library/BattleUtils.sol index 6fb15c97..ca3aacca 100644 --- a/packages/contracts/src/systems/library/BattleUtils.sol +++ b/packages/contracts/src/systems/library/BattleUtils.sol @@ -4,7 +4,6 @@ pragma solidity >=0.8.0; import { BattleState, Buff, PlayerState } from "../../codegen/Types.sol"; import { BattleListData, Player, BattleConfig, GameConfig, PlayerData, BoxListData, BoxList } from "../../codegen/Tables.sol"; import { BATTLE_CONFIG_KEY, GAME_CONFIG_KEY } from "../../Constants.sol"; -import "forge-std/console.sol"; library BattleUtils { function compareBuff( @@ -15,14 +14,14 @@ library BattleUtils { if ( (_myBuff == Buff.Water && _targetBuff == Buff.Fire) || - (_myBuff == Buff.Water && _targetBuff == Buff.Wind) || + (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || (_myBuff == Buff.Fire && _targetBuff == Buff.Wind) ) { return 2; } if ( (_myBuff == Buff.Fire && _targetBuff == Buff.Water) || - (_myBuff == Buff.Wind && _targetBuff == Buff.Water) || + (_myBuff == Buff.Water && _targetBuff == Buff.Wind) || (_myBuff == Buff.Wind && _targetBuff == Buff.Fire) ) { return 0; diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 67414e53..fd5e43da 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -4,7 +4,7 @@ "blockNumber": 29582781 }, "31337": { - "address": "0x2428109A9e775E4406fe079132F216dc77117333" + "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34" }, "33784": { "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34", From c0f1514360e574967dc36bcc0dedfc18ac2d3508 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 21:33:54 +0800 Subject: [PATCH 15/48] nothing --- packages/contracts/out/IWorld.sol/IWorld.json | 50 +- packages/contracts/out/Loot.sol/MLoot.json | 28 +- .../contracts/out/Plugin.sol/MPlugin.json | 82 +- packages/contracts/out/User.sol/MUser.json | 3460 ++++++++--------- 4 files changed, 1810 insertions(+), 1810 deletions(-) diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json index 7fc32cf7..a2d71dc9 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.json +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -3912,16 +3912,16 @@ 119088, 119076, 71348, - 130569, - 130478, - 130462, - 130465, - 130517, - 174227, - 130507, - 130496, + 130606, + 130515, + 130499, + 130502, + 130554, + 174264, + 130544, + 130533, 64435, - 127735, + 127772, 64393, 64426, 64399, @@ -3932,22 +3932,22 @@ "nameLocation": "798:6:169", "scope": 119346, "usedErrors": [ - 127700, - 127706, - 127708, - 127710, - 127716, - 127722, - 127728, - 127734, - 174196, - 174200, - 174206, - 174210, - 174214, - 174218, - 174222, - 174226 + 127737, + 127743, + 127745, + 127747, + 127753, + 127759, + 127765, + 127771, + 174233, + 174237, + 174243, + 174247, + 174251, + 174255, + 174259, + 174263 ] } ], diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json index 5dcf2b2c..6328c2ea 100644 --- a/packages/contracts/out/Loot.sol/MLoot.json +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -1636,34 +1636,34 @@ "id": 120387, "exportedSymbols": { "Address": [ - 132106 + 132143 ], "Base64": [ 119403 ], "Context": [ - 132128 + 132165 ], "ERC165": [ - 132152 + 132189 ], "ERC721": [ 72425 ], "IERC165": [ - 174433 + 174470 ], "IERC20": [ 71498 ], "IERC721": [ - 131731 + 131768 ], "IERC721Metadata": [ - 131776 + 131813 ], "IERC721Receiver": [ - 131749 + 131786 ], "MLoot": [ 120386 @@ -1672,10 +1672,10 @@ 120834 ], "Math": [ - 133018 + 133055 ], "SignedMath": [ - 133123 + 133160 ], "Strings": [ 72654 @@ -14325,11 +14325,11 @@ 120386, 120834, 72425, - 131776, - 131731, - 132152, - 174433, - 132128, + 131813, + 131768, + 132189, + 174470, + 132165, 120637 ], "name": "MLoot", diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json index e1c79727..1d7b2815 100644 --- a/packages/contracts/out/Plugin.sol/MPlugin.json +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -217,13 +217,13 @@ "id": 120930, "exportedSymbols": { "Loot": [ - 125465 + 125436 ], "MPlugin": [ 120929 ], "User": [ - 125426 + 125397 ] }, "nodeType": "SourceUnit", @@ -250,7 +250,7 @@ "file": "@systems/library/Interface.sol", "nameLocation": "-1:-1:-1", "scope": 120930, - "sourceUnit": 125466, + "sourceUnit": 125437, "symbolAliases": [ { "foreign": { @@ -258,7 +258,7 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "66:4:174", "typeDescriptions": {} }, @@ -270,7 +270,7 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "72:4:174", "typeDescriptions": {} }, @@ -550,7 +550,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" }, "typeName": { @@ -560,13 +560,13 @@ "id": 120862, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "389:4:174" }, - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "389:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -600,10 +600,10 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "401:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125426_$", + "typeIdentifier": "t_type$_t_contract$_User_$125397_$", "typeString": "type(contract User)" } }, @@ -618,7 +618,7 @@ "src": "401:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -642,7 +642,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" }, "typeName": { @@ -652,13 +652,13 @@ "id": 120869, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "428:4:174" }, - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "428:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -692,10 +692,10 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "440:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125465_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$125436_$", "typeString": "type(contract Loot)" } }, @@ -710,7 +710,7 @@ "src": "440:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -812,7 +812,7 @@ "referencedDeclaration": 120864, "src": "503:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -823,7 +823,7 @@ "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125420, + "referencedDeclaration": 125391, "src": "503:9:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", @@ -880,7 +880,7 @@ "referencedDeclaration": 120871, "src": "529:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -891,7 +891,7 @@ "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125459, + "referencedDeclaration": 125430, "src": "529:9:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", @@ -970,7 +970,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" }, "typeName": { @@ -980,13 +980,13 @@ "id": 120901, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "643:4:174" }, - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "643:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -1020,10 +1020,10 @@ "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125426, + "referencedDeclaration": 125397, "src": "655:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125426_$", + "typeIdentifier": "t_type$_t_contract$_User_$125397_$", "typeString": "type(contract User)" } }, @@ -1038,7 +1038,7 @@ "src": "655:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -1062,7 +1062,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" }, "typeName": { @@ -1072,13 +1072,13 @@ "id": 120908, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "682:4:174" }, - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "682:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -1112,10 +1112,10 @@ "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125465, + "referencedDeclaration": 125436, "src": "694:4:174", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125465_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$125436_$", "typeString": "type(contract Loot)" } }, @@ -1130,7 +1130,7 @@ "src": "694:17:174", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -1168,7 +1168,7 @@ "referencedDeclaration": 120910, "src": "721:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125465", + "typeIdentifier": "t_contract$_Loot_$125436", "typeString": "contract Loot" } }, @@ -1179,7 +1179,7 @@ "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125464, + "referencedDeclaration": 125435, "src": "721:14:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", @@ -1236,7 +1236,7 @@ "referencedDeclaration": 120903, "src": "759:4:174", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125426", + "typeIdentifier": "t_contract$_User_$125397", "typeString": "contract User" } }, @@ -1247,7 +1247,7 @@ "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125425, + "referencedDeclaration": 125396, "src": "759:14:174", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json index 81187746..883ee495 100644 --- a/packages/contracts/out/User.sol/MUser.json +++ b/packages/contracts/out/User.sol/MUser.json @@ -601,12 +601,12 @@ ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b5060405162002e7b38038062002e7b833981016040819052620000349162000227565b8351849084906200004d906000906020850190620000b4565b50805162000063906001906020840190620000b4565b5050600a80546001600160a01b0319163317905550600985905581516200009290600b906020850190620000b4565b508051620000a890600c906020840190620000b4565b50505050505062000327565b828054620000c290620002eb565b90600052602060002090601f016020900481019282620000e6576000855562000131565b82601f106200010157805160ff191683800117855562000131565b8280016001018555821562000131579182015b828111156200013157825182559160200191906001019062000114565b506200013f92915062000143565b5090565b5b808211156200013f576000815560010162000144565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018257600080fd5b81516001600160401b03808211156200019f576200019f6200015a565b604051601f8301601f19908116603f01168101908282118183101715620001ca57620001ca6200015a565b81604052838152602092508683858801011115620001e757600080fd5b600091505b838210156200020b5785820183015181830184015290820190620001ec565b838211156200021d5760008385830101525b9695505050505050565b600080600080600060a086880312156200024057600080fd5b855160208701519095506001600160401b03808211156200026057600080fd5b6200026e89838a0162000170565b955060408801519150808211156200028557600080fd5b6200029389838a0162000170565b94506060880151915080821115620002aa57600080fd5b620002b889838a0162000170565b93506080880151915080821115620002cf57600080fd5b50620002de8882890162000170565b9150509295509295909350565b600181811c908216806200030057607f821691505b6020821081036200032157634e487b7160e01b600052602260045260246000fd5b50919050565b612b4480620003376000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", - "sourceMap": "163:5874:153:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:90;;819:7:153;;828:5;;1456:13:90;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:90;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:153::1;:18:::0;;-1:-1:-1;;;;;;845:18:153::1;853:10;845:18;::::0;;-1:-1:-1;873:14:153::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:153;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:153;;;-1:-1:-1;163:5874:153;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:156;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:156;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:156;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:156:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:156;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:153;;;;;;", + "sourceMap": "163:5874:175:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;819:7:175;;828:5;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:175::1;:18:::0;;-1:-1:-1;;;;;;845:18:175::1;853:10;845:18;::::0;;-1:-1:-1;873:14:175::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:175;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:175;;;-1:-1:-1;163:5874:175;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:194;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:194;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:175;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", - "sourceMap": "163:5874:153:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:90;;;;;;:::i;:::-;;:::i;:::-;;;611:14:156;;604:22;586:41;;574:2;559:18;1570:300:90;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:156;;;1779:74;;1767:2;1752:18;3935:167:90;1633:226:156;3468:406:90;;;;;;:::i;:::-;;:::i;:::-;;241:23:151;;;;;;;;;2470:25:156;;;2458:2;2443:18;241:23:151;2324:177:156;481:22:153;;;;;;4612:296:90;;;;;;:::i;:::-;;:::i;509:29:153:-;;;;;;4974:149:90;;;;;;:::i;:::-;;:::i;5547:482:153:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:156;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:153;3476:535:156;2190:219:90;;;;;;:::i;:::-;;:::i;1047:324:153:-;;;;;;:::i;:::-;;:::i;1929:204:90:-;;;;;;:::i;:::-;;:::i;544:20:153:-;;;;;-1:-1:-1;;;;;544:20:153;;;2633:102:90;;;:::i;1000:40:153:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:90:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:153:-;;;;;;:::i;:::-;;:::i;270:44:151:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:151;;;;;;;7344:25:156;;;-1:-1:-1;;;;;7405:55:156;;;7400:2;7385:18;;7378:83;7317:18;270:44:151;7170:297:156;1377:680:153;;;;;;:::i;:::-;;:::i;4388:162:90:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:90;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:90;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:97;937:40;;;;1827:36:90;1688:175;1570:300;-1:-1:-1;;1570:300:90:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:90;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:90;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:90;:2;-1:-1:-1;;;;;3605:11:90;;3597:57;;;;-1:-1:-1;;;3597:57:90;;8381:2:156;3597:57:90;;;8363:21:156;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:90;;;;;;;;;719:10:95;-1:-1:-1;;;;;3686:21:90;;;;:62;;-1:-1:-1;3711:37:90;3728:5;719:10:95;4388:162:90;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:90;;8783:2:156;3665:170:90;;;8765:21:156;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:90;8581:425:156;3665:170:90;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:95;4804:7:90;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:90;;9213:2:156;4763:99:90;;;9195:21:156;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:90;9011:409:156;4763:99:90;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:153:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:153;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:153;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:153;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:153;;5547:482;-1:-1:-1;;;5547:482:153:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:153;-1:-1:-1;5359:21:153;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:153;;10205:2:156;5337:62:153;;;10187:21:156;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:153;10003:339:156;5337:62:153;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:153;;-1:-1:-1;5480:10:153;-1:-1:-1;5500:13:153;;-1:-1:-1;5523:10:153;-1:-1:-1;5169:372:153;-1:-1:-1;;5169:372:153:o;2190:219:90:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;;2324:56;;;;-1:-1:-1;;;2324:56:90;;10549:2:156;2324:56:90;;;10531:21:156;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:90;10347:348:156;1047:324:153;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:153;-1:-1:-1;;;;;1167:18:153;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:153;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:153;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:90:-;2001:7;-1:-1:-1;;;;;2028:19:90;;2020:73;;;;-1:-1:-1;;;2020:73:90;;10902:2:156;2020:73:90;;;10884:21:156;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:90;10700:405:156;2020:73:90;-1:-1:-1;;;;;;2110:16:90;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:95;4296:8:90;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:95;5352:7:90;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:90;;9213:2:156;5311:99:90;;;9195:21:156;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:90;9011:409:156;5311:99:90;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:153:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:153;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:153;-1:-1:-1;4045:19:153;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:153;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:153:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:153;;12896:2:156;4313:60:153;;;12878:21:156;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:153;12694:339:156;4313:60:153;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:153;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:153:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:153;;:34;;-1:-1:-1;;2015:34:153;2028:21;2015:34;;;-1:-1:-1;1377:680:153:o;13240:133:90:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;13313:53;;;;-1:-1:-1;;;13313:53:90;;10549:2:156;13313:53:90;;;10531:21:156;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:90;10347:348:156;13313:53:90;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:90;-1:-1:-1;;;;;12646:29:90;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:90;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:90;:7;-1:-1:-1;;;;;7570:16:90;;:52;;;-1:-1:-1;;;;;;4508:25:90;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:90;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:90;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:90:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:90;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:90;;11346:81;;;;-1:-1:-1;;;11346:81:90;;15128:2:156;11346:81:90;;;15110:21:156;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:90;14926:401:156;11346:81:90;-1:-1:-1;;;;;11445:16:90;;11437:65;;;;-1:-1:-1;;;11437:65:90;;15534:2:156;11437:65:90;;;15516:21:156;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:90;15332:400:156;11437:65:90;11682:4;-1:-1:-1;;;;;11655:31:90;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:90;;11647:81;;;;-1:-1:-1;;;11647:81:90;;15128:2:156;11647:81:90;;;15110:21:156;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:90;14926:401:156;11647:81:90;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:90;;;;;;-1:-1:-1;;;;;12265:15:90;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:90;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:151:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:151;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:156;;;7385:18;;;7378:83;458:21:151;563:31;;7317:18:156;563:31:151;;;;;;;429:172;378:223;:::o;8925:920:90:-;-1:-1:-1;;;;;9004:16:90;;8996:61;;;;-1:-1:-1;;;8996:61:90;;15939:2:156;8996:61:90;;;15921:21:156;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:90;15737:356:156;8996:61:90;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:90;;16300:2:156;9067:58:90;;;16282:21:156;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:90;16098:352:156;9067:58:90;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:90;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:90;;16300:2:156;9271:58:90;;;16282:21:156;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:90;16098:352:156;9271:58:90;-1:-1:-1;;;;;9671:13:90;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:90;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:90;:5;-1:-1:-1;;;;;12990:17:90;;12982:55;;;;-1:-1:-1;;;12982:55:90;;16657:2:156;12982:55:90;;;16639:21:156;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:90;16455:349:156;12982:55:90;-1:-1:-1;;;;;13047:25:90;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:90;;;;;;;;;;13108:41;;586::156;;;13108::90;;559:18:156;13108:41:90;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:90;;17011:2:156;6476:110:90;;;16993:21:156;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:90;16809:414:156;2521:1348:153;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:153;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:153;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:153;2521:1348;-1:-1:-1;;;2521:1348:153:o;447:696:96:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:96;-1:-1:-1;604:41:96;-1:-1:-1;765:28:96;;;781:2;765:28;820:280;-1:-1:-1;;851:5:96;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:96;820:280;1064:21;-1:-1:-1;1120:6:96;447:696;-1:-1:-1;;;447:696:96:o;396:1557:148:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:148;;;;;;;;;-1:-1:-1;528:9:148;;;396:1557;-1:-1:-1;396:1557:148:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:148;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:148;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:148;;1810:41;1659:206;-1:-1:-1;;;1879:26:148;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:148:o;607:996:151:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:151;;18585:2:156;765:55:151;;;18567:21:156;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:151;18383:346:156;765:55:151;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:151;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:151;;18936:2:156;880:69:151;;;18918:21:156;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:151;18734:398:156;880:69:151;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:151;-1:-1:-1;1059:13:151;;959:53;;-1:-1:-1;1059:31:151;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:151;;19339:2:156;1022:122:151;;;19321:21:156;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:151;19137:352:156;1022:122:151;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:156;;;1177:28:151;-1:-1:-1;1169:37:151;;19658:12:156;1303:22:151;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:151;;607:996;-1:-1:-1;;;;;;;607:996:151:o;2063:259:153:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:153;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:153:o;13925:831:90:-;14074:4;-1:-1:-1;;;;;14094:13:90;;1702:19:94;:23;14090:660:90;;14129:71;;;;;-1:-1:-1;;;;;14129:36:90;;;;;:71;;719:10:95;;14180:4:90;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:90;;;;;;;;-1:-1:-1;;14129:71:90;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:90;;17011:2:156;14409:60:90;;;16993:21:156;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:90;16809:414:156;14363:321:90;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:90;;14090:660;-1:-1:-1;14735:4:90;14728:11;;2328:187:153;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:99:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:99;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:99;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:99;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:99;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:99;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:99;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:99:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:156:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:156:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:156;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:156;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:156:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:156;;1448:180;-1:-1:-1;1448:180:156:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:156;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:156:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:156;;2839:632;-1:-1:-1;;;;;;2839:632:156:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:156;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:156;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:156;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:156;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:156;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:156;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:156;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:156;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:156;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:156;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:156;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:156;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:156:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:156:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:156:o;17703:184::-;-1:-1:-1;;;17752:1:156;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:156;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:156;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:156;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:156;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:156;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:156:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:156:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:156;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:156:o", + "sourceMap": "163:5874:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:194;;;1779:74;;1767:2;1752:18;3935:167:105;1633:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2470:25:194;;;2458:2;2443:18;241:23:173;2324:177:194;481:22:175;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;509:29:175:-;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;5547:482:175:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:194;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:175;3476:535:194;2190:219:105;;;;;;:::i;:::-;;:::i;1047:324:175:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;544:20:175:-;;;;;-1:-1:-1;;;;;544:20:175;;;2633:102:105;;;:::i;1000:40:175:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:175:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;7344:25:194;;;-1:-1:-1;;;;;7405:55:194;;;7400:2;7385:18;;7378:83;7317:18;270:44:173;7170:297:194;1377:680:175;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;8381:2:194;3597:57:105;;;8363:21:194;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;8783:2:194;3665:170:105;;;8765:21:194;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:105;8581:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;9213:2:194;4763:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:105;9011:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:175:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:175;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:175;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:175;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:175;;5547:482;-1:-1:-1;;;5547:482:175:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:175;-1:-1:-1;5359:21:175;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:175;;10205:2:194;5337:62:175;;;10187:21:194;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:175;10003:339:194;5337:62:175;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:175;;-1:-1:-1;5480:10:175;-1:-1:-1;5500:13:175;;-1:-1:-1;5523:10:175;-1:-1:-1;5169:372:175;-1:-1:-1;;5169:372:175:o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;10549:2:194;2324:56:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:105;10347:348:194;1047:324:175;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:175;-1:-1:-1;;;;;1167:18:175;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:175;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:175;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;10902:2:194;2020:73:105;;;10884:21:194;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:105;10700:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;9213:2:194;5311:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:105;9011:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:175:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:175;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:175;-1:-1:-1;4045:19:175;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:175:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:175;;12896:2:194;4313:60:175;;;12878:21:194;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:175;12694:339:194;4313:60:175;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:175:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:175;;:34;;-1:-1:-1;;2015:34:175;2028:21;2015:34;;;-1:-1:-1;1377:680:175:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;10549:2:194;13313:53:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:105;10347:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;15128:2:194;11346:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:105;14926:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;15534:2:194;11437:65:105;;;15516:21:194;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:105;15332:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;15128:2:194;11647:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:105;14926:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:194;;;7385:18;;;7378:83;458:21:173;563:31;;7317:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;15939:2:194;8996:61:105;;;15921:21:194;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:105;15737:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;16300:2:194;9067:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:105;16098:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;16300:2:194;9271:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:105;16098:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;16657:2:194;12982:55:105;;;16639:21:194;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:105;16455:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;17011:2:194;6476:110:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:105;16809:414:194;2521:1348:175;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:175;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:175;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:175;2521:1348;-1:-1:-1;;;2521:1348:175:o;447:696:111:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;18585:2:194;765:55:173;;;18567:21:194;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:173;18383:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;18936:2:194;880:69:173;;;18918:21:194;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:173;18734:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;19339:2:194;1022:122:173;;;19321:21:194;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:173;19137:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;19658:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;2063:259:175:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:175;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:175:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;17011:2:194;14409:60:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:105;16809:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;14728:11;;2328:187:175;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:194:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:194;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:194:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:194;;2839:632;-1:-1:-1;;;;;;2839:632:194:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:194;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:194;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:194;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:194;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:194;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:194;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:194;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:194;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:194;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:194;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:194;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:194;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:194:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:194:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:194:o;17703:184::-;-1:-1:-1;;;17752:1:194;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:194;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:194;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:194;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:194;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:194;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:194:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:194:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:194;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:194:o", "linkReferences": {} }, "methodIdentifiers": { @@ -1423,58 +1423,58 @@ }, "ast": { "absolutePath": "src/other/User.sol", - "id": 115607, + "id": 121589, "exportedSymbols": { "Address": [ - 119032 + 132143 ], "Base64": [ - 113421 + 119403 ], "Context": [ - 119054 + 132165 ], "ERC165": [ - 119078 + 132189 ], "ERC721": [ - 69380 + 72425 ], "IERC165": [ - 159485 + 174470 ], "IERC721": [ - 118657 + 131768 ], "IERC721Metadata": [ - 118702 + 131813 ], "IERC721Receiver": [ - 118675 + 131786 ], "MRandom": [ - 114852 + 120834 ], "MUser": [ - 115606 + 121588 ], "Math": [ - 119944 + 133055 ], "SignedMath": [ - 120049 + 133160 ], "Strings": [ - 69609 + 72654 ] }, "nodeType": "SourceUnit", - "src": "32:6006:153", + "src": "32:6006:175", "nodes": [ { - "id": 114949, + "id": 120931, "nodeType": "PragmaDirective", - "src": "32:24:153", + "src": "32:24:175", "nodes": [], "literals": [ "solidity", @@ -1484,67 +1484,67 @@ ] }, { - "id": 114950, + "id": 120932, "nodeType": "ImportDirective", - "src": "57:57:153", + "src": "57:57:175", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 115607, - "sourceUnit": 69381, + "scope": 121589, + "sourceUnit": 72426, "symbolAliases": [], "unitAlias": "" }, { - "id": 114951, + "id": 120933, "nodeType": "ImportDirective", - "src": "115:23:153", + "src": "115:23:175", "nodes": [], "absolutePath": "src/other/MRandom.sol", "file": "./MRandom.sol", "nameLocation": "-1:-1:-1", - "scope": 115607, - "sourceUnit": 114853, + "scope": 121589, + "sourceUnit": 120835, "symbolAliases": [], "unitAlias": "" }, { - "id": 114952, + "id": 120934, "nodeType": "ImportDirective", - "src": "139:22:153", + "src": "139:22:175", "nodes": [], "absolutePath": "src/other/Base64.sol", "file": "./Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 115607, - "sourceUnit": 113422, + "scope": 121589, + "sourceUnit": 119404, "symbolAliases": [], "unitAlias": "" }, { - "id": 115606, + "id": 121588, "nodeType": "ContractDefinition", - "src": "163:5874:153", + "src": "163:5874:175", "nodes": [ { - "id": 114959, + "id": 120941, "nodeType": "UsingForDirective", - "src": "203:26:153", + "src": "203:26:175", "nodes": [], "global": false, "libraryName": { - "id": 114957, + "id": 120939, "name": "Strings", "nodeType": "IdentifierPath", - "referencedDeclaration": 69609, - "src": "209:7:153" + "referencedDeclaration": 72654, + "src": "209:7:175" }, "typeName": { - "id": 114958, + "id": 120940, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "221:7:153", + "src": "221:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1552,21 +1552,21 @@ } }, { - "id": 114979, + "id": 120961, "nodeType": "StructDefinition", - "src": "235:240:153", + "src": "235:240:175", "nodes": [], "canonicalName": "MUser.User", "members": [ { "constant": false, - "id": 114961, + "id": 120943, "mutability": "mutable", "name": "randomId", - "nameLocation": "265:8:153", + "nameLocation": "265:8:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "257:16:153", + "scope": 120961, + "src": "257:16:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1574,10 +1574,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114960, + "id": 120942, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "257:7:153", + "src": "257:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1587,13 +1587,13 @@ }, { "constant": false, - "id": 114963, + "id": 120945, "mutability": "mutable", "name": "owner", - "nameLocation": "291:5:153", + "nameLocation": "291:5:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "283:13:153", + "scope": 120961, + "src": "283:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1601,10 +1601,10 @@ "typeString": "address" }, "typeName": { - "id": 114962, + "id": 120944, "name": "address", "nodeType": "ElementaryTypeName", - "src": "283:7:153", + "src": "283:7:175", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1615,13 +1615,13 @@ }, { "constant": false, - "id": 114965, + "id": 120947, "mutability": "mutable", "name": "HP", - "nameLocation": "314:2:153", + "nameLocation": "314:2:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "306:10:153", + "scope": 120961, + "src": "306:10:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1629,10 +1629,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114964, + "id": 120946, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "306:7:153", + "src": "306:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1642,13 +1642,13 @@ }, { "constant": false, - "id": 114967, + "id": 120949, "mutability": "mutable", "name": "Attack", - "nameLocation": "334:6:153", + "nameLocation": "334:6:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "326:14:153", + "scope": 120961, + "src": "326:14:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1656,10 +1656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114966, + "id": 120948, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "326:7:153", + "src": "326:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1669,13 +1669,13 @@ }, { "constant": false, - "id": 114969, + "id": 120951, "mutability": "mutable", "name": "AttackRange", - "nameLocation": "358:11:153", + "nameLocation": "358:11:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "350:19:153", + "scope": 120961, + "src": "350:19:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1683,10 +1683,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114968, + "id": 120950, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "350:7:153", + "src": "350:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1696,13 +1696,13 @@ }, { "constant": false, - "id": 114971, + "id": 120953, "mutability": "mutable", "name": "Speed", - "nameLocation": "387:5:153", + "nameLocation": "387:5:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "379:13:153", + "scope": 120961, + "src": "379:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1710,10 +1710,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114970, + "id": 120952, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "379:7:153", + "src": "379:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,13 +1723,13 @@ }, { "constant": false, - "id": 114973, + "id": 120955, "mutability": "mutable", "name": "Strength", - "nameLocation": "410:8:153", + "nameLocation": "410:8:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "402:16:153", + "scope": 120961, + "src": "402:16:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1737,10 +1737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114972, + "id": 120954, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "402:7:153", + "src": "402:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1750,13 +1750,13 @@ }, { "constant": false, - "id": 114975, + "id": 120957, "mutability": "mutable", "name": "Space", - "nameLocation": "436:5:153", + "nameLocation": "436:5:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "428:13:153", + "scope": 120961, + "src": "428:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1764,10 +1764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114974, + "id": 120956, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "428:7:153", + "src": "428:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1777,33 +1777,33 @@ }, { "constant": false, - "id": 114978, + "id": 120960, "mutability": "mutable", "name": "state", - "nameLocation": "463:5:153", + "nameLocation": "463:5:175", "nodeType": "VariableDeclaration", - "scope": 114979, - "src": "451:17:153", + "scope": 120961, + "src": "451:17:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" }, "typeName": { - "id": 114977, + "id": 120959, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 114976, + "id": 120958, "name": "RandomState", "nodeType": "IdentifierPath", - "referencedDeclaration": 114661, - "src": "451:11:153" + "referencedDeclaration": 120643, + "src": "451:11:175" }, - "referencedDeclaration": 114661, - "src": "451:11:153", + "referencedDeclaration": 120643, + "src": "451:11:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -1811,21 +1811,21 @@ } ], "name": "User", - "nameLocation": "242:4:153", - "scope": 115606, + "nameLocation": "242:4:175", + "scope": 121588, "visibility": "public" }, { - "id": 114981, + "id": 120963, "nodeType": "VariableDeclaration", - "src": "481:22:153", + "src": "481:22:175", "nodes": [], "constant": false, "functionSelector": "17d70f7c", "mutability": "mutable", "name": "tokenId", - "nameLocation": "496:7:153", - "scope": 115606, + "nameLocation": "496:7:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1833,10 +1833,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114980, + "id": 120962, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "481:7:153", + "src": "481:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1845,16 +1845,16 @@ "visibility": "public" }, { - "id": 114983, + "id": 120965, "nodeType": "VariableDeclaration", - "src": "509:29:153", + "src": "509:29:175", "nodes": [], "constant": false, "functionSelector": "3e8474ca", "mutability": "mutable", "name": "waitBlockCount", - "nameLocation": "524:14:153", - "scope": 115606, + "nameLocation": "524:14:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1862,10 +1862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114982, + "id": 120964, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "509:7:153", + "src": "509:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1874,16 +1874,16 @@ "visibility": "public" }, { - "id": 114985, + "id": 120967, "nodeType": "VariableDeclaration", - "src": "544:20:153", + "src": "544:20:175", "nodes": [], "constant": false, "functionSelector": "8da5cb5b", "mutability": "mutable", "name": "owner", - "nameLocation": "559:5:153", - "scope": 115606, + "nameLocation": "559:5:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1891,10 +1891,10 @@ "typeString": "address" }, "typeName": { - "id": 114984, + "id": 120966, "name": "address", "nodeType": "ElementaryTypeName", - "src": "544:7:153", + "src": "544:7:175", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1904,15 +1904,15 @@ "visibility": "public" }, { - "id": 114987, + "id": 120969, "nodeType": "VariableDeclaration", - "src": "570:22:153", + "src": "570:22:175", "nodes": [], "constant": false, "mutability": "mutable", "name": "notRevealedInfo", - "nameLocation": "577:15:153", - "scope": 115606, + "nameLocation": "577:15:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1920,10 +1920,10 @@ "typeString": "string" }, "typeName": { - "id": 114986, + "id": 120968, "name": "string", "nodeType": "ElementaryTypeName", - "src": "570:6:153", + "src": "570:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1932,15 +1932,15 @@ "visibility": "internal" }, { - "id": 114989, + "id": 120971, "nodeType": "VariableDeclaration", - "src": "598:19:153", + "src": "598:19:175", "nodes": [], "constant": false, "mutability": "mutable", "name": "revealedDesc", - "nameLocation": "605:12:153", - "scope": 115606, + "nameLocation": "605:12:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1948,10 +1948,10 @@ "typeString": "string" }, "typeName": { - "id": 114988, + "id": 120970, "name": "string", "nodeType": "ElementaryTypeName", - "src": "598:6:153", + "src": "598:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1960,30 +1960,30 @@ "visibility": "internal" }, { - "id": 115024, + "id": 121006, "nodeType": "FunctionDefinition", - "src": "624:370:153", + "src": "624:370:175", "nodes": [], "body": { - "id": 115023, + "id": 121005, "nodeType": "Block", - "src": "835:159:153", + "src": "835:159:175", "nodes": [], "statements": [ { "expression": { - "id": 115009, + "id": 120991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115006, + "id": 120988, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114985, - "src": "845:5:153", + "referencedDeclaration": 120967, + "src": "845:5:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1993,54 +1993,54 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 115007, + "id": 120989, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "853:3:153", + "src": "853:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 115008, + "id": 120990, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "853:10:153", + "src": "853:10:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "845:18:153", + "src": "845:18:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 115010, + "id": 120992, "nodeType": "ExpressionStatement", - "src": "845:18:153" + "src": "845:18:175" }, { "expression": { - "id": 115013, + "id": 120995, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115011, + "id": 120993, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114983, - "src": "873:14:153", + "referencedDeclaration": 120965, + "src": "873:14:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2049,41 +2049,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115012, + "id": 120994, "name": "_waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114991, - "src": "890:15:153", + "referencedDeclaration": 120973, + "src": "890:15:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "873:32:153", + "src": "873:32:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115014, + "id": 120996, "nodeType": "ExpressionStatement", - "src": "873:32:153" + "src": "873:32:175" }, { "expression": { - "id": 115017, + "id": 120999, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115015, + "id": 120997, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114987, - "src": "915:15:153", + "referencedDeclaration": 120969, + "src": "915:15:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2092,41 +2092,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115016, + "id": 120998, "name": "_notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114997, - "src": "933:16:153", + "referencedDeclaration": 120979, + "src": "933:16:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "915:34:153", + "src": "915:34:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 115018, + "id": 121000, "nodeType": "ExpressionStatement", - "src": "915:34:153" + "src": "915:34:175" }, { "expression": { - "id": 115021, + "id": 121003, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115019, + "id": 121001, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114989, - "src": "959:12:153", + "referencedDeclaration": 120971, + "src": "959:12:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2135,26 +2135,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115020, + "id": 121002, "name": "_revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114999, - "src": "974:13:153", + "referencedDeclaration": 120981, + "src": "974:13:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "959:28:153", + "src": "959:28:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 115022, + "id": 121004, "nodeType": "ExpressionStatement", - "src": "959:28:153" + "src": "959:28:175" } ] }, @@ -2164,58 +2164,58 @@ { "arguments": [ { - "id": 115002, + "id": 120984, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114993, - "src": "819:7:153", + "referencedDeclaration": 120975, + "src": "819:7:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 115003, + "id": 120985, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114995, - "src": "828:5:153", + "referencedDeclaration": 120977, + "src": "828:5:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 115004, + "id": 120986, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 115001, + "id": 120983, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 69380, - "src": "812:6:153" + "referencedDeclaration": 72425, + "src": "812:6:175" }, "nodeType": "ModifierInvocation", - "src": "812:22:153" + "src": "812:22:175" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 115000, + "id": 120982, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 114991, + "id": 120973, "mutability": "mutable", "name": "_waitBlockCount", - "nameLocation": "653:15:153", + "nameLocation": "653:15:175", "nodeType": "VariableDeclaration", - "scope": 115024, - "src": "645:23:153", + "scope": 121006, + "src": "645:23:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2223,10 +2223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 114990, + "id": 120972, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "645:7:153", + "src": "645:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2236,13 +2236,13 @@ }, { "constant": false, - "id": 114993, + "id": 120975, "mutability": "mutable", "name": "_symbol", - "nameLocation": "692:7:153", + "nameLocation": "692:7:175", "nodeType": "VariableDeclaration", - "scope": 115024, - "src": "678:21:153", + "scope": 121006, + "src": "678:21:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2250,10 +2250,10 @@ "typeString": "string" }, "typeName": { - "id": 114992, + "id": 120974, "name": "string", "nodeType": "ElementaryTypeName", - "src": "678:6:153", + "src": "678:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2263,13 +2263,13 @@ }, { "constant": false, - "id": 114995, + "id": 120977, "mutability": "mutable", "name": "_name", - "nameLocation": "723:5:153", + "nameLocation": "723:5:175", "nodeType": "VariableDeclaration", - "scope": 115024, - "src": "709:19:153", + "scope": 121006, + "src": "709:19:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2277,10 +2277,10 @@ "typeString": "string" }, "typeName": { - "id": 114994, + "id": 120976, "name": "string", "nodeType": "ElementaryTypeName", - "src": "709:6:153", + "src": "709:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2290,13 +2290,13 @@ }, { "constant": false, - "id": 114997, + "id": 120979, "mutability": "mutable", "name": "_notRevealedInfo", - "nameLocation": "752:16:153", + "nameLocation": "752:16:175", "nodeType": "VariableDeclaration", - "scope": 115024, - "src": "738:30:153", + "scope": 121006, + "src": "738:30:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2304,10 +2304,10 @@ "typeString": "string" }, "typeName": { - "id": 114996, + "id": 120978, "name": "string", "nodeType": "ElementaryTypeName", - "src": "738:6:153", + "src": "738:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2317,13 +2317,13 @@ }, { "constant": false, - "id": 114999, + "id": 120981, "mutability": "mutable", "name": "_revealedDesc", - "nameLocation": "792:13:153", + "nameLocation": "792:13:175", "nodeType": "VariableDeclaration", - "scope": 115024, - "src": "778:27:153", + "scope": 121006, + "src": "778:27:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2331,10 +2331,10 @@ "typeString": "string" }, "typeName": { - "id": 114998, + "id": 120980, "name": "string", "nodeType": "ElementaryTypeName", - "src": "778:6:153", + "src": "778:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2343,68 +2343,68 @@ "visibility": "internal" } ], - "src": "635:176:153" + "src": "635:176:175" }, "returnParameters": { - "id": 115005, + "id": 120987, "nodeType": "ParameterList", "parameters": [], - "src": "835:0:153" + "src": "835:0:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 115029, + "id": 121011, "nodeType": "VariableDeclaration", - "src": "1000:40:153", + "src": "1000:40:175", "nodes": [], "constant": false, "functionSelector": "9f4216e8", "mutability": "mutable", "name": "userList", - "nameLocation": "1032:8:153", - "scope": 115606, + "nameLocation": "1032:8:175", + "scope": 121588, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "typeName": { - "id": 115028, + "id": 121010, "keyType": { - "id": 115025, + "id": 121007, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1008:7:153", + "src": "1008:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1000:24:153", + "src": "1000:24:175", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "valueType": { - "id": 115027, + "id": 121009, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115026, + "id": 121008, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "1019:4:153" + "referencedDeclaration": 120961, + "src": "1019:4:175" }, - "referencedDeclaration": 114979, - "src": "1019:4:153", + "referencedDeclaration": 120961, + "src": "1019:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } } @@ -2412,78 +2412,78 @@ "visibility": "public" }, { - "id": 115076, + "id": 121058, "nodeType": "FunctionDefinition", - "src": "1047:324:153", + "src": "1047:324:175", "nodes": [], "body": { - "id": 115075, + "id": 121057, "nodeType": "Block", - "src": "1085:286:153", + "src": "1085:286:175", "nodes": [], "statements": [ { "assignments": [ - 115036 + 121018 ], "declarations": [ { "constant": false, - "id": 115036, + "id": 121018, "mutability": "mutable", "name": "user", - "nameLocation": "1133:4:153", + "nameLocation": "1133:4:175", "nodeType": "VariableDeclaration", - "scope": 115075, - "src": "1120:17:153", + "scope": 121057, + "src": "1120:17:175", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 115035, + "id": 121017, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115034, + "id": 121016, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "1120:4:153" + "referencedDeclaration": 120961, + "src": "1120:4:175" }, - "referencedDeclaration": 114979, - "src": "1120:4:153", + "referencedDeclaration": 120961, + "src": "1120:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 115040, + "id": 121022, "initialValue": { "baseExpression": { - "id": 115037, + "id": 121019, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115029, - "src": "1140:8:153", + "referencedDeclaration": 121011, + "src": "1140:8:175", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 115039, + "id": 121021, "indexExpression": { - "id": 115038, + "id": 121020, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114981, - "src": "1149:7:153", + "referencedDeclaration": 120963, + "src": "1149:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2494,44 +2494,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1140:17:153", + "src": "1140:17:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage", + "typeIdentifier": "t_struct$_User_$120961_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1120:37:153" + "src": "1120:37:175" }, { "expression": { - "id": 115045, + "id": 121027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115041, + "id": 121023, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115036, - "src": "1167:4:153", + "referencedDeclaration": 121018, + "src": "1167:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115043, + "id": 121025, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 114963, - "src": "1167:10:153", + "referencedDeclaration": 120945, + "src": "1167:10:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2540,58 +2540,58 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115044, + "id": 121026, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115031, - "src": "1180:5:153", + "referencedDeclaration": 121013, + "src": "1180:5:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1167:18:153", + "src": "1167:18:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 115046, + "id": 121028, "nodeType": "ExpressionStatement", - "src": "1167:18:153" + "src": "1167:18:175" }, { "expression": { - "id": 115052, + "id": 121034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115047, + "id": 121029, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115036, - "src": "1195:4:153", + "referencedDeclaration": 121018, + "src": "1195:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115049, + "id": 121031, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 114978, - "src": "1195:10:153", + "referencedDeclaration": 120960, + "src": "1195:10:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -2599,70 +2599,70 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 115050, + "id": 121032, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114661, - "src": "1208:11:153", + "referencedDeclaration": 120643, + "src": "1208:11:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 115051, + "id": 121033, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 114659, - "src": "1208:19:153", + "referencedDeclaration": 120641, + "src": "1208:19:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "src": "1195:32:153", + "src": "1195:32:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "id": 115053, + "id": 121035, "nodeType": "ExpressionStatement", - "src": "1195:32:153" + "src": "1195:32:175" }, { "expression": { - "id": 115058, + "id": 121040, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115054, + "id": 121036, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115036, - "src": "1237:4:153", + "referencedDeclaration": 121018, + "src": "1237:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115056, + "id": 121038, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 114961, - "src": "1237:13:153", + "referencedDeclaration": 120943, + "src": "1237:13:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2671,37 +2671,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115057, + "id": 121039, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114668, - "src": "1253:8:153", + "referencedDeclaration": 120650, + "src": "1253:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1237:24:153", + "src": "1237:24:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115059, + "id": 121041, "nodeType": "ExpressionStatement", - "src": "1237:24:153" + "src": "1237:24:175" }, { "expression": { "arguments": [ { - "id": 115061, + "id": 121043, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114668, - "src": "1285:8:153", + "referencedDeclaration": 120650, + "src": "1285:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2715,18 +2715,18 @@ "typeString": "uint256" } ], - "id": 115060, + "id": 121042, "name": "requestRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114712, - "src": "1271:13:153", + "referencedDeclaration": 120694, + "src": "1271:13:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 115062, + "id": 121044, "isConstant": false, "isLValue": false, "isPure": false, @@ -2734,39 +2734,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1271:23:153", + "src": "1271:23:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 115063, + "id": 121045, "nodeType": "ExpressionStatement", - "src": "1271:23:153" + "src": "1271:23:175" }, { "expression": { "arguments": [ { - "id": 115065, + "id": 121047, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115031, - "src": "1310:5:153", + "referencedDeclaration": 121013, + "src": "1310:5:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 115066, + "id": 121048, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114981, - "src": "1317:7:153", + "referencedDeclaration": 120963, + "src": "1317:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2784,18 +2784,18 @@ "typeString": "uint256" } ], - "id": 115064, + "id": 121046, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 69054, - "src": "1304:5:153", + "referencedDeclaration": 72099, + "src": "1304:5:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 115067, + "id": 121049, "isConstant": false, "isLValue": false, "isPure": false, @@ -2803,20 +2803,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1304:21:153", + "src": "1304:21:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 115068, + "id": 121050, "nodeType": "ExpressionStatement", - "src": "1304:21:153" + "src": "1304:21:175" }, { "expression": { - "id": 115070, + "id": 121052, "isConstant": false, "isLValue": false, "isPure": false, @@ -2824,14 +2824,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1335:9:153", + "src": "1335:9:175", "subExpression": { - "id": 115069, + "id": 121051, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114981, - "src": "1335:7:153", + "referencedDeclaration": 120963, + "src": "1335:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2842,13 +2842,13 @@ "typeString": "uint256" } }, - "id": 115071, + "id": 121053, "nodeType": "ExpressionStatement", - "src": "1335:9:153" + "src": "1335:9:175" }, { "expression": { - "id": 115073, + "id": 121055, "isConstant": false, "isLValue": false, "isPure": false, @@ -2856,14 +2856,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1354:10:153", + "src": "1354:10:175", "subExpression": { - "id": 115072, + "id": 121054, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114668, - "src": "1354:8:153", + "referencedDeclaration": 120650, + "src": "1354:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2874,9 +2874,9 @@ "typeString": "uint256" } }, - "id": 115074, + "id": 121056, "nodeType": "ExpressionStatement", - "src": "1354:10:153" + "src": "1354:10:175" } ] }, @@ -2885,20 +2885,20 @@ "kind": "function", "modifiers": [], "name": "mint", - "nameLocation": "1056:4:153", + "nameLocation": "1056:4:175", "parameters": { - "id": 115032, + "id": 121014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115031, + "id": 121013, "mutability": "mutable", "name": "_addr", - "nameLocation": "1069:5:153", + "nameLocation": "1069:5:175", "nodeType": "VariableDeclaration", - "scope": 115076, - "src": "1061:13:153", + "scope": 121058, + "src": "1061:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2906,10 +2906,10 @@ "typeString": "address" }, "typeName": { - "id": 115030, + "id": 121012, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:153", + "src": "1061:7:175", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2919,92 +2919,92 @@ "visibility": "internal" } ], - "src": "1060:15:153" + "src": "1060:15:175" }, "returnParameters": { - "id": 115033, + "id": 121015, "nodeType": "ParameterList", "parameters": [], - "src": "1085:0:153" + "src": "1085:0:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 115186, + "id": 121168, "nodeType": "FunctionDefinition", - "src": "1377:680:153", + "src": "1377:680:175", "nodes": [], "body": { - "id": 115185, + "id": 121167, "nodeType": "Block", - "src": "1423:634:153", + "src": "1423:634:175", "nodes": [], "statements": [ { "assignments": [ - 115083 + 121065 ], "declarations": [ { "constant": false, - "id": 115083, + "id": 121065, "mutability": "mutable", "name": "user", - "nameLocation": "1446:4:153", + "nameLocation": "1446:4:175", "nodeType": "VariableDeclaration", - "scope": 115185, - "src": "1433:17:153", + "scope": 121167, + "src": "1433:17:175", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 115082, + "id": 121064, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115081, + "id": 121063, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "1433:4:153" + "referencedDeclaration": 120961, + "src": "1433:4:175" }, - "referencedDeclaration": 114979, - "src": "1433:4:153", + "referencedDeclaration": 120961, + "src": "1433:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 115087, + "id": 121069, "initialValue": { "baseExpression": { - "id": 115084, + "id": 121066, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115029, - "src": "1453:8:153", + "referencedDeclaration": 121011, + "src": "1453:8:175", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 115086, + "id": 121068, "indexExpression": { - "id": 115085, + "id": 121067, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115078, - "src": "1462:8:153", + "referencedDeclaration": 121060, + "src": "1462:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3015,29 +3015,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:18:153", + "src": "1453:18:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage", + "typeIdentifier": "t_struct$_User_$120961_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1433:38:153" + "src": "1433:38:175" }, { "assignments": [ - 115092 + 121074 ], "declarations": [ { "constant": false, - "id": 115092, + "id": 121074, "mutability": "mutable", "name": "random_numbers", - "nameLocation": "1496:14:153", + "nameLocation": "1496:14:175", "nodeType": "VariableDeclaration", - "scope": 115185, - "src": "1481:29:153", + "scope": 121167, + "src": "1481:29:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3046,18 +3046,18 @@ }, "typeName": { "baseType": { - "id": 115090, + "id": 121072, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1481:5:153", + "src": "1481:5:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 115091, + "id": 121073, "nodeType": "ArrayTypeName", - "src": "1481:7:153", + "src": "1481:7:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -3066,31 +3066,31 @@ "visibility": "internal" } ], - "id": 115099, + "id": 121081, "initialValue": { "arguments": [ { "expression": { - "id": 115094, + "id": 121076, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1536:4:153", + "referencedDeclaration": 121065, + "src": "1536:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115095, + "id": 121077, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 114961, - "src": "1536:13:153", + "referencedDeclaration": 120943, + "src": "1536:13:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3098,14 +3098,14 @@ }, { "hexValue": "38", - "id": 115096, + "id": 121078, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1563:1:153", + "src": "1563:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -3113,12 +3113,12 @@ "value": "8" }, { - "id": 115097, + "id": 121079, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114983, - "src": "1578:14:153", + "referencedDeclaration": 120965, + "src": "1578:14:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3140,18 +3140,18 @@ "typeString": "uint256" } ], - "id": 115093, + "id": 121075, "name": "getRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114829, - "src": "1513:9:153", + "referencedDeclaration": 120811, + "src": "1513:9:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" } }, - "id": 115098, + "id": 121080, "isConstant": false, "isLValue": false, "isPure": false, @@ -3159,7 +3159,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1513:89:153", + "src": "1513:89:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", @@ -3167,37 +3167,37 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1481:121:153" + "src": "1481:121:175" }, { "expression": { - "id": 115111, + "id": 121093, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115100, + "id": 121082, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1613:4:153", + "referencedDeclaration": 121065, + "src": "1613:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115102, + "id": 121084, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 114965, - "src": "1613:7:153", + "referencedDeclaration": 120947, + "src": "1613:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3209,28 +3209,28 @@ "arguments": [ { "baseExpression": { - "id": 115104, + "id": 121086, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1632:14:153", + "referencedDeclaration": 121074, + "src": "1632:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115106, + "id": 121088, "indexExpression": { "hexValue": "30", - "id": 115105, + "id": 121087, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1647:1:153", + "src": "1647:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3242,7 +3242,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1632:17:153", + "src": "1632:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3250,14 +3250,14 @@ }, { "hexValue": "313030", - "id": 115107, + "id": 121089, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1651:3:153", + "src": "1651:3:175", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" @@ -3266,14 +3266,14 @@ }, { "hexValue": "3130", - "id": 115108, + "id": 121090, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1656:2:153", + "src": "1656:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3282,14 +3282,14 @@ }, { "hexValue": "35", - "id": 115109, + "id": 121091, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:153", + "src": "1660:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -3316,18 +3316,18 @@ "typeString": "int_const 5" } ], - "id": 115103, + "id": 121085, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1623:8:153", + "referencedDeclaration": 121200, + "src": "1623:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115110, + "id": 121092, "isConstant": false, "isLValue": false, "isPure": false, @@ -3335,52 +3335,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1623:39:153", + "src": "1623:39:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1613:49:153", + "src": "1613:49:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115112, + "id": 121094, "nodeType": "ExpressionStatement", - "src": "1613:49:153" + "src": "1613:49:175" }, { "expression": { - "id": 115124, + "id": 121106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115113, + "id": 121095, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1672:4:153", + "referencedDeclaration": 121065, + "src": "1672:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115115, + "id": 121097, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 114967, - "src": "1672:11:153", + "referencedDeclaration": 120949, + "src": "1672:11:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3392,28 +3392,28 @@ "arguments": [ { "baseExpression": { - "id": 115117, + "id": 121099, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1695:14:153", + "referencedDeclaration": 121074, + "src": "1695:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115119, + "id": 121101, "indexExpression": { "hexValue": "31", - "id": 115118, + "id": 121100, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1710:1:153", + "src": "1710:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3425,7 +3425,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1695:17:153", + "src": "1695:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3433,14 +3433,14 @@ }, { "hexValue": "3330", - "id": 115120, + "id": 121102, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1714:2:153", + "src": "1714:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", "typeString": "int_const 30" @@ -3449,14 +3449,14 @@ }, { "hexValue": "3130", - "id": 115121, + "id": 121103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1718:2:153", + "src": "1718:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3465,14 +3465,14 @@ }, { "hexValue": "32", - "id": 115122, + "id": 121104, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1722:1:153", + "src": "1722:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3499,18 +3499,18 @@ "typeString": "int_const 2" } ], - "id": 115116, + "id": 121098, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1686:8:153", + "referencedDeclaration": 121200, + "src": "1686:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115123, + "id": 121105, "isConstant": false, "isLValue": false, "isPure": false, @@ -3518,52 +3518,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1686:38:153", + "src": "1686:38:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1672:52:153", + "src": "1672:52:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115125, + "id": 121107, "nodeType": "ExpressionStatement", - "src": "1672:52:153" + "src": "1672:52:175" }, { "expression": { - "id": 115137, + "id": 121119, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115126, + "id": 121108, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1734:4:153", + "referencedDeclaration": 121065, + "src": "1734:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115128, + "id": 121110, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 114969, - "src": "1734:16:153", + "referencedDeclaration": 120951, + "src": "1734:16:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3575,28 +3575,28 @@ "arguments": [ { "baseExpression": { - "id": 115130, + "id": 121112, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1762:14:153", + "referencedDeclaration": 121074, + "src": "1762:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115132, + "id": 121114, "indexExpression": { "hexValue": "32", - "id": 115131, + "id": 121113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1777:1:153", + "src": "1777:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3608,7 +3608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1762:17:153", + "src": "1762:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3616,14 +3616,14 @@ }, { "hexValue": "33", - "id": 115133, + "id": 121115, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1781:1:153", + "src": "1781:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3632,14 +3632,14 @@ }, { "hexValue": "3530", - "id": 115134, + "id": 121116, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1784:2:153", + "src": "1784:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -3648,14 +3648,14 @@ }, { "hexValue": "31", - "id": 115135, + "id": 121117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1788:1:153", + "src": "1788:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3682,18 +3682,18 @@ "typeString": "int_const 1" } ], - "id": 115129, + "id": 121111, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1753:8:153", + "referencedDeclaration": 121200, + "src": "1753:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115136, + "id": 121118, "isConstant": false, "isLValue": false, "isPure": false, @@ -3701,52 +3701,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1753:37:153", + "src": "1753:37:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1734:56:153", + "src": "1734:56:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115138, + "id": 121120, "nodeType": "ExpressionStatement", - "src": "1734:56:153" + "src": "1734:56:175" }, { "expression": { - "id": 115150, + "id": 121132, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115139, + "id": 121121, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1819:4:153", + "referencedDeclaration": 121065, + "src": "1819:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115141, + "id": 121123, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 114971, - "src": "1819:10:153", + "referencedDeclaration": 120953, + "src": "1819:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3758,28 +3758,28 @@ "arguments": [ { "baseExpression": { - "id": 115143, + "id": 121125, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1841:14:153", + "referencedDeclaration": 121074, + "src": "1841:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115145, + "id": 121127, "indexExpression": { "hexValue": "33", - "id": 115144, + "id": 121126, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1856:1:153", + "src": "1856:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3791,7 +3791,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1841:17:153", + "src": "1841:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3799,14 +3799,14 @@ }, { "hexValue": "34", - "id": 115146, + "id": 121128, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1860:1:153", + "src": "1860:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3815,14 +3815,14 @@ }, { "hexValue": "3330", - "id": 115147, + "id": 121129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1863:2:153", + "src": "1863:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", "typeString": "int_const 30" @@ -3831,14 +3831,14 @@ }, { "hexValue": "31", - "id": 115148, + "id": 121130, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1867:1:153", + "src": "1867:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3865,18 +3865,18 @@ "typeString": "int_const 1" } ], - "id": 115142, + "id": 121124, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1832:8:153", + "referencedDeclaration": 121200, + "src": "1832:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115149, + "id": 121131, "isConstant": false, "isLValue": false, "isPure": false, @@ -3884,52 +3884,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1832:37:153", + "src": "1832:37:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1819:50:153", + "src": "1819:50:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115151, + "id": 121133, "nodeType": "ExpressionStatement", - "src": "1819:50:153" + "src": "1819:50:175" }, { "expression": { - "id": 115163, + "id": 121145, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115152, + "id": 121134, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1891:4:153", + "referencedDeclaration": 121065, + "src": "1891:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115154, + "id": 121136, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 114973, - "src": "1891:13:153", + "referencedDeclaration": 120955, + "src": "1891:13:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3941,28 +3941,28 @@ "arguments": [ { "baseExpression": { - "id": 115156, + "id": 121138, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1916:14:153", + "referencedDeclaration": 121074, + "src": "1916:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115158, + "id": 121140, "indexExpression": { "hexValue": "34", - "id": 115157, + "id": 121139, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1931:1:153", + "src": "1931:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3974,7 +3974,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1916:17:153", + "src": "1916:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3982,14 +3982,14 @@ }, { "hexValue": "3230", - "id": 115159, + "id": 121141, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:2:153", + "src": "1935:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -3998,14 +3998,14 @@ }, { "hexValue": "3130", - "id": 115160, + "id": 121142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1939:2:153", + "src": "1939:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -4014,14 +4014,14 @@ }, { "hexValue": "33", - "id": 115161, + "id": 121143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1943:1:153", + "src": "1943:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -4048,18 +4048,18 @@ "typeString": "int_const 3" } ], - "id": 115155, + "id": 121137, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1907:8:153", + "referencedDeclaration": 121200, + "src": "1907:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115162, + "id": 121144, "isConstant": false, "isLValue": false, "isPure": false, @@ -4067,52 +4067,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1907:38:153", + "src": "1907:38:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1891:54:153", + "src": "1891:54:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115164, + "id": 121146, "nodeType": "ExpressionStatement", - "src": "1891:54:153" + "src": "1891:54:175" }, { "expression": { - "id": 115176, + "id": 121158, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115165, + "id": 121147, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "1955:4:153", + "referencedDeclaration": 121065, + "src": "1955:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115167, + "id": 121149, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 114975, - "src": "1955:10:153", + "referencedDeclaration": 120957, + "src": "1955:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4124,28 +4124,28 @@ "arguments": [ { "baseExpression": { - "id": 115169, + "id": 121151, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115092, - "src": "1977:14:153", + "referencedDeclaration": 121074, + "src": "1977:14:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 115171, + "id": 121153, "indexExpression": { "hexValue": "35", - "id": 115170, + "id": 121152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1992:1:153", + "src": "1992:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -4157,7 +4157,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1977:17:153", + "src": "1977:17:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4165,14 +4165,14 @@ }, { "hexValue": "32", - "id": 115172, + "id": 121154, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1996:1:153", + "src": "1996:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4181,14 +4181,14 @@ }, { "hexValue": "3530", - "id": 115173, + "id": 121155, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1999:2:153", + "src": "1999:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -4197,14 +4197,14 @@ }, { "hexValue": "31", - "id": 115174, + "id": 121156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2003:1:153", + "src": "2003:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4231,18 +4231,18 @@ "typeString": "int_const 1" } ], - "id": 115168, + "id": 121150, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115218, - "src": "1968:8:153", + "referencedDeclaration": 121200, + "src": "1968:8:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 115175, + "id": 121157, "isConstant": false, "isLValue": false, "isPure": false, @@ -4250,54 +4250,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1968:37:153", + "src": "1968:37:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1955:50:153", + "src": "1955:50:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115177, + "id": 121159, "nodeType": "ExpressionStatement", - "src": "1955:50:153" + "src": "1955:50:175" }, { "expression": { - "id": 115183, + "id": 121165, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 115178, + "id": 121160, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115083, - "src": "2015:4:153", + "referencedDeclaration": 121065, + "src": "2015:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 115180, + "id": 121162, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 114978, - "src": "2015:10:153", + "referencedDeclaration": 120960, + "src": "2015:10:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -4305,40 +4305,40 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 115181, + "id": 121163, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114661, - "src": "2028:11:153", + "referencedDeclaration": 120643, + "src": "2028:11:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 115182, + "id": 121164, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 114660, - "src": "2028:21:153", + "referencedDeclaration": 120642, + "src": "2028:21:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "src": "2015:34:153", + "src": "2015:34:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "id": 115184, + "id": 121166, "nodeType": "ExpressionStatement", - "src": "2015:34:153" + "src": "2015:34:175" } ] }, @@ -4347,20 +4347,20 @@ "kind": "function", "modifiers": [], "name": "revealNFT", - "nameLocation": "1386:9:153", + "nameLocation": "1386:9:175", "parameters": { - "id": 115079, + "id": 121061, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115078, + "id": 121060, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1404:8:153", + "nameLocation": "1404:8:175", "nodeType": "VariableDeclaration", - "scope": 115186, - "src": "1396:16:153", + "scope": 121168, + "src": "1396:16:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4368,10 +4368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115077, + "id": 121059, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1396:7:153", + "src": "1396:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4380,44 +4380,44 @@ "visibility": "internal" } ], - "src": "1395:18:153" + "src": "1395:18:175" }, "returnParameters": { - "id": 115080, + "id": 121062, "nodeType": "ParameterList", "parameters": [], - "src": "1423:0:153" + "src": "1423:0:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 115218, + "id": 121200, "nodeType": "FunctionDefinition", - "src": "2063:259:153", + "src": "2063:259:175", "nodes": [], "body": { - "id": 115217, + "id": 121199, "nodeType": "Block", - "src": "2216:106:153", + "src": "2216:106:175", "nodes": [], "statements": [ { "assignments": [ - 115200 + 121182 ], "declarations": [ { "constant": false, - "id": 115200, + "id": 121182, "mutability": "mutable", "name": "times", - "nameLocation": "2234:5:153", + "nameLocation": "2234:5:175", "nodeType": "VariableDeclaration", - "scope": 115217, - "src": "2226:13:153", + "scope": 121199, + "src": "2226:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4425,10 +4425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115199, + "id": 121181, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2226:7:153", + "src": "2226:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4437,7 +4437,7 @@ "visibility": "internal" } ], - "id": 115210, + "id": 121192, "initialValue": { "arguments": [ { @@ -4445,7 +4445,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115208, + "id": 121190, "isConstant": false, "isLValue": false, "isPure": false, @@ -4457,18 +4457,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 115205, + "id": 121187, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115203, + "id": 121185, "name": "_rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115188, - "src": "2251:5:153", + "referencedDeclaration": 121170, + "src": "2251:5:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4478,35 +4478,35 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 115204, + "id": 121186, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2259:1:153", + "src": "2259:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2251:9:153", + "src": "2251:9:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 115206, + "id": 121188, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2250:11:153", + "src": "2250:11:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4515,18 +4515,18 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 115207, + "id": 121189, "name": "_step", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115192, - "src": "2264:5:153", + "referencedDeclaration": 121174, + "src": "2264:5:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2250:19:153", + "src": "2250:19:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4540,26 +4540,26 @@ "typeString": "uint256" } ], - "id": 115202, + "id": 121184, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2242:7:153", + "src": "2242:7:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 115201, + "id": 121183, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2242:7:153", + "src": "2242:7:175", "typeDescriptions": {} } }, - "id": 115209, + "id": 121191, "isConstant": false, "isLValue": false, "isPure": false, @@ -4567,7 +4567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2242:28:153", + "src": "2242:28:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4575,7 +4575,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2226:44:153" + "src": "2226:44:175" }, { "expression": { @@ -4583,18 +4583,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115215, + "id": 121197, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115211, + "id": 121193, "name": "_start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115190, - "src": "2287:6:153", + "referencedDeclaration": 121172, + "src": "2287:6:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4607,18 +4607,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115214, + "id": 121196, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115212, + "id": 121194, "name": "times", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115200, - "src": "2296:5:153", + "referencedDeclaration": 121182, + "src": "2296:5:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4627,33 +4627,33 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 115213, + "id": 121195, "name": "_stepLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115194, - "src": "2304:11:153", + "referencedDeclaration": 121176, + "src": "2304:11:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2296:19:153", + "src": "2296:19:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2287:28:153", + "src": "2287:28:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 115198, - "id": 115216, + "functionReturnParameters": 121180, + "id": 121198, "nodeType": "Return", - "src": "2280:35:153" + "src": "2280:35:175" } ] }, @@ -4661,20 +4661,20 @@ "kind": "function", "modifiers": [], "name": "getRange", - "nameLocation": "2072:8:153", + "nameLocation": "2072:8:175", "parameters": { - "id": 115195, + "id": 121177, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115188, + "id": 121170, "mutability": "mutable", "name": "_rand", - "nameLocation": "2096:5:153", + "nameLocation": "2096:5:175", "nodeType": "VariableDeclaration", - "scope": 115218, - "src": "2090:11:153", + "scope": 121200, + "src": "2090:11:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4682,10 +4682,10 @@ "typeString": "uint8" }, "typeName": { - "id": 115187, + "id": 121169, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2090:5:153", + "src": "2090:5:175", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4695,13 +4695,13 @@ }, { "constant": false, - "id": 115190, + "id": 121172, "mutability": "mutable", "name": "_start", - "nameLocation": "2119:6:153", + "nameLocation": "2119:6:175", "nodeType": "VariableDeclaration", - "scope": 115218, - "src": "2111:14:153", + "scope": 121200, + "src": "2111:14:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4709,10 +4709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115189, + "id": 121171, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2111:7:153", + "src": "2111:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4722,13 +4722,13 @@ }, { "constant": false, - "id": 115192, + "id": 121174, "mutability": "mutable", "name": "_step", - "nameLocation": "2143:5:153", + "nameLocation": "2143:5:175", "nodeType": "VariableDeclaration", - "scope": 115218, - "src": "2135:13:153", + "scope": 121200, + "src": "2135:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4736,10 +4736,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115191, + "id": 121173, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2135:7:153", + "src": "2135:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4749,13 +4749,13 @@ }, { "constant": false, - "id": 115194, + "id": 121176, "mutability": "mutable", "name": "_stepLength", - "nameLocation": "2166:11:153", + "nameLocation": "2166:11:175", "nodeType": "VariableDeclaration", - "scope": 115218, - "src": "2158:19:153", + "scope": 121200, + "src": "2158:19:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4763,10 +4763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115193, + "id": 121175, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2158:7:153", + "src": "2158:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4775,21 +4775,21 @@ "visibility": "internal" } ], - "src": "2080:103:153" + "src": "2080:103:175" }, "returnParameters": { - "id": 115198, + "id": 121180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115197, + "id": 121179, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115218, - "src": "2207:7:153", + "scope": 121200, + "src": "2207:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,10 +4797,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115196, + "id": 121178, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2207:7:153", + "src": "2207:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4809,22 +4809,22 @@ "visibility": "internal" } ], - "src": "2206:9:153" + "src": "2206:9:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 115238, + "id": 121220, "nodeType": "FunctionDefinition", - "src": "2328:187:153", + "src": "2328:187:175", "nodes": [], "body": { - "id": 115237, + "id": 121219, "nodeType": "Block", - "src": "2446:69:153", + "src": "2446:69:175", "nodes": [], "statements": [ { @@ -4833,12 +4833,12 @@ { "arguments": [ { - "id": 115231, + "id": 121213, "name": "_key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115220, - "src": "2487:4:153", + "referencedDeclaration": 121202, + "src": "2487:4:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4846,14 +4846,14 @@ }, { "hexValue": "203a20", - "id": 115232, + "id": 121214, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2493:5:153", + "src": "2493:5:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", "typeString": "literal_string \" : \"" @@ -4861,12 +4861,12 @@ "value": " : " }, { - "id": 115233, + "id": 121215, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115222, - "src": "2500:6:153", + "referencedDeclaration": 121204, + "src": "2500:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4889,31 +4889,31 @@ } ], "expression": { - "id": 115229, + "id": 121211, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2470:3:153", + "src": "2470:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 115230, + "id": 121212, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2470:16:153", + "src": "2470:16:175", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 115234, + "id": 121216, "isConstant": false, "isLValue": false, "isPure": false, @@ -4921,7 +4921,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2470:37:153", + "src": "2470:37:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4936,26 +4936,26 @@ "typeString": "bytes memory" } ], - "id": 115228, + "id": 121210, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2463:6:153", + "src": "2463:6:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 115227, + "id": 121209, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2463:6:153", + "src": "2463:6:175", "typeDescriptions": {} } }, - "id": 115235, + "id": 121217, "isConstant": false, "isLValue": false, "isPure": false, @@ -4963,17 +4963,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2463:45:153", + "src": "2463:45:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 115226, - "id": 115236, + "functionReturnParameters": 121208, + "id": 121218, "nodeType": "Return", - "src": "2456:52:153" + "src": "2456:52:175" } ] }, @@ -4981,20 +4981,20 @@ "kind": "function", "modifiers": [], "name": "concat", - "nameLocation": "2337:6:153", + "nameLocation": "2337:6:175", "parameters": { - "id": 115223, + "id": 121205, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115220, + "id": 121202, "mutability": "mutable", "name": "_key", - "nameLocation": "2367:4:153", + "nameLocation": "2367:4:175", "nodeType": "VariableDeclaration", - "scope": 115238, - "src": "2353:18:153", + "scope": 121220, + "src": "2353:18:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5002,10 +5002,10 @@ "typeString": "string" }, "typeName": { - "id": 115219, + "id": 121201, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2353:6:153", + "src": "2353:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5015,13 +5015,13 @@ }, { "constant": false, - "id": 115222, + "id": 121204, "mutability": "mutable", "name": "_value", - "nameLocation": "2395:6:153", + "nameLocation": "2395:6:175", "nodeType": "VariableDeclaration", - "scope": 115238, - "src": "2381:20:153", + "scope": 121220, + "src": "2381:20:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5029,10 +5029,10 @@ "typeString": "string" }, "typeName": { - "id": 115221, + "id": 121203, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2381:6:153", + "src": "2381:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5041,21 +5041,21 @@ "visibility": "internal" } ], - "src": "2343:64:153" + "src": "2343:64:175" }, "returnParameters": { - "id": 115226, + "id": 121208, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115225, + "id": 121207, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115238, - "src": "2431:13:153", + "scope": 121220, + "src": "2431:13:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5063,10 +5063,10 @@ "typeString": "string" }, "typeName": { - "id": 115224, + "id": 121206, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2431:6:153", + "src": "2431:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5075,38 +5075,38 @@ "visibility": "internal" } ], - "src": "2430:15:153" + "src": "2430:15:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 115398, + "id": 121380, "nodeType": "FunctionDefinition", - "src": "2521:1348:153", + "src": "2521:1348:175", "nodes": [], "body": { - "id": 115397, + "id": 121379, "nodeType": "Block", - "src": "2596:1273:153", + "src": "2596:1273:175", "nodes": [], "statements": [ { "assignments": [ - 115251 + 121233 ], "declarations": [ { "constant": false, - "id": 115251, + "id": 121233, "mutability": "mutable", "name": "parts", - "nameLocation": "2624:5:153", + "nameLocation": "2624:5:175", "nodeType": "VariableDeclaration", - "scope": 115397, - "src": "2606:23:153", + "scope": 121379, + "src": "2606:23:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5115,26 +5115,26 @@ }, "typeName": { "baseType": { - "id": 115249, + "id": 121231, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2606:6:153", + "src": "2606:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 115250, + "id": 121232, "length": { "hexValue": "3133", - "id": 115248, + "id": 121230, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2613:2:153", + "src": "2613:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -5142,7 +5142,7 @@ "value": "13" }, "nodeType": "ArrayTypeName", - "src": "2606:10:153", + "src": "2606:10:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$13_storage_ptr", "typeString": "string[13]" @@ -5151,41 +5151,41 @@ "visibility": "internal" } ], - "id": 115252, + "id": 121234, "nodeType": "VariableDeclarationStatement", - "src": "2606:23:153" + "src": "2606:23:175" }, { "expression": { - "id": 115257, + "id": 121239, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115253, + "id": 121235, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "2640:5:153", + "referencedDeclaration": 121233, + "src": "2640:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115255, + "id": 121237, "indexExpression": { "hexValue": "30", - "id": 115254, + "id": 121236, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2659:1:153", + "src": "2659:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5197,7 +5197,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2640:30:153", + "src": "2640:30:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5207,61 +5207,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", - "id": 115256, + "id": 121238, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2673:255:153", + "src": "2673:255:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2640:288:153", + "src": "2640:288:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115258, + "id": 121240, "nodeType": "ExpressionStatement", - "src": "2640:288:153" + "src": "2640:288:175" }, { "expression": { - "id": 115269, + "id": 121251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115259, + "id": 121241, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "2939:5:153", + "referencedDeclaration": 121233, + "src": "2939:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115261, + "id": 121243, "indexExpression": { "hexValue": "31", - "id": 115260, + "id": 121242, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2945:1:153", + "src": "2945:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5273,7 +5273,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2939:8:153", + "src": "2939:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5285,14 +5285,14 @@ "arguments": [ { "hexValue": "4850", - "id": 115263, + "id": 121245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2957:4:153", + "src": "2957:4:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", "typeString": "literal_string \"HP\"" @@ -5305,46 +5305,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115264, + "id": 121246, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "2963:4:153", + "referencedDeclaration": 121223, + "src": "2963:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115265, + "id": 121247, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 114965, - "src": "2963:7:153", + "referencedDeclaration": 120947, + "src": "2963:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115266, + "id": 121248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "2963:16:153", + "referencedDeclaration": 72484, + "src": "2963:16:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115267, + "id": 121249, "isConstant": false, "isLValue": false, "isPure": false, @@ -5352,7 +5352,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2963:18:153", + "src": "2963:18:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5371,18 +5371,18 @@ "typeString": "string memory" } ], - "id": 115262, + "id": 121244, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "2950:6:153", + "referencedDeclaration": 121220, + "src": "2950:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115268, + "id": 121250, "isConstant": false, "isLValue": false, "isPure": false, @@ -5390,54 +5390,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2950:32:153", + "src": "2950:32:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2939:43:153", + "src": "2939:43:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115270, + "id": 121252, "nodeType": "ExpressionStatement", - "src": "2939:43:153" + "src": "2939:43:175" }, { "expression": { - "id": 115275, + "id": 121257, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115271, + "id": 121253, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "2993:5:153", + "referencedDeclaration": 121233, + "src": "2993:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115273, + "id": 121255, "indexExpression": { "hexValue": "32", - "id": 115272, + "id": 121254, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2999:1:153", + "src": "2999:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5449,7 +5449,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2993:8:153", + "src": "2993:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5459,61 +5459,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", - "id": 115274, + "id": 121256, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3004:42:153", + "src": "3004:42:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2993:53:153", + "src": "2993:53:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115276, + "id": 121258, "nodeType": "ExpressionStatement", - "src": "2993:53:153" + "src": "2993:53:175" }, { "expression": { - "id": 115287, + "id": 121269, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115277, + "id": 121259, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3057:5:153", + "referencedDeclaration": 121233, + "src": "3057:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115279, + "id": 121261, "indexExpression": { "hexValue": "33", - "id": 115278, + "id": 121260, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3063:1:153", + "src": "3063:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -5525,7 +5525,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3057:8:153", + "src": "3057:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5537,14 +5537,14 @@ "arguments": [ { "hexValue": "41747461636b", - "id": 115281, + "id": 121263, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3075:8:153", + "src": "3075:8:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", "typeString": "literal_string \"Attack\"" @@ -5557,46 +5557,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115282, + "id": 121264, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "3085:4:153", + "referencedDeclaration": 121223, + "src": "3085:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115283, + "id": 121265, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 114967, - "src": "3085:11:153", + "referencedDeclaration": 120949, + "src": "3085:11:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115284, + "id": 121266, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "3085:20:153", + "referencedDeclaration": 72484, + "src": "3085:20:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115285, + "id": 121267, "isConstant": false, "isLValue": false, "isPure": false, @@ -5604,7 +5604,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3085:22:153", + "src": "3085:22:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5623,18 +5623,18 @@ "typeString": "string memory" } ], - "id": 115280, + "id": 121262, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "3068:6:153", + "referencedDeclaration": 121220, + "src": "3068:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115286, + "id": 121268, "isConstant": false, "isLValue": false, "isPure": false, @@ -5642,54 +5642,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3068:40:153", + "src": "3068:40:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3057:51:153", + "src": "3057:51:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115288, + "id": 121270, "nodeType": "ExpressionStatement", - "src": "3057:51:153" + "src": "3057:51:175" }, { "expression": { - "id": 115293, + "id": 121275, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115289, + "id": 121271, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3119:5:153", + "referencedDeclaration": 121233, + "src": "3119:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115291, + "id": 121273, "indexExpression": { "hexValue": "34", - "id": 115290, + "id": 121272, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3125:1:153", + "src": "3125:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5701,7 +5701,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3119:8:153", + "src": "3119:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5711,61 +5711,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", - "id": 115292, + "id": 121274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3130:42:153", + "src": "3130:42:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3119:53:153", + "src": "3119:53:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115294, + "id": 121276, "nodeType": "ExpressionStatement", - "src": "3119:53:153" + "src": "3119:53:175" }, { "expression": { - "id": 115305, + "id": 121287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115295, + "id": 121277, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3183:5:153", + "referencedDeclaration": 121233, + "src": "3183:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115297, + "id": 121279, "indexExpression": { "hexValue": "35", - "id": 115296, + "id": 121278, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3189:1:153", + "src": "3189:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -5777,7 +5777,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3183:8:153", + "src": "3183:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5789,14 +5789,14 @@ "arguments": [ { "hexValue": "41747461636b52616e6765", - "id": 115299, + "id": 121281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3201:13:153", + "src": "3201:13:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", "typeString": "literal_string \"AttackRange\"" @@ -5809,46 +5809,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115300, + "id": 121282, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "3216:4:153", + "referencedDeclaration": 121223, + "src": "3216:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115301, + "id": 121283, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 114969, - "src": "3216:16:153", + "referencedDeclaration": 120951, + "src": "3216:16:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115302, + "id": 121284, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "3216:25:153", + "referencedDeclaration": 72484, + "src": "3216:25:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115303, + "id": 121285, "isConstant": false, "isLValue": false, "isPure": false, @@ -5856,7 +5856,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3216:27:153", + "src": "3216:27:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5875,18 +5875,18 @@ "typeString": "string memory" } ], - "id": 115298, + "id": 121280, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "3194:6:153", + "referencedDeclaration": 121220, + "src": "3194:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115304, + "id": 121286, "isConstant": false, "isLValue": false, "isPure": false, @@ -5894,54 +5894,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3194:50:153", + "src": "3194:50:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3183:61:153", + "src": "3183:61:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115306, + "id": 121288, "nodeType": "ExpressionStatement", - "src": "3183:61:153" + "src": "3183:61:175" }, { "expression": { - "id": 115311, + "id": 121293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115307, + "id": 121289, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3255:5:153", + "referencedDeclaration": 121233, + "src": "3255:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115309, + "id": 121291, "indexExpression": { "hexValue": "36", - "id": 115308, + "id": 121290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3261:1:153", + "src": "3261:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -5953,7 +5953,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3255:8:153", + "src": "3255:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5963,61 +5963,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", - "id": 115310, + "id": 121292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3266:42:153", + "src": "3266:42:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3255:53:153", + "src": "3255:53:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115312, + "id": 121294, "nodeType": "ExpressionStatement", - "src": "3255:53:153" + "src": "3255:53:175" }, { "expression": { - "id": 115323, + "id": 121305, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115313, + "id": 121295, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3319:5:153", + "referencedDeclaration": 121233, + "src": "3319:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115315, + "id": 121297, "indexExpression": { "hexValue": "37", - "id": 115314, + "id": 121296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3325:1:153", + "src": "3325:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -6029,7 +6029,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3319:8:153", + "src": "3319:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6041,14 +6041,14 @@ "arguments": [ { "hexValue": "5370656564", - "id": 115317, + "id": 121299, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3337:7:153", + "src": "3337:7:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", "typeString": "literal_string \"Speed\"" @@ -6061,46 +6061,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115318, + "id": 121300, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "3345:4:153", + "referencedDeclaration": 121223, + "src": "3345:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115319, + "id": 121301, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 114971, - "src": "3345:10:153", + "referencedDeclaration": 120953, + "src": "3345:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115320, + "id": 121302, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "3345:19:153", + "referencedDeclaration": 72484, + "src": "3345:19:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115321, + "id": 121303, "isConstant": false, "isLValue": false, "isPure": false, @@ -6108,7 +6108,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3345:21:153", + "src": "3345:21:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6127,18 +6127,18 @@ "typeString": "string memory" } ], - "id": 115316, + "id": 121298, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "3330:6:153", + "referencedDeclaration": 121220, + "src": "3330:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115322, + "id": 121304, "isConstant": false, "isLValue": false, "isPure": false, @@ -6146,54 +6146,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3330:37:153", + "src": "3330:37:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3319:48:153", + "src": "3319:48:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115324, + "id": 121306, "nodeType": "ExpressionStatement", - "src": "3319:48:153" + "src": "3319:48:175" }, { "expression": { - "id": 115329, + "id": 121311, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115325, + "id": 121307, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3378:5:153", + "referencedDeclaration": 121233, + "src": "3378:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115327, + "id": 121309, "indexExpression": { "hexValue": "38", - "id": 115326, + "id": 121308, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3384:1:153", + "src": "3384:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -6205,7 +6205,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3378:8:153", + "src": "3378:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6215,61 +6215,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", - "id": 115328, + "id": 121310, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3389:43:153", + "src": "3389:43:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3378:54:153", + "src": "3378:54:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115330, + "id": 121312, "nodeType": "ExpressionStatement", - "src": "3378:54:153" + "src": "3378:54:175" }, { "expression": { - "id": 115341, + "id": 121323, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115331, + "id": 121313, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3443:5:153", + "referencedDeclaration": 121233, + "src": "3443:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115333, + "id": 121315, "indexExpression": { "hexValue": "39", - "id": 115332, + "id": 121314, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3449:1:153", + "src": "3449:1:175", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -6281,7 +6281,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3443:8:153", + "src": "3443:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6293,14 +6293,14 @@ "arguments": [ { "hexValue": "537472656e677468", - "id": 115335, + "id": 121317, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3461:10:153", + "src": "3461:10:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", "typeString": "literal_string \"Strength\"" @@ -6313,46 +6313,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115336, + "id": 121318, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "3473:4:153", + "referencedDeclaration": 121223, + "src": "3473:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115337, + "id": 121319, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 114973, - "src": "3473:13:153", + "referencedDeclaration": 120955, + "src": "3473:13:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115338, + "id": 121320, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "3473:22:153", + "referencedDeclaration": 72484, + "src": "3473:22:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115339, + "id": 121321, "isConstant": false, "isLValue": false, "isPure": false, @@ -6360,7 +6360,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3473:24:153", + "src": "3473:24:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6379,18 +6379,18 @@ "typeString": "string memory" } ], - "id": 115334, + "id": 121316, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "3454:6:153", + "referencedDeclaration": 121220, + "src": "3454:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115340, + "id": 121322, "isConstant": false, "isLValue": false, "isPure": false, @@ -6398,54 +6398,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3454:44:153", + "src": "3454:44:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3443:55:153", + "src": "3443:55:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115342, + "id": 121324, "nodeType": "ExpressionStatement", - "src": "3443:55:153" + "src": "3443:55:175" }, { "expression": { - "id": 115347, + "id": 121329, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115343, + "id": 121325, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3509:5:153", + "referencedDeclaration": 121233, + "src": "3509:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115345, + "id": 121327, "indexExpression": { "hexValue": "3130", - "id": 115344, + "id": 121326, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3515:2:153", + "src": "3515:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -6457,7 +6457,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3509:9:153", + "src": "3509:9:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6467,61 +6467,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", - "id": 115346, + "id": 121328, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3521:43:153", + "src": "3521:43:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3509:55:153", + "src": "3509:55:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115348, + "id": 121330, "nodeType": "ExpressionStatement", - "src": "3509:55:153" + "src": "3509:55:175" }, { "expression": { - "id": 115359, + "id": 121341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115349, + "id": 121331, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3575:5:153", + "referencedDeclaration": 121233, + "src": "3575:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115351, + "id": 121333, "indexExpression": { "hexValue": "3131", - "id": 115350, + "id": 121332, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3581:2:153", + "src": "3581:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -6533,7 +6533,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3575:9:153", + "src": "3575:9:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6545,14 +6545,14 @@ "arguments": [ { "hexValue": "5370616365", - "id": 115353, + "id": 121335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3594:7:153", + "src": "3594:7:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", "typeString": "literal_string \"Space\"" @@ -6565,46 +6565,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 115354, + "id": 121336, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115241, - "src": "3603:4:153", + "referencedDeclaration": 121223, + "src": "3603:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115355, + "id": 121337, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 114975, - "src": "3603:10:153", + "referencedDeclaration": 120957, + "src": "3603:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115356, + "id": 121338, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "3603:19:153", + "referencedDeclaration": 72484, + "src": "3603:19:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115357, + "id": 121339, "isConstant": false, "isLValue": false, "isPure": false, @@ -6612,7 +6612,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3603:21:153", + "src": "3603:21:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6631,18 +6631,18 @@ "typeString": "string memory" } ], - "id": 115352, + "id": 121334, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115238, - "src": "3587:6:153", + "referencedDeclaration": 121220, + "src": "3587:6:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 115358, + "id": 121340, "isConstant": false, "isLValue": false, "isPure": false, @@ -6650,54 +6650,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3587:38:153", + "src": "3587:38:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3575:50:153", + "src": "3575:50:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115360, + "id": 121342, "nodeType": "ExpressionStatement", - "src": "3575:50:153" + "src": "3575:50:175" }, { "expression": { - "id": 115365, + "id": 121347, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115361, + "id": 121343, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3636:5:153", + "referencedDeclaration": 121233, + "src": "3636:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115363, + "id": 121345, "indexExpression": { "hexValue": "3132", - "id": 115362, + "id": 121344, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3642:2:153", + "src": "3642:2:175", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -6709,7 +6709,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3636:9:153", + "src": "3636:9:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6719,44 +6719,44 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c2f7376673e", - "id": 115364, + "id": 121346, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3648:15:153", + "src": "3648:15:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3636:27:153", + "src": "3636:27:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115366, + "id": 121348, "nodeType": "ExpressionStatement", - "src": "3636:27:153" + "src": "3636:27:175" }, { "assignments": [ - 115368 + 121350 ], "declarations": [ { "constant": false, - "id": 115368, + "id": 121350, "mutability": "mutable", "name": "output", - "nameLocation": "3688:6:153", + "nameLocation": "3688:6:175", "nodeType": "VariableDeclaration", - "scope": 115397, - "src": "3674:20:153", + "scope": 121379, + "src": "3674:20:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6764,10 +6764,10 @@ "typeString": "string" }, "typeName": { - "id": 115367, + "id": 121349, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3674:6:153", + "src": "3674:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6776,30 +6776,30 @@ "visibility": "internal" } ], - "id": 115369, + "id": 121351, "nodeType": "VariableDeclarationStatement", - "src": "3674:20:153" + "src": "3674:20:175" }, { "body": { - "id": 115393, + "id": 121375, "nodeType": "Block", - "src": "3738:102:153", + "src": "3738:102:175", "statements": [ { "expression": { - "id": 115391, + "id": 121373, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115380, + "id": 121362, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115368, - "src": "3752:6:153", + "referencedDeclaration": 121350, + "src": "3752:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6812,12 +6812,12 @@ { "arguments": [ { - "id": 115385, + "id": 121367, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115368, - "src": "3798:6:153", + "referencedDeclaration": 121350, + "src": "3798:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6825,25 +6825,25 @@ }, { "baseExpression": { - "id": 115386, + "id": 121368, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3806:5:153", + "referencedDeclaration": 121233, + "src": "3806:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115388, + "id": 121370, "indexExpression": { - "id": 115387, + "id": 121369, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115371, - "src": "3812:1:153", + "referencedDeclaration": 121353, + "src": "3812:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6854,7 +6854,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3806:8:153", + "src": "3806:8:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6873,31 +6873,31 @@ } ], "expression": { - "id": 115383, + "id": 121365, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3781:3:153", + "src": "3781:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 115384, + "id": 121366, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3781:16:153", + "src": "3781:16:175", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 115389, + "id": 121371, "isConstant": false, "isLValue": false, "isPure": false, @@ -6905,7 +6905,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3781:34:153", + "src": "3781:34:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6920,26 +6920,26 @@ "typeString": "bytes memory" } ], - "id": 115382, + "id": 121364, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3761:6:153", + "src": "3761:6:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 115381, + "id": 121363, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3761:6:153", + "src": "3761:6:175", "typeDescriptions": {} } }, - "id": 115390, + "id": 121372, "isConstant": false, "isLValue": false, "isPure": false, @@ -6947,22 +6947,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3761:68:153", + "src": "3761:68:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3752:77:153", + "src": "3752:77:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115392, + "id": 121374, "nodeType": "ExpressionStatement", - "src": "3752:77:153" + "src": "3752:77:175" } ] }, @@ -6971,18 +6971,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115376, + "id": 121358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115373, + "id": 121355, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115371, - "src": "3719:1:153", + "referencedDeclaration": 121353, + "src": "3719:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6992,51 +6992,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 115374, + "id": 121356, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115251, - "src": "3721:5:153", + "referencedDeclaration": 121233, + "src": "3721:5:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 115375, + "id": 121357, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "3721:12:153", + "src": "3721:12:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3719:14:153", + "src": "3719:14:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 115394, + "id": 121376, "initializationExpression": { "assignments": [ - 115371 + 121353 ], "declarations": [ { "constant": false, - "id": 115371, + "id": 121353, "mutability": "mutable", "name": "i", - "nameLocation": "3717:1:153", + "nameLocation": "3717:1:175", "nodeType": "VariableDeclaration", - "scope": 115394, - "src": "3709:9:153", + "scope": 121376, + "src": "3709:9:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7044,10 +7044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115370, + "id": 121352, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3709:7:153", + "src": "3709:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7056,13 +7056,13 @@ "visibility": "internal" } ], - "id": 115372, + "id": 121354, "nodeType": "VariableDeclarationStatement", - "src": "3709:9:153" + "src": "3709:9:175" }, "loopExpression": { "expression": { - "id": 115378, + "id": 121360, "isConstant": false, "isLValue": false, "isPure": false, @@ -7070,14 +7070,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3734:3:153", + "src": "3734:3:175", "subExpression": { - "id": 115377, + "id": 121359, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115371, - "src": "3734:1:153", + "referencedDeclaration": 121353, + "src": "3734:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7088,30 +7088,30 @@ "typeString": "uint256" } }, - "id": 115379, + "id": 121361, "nodeType": "ExpressionStatement", - "src": "3734:3:153" + "src": "3734:3:175" }, "nodeType": "ForStatement", - "src": "3705:135:153" + "src": "3705:135:175" }, { "expression": { - "id": 115395, + "id": 121377, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115368, - "src": "3856:6:153", + "referencedDeclaration": 121350, + "src": "3856:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 115245, - "id": 115396, + "functionReturnParameters": 121227, + "id": 121378, "nodeType": "Return", - "src": "3849:13:153" + "src": "3849:13:175" } ] }, @@ -7119,61 +7119,61 @@ "kind": "function", "modifiers": [], "name": "createSVG", - "nameLocation": "2530:9:153", + "nameLocation": "2530:9:175", "parameters": { - "id": 115242, + "id": 121224, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115241, + "id": 121223, "mutability": "mutable", "name": "user", - "nameLocation": "2552:4:153", + "nameLocation": "2552:4:175", "nodeType": "VariableDeclaration", - "scope": 115398, - "src": "2540:16:153", + "scope": 121380, + "src": "2540:16:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 115240, + "id": 121222, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115239, + "id": 121221, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "2540:4:153" + "referencedDeclaration": 120961, + "src": "2540:4:175" }, - "referencedDeclaration": 114979, - "src": "2540:4:153", + "referencedDeclaration": 120961, + "src": "2540:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "src": "2539:18:153" + "src": "2539:18:175" }, "returnParameters": { - "id": 115245, + "id": 121227, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115244, + "id": 121226, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115398, - "src": "2581:13:153", + "scope": 121380, + "src": "2581:13:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7181,10 +7181,10 @@ "typeString": "string" }, "typeName": { - "id": 115243, + "id": 121225, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2581:6:153", + "src": "2581:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7193,86 +7193,86 @@ "visibility": "internal" } ], - "src": "2580:15:153" + "src": "2580:15:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 115493, + "id": 121475, "nodeType": "FunctionDefinition", - "src": "3875:1284:153", + "src": "3875:1284:175", "nodes": [], "body": { - "id": 115492, + "id": 121474, "nodeType": "Block", - "src": "3970:1189:153", + "src": "3970:1189:175", "nodes": [], "statements": [ { "assignments": [ - 115408 + 121390 ], "declarations": [ { "constant": false, - "id": 115408, + "id": 121390, "mutability": "mutable", "name": "user", - "nameLocation": "3992:4:153", + "nameLocation": "3992:4:175", "nodeType": "VariableDeclaration", - "scope": 115492, - "src": "3980:16:153", + "scope": 121474, + "src": "3980:16:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 115407, + "id": 121389, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115406, + "id": 121388, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "3980:4:153" + "referencedDeclaration": 120961, + "src": "3980:4:175" }, - "referencedDeclaration": 114979, - "src": "3980:4:153", + "referencedDeclaration": 120961, + "src": "3980:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 115412, + "id": 121394, "initialValue": { "baseExpression": { - "id": 115409, + "id": 121391, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115029, - "src": "3999:8:153", + "referencedDeclaration": 121011, + "src": "3999:8:175", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 115411, + "id": 121393, "indexExpression": { - "id": 115410, + "id": 121392, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115400, - "src": "4008:8:153", + "referencedDeclaration": 121382, + "src": "4008:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7283,50 +7283,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3999:18:153", + "src": "3999:18:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage", + "typeIdentifier": "t_struct$_User_$120961_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3980:37:153" + "src": "3980:37:175" }, { "condition": { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" }, - "id": 115417, + "id": 121399, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 115413, + "id": 121395, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115408, - "src": "4031:4:153", + "referencedDeclaration": 121390, + "src": "4031:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115414, + "id": 121396, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 114978, - "src": "4031:10:153", + "referencedDeclaration": 120960, + "src": "4031:10:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -7334,79 +7334,79 @@ "operator": "==", "rightExpression": { "expression": { - "id": 115415, + "id": 121397, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114661, - "src": "4045:11:153", + "referencedDeclaration": 120643, + "src": "4045:11:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 115416, + "id": 121398, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 114659, - "src": "4045:19:153", + "referencedDeclaration": 120641, + "src": "4045:19:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "src": "4031:33:153", + "src": "4031:33:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 115490, + "id": 121472, "nodeType": "Block", - "src": "4299:854:153", + "src": "4299:854:175", "statements": [ { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" }, - "id": 115437, + "id": 121419, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 115433, + "id": 121415, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115408, - "src": "4321:4:153", + "referencedDeclaration": 121390, + "src": "4321:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115434, + "id": 121416, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 114978, - "src": "4321:10:153", + "referencedDeclaration": 120960, + "src": "4321:10:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -7414,32 +7414,32 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 115435, + "id": 121417, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114661, - "src": "4335:11:153", + "referencedDeclaration": 120643, + "src": "4335:11:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 115436, + "id": 121418, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Inited", "nodeType": "MemberAccess", - "referencedDeclaration": 114658, - "src": "4335:18:153", + "referencedDeclaration": 120640, + "src": "4335:18:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "src": "4321:32:153", + "src": "4321:32:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7447,14 +7447,14 @@ }, { "hexValue": "426f78206e6f742065786973746564", - "id": 115438, + "id": 121420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4355:17:153", + "src": "4355:17:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", "typeString": "literal_string \"Box not existed\"" @@ -7473,7 +7473,7 @@ "typeString": "literal_string \"Box not existed\"" } ], - "id": 115432, + "id": 121414, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7481,13 +7481,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4313:7:153", + "src": "4313:7:175", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 115439, + "id": 121421, "isConstant": false, "isLValue": false, "isPure": false, @@ -7495,31 +7495,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4313:60:153", + "src": "4313:60:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 115440, + "id": 121422, "nodeType": "ExpressionStatement", - "src": "4313:60:153" + "src": "4313:60:175" }, { "assignments": [ - 115442 + 121424 ], "declarations": [ { "constant": false, - "id": 115442, + "id": 121424, "mutability": "mutable", "name": "output", - "nameLocation": "4401:6:153", + "nameLocation": "4401:6:175", "nodeType": "VariableDeclaration", - "scope": 115490, - "src": "4387:20:153", + "scope": 121472, + "src": "4387:20:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7527,10 +7527,10 @@ "typeString": "string" }, "typeName": { - "id": 115441, + "id": 121423, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4387:6:153", + "src": "4387:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7539,18 +7539,18 @@ "visibility": "internal" } ], - "id": 115446, + "id": 121428, "initialValue": { "arguments": [ { - "id": 115444, + "id": 121426, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115408, - "src": "4420:4:153", + "referencedDeclaration": 121390, + "src": "4420:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } } @@ -7558,22 +7558,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } ], - "id": 115443, + "id": 121425, "name": "createSVG", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115398, - "src": "4410:9:153", + "referencedDeclaration": 121380, + "src": "4410:9:175", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$114979_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$120961_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (struct MUser.User memory) pure returns (string memory)" } }, - "id": 115445, + "id": 121427, "isConstant": false, "isLValue": false, "isPure": false, @@ -7581,7 +7581,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4410:15:153", + "src": "4410:15:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7589,22 +7589,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4387:38:153" + "src": "4387:38:175" }, { "assignments": [ - 115448 + 121430 ], "declarations": [ { "constant": false, - "id": 115448, + "id": 121430, "mutability": "mutable", "name": "json", - "nameLocation": "4453:4:153", + "nameLocation": "4453:4:175", "nodeType": "VariableDeclaration", - "scope": 115490, - "src": "4439:18:153", + "scope": 121472, + "src": "4439:18:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7612,10 +7612,10 @@ "typeString": "string" }, "typeName": { - "id": 115447, + "id": 121429, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4439:6:153", + "src": "4439:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7624,7 +7624,7 @@ "visibility": "internal" } ], - "id": 115476, + "id": 121458, "initialValue": { "arguments": [ { @@ -7635,14 +7635,14 @@ "arguments": [ { "hexValue": "7b226e616d65223a20224d557365722023", - "id": 115457, + "id": 121439, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4596:19:153", + "src": "4596:19:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", "typeString": "literal_string \"{\"name\": \"MUser #\"" @@ -7654,32 +7654,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 115458, + "id": 121440, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115400, - "src": "4645:8:153", + "referencedDeclaration": 121382, + "src": "4645:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115459, + "id": 121441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 69439, - "src": "4645:17:153", + "referencedDeclaration": 72484, + "src": "4645:17:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 115460, + "id": 121442, "isConstant": false, "isLValue": false, "isPure": false, @@ -7687,7 +7687,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4645:19:153", + "src": "4645:19:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7696,14 +7696,14 @@ }, { "hexValue": "222c20226465736372697074696f6e223a22", - "id": 115461, + "id": 121443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4694:20:153", + "src": "4694:20:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", "typeString": "literal_string \"\", \"description\":\"\"" @@ -7711,12 +7711,12 @@ "value": "\", \"description\":\"" }, { - "id": 115462, + "id": 121444, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114989, - "src": "4744:12:153", + "referencedDeclaration": 120971, + "src": "4744:12:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7724,14 +7724,14 @@ }, { "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", - "id": 115463, + "id": 121445, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4786:40:153", + "src": "4786:40:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" @@ -7743,12 +7743,12 @@ { "arguments": [ { - "id": 115468, + "id": 121450, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115442, - "src": "4876:6:153", + "referencedDeclaration": 121424, + "src": "4876:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7762,26 +7762,26 @@ "typeString": "string memory" } ], - "id": 115467, + "id": 121449, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4870:5:153", + "src": "4870:5:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 115466, + "id": 121448, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4870:5:153", + "src": "4870:5:175", "typeDescriptions": {} } }, - "id": 115469, + "id": 121451, "isConstant": false, "isLValue": false, "isPure": false, @@ -7789,7 +7789,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4870:13:153", + "src": "4870:13:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7805,32 +7805,32 @@ } ], "expression": { - "id": 115464, + "id": 121446, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 113421, - "src": "4856:6:153", + "referencedDeclaration": 119403, + "src": "4856:6:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$113421_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", "typeString": "type(library Base64)" } }, - "id": 115465, + "id": 121447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 113420, - "src": "4856:13:153", + "referencedDeclaration": 119402, + "src": "4856:13:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 115470, + "id": 121452, "isConstant": false, "isLValue": false, "isPure": false, @@ -7838,7 +7838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4856:28:153", + "src": "4856:28:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7847,14 +7847,14 @@ }, { "hexValue": "227d", - "id": 115471, + "id": 121453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4914:4:153", + "src": "4914:4:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -7894,31 +7894,31 @@ } ], "expression": { - "id": 115455, + "id": 121437, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4550:3:153", + "src": "4550:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 115456, + "id": 121438, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4550:16:153", + "src": "4550:16:175", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 115472, + "id": 121454, "isConstant": false, "isLValue": false, "isPure": false, @@ -7926,7 +7926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4550:394:153", + "src": "4550:394:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7941,26 +7941,26 @@ "typeString": "bytes memory" } ], - "id": 115454, + "id": 121436, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4518:6:153", + "src": "4518:6:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 115453, + "id": 121435, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4518:6:153", + "src": "4518:6:175", "typeDescriptions": {} } }, - "id": 115473, + "id": 121455, "isConstant": false, "isLValue": false, "isPure": false, @@ -7968,7 +7968,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4518:448:153", + "src": "4518:448:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7983,26 +7983,26 @@ "typeString": "string memory" } ], - "id": 115452, + "id": 121434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4491:5:153", + "src": "4491:5:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 115451, + "id": 121433, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4491:5:153", + "src": "4491:5:175", "typeDescriptions": {} } }, - "id": 115474, + "id": 121456, "isConstant": false, "isLValue": false, "isPure": false, @@ -8010,7 +8010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4491:493:153", + "src": "4491:493:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8026,32 +8026,32 @@ } ], "expression": { - "id": 115449, + "id": 121431, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 113421, - "src": "4460:6:153", + "referencedDeclaration": 119403, + "src": "4460:6:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$113421_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", "typeString": "type(library Base64)" } }, - "id": 115450, + "id": 121432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 113420, - "src": "4460:13:153", + "referencedDeclaration": 119402, + "src": "4460:13:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 115475, + "id": 121457, "isConstant": false, "isLValue": false, "isPure": false, @@ -8059,7 +8059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4460:538:153", + "src": "4460:538:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8067,22 +8067,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4439:559:153" + "src": "4439:559:175" }, { "expression": { - "id": 115486, + "id": 121468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 115477, + "id": 121459, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115442, - "src": "5012:6:153", + "referencedDeclaration": 121424, + "src": "5012:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8096,14 +8096,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 115482, + "id": 121464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5062:31:153", + "src": "5062:31:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8111,12 +8111,12 @@ "value": "data:application/json;base64," }, { - "id": 115483, + "id": 121465, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115448, - "src": "5095:4:153", + "referencedDeclaration": 121430, + "src": "5095:4:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8135,31 +8135,31 @@ } ], "expression": { - "id": 115480, + "id": 121462, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5045:3:153", + "src": "5045:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 115481, + "id": 121463, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5045:16:153", + "src": "5045:16:175", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 115484, + "id": 121466, "isConstant": false, "isLValue": false, "isPure": false, @@ -8167,7 +8167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5045:55:153", + "src": "5045:55:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8182,26 +8182,26 @@ "typeString": "bytes memory" } ], - "id": 115479, + "id": 121461, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5021:6:153", + "src": "5021:6:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 115478, + "id": 121460, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5021:6:153", + "src": "5021:6:175", "typeDescriptions": {} } }, - "id": 115485, + "id": 121467, "isConstant": false, "isLValue": false, "isPure": false, @@ -8209,65 +8209,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5021:93:153", + "src": "5021:93:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5012:102:153", + "src": "5012:102:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 115487, + "id": 121469, "nodeType": "ExpressionStatement", - "src": "5012:102:153" + "src": "5012:102:175" }, { "expression": { - "id": 115488, + "id": 121470, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115442, - "src": "5136:6:153", + "referencedDeclaration": 121424, + "src": "5136:6:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 115405, - "id": 115489, + "functionReturnParameters": 121387, + "id": 121471, "nodeType": "Return", - "src": "5129:13:153" + "src": "5129:13:175" } ] }, - "id": 115491, + "id": 121473, "nodeType": "IfStatement", - "src": "4027:1126:153", + "src": "4027:1126:175", "trueBody": { - "id": 115431, + "id": 121413, "nodeType": "Block", - "src": "4066:227:153", + "src": "4066:227:175", "statements": [ { "assignments": [ - 115419 + 121401 ], "declarations": [ { "constant": false, - "id": 115419, + "id": 121401, "mutability": "mutable", "name": "r", - "nameLocation": "4094:1:153", + "nameLocation": "4094:1:175", "nodeType": "VariableDeclaration", - "scope": 115431, - "src": "4080:15:153", + "scope": 121413, + "src": "4080:15:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8275,10 +8275,10 @@ "typeString": "string" }, "typeName": { - "id": 115418, + "id": 121400, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4080:6:153", + "src": "4080:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8287,21 +8287,21 @@ "visibility": "internal" } ], - "id": 115428, + "id": 121410, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 115424, + "id": 121406, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4160:31:153", + "src": "4160:31:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8309,12 +8309,12 @@ "value": "data:application/json;base64," }, { - "id": 115425, + "id": 121407, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114987, - "src": "4213:15:153", + "referencedDeclaration": 120969, + "src": "4213:15:175", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8333,31 +8333,31 @@ } ], "expression": { - "id": 115422, + "id": 121404, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4122:3:153", + "src": "4122:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 115423, + "id": 121405, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4122:16:153", + "src": "4122:16:175", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 115426, + "id": 121408, "isConstant": false, "isLValue": false, "isPure": false, @@ -8365,7 +8365,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4122:124:153", + "src": "4122:124:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8380,26 +8380,26 @@ "typeString": "bytes memory" } ], - "id": 115421, + "id": 121403, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4098:6:153", + "src": "4098:6:175", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 115420, + "id": 121402, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4098:6:153", + "src": "4098:6:175", "typeDescriptions": {} } }, - "id": 115427, + "id": 121409, "isConstant": false, "isLValue": false, "isPure": false, @@ -8407,7 +8407,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4098:162:153", + "src": "4098:162:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8415,25 +8415,25 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4080:180:153" + "src": "4080:180:175" }, { "expression": { - "id": 115429, + "id": 121411, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115419, - "src": "4281:1:153", + "referencedDeclaration": 121401, + "src": "4281:1:175", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 115405, - "id": 115430, + "functionReturnParameters": 121387, + "id": 121412, "nodeType": "Return", - "src": "4274:8:153" + "src": "4274:8:175" } ] } @@ -8441,33 +8441,33 @@ ] }, "baseFunctions": [ - 68658 + 71703 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "3884:8:153", + "nameLocation": "3884:8:175", "overrides": { - "id": 115402, + "id": 121384, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3937:8:153" + "src": "3937:8:175" }, "parameters": { - "id": 115401, + "id": 121383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115400, + "id": 121382, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3910:8:153", + "nameLocation": "3910:8:175", "nodeType": "VariableDeclaration", - "scope": 115493, - "src": "3902:16:153", + "scope": 121475, + "src": "3902:16:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8475,10 +8475,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115399, + "id": 121381, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3902:7:153", + "src": "3902:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8487,21 +8487,21 @@ "visibility": "internal" } ], - "src": "3892:32:153" + "src": "3892:32:175" }, "returnParameters": { - "id": 115405, + "id": 121387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115404, + "id": 121386, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115493, - "src": "3955:13:153", + "scope": 121475, + "src": "3955:13:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8509,10 +8509,10 @@ "typeString": "string" }, "typeName": { - "id": 115403, + "id": 121385, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3955:6:153", + "src": "3955:6:175", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8521,86 +8521,86 @@ "visibility": "internal" } ], - "src": "3954:15:153" + "src": "3954:15:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 115541, + "id": 121523, "nodeType": "FunctionDefinition", - "src": "5169:372:153", + "src": "5169:372:175", "nodes": [], "body": { - "id": 115540, + "id": 121522, "nodeType": "Block", - "src": "5280:261:153", + "src": "5280:261:175", "nodes": [], "statements": [ { "assignments": [ - 115512 + 121494 ], "declarations": [ { "constant": false, - "id": 115512, + "id": 121494, "mutability": "mutable", "name": "user", - "nameLocation": "5302:4:153", + "nameLocation": "5302:4:175", "nodeType": "VariableDeclaration", - "scope": 115540, - "src": "5290:16:153", + "scope": 121522, + "src": "5290:16:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 115511, + "id": 121493, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 115510, + "id": 121492, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 114979, - "src": "5290:4:153" + "referencedDeclaration": 120961, + "src": "5290:4:175" }, - "referencedDeclaration": 114979, - "src": "5290:4:153", + "referencedDeclaration": 120961, + "src": "5290:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage_ptr", + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 115516, + "id": 121498, "initialValue": { "baseExpression": { - "id": 115513, + "id": 121495, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115029, - "src": "5309:8:153", + "referencedDeclaration": 121011, + "src": "5309:8:175", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$114979_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 115515, + "id": 121497, "indexExpression": { - "id": 115514, + "id": 121496, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115495, - "src": "5318:8:153", + "referencedDeclaration": 121477, + "src": "5318:8:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8611,52 +8611,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5309:18:153", + "src": "5309:18:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_storage", + "typeIdentifier": "t_struct$_User_$120961_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5290:37:153" + "src": "5290:37:175" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" }, - "id": 115522, + "id": 121504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 115518, + "id": 121500, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5345:4:153", + "referencedDeclaration": 121494, + "src": "5345:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115519, + "id": 121501, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 114978, - "src": "5345:10:153", + "referencedDeclaration": 120960, + "src": "5345:10:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, @@ -8664,32 +8664,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 115520, + "id": 121502, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114661, - "src": "5359:11:153", + "referencedDeclaration": 120643, + "src": "5359:11:175", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$114661_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 115521, + "id": 121503, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 114660, - "src": "5359:21:153", + "referencedDeclaration": 120642, + "src": "5359:21:175", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$114661", + "typeIdentifier": "t_enum$_RandomState_$120643", "typeString": "enum MRandom.RandomState" } }, - "src": "5345:35:153", + "src": "5345:35:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8697,14 +8697,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 115523, + "id": 121505, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5381:17:153", + "src": "5381:17:175", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -8723,7 +8723,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 115517, + "id": 121499, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8731,13 +8731,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5337:7:153", + "src": "5337:7:175", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 115524, + "id": 121506, "isConstant": false, "isLValue": false, "isPure": false, @@ -8745,42 +8745,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5337:62:153", + "src": "5337:62:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 115525, + "id": 121507, "nodeType": "ExpressionStatement", - "src": "5337:62:153" + "src": "5337:62:175" }, { "expression": { "components": [ { "expression": { - "id": 115526, + "id": 121508, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5416:4:153", + "referencedDeclaration": 121494, + "src": "5416:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115527, + "id": 121509, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 114965, - "src": "5416:7:153", + "referencedDeclaration": 120947, + "src": "5416:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8788,26 +8788,26 @@ }, { "expression": { - "id": 115528, + "id": 121510, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5433:4:153", + "referencedDeclaration": 121494, + "src": "5433:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115529, + "id": 121511, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 114967, - "src": "5433:11:153", + "referencedDeclaration": 120949, + "src": "5433:11:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8815,26 +8815,26 @@ }, { "expression": { - "id": 115530, + "id": 121512, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5454:4:153", + "referencedDeclaration": 121494, + "src": "5454:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115531, + "id": 121513, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 114969, - "src": "5454:16:153", + "referencedDeclaration": 120951, + "src": "5454:16:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8842,26 +8842,26 @@ }, { "expression": { - "id": 115532, + "id": 121514, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5480:4:153", + "referencedDeclaration": 121494, + "src": "5480:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115533, + "id": 121515, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 114971, - "src": "5480:10:153", + "referencedDeclaration": 120953, + "src": "5480:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8869,26 +8869,26 @@ }, { "expression": { - "id": 115534, + "id": 121516, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5500:4:153", + "referencedDeclaration": 121494, + "src": "5500:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115535, + "id": 121517, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 114973, - "src": "5500:13:153", + "referencedDeclaration": 120955, + "src": "5500:13:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8896,49 +8896,49 @@ }, { "expression": { - "id": 115536, + "id": 121518, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115512, - "src": "5523:4:153", + "referencedDeclaration": 121494, + "src": "5523:4:175", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$114979_memory_ptr", + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 115537, + "id": 121519, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 114975, - "src": "5523:10:153", + "referencedDeclaration": 120957, + "src": "5523:10:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 115538, + "id": 121520, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5415:119:153", + "src": "5415:119:175", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 115509, - "id": 115539, + "functionReturnParameters": 121491, + "id": 121521, "nodeType": "Return", - "src": "5409:125:153" + "src": "5409:125:175" } ] }, @@ -8947,20 +8947,20 @@ "kind": "function", "modifiers": [], "name": "getStructInfo", - "nameLocation": "5178:13:153", + "nameLocation": "5178:13:175", "parameters": { - "id": 115496, + "id": 121478, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115495, + "id": 121477, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5200:8:153", + "nameLocation": "5200:8:175", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5192:16:153", + "scope": 121523, + "src": "5192:16:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8968,10 +8968,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115494, + "id": 121476, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5192:7:153", + "src": "5192:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8980,21 +8980,21 @@ "visibility": "internal" } ], - "src": "5191:18:153" + "src": "5191:18:175" }, "returnParameters": { - "id": 115509, + "id": 121491, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115498, + "id": 121480, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5232:7:153", + "scope": 121523, + "src": "5232:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9002,10 +9002,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115497, + "id": 121479, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5232:7:153", + "src": "5232:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9015,13 +9015,13 @@ }, { "constant": false, - "id": 115500, + "id": 121482, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5240:7:153", + "scope": 121523, + "src": "5240:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9029,10 +9029,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115499, + "id": 121481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5240:7:153", + "src": "5240:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9042,13 +9042,13 @@ }, { "constant": false, - "id": 115502, + "id": 121484, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5248:7:153", + "scope": 121523, + "src": "5248:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9056,10 +9056,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115501, + "id": 121483, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5248:7:153", + "src": "5248:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9069,13 +9069,13 @@ }, { "constant": false, - "id": 115504, + "id": 121486, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5256:7:153", + "scope": 121523, + "src": "5256:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9083,10 +9083,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115503, + "id": 121485, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5256:7:153", + "src": "5256:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9096,13 +9096,13 @@ }, { "constant": false, - "id": 115506, + "id": 121488, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5264:7:153", + "scope": 121523, + "src": "5264:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9110,10 +9110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115505, + "id": 121487, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5264:7:153", + "src": "5264:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9123,13 +9123,13 @@ }, { "constant": false, - "id": 115508, + "id": 121490, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115541, - "src": "5272:7:153", + "scope": 121523, + "src": "5272:7:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9137,10 +9137,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115507, + "id": 121489, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5272:7:153", + "src": "5272:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9149,38 +9149,38 @@ "visibility": "internal" } ], - "src": "5231:49:153" + "src": "5231:49:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 115605, + "id": 121587, "nodeType": "FunctionDefinition", - "src": "5547:482:153", + "src": "5547:482:175", "nodes": [], "body": { - "id": 115604, + "id": 121586, "nodeType": "Block", - "src": "5616:413:153", + "src": "5616:413:175", "nodes": [], "statements": [ { "assignments": [ - 115548 + 121530 ], "declarations": [ { "constant": false, - "id": 115548, + "id": 121530, "mutability": "mutable", "name": "balance", - "nameLocation": "5634:7:153", + "nameLocation": "5634:7:175", "nodeType": "VariableDeclaration", - "scope": 115604, - "src": "5626:15:153", + "scope": 121586, + "src": "5626:15:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9188,10 +9188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115547, + "id": 121529, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5626:7:153", + "src": "5626:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9200,30 +9200,30 @@ "visibility": "internal" } ], - "id": 115553, + "id": 121535, "initialValue": { "arguments": [ { "expression": { - "id": 115550, + "id": 121532, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5654:3:153", + "src": "5654:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 115551, + "id": 121533, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5654:10:153", + "src": "5654:10:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9237,18 +9237,18 @@ "typeString": "address" } ], - "id": 115549, + "id": 121531, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 68571, - "src": "5644:9:153", + "referencedDeclaration": 71616, + "src": "5644:9:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 115552, + "id": 121534, "isConstant": false, "isLValue": false, "isPure": false, @@ -9256,7 +9256,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5644:21:153", + "src": "5644:21:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9264,22 +9264,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5626:39:153" + "src": "5626:39:175" }, { "assignments": [ - 115558 + 121540 ], "declarations": [ { "constant": false, - "id": 115558, + "id": 121540, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "5692:8:153", + "nameLocation": "5692:8:175", "nodeType": "VariableDeclaration", - "scope": 115604, - "src": "5675:25:153", + "scope": 121586, + "src": "5675:25:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9288,18 +9288,18 @@ }, "typeName": { "baseType": { - "id": 115556, + "id": 121538, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5675:7:153", + "src": "5675:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115557, + "id": 121539, "nodeType": "ArrayTypeName", - "src": "5675:9:153", + "src": "5675:9:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9308,16 +9308,16 @@ "visibility": "internal" } ], - "id": 115564, + "id": 121546, "initialValue": { "arguments": [ { - "id": 115562, + "id": 121544, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115548, - "src": "5717:7:153", + "referencedDeclaration": 121530, + "src": "5717:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9331,38 +9331,38 @@ "typeString": "uint256" } ], - "id": 115561, + "id": 121543, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5703:13:153", + "src": "5703:13:175", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 115559, + "id": 121541, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5707:7:153", + "src": "5707:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115560, + "id": 121542, "nodeType": "ArrayTypeName", - "src": "5707:9:153", + "src": "5707:9:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 115563, + "id": 121545, "isConstant": false, "isLValue": false, "isPure": false, @@ -9370,7 +9370,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5703:22:153", + "src": "5703:22:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -9378,22 +9378,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5675:50:153" + "src": "5675:50:175" }, { "assignments": [ - 115566 + 121548 ], "declarations": [ { "constant": false, - "id": 115566, + "id": 121548, "mutability": "mutable", "name": "index", - "nameLocation": "5743:5:153", + "nameLocation": "5743:5:175", "nodeType": "VariableDeclaration", - "scope": 115604, - "src": "5735:13:153", + "scope": 121586, + "src": "5735:13:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9401,10 +9401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115565, + "id": 121547, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5735:7:153", + "src": "5735:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9413,15 +9413,15 @@ "visibility": "internal" } ], - "id": 115567, + "id": 121549, "nodeType": "VariableDeclarationStatement", - "src": "5735:13:153" + "src": "5735:13:175" }, { "body": { - "id": 115600, + "id": 121582, "nodeType": "Block", - "src": "5786:212:153", + "src": "5786:212:175", "statements": [ { "condition": { @@ -9429,7 +9429,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 115582, + "id": 121564, "isConstant": false, "isLValue": false, "isPure": false, @@ -9437,12 +9437,12 @@ "leftExpression": { "arguments": [ { - "id": 115578, + "id": 121560, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115569, - "src": "5811:1:153", + "referencedDeclaration": 121551, + "src": "5811:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9456,18 +9456,18 @@ "typeString": "uint256" } ], - "id": 115577, + "id": 121559, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 68599, - "src": "5803:7:153", + "referencedDeclaration": 71644, + "src": "5803:7:175", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 115579, + "id": 121561, "isConstant": false, "isLValue": false, "isPure": false, @@ -9475,7 +9475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5803:10:153", + "src": "5803:10:175", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9486,72 +9486,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 115580, + "id": 121562, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5817:3:153", + "src": "5817:3:175", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 115581, + "id": 121563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5817:10:153", + "src": "5817:10:175", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5803:24:153", + "src": "5803:24:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 115599, + "id": 121581, "nodeType": "IfStatement", - "src": "5800:188:153", + "src": "5800:188:175", "trueBody": { - "id": 115598, + "id": 121580, "nodeType": "Block", - "src": "5828:160:153", + "src": "5828:160:175", "statements": [ { "expression": { - "id": 115587, + "id": 121569, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 115583, + "id": 121565, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115558, - "src": "5846:8:153", + "referencedDeclaration": 121540, + "src": "5846:8:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 115585, + "id": 121567, "indexExpression": { - "id": 115584, + "id": 121566, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115566, - "src": "5855:5:153", + "referencedDeclaration": 121548, + "src": "5855:5:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9562,7 +9562,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5846:15:153", + "src": "5846:15:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9571,30 +9571,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 115586, + "id": 121568, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115569, - "src": "5864:1:153", + "referencedDeclaration": 121551, + "src": "5864:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5846:19:153", + "src": "5846:19:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115588, + "id": 121570, "nodeType": "ExpressionStatement", - "src": "5846:19:153" + "src": "5846:19:175" }, { "expression": { - "id": 115590, + "id": 121572, "isConstant": false, "isLValue": false, "isPure": false, @@ -9602,14 +9602,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5883:7:153", + "src": "5883:7:175", "subExpression": { - "id": 115589, + "id": 121571, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115566, - "src": "5883:5:153", + "referencedDeclaration": 121548, + "src": "5883:5:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9620,9 +9620,9 @@ "typeString": "uint256" } }, - "id": 115591, + "id": 121573, "nodeType": "ExpressionStatement", - "src": "5883:7:153" + "src": "5883:7:175" }, { "condition": { @@ -9630,18 +9630,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115594, + "id": 121576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115592, + "id": 121574, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115566, - "src": "5911:5:153", + "referencedDeclaration": 121548, + "src": "5911:5:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9650,35 +9650,35 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 115593, + "id": 121575, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115548, - "src": "5920:7:153", + "referencedDeclaration": 121530, + "src": "5920:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5911:16:153", + "src": "5911:16:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 115597, + "id": 121579, "nodeType": "IfStatement", - "src": "5908:66:153", + "src": "5908:66:175", "trueBody": { - "id": 115596, + "id": 121578, "nodeType": "Block", - "src": "5928:46:153", + "src": "5928:46:175", "statements": [ { - "id": 115595, + "id": 121577, "nodeType": "Break", - "src": "5950:5:153" + "src": "5950:5:175" } ] } @@ -9693,18 +9693,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 115573, + "id": 121555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 115571, + "id": 121553, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115569, - "src": "5772:1:153", + "referencedDeclaration": 121551, + "src": "5772:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9713,38 +9713,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 115572, + "id": 121554, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 114981, - "src": "5774:7:153", + "referencedDeclaration": 120963, + "src": "5774:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5772:9:153", + "src": "5772:9:175", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 115601, + "id": 121583, "initializationExpression": { "assignments": [ - 115569 + 121551 ], "declarations": [ { "constant": false, - "id": 115569, + "id": 121551, "mutability": "mutable", "name": "i", - "nameLocation": "5770:1:153", + "nameLocation": "5770:1:175", "nodeType": "VariableDeclaration", - "scope": 115601, - "src": "5762:9:153", + "scope": 121583, + "src": "5762:9:175", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9752,10 +9752,10 @@ "typeString": "uint256" }, "typeName": { - "id": 115568, + "id": 121550, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5762:7:153", + "src": "5762:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9764,13 +9764,13 @@ "visibility": "internal" } ], - "id": 115570, + "id": 121552, "nodeType": "VariableDeclarationStatement", - "src": "5762:9:153" + "src": "5762:9:175" }, "loopExpression": { "expression": { - "id": 115575, + "id": 121557, "isConstant": false, "isLValue": false, "isPure": false, @@ -9778,14 +9778,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5782:3:153", + "src": "5782:3:175", "subExpression": { - "id": 115574, + "id": 121556, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115569, - "src": "5782:1:153", + "referencedDeclaration": 121551, + "src": "5782:1:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9796,30 +9796,30 @@ "typeString": "uint256" } }, - "id": 115576, + "id": 121558, "nodeType": "ExpressionStatement", - "src": "5782:3:153" + "src": "5782:3:175" }, "nodeType": "ForStatement", - "src": "5758:240:153" + "src": "5758:240:175" }, { "expression": { - "id": 115602, + "id": 121584, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 115558, - "src": "6014:8:153", + "referencedDeclaration": 121540, + "src": "6014:8:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 115546, - "id": 115603, + "functionReturnParameters": 121528, + "id": 121585, "nodeType": "Return", - "src": "6007:15:153" + "src": "6007:15:175" } ] }, @@ -9828,26 +9828,26 @@ "kind": "function", "modifiers": [], "name": "getUserTokenIdList", - "nameLocation": "5556:18:153", + "nameLocation": "5556:18:175", "parameters": { - "id": 115542, + "id": 121524, "nodeType": "ParameterList", "parameters": [], - "src": "5574:2:153" + "src": "5574:2:175" }, "returnParameters": { - "id": 115546, + "id": 121528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 115545, + "id": 121527, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 115605, - "src": "5599:16:153", + "scope": 121587, + "src": "5599:16:175", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9856,18 +9856,18 @@ }, "typeName": { "baseType": { - "id": 115543, + "id": 121525, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5599:7:153", + "src": "5599:7:175", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 115544, + "id": 121526, "nodeType": "ArrayTypeName", - "src": "5599:9:153", + "src": "5599:9:175", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9876,9 +9876,9 @@ "visibility": "internal" } ], - "src": "5598:18:153" + "src": "5598:18:175" }, - "scope": 115606, + "scope": 121588, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -9888,27 +9888,27 @@ "baseContracts": [ { "baseName": { - "id": 114953, + "id": 120935, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 69380, - "src": "181:6:153" + "referencedDeclaration": 72425, + "src": "181:6:175" }, - "id": 114954, + "id": 120936, "nodeType": "InheritanceSpecifier", - "src": "181:6:153" + "src": "181:6:175" }, { "baseName": { - "id": 114955, + "id": 120937, "name": "MRandom", "nodeType": "IdentifierPath", - "referencedDeclaration": 114852, - "src": "189:7:153" + "referencedDeclaration": 120834, + "src": "189:7:175" }, - "id": 114956, + "id": 120938, "nodeType": "InheritanceSpecifier", - "src": "189:7:153" + "src": "189:7:175" } ], "canonicalName": "MUser", @@ -9916,22 +9916,22 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 115606, - 114852, - 69380, - 118702, - 118657, - 119078, - 159485, - 119054 + 121588, + 120834, + 72425, + 131813, + 131768, + 132189, + 174470, + 132165 ], "name": "MUser", - "nameLocation": "172:5:153", - "scope": 115607, + "nameLocation": "172:5:175", + "scope": 121589, "usedErrors": [] } ], "license": "MIT" }, - "id": 153 + "id": 175 } \ No newline at end of file From d4e814c293e83ceea0c791b4693552c15c057f86 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 21:42:21 +0800 Subject: [PATCH 16/48] deploy new contract --- packages/contracts/worlds.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index fd5e43da..7a2ee418 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34" }, "33784": { - "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34", - "blockNumber": 84775 + "address": "0x30fe533CfbfF83914e2D5c029bE1f82D8a04Db92", + "blockNumber": 189346 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 0989e5a6c2bd725b63a715371acfe5034cc96ae1 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 21:45:14 +0800 Subject: [PATCH 17/48] aa --- packages/contracts/worlds.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 7a2ee418..56ae6be2 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34" }, "33784": { - "address": "0x30fe533CfbfF83914e2D5c029bE1f82D8a04Db92", - "blockNumber": 189346 + "address": "0xda2b961c767CC969a647B4017e8BfF3a58F56562", + "blockNumber": 189537 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From bd188888b523c3ae253163621ce45a434c1c3d0e Mon Sep 17 00:00:00 2001 From: lewis <> Date: Thu, 9 Nov 2023 22:20:41 +0800 Subject: [PATCH 18/48] chore: optimze BattleSystem file content --- packages/contracts/src/systems/BattleSystem.sol | 9 +++------ packages/contracts/worlds.json | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/contracts/src/systems/BattleSystem.sol b/packages/contracts/src/systems/BattleSystem.sol index c839e554..ccb19e86 100644 --- a/packages/contracts/src/systems/BattleSystem.sol +++ b/packages/contracts/src/systems/BattleSystem.sol @@ -6,10 +6,8 @@ import { System } from "@latticexyz/world/src/System.sol"; import { BattleState, Buff, PlayerState, BattleEndType } from "@codegen/Types.sol"; import { GameConfig, BoxListData, BattleList, BattleListData, Player, PlayerData, PlayerLocationLock, BoxList } from "@codegen/Tables.sol"; import { BattleUtils } from "./library/BattleUtils.sol"; -import { GAME_CONFIG_KEY, BATTLE_CONFIG_KEY } from "../Constants.sol"; - -import "forge-std/console.sol"; +// import "forge-std/console.sol"; contract BattleSystem is System { event BattleReveal(uint256 battleId, address sender); @@ -140,8 +138,7 @@ contract BattleSystem is System { PlayerLocationLock.set(battle.attacker, block.timestamp); // console.log(" attacker escape success"); - - emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.attacker); + // emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.attacker); } else { // escape fail, cause hurt uint256 defenderAttackPower = BattleUtils.getAttackPower(defenderBuff, attackerBuff, defenderFirepower); @@ -150,7 +147,7 @@ contract BattleSystem is System { BattleList.setWinner(_battleId, battle.attacker); BattleList.setIsEnd(_battleId, true); - emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.attacker); + // emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.attacker); } } } diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 67414e53..bdede755 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x2428109A9e775E4406fe079132F216dc77117333" }, "33784": { - "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34", - "blockNumber": 84775 + "address": "0x2a810409872AfC346F9B5b26571Fd6eC42EA4849", + "blockNumber": 191547 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 0b1ae16d7e1139924408bd5e1ba75a7c99af6978 Mon Sep 17 00:00:00 2001 From: lewis <> Date: Thu, 9 Nov 2023 22:57:03 +0800 Subject: [PATCH 19/48] chore: optimze battle prepare --- packages/contracts/out/IWorld.sol/IWorld.json | 368 +- packages/contracts/out/Loot.sol/MLoot.json | 5084 ++++++++--------- .../contracts/out/Plugin.sol/MPlugin.json | 558 +- packages/contracts/out/User.sol/MUser.json | 3460 +++++------ .../src/systems/BattlePrepareSystem.sol | 5 +- packages/contracts/worlds.json | 5 - 6 files changed, 4739 insertions(+), 4741 deletions(-) diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json index a2d71dc9..850dfdc8 100644 --- a/packages/contracts/out/IWorld.sol/IWorld.json +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -3451,49 +3451,49 @@ }, "ast": { "absolutePath": "src/codegen/world/IWorld.sol", - "id": 119346, + "id": 111053, "exportedSymbols": { "IBaseWorld": [ - 71348 + 29089 ], "IBattleForceSystem": [ - 119076 + 110783 ], "IBattleInfoSystem": [ - 119088 + 110795 ], "IBattlePrepareSystem": [ - 119122 + 110829 ], "IBattleSystem": [ - 119141 + 110848 ], "IBoxSystem": [ - 119163 + 110870 ], "IGMSystem": [ - 119199 + 110906 ], "IGameSystem": [ - 119205 + 110912 ], "IMoveSystem": [ - 119220 + 110927 ], "IPlayerSystem": [ - 119301 + 111008 ], "IWorld": [ - 119345 + 111052 ] }, "nodeType": "SourceUnit", - "src": "32:952:169", + "src": "32:952:143", "nodes": [ { - "id": 119303, + "id": 111010, "nodeType": "PragmaDirective", - "src": "32:24:169", + "src": "32:24:143", "nodes": [], "literals": [ "solidity", @@ -3503,24 +3503,24 @@ ] }, { - "id": 119305, + "id": 111012, "nodeType": "ImportDirective", - "src": "107:77:169", + "src": "107:77:143", "nodes": [], "absolutePath": "node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol", "file": "@latticexyz/world/src/interfaces/IBaseWorld.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 71349, + "scope": 111053, + "sourceUnit": 29090, "symbolAliases": [ { "foreign": { - "id": 119304, + "id": 111011, "name": "IBaseWorld", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71348, - "src": "116:10:169", + "referencedDeclaration": 29089, + "src": "116:10:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3529,24 +3529,24 @@ "unitAlias": "" }, { - "id": 119307, + "id": 111014, "nodeType": "ImportDirective", - "src": "186:62:169", + "src": "186:62:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleForceSystem.sol", "file": "./IBattleForceSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119077, + "scope": 111053, + "sourceUnit": 110784, "symbolAliases": [ { "foreign": { - "id": 119306, + "id": 111013, "name": "IBattleForceSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119076, - "src": "195:18:169", + "referencedDeclaration": 110783, + "src": "195:18:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3555,24 +3555,24 @@ "unitAlias": "" }, { - "id": 119309, + "id": 111016, "nodeType": "ImportDirective", - "src": "249:60:169", + "src": "249:60:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleInfoSystem.sol", "file": "./IBattleInfoSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119089, + "scope": 111053, + "sourceUnit": 110796, "symbolAliases": [ { "foreign": { - "id": 119308, + "id": 111015, "name": "IBattleInfoSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119088, - "src": "258:17:169", + "referencedDeclaration": 110795, + "src": "258:17:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3581,24 +3581,24 @@ "unitAlias": "" }, { - "id": 119311, + "id": 111018, "nodeType": "ImportDirective", - "src": "310:66:169", + "src": "310:66:143", "nodes": [], "absolutePath": "src/codegen/world/IBattlePrepareSystem.sol", "file": "./IBattlePrepareSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119123, + "scope": 111053, + "sourceUnit": 110830, "symbolAliases": [ { "foreign": { - "id": 119310, + "id": 111017, "name": "IBattlePrepareSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119122, - "src": "319:20:169", + "referencedDeclaration": 110829, + "src": "319:20:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3607,24 +3607,24 @@ "unitAlias": "" }, { - "id": 119313, + "id": 111020, "nodeType": "ImportDirective", - "src": "377:52:169", + "src": "377:52:143", "nodes": [], "absolutePath": "src/codegen/world/IBattleSystem.sol", "file": "./IBattleSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119142, + "scope": 111053, + "sourceUnit": 110849, "symbolAliases": [ { "foreign": { - "id": 119312, + "id": 111019, "name": "IBattleSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119141, - "src": "386:13:169", + "referencedDeclaration": 110848, + "src": "386:13:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3633,24 +3633,24 @@ "unitAlias": "" }, { - "id": 119315, + "id": 111022, "nodeType": "ImportDirective", - "src": "430:46:169", + "src": "430:46:143", "nodes": [], "absolutePath": "src/codegen/world/IBoxSystem.sol", "file": "./IBoxSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119164, + "scope": 111053, + "sourceUnit": 110871, "symbolAliases": [ { "foreign": { - "id": 119314, + "id": 111021, "name": "IBoxSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119163, - "src": "439:10:169", + "referencedDeclaration": 110870, + "src": "439:10:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3659,24 +3659,24 @@ "unitAlias": "" }, { - "id": 119317, + "id": 111024, "nodeType": "ImportDirective", - "src": "477:48:169", + "src": "477:48:143", "nodes": [], "absolutePath": "src/codegen/world/IGameSystem.sol", "file": "./IGameSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119206, + "scope": 111053, + "sourceUnit": 110913, "symbolAliases": [ { "foreign": { - "id": 119316, + "id": 111023, "name": "IGameSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119205, - "src": "486:11:169", + "referencedDeclaration": 110912, + "src": "486:11:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3685,24 +3685,24 @@ "unitAlias": "" }, { - "id": 119319, + "id": 111026, "nodeType": "ImportDirective", - "src": "526:44:169", + "src": "526:44:143", "nodes": [], "absolutePath": "src/codegen/world/IGMSystem.sol", "file": "./IGMSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119200, + "scope": 111053, + "sourceUnit": 110907, "symbolAliases": [ { "foreign": { - "id": 119318, + "id": 111025, "name": "IGMSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119199, - "src": "535:9:169", + "referencedDeclaration": 110906, + "src": "535:9:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3711,24 +3711,24 @@ "unitAlias": "" }, { - "id": 119321, + "id": 111028, "nodeType": "ImportDirective", - "src": "571:48:169", + "src": "571:48:143", "nodes": [], "absolutePath": "src/codegen/world/IMoveSystem.sol", "file": "./IMoveSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119221, + "scope": 111053, + "sourceUnit": 110928, "symbolAliases": [ { "foreign": { - "id": 119320, + "id": 111027, "name": "IMoveSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119220, - "src": "580:11:169", + "referencedDeclaration": 110927, + "src": "580:11:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3737,24 +3737,24 @@ "unitAlias": "" }, { - "id": 119323, + "id": 111030, "nodeType": "ImportDirective", - "src": "620:52:169", + "src": "620:52:143", "nodes": [], "absolutePath": "src/codegen/world/IPlayerSystem.sol", "file": "./IPlayerSystem.sol", "nameLocation": "-1:-1:-1", - "scope": 119346, - "sourceUnit": 119302, + "scope": 111053, + "sourceUnit": 111009, "symbolAliases": [ { "foreign": { - "id": 119322, + "id": 111029, "name": "IPlayerSystem", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119301, - "src": "629:13:169", + "referencedDeclaration": 111008, + "src": "629:13:143", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -3763,195 +3763,195 @@ "unitAlias": "" }, { - "id": 119345, + "id": 111052, "nodeType": "ContractDefinition", - "src": "788:195:169", + "src": "788:195:143", "nodes": [], "abstract": false, "baseContracts": [ { "baseName": { - "id": 119325, + "id": 111032, "name": "IBaseWorld", "nodeType": "IdentifierPath", - "referencedDeclaration": 71348, - "src": "810:10:169" + "referencedDeclaration": 29089, + "src": "810:10:143" }, - "id": 119326, + "id": 111033, "nodeType": "InheritanceSpecifier", - "src": "810:10:169" + "src": "810:10:143" }, { "baseName": { - "id": 119327, + "id": 111034, "name": "IBattleForceSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119076, - "src": "824:18:169" + "referencedDeclaration": 110783, + "src": "824:18:143" }, - "id": 119328, + "id": 111035, "nodeType": "InheritanceSpecifier", - "src": "824:18:169" + "src": "824:18:143" }, { "baseName": { - "id": 119329, + "id": 111036, "name": "IBattleInfoSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119088, - "src": "846:17:169" + "referencedDeclaration": 110795, + "src": "846:17:143" }, - "id": 119330, + "id": 111037, "nodeType": "InheritanceSpecifier", - "src": "846:17:169" + "src": "846:17:143" }, { "baseName": { - "id": 119331, + "id": 111038, "name": "IBattlePrepareSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119122, - "src": "867:20:169" + "referencedDeclaration": 110829, + "src": "867:20:143" }, - "id": 119332, + "id": 111039, "nodeType": "InheritanceSpecifier", - "src": "867:20:169" + "src": "867:20:143" }, { "baseName": { - "id": 119333, + "id": 111040, "name": "IBattleSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119141, - "src": "891:13:169" + "referencedDeclaration": 110848, + "src": "891:13:143" }, - "id": 119334, + "id": 111041, "nodeType": "InheritanceSpecifier", - "src": "891:13:169" + "src": "891:13:143" }, { "baseName": { - "id": 119335, + "id": 111042, "name": "IBoxSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119163, - "src": "908:10:169" + "referencedDeclaration": 110870, + "src": "908:10:143" }, - "id": 119336, + "id": 111043, "nodeType": "InheritanceSpecifier", - "src": "908:10:169" + "src": "908:10:143" }, { "baseName": { - "id": 119337, + "id": 111044, "name": "IGameSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119205, - "src": "922:11:169" + "referencedDeclaration": 110912, + "src": "922:11:143" }, - "id": 119338, + "id": 111045, "nodeType": "InheritanceSpecifier", - "src": "922:11:169" + "src": "922:11:143" }, { "baseName": { - "id": 119339, + "id": 111046, "name": "IGMSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119199, - "src": "937:9:169" + "referencedDeclaration": 110906, + "src": "937:9:143" }, - "id": 119340, + "id": 111047, "nodeType": "InheritanceSpecifier", - "src": "937:9:169" + "src": "937:9:143" }, { "baseName": { - "id": 119341, + "id": 111048, "name": "IMoveSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119220, - "src": "950:11:169" + "referencedDeclaration": 110927, + "src": "950:11:143" }, - "id": 119342, + "id": 111049, "nodeType": "InheritanceSpecifier", - "src": "950:11:169" + "src": "950:11:143" }, { "baseName": { - "id": 119343, + "id": 111050, "name": "IPlayerSystem", "nodeType": "IdentifierPath", - "referencedDeclaration": 119301, - "src": "965:13:169" + "referencedDeclaration": 111008, + "src": "965:13:143" }, - "id": 119344, + "id": 111051, "nodeType": "InheritanceSpecifier", - "src": "965:13:169" + "src": "965:13:143" } ], "canonicalName": "IWorld", "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 119324, + "id": 111031, "nodeType": "StructuredDocumentation", - "src": "674:113:169", + "src": "674:113:143", "text": " The IWorld interface includes all systems dynamically added to the World\n during the deploy process." }, "fullyImplemented": false, "linearizedBaseContracts": [ - 119345, - 119301, - 119220, - 119199, - 119205, - 119163, - 119141, - 119122, - 119088, - 119076, - 71348, - 130606, - 130515, - 130499, - 130502, - 130554, - 174264, - 130544, - 130533, - 64435, - 127772, - 64393, - 64426, - 64399, - 64370, - 64256 + 111052, + 111008, + 110927, + 110906, + 110912, + 110870, + 110848, + 110829, + 110795, + 110783, + 29089, + 122300, + 122209, + 122193, + 122196, + 122248, + 132167, + 122238, + 122227, + 22176, + 119466, + 22134, + 22167, + 22140, + 22111, + 21997 ], "name": "IWorld", - "nameLocation": "798:6:169", - "scope": 119346, + "nameLocation": "798:6:143", + "scope": 111053, "usedErrors": [ - 127737, - 127743, - 127745, - 127747, - 127753, - 127759, - 127765, - 127771, - 174233, - 174237, - 174243, - 174247, - 174251, - 174255, - 174259, - 174263 + 119431, + 119437, + 119439, + 119441, + 119447, + 119453, + 119459, + 119465, + 132136, + 132140, + 132146, + 132150, + 132154, + 132158, + 132162, + 132166 ] } ], "license": "MIT" }, - "id": 169 + "id": 143 } \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json index 6328c2ea..a645c093 100644 --- a/packages/contracts/out/Loot.sol/MLoot.json +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -698,12 +698,12 @@ ], "bytecode": { "object": "0x60096102c0818152682bb0b93430b6b6b2b960b91b6102e0526080908152600c6103009081526b28bab0b93a32b939ba30b33360a11b6103205260a05260046103408181526313585d5b60e21b6103605260c052610380818152634d61636560e01b6103a05260e0526103c08181526321b63ab160e11b6103e052610100526006610400908152654b6174616e6160d01b61042052610120526008610440818152672330b631b434b7b760c11b61046052610140526104808181526729b1b4b6b4ba30b960c11b6104a05261016052600a6104c081815269131bdb99c814dddbdc9960b21b6104e05261018052600b6105009081526a14da1bdc9d0814dddbdc9960aa1b610520526101a0526105408181526911da1bdcdd0815d85b9960b21b610560526101c0526105809081526911dc985d994815d85b9960b21b6105a0526101e0526105c084815268109bdb994815d85b9960ba1b6105e052610200526106008281526315d85b9960e21b6106205261022052610640908152674772696d6f69726560c01b6106605261024052610680928352684368726f6e69636c6560b81b6106a052610260929092526106c082815263546f6d6560e01b6106e0526102805261074060405261070091825263426f6f6b60e01b610720526102a091909152620001f190600090601262001ce5565b506040805161022081018252600b6101e082019081526a446976696e6520526f626560a81b61020083015281528151808301835260098082526853696c6b20526f626560b81b6020838101919091528084019290925283518085018552600a808252694c696e656e20526f626560b01b8285015284860191909152845180860186526004815263526f626560e01b81850152606085015284518086018652600581526414da1a5c9d60da1b818501526080850152845180860186528181526944656d6f6e204875736b60b01b8185015260a085015284518086018652601081526f223930b3b7b739b5b4b71020b936b7b960811b8185015260c085015284518086018652601581527f53747564646564204c6561746865722041726d6f7200000000000000000000008185015260e08501528451808601865260128152712430b932102632b0ba3432b91020b936b7b960711b8185015261010085015284518086018652600d81526c2632b0ba3432b91020b936b7b960991b8185015261012085015284518086018652600f8082526e486f6c79204368657374706c61746560881b828601526101408601919091528551808701875260118152704f726e617465204368657374706c61746560781b818601526101608601528551808701875282815269141b185d194813585a5b60b21b81860152610180860152855180870187529182526910da185a5b8813585a5b60b21b828501526101a0850191909152845180860190955290845268149a5b99c813585a5b60ba1b918401919091526101c082019290925262000448916001919062001d49565b506040805161022081018252600c6101e082019081526b416e6369656e742048656c6d60a01b610200830152815281518083018352600b8082526a4f726e6174652048656c6d60a81b6020838101919091528084019290925283518085018552600a8082526947726561742048656c6d60b01b82850152848601919091528451808601865260098082526846756c6c2048656c6d60b81b8286015260608601919091528551808701875260048082526348656c6d60e01b828701526080870191909152865180880188528481526a2232b6b7b71021b937bbb760a91b8187015260a087015286518088018852600e81526d223930b3b7b713b99021b937bbb760911b8187015260c08701528651808801885260078152660576172204361760cc1b8187015260e0870152865180880188528481526a04c656174686572204361760ac1b8187015261010087015286518088018852600381526204361760ec1b8187015261012087015286518088018852600581526421b937bbb760d91b81870152610140870152865180880188529384526a111a5d9a5b9948121bdbd960aa1b84860152610160860193909352855180870187529081526814da5b1ac8121bdbd960ba1b818501526101808501528451808601865290815269131a5b995b88121bdbd960b21b818401526101a08401528351808501909452835263121bdbd960e21b908301526101c08101919091526200066790600290600f62001d49565b506040805161022081018252600b6101e082018181526a13dc9b985d194810995b1d60aa1b610200840152825282518084018452600881526715d85c8810995b1d60c21b60208281019190915280840191909152835180850185529182526a141b185d19590810995b1d60aa1b82820152828401919091528251808401845260098082526813595cda0810995b1d60ba1b82840152606084019190915283518085018552600a808252691219585d9e4810995b1d60b21b82850152608085019190915284518086018652600e81526d11195b5bdb9a1a59194810995b1d60921b8185015260a085015284518086018652600f8082526e111c9859dbdb9cdada5b8810995b1d608a1b8286015260c086019190915285518087018752601481527f53747564646564204c6561746865722042656c740000000000000000000000008186015260e086015285518087018752601181527012185c99081319585d1a195c8810995b1d607a1b8186015261010086015285518087018752600c81526b1319585d1a195c8810995b1d60a21b81860152610120860152855180870187528181526e084e4d2ced0e8e6d2d8d640a6c2e6d608b1b8186015261014086015285518087018752838152680a6d2d8d640a6c2e6d60bb1b8186015261016086015285518087018752928352680aededed840a6c2e6d60bb1b838501526101808501929092528451808601865290815269098d2dccadc40a6c2e6d60b31b818401526101a0840152835180850190945260048452630a6c2e6d60e31b918401919091526101c0820192909252620008c0916003919062001d49565b506040805161022081018252600c6101e082019081526b486f6c79204772656176657360a01b610200830152815281518083018352600e81526d4f726e617465204772656176657360901b602082810191909152808301919091528251808401845260078152664772656176657360c81b818301528284015282518084018452600b8082526a436861696e20426f6f747360a81b828401526060840191909152835180850185528181526a486561767920426f6f747360a81b81840152608084015283518085018552600f8082526e44656d6f6e6869646520426f6f747360881b8285015260a085019190915284518086018652601081526f447261676f6e736b696e20426f6f747360801b8185015260c085015284518086018652601581527f53747564646564204c65617468657220426f6f747300000000000000000000008185015260e085015284518086018652601281527148617264204c65617468657220426f6f747360701b8185015261010085015284518086018652600d8082526c4c65617468657220426f6f747360981b82860152610120860191909152855180870187528281526e446976696e6520536c69707065727360881b81860152610140860152855180870187529081526c53696c6b20536c69707065727360981b8185015261016085015284518086018652600a815269576f6f6c2053686f657360b01b81850152610180850152845180860186529182526a4c696e656e2053686f657360a81b828401526101a08401919091528351808501909452600584526453686f657360d81b918401919091526101c082019290925262000b28916004919062001d49565b506040805161022081018252600e6101e082018181526d486f6c79204761756e746c65747360901b610200840152825282518084018452601081526f4f726e617465204761756e746c65747360801b602082810191909152808401919091528351808501855260098152684761756e746c65747360b81b818301528385015283518085018552600c8082526b436861696e20476c6f76657360a01b828401526060850191909152845180860186528181526b486561767920476c6f76657360a01b81840152608085015284518086018652600d8082526c44656d6f6e27732048616e647360981b8285015260a0860191909152855180870187526011815270447261676f6e736b696e20476c6f76657360781b8185015260c086015285518087018752601681527f53747564646564204c65617468657220476c6f766573000000000000000000008185015260e086015285518087018752601381527f48617264204c65617468657220476c6f7665730000000000000000000000000081850152610100860152855180870187529384526d4c65617468657220476c6f76657360901b84840152610120850193909352845180860186529283526c446976696e6520476c6f76657360981b8383015261014084019290925283518085018552600b8082526a53696c6b20476c6f76657360a81b82840152610160850191909152845180860186529081526a576f6f6c20476c6f76657360a81b81830152610180840152835180850185529182526b4c696e656e20476c6f76657360a01b828201526101a083019190915282518084019093526006835265476c6f76657360d01b908301526101c081019190915262000da590600590600f62001d49565b506040805160a081018252600860608201908152674e65636b6c61636560c01b6080830152815281518083018352600680825265105b5d5b195d60d21b6020838101919091528084019290925283518085018552600781526614195b99185b9d60ca1b928101929092529282015262000e219190600362001d9b565b506040805160e081018252600960a0820190815268476f6c642052696e6760b81b60c0830152815281518083018352600b8082526a53696c7665722052696e6760a81b60208381019190915280840192909252835180850185529081526a42726f6e7a652052696e6760a81b818301528284015282518084018452600d8082526c506c6174696e756d2052696e6760981b828401526060840191909152835180850190945283526c546974616e69756d2052696e6760981b90830152608081019190915262000ef590600790600562001ded565b506040518061020001604052806040518060400160405280600881526020016737b3102837bbb2b960c11b8152508152602001604051806040016040528060098152602001686f66204769616e747360b81b8152508152602001604051806040016040528060098152602001686f6620546974616e7360b81b8152508152602001604051806040016040528060088152602001671bd98814dada5b1b60c21b81525081526020016040518060400160405280600d81526020016c37b3102832b93332b1ba34b7b760991b81525081526020016040518060400160405280600d81526020016c6f66204272696c6c69616e636560981b81525081526020016040518060400160405280601081526020016f1bd988115b9b1a59da1d195b9b595b9d60821b81525081526020016040518060400160405280600d81526020016c37b310283937ba32b1ba34b7b760991b81525081526020016040518060400160405280600881526020016737b31020b733b2b960c11b8152508152602001604051806040016040528060078152602001666f66205261676560c81b8152508152602001604051806040016040528060078152602001666f66204675727960c81b81525081526020016040518060400160405280600a8152602001691bd988159a5d1c9a5bdb60b21b81525081526020016040518060400160405280600a8152602001690decc40e8d0ca408cdef60b31b81525081526020016040518060400160405280600c81526020016b37b3102232ba32b1ba34b7b760a11b81525081526020016040518060400160405280600d81526020016c37b3102932b33632b1ba34b7b760991b81525081526020016040518060400160405280600c81526020016b6f6620746865205477696e7360a01b81525081525060089060106200119a92919062001e3f565b50604080516108e08101825260056108a082018181526441676f6e7960d81b6108c0840152825282518084018452600a8082526941706f63616c7970736560b01b60208381019190915280850192909252845180860186528181526920b936b0b3b2b23237b760b11b818401528486015284518086018652838152641099585cdd60da1b81840152606085015284518086018652600880825267084cad0cadadee8d60c31b82850152608086019190915285518087018752600680825265109b1a59da1d60d21b8286015260a08701919091528651808801885285815264109b1bdbd960da1b8186015260c0870152865180880188526007808252664272616d626c6560c81b8287015260e0880191909152875180890189526009808252684272696d73746f6e6560b81b828801526101008901919091528851808a018a5287815264109c9bdbd960da1b818801526101208901528851808a018a528281526621b0b93934b7b760c91b818801526101408901528851808a018a528181526843617461636c79736d60b81b818801526101608901528851808a018a52848152674368696d6572696360c01b818801526101808901528851808a018a5283815265436f7270736560d01b818801526101a08901528851808a018a528581526921b7b9393ab83a34b7b760b11b818801526101c08901528851808a018a52818152682230b6b730ba34b7b760b91b818801526101e08901528851808a018a5287815264088cac2e8d60db1b818801526102008901528851808a018a52878152642232b6b7b760d91b818801526102208901528851808a018a526004808252634469726560e01b828901526102408a01919091528951808b018b5284815265223930b3b7b760d11b818901526102608a01528951808b018b5288815264111c99585960da1b818901526102808a01528951808b018b5281815263446f6f6d60e01b818901526102a08a01528951808b018b52818152634475736b60e01b818901526102c08a01528951808b018b52888152644561676c6560d81b818901526102e08a01528951808b018b528581526722b6b83cb932b0b760c11b818901526103008a01528951808b018b52818152634661746560e01b818901526103208a01528951808b018b52600380825262466f6560e81b828a01526103408b01919091528a51808c018c528281526347616c6560e01b818a01526103608b01528a51808c018c528981526411da1bdd5b60da1b818a01526103808b01528a51808c018c5289815264476c6f6f6d60d81b818a01526103a08b01528a51808c018c528981526408ed8f2e0d60db1b818a01526103c08b01528a51808c018c5289815264476f6c656d60d81b818a01526103e08b01528a51808c018c52828152634772696d60e01b818a01526104008b01528a51808c018c52828152634861746560e01b818a01526104208b01528a51808c018c52898152644861766f6360d81b818a01526104408b01528a51808c018c52858152652437b737bab960d11b818a01526104608b01528a51808c018c52858152652437b93937b960d11b818a01526104808b01528a51808c018c52868152674879706e6f74696360c01b818a01526104a08b01528a51808c018c528581526525b930b5b2b760d11b818a01526104c08b01528a51808c018c5289815264098dec2e8d60db1b818a01526104e08b01528a51808c018c52838152684d61656c7374726f6d60b81b818a01526105008b01528a51808c018c5282815263135a5b9960e21b818a01526105208b01528a51808c018c52848152664d697261636c6560c81b818a01526105408b01528a51808c018c5285815265135bdc989a5960d21b818a01526105608b01528a51808c018c529586526727b13634bb34b7b760c11b868901526105808a01959095528951808b018b528281526813db9cdb185d59da1d60ba1b818901526105a08a01528951808b018b52818152632830b4b760e11b818901526105c08a01528951808b018b52600b81526a50616e64656d6f6e69756d60a81b818901526105e08a01528951808b018b52838152660a0d0decadcd2f60cb1b818901526106008a01528951808b018b5284815265506c6167756560d01b818901526106208a01528951808b018b52818152635261676560e01b818901526106408a01528951808b018b52838152665261707475726560c81b818901526106608a01528951808b018b528181526352756e6560e01b818901526106808a01528951808b018b528881526414dadd5b1b60da1b818901526106a08a01528951808b018b528581526214dbdb60ea1b818901526106c08a01528951808b018b529081526314dbdd5b60e21b818801526106e08901528851808a018a5283815265536f72726f7760d01b818801526107008901528851808a018a528381526514dc1a5c9a5d60d21b818801526107208901528851808a018a528781526453746f726d60d81b818801526107408901528851808a018a528281526615195b5c195cdd60ca1b818801526107608901528851808a018a5282815266151bdc9b595b9d60ca1b818801526107808901528851808a018a528181526856656e6765616e636560b81b818801526107a08901528851808a018a5282815266566963746f727960c81b818801526107c08901528851808a018a52878152642b34b832b960d91b818801526107e08901528851808a018a52928352650acdee4e8caf60d31b838701526108008801929092528751808901895292835262576f6560e81b8386015261082087019290925286518088018852948552640aee4c2e8d60db1b8585015261084086019490945285518087018752908152664c69676874277360c81b8184015261086085015284518086019095528452695368696d6d6572696e6760b01b90840152610880820192909252620019fe9190604562001e91565b506040805161028081018252600461024082018181526342616e6560e01b61026084015282528251808401845281815263149bdbdd60e21b6020828101919091528084019190915283518085018552828152634269746560e01b81830152838501528351808501855282815263536f6e6760e01b81830152606084015283518085018552828152632937b0b960e11b81830152608084015283518085018552600580825264047726173760dc1b8284015260a085019190915284518086018652600a80825269125b9cdd1c9d5b595b9d60b21b8285015260c08601919091528551808701875284815263476c6f7760e01b8185015260e0860152855180870187526006808252652132b73232b960d11b828601526101008701919091528651808801885290815265536861646f7760d01b818501526101208601528551808701875260078152662bb434b9b832b960c91b81850152610140860152855180870187528281526414da1bdd5d60da1b81850152610160860152855180870187529182526411dc9bdddb60da1b8284015261018085019190915284518086018652838152632a32b0b960e11b818401526101a085015284518086018652838152635065616b60e01b818401526101c08501528451808601865283815263466f726d60e01b818401526101e085015284518086018652600381526229bab760e91b8184015261020085015284518086019095529184526326b7b7b760e11b9084015261022082019290925262001c349190601262001ce5565b5034801562001c4257600080fd5b50604051620076483803806200764883398101604081905262001c6591620020b5565b83518490849062001c7e90600b90602085019062001ee3565b50805162001c9490600c90602084019062001ee3565b5050855162001cac9150601690602088019062001ee3565b50601580546001600160a01b031916331790556014819055815162001cd990601790602085019062001ee3565b505050505050620021b4565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d2691849160209091019062001ee3565b509160200191906001019062001d06565b5062001d4592915062001f6e565b5090565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d8a91849160209091019062001ee3565b509160200191906001019062001d6a565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ddc91849160209091019062001ee3565b509160200191906001019062001dbc565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e2e91849160209091019062001ee3565b509160200191906001019062001e0e565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e8091849160209091019062001ee3565b509160200191906001019062001e60565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ed291849160209091019062001ee3565b509160200191906001019062001eb2565b82805462001ef19062002178565b90600052602060002090601f01602090048101928262001f15576000855562001f60565b82601f1062001f3057805160ff191683800117855562001f60565b8280016001018555821562001f60579182015b8281111562001f6057825182559160200191906001019062001f43565b5062001d4592915062001f8f565b8082111562001d4557600062001f85828262001fa6565b5060010162001f6e565b5b8082111562001d45576000815560010162001f90565b50805462001fb49062002178565b6000825580601f1062001fc5575050565b601f01602090049060005260206000209081019062001fe5919062001f8f565b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200201057600080fd5b81516001600160401b03808211156200202d576200202d62001fe8565b604051601f8301601f19908116603f0116810190828211818310171562002058576200205862001fe8565b816040528381526020925086838588010111156200207557600080fd5b600091505b838210156200209957858201830151818301840152908201906200207a565b83821115620020ab5760008385830101525b9695505050505050565b600080600080600060a08688031215620020ce57600080fd5b85516001600160401b0380821115620020e657600080fd5b620020f489838a0162001ffe565b965060208801519150808211156200210b57600080fd5b6200211989838a0162001ffe565b955060408801519150808211156200213057600080fd5b6200213e89838a0162001ffe565b945060608801519150808211156200215557600080fd5b50620021648882890162001ffe565b925050608086015190509295509295909350565b600181811c908216806200218d57607f821691505b602082108103620021ae57634e487b7160e01b600052602260045260246000fd5b50919050565b61548480620021c46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", - "sourceMap": "79:384:172:-:0;;;;;-1:-1:-1;;;79:384:172;;297:8429:171;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;297:8429:171;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;79:384:172;;:::i;:::-;-1:-1:-1;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:172;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:172;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:172;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;:::i;:::-;-1:-1:-1;2533:149:172;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:172;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:172;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;:::i;:::-;;374::171;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;559:6:171;;567:4;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:171;;::::1;::::0;-1:-1:-1;583:4:171::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:171::1;:18:::0;;-1:-1:-1;;;;;;605:18:171::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:194:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:194;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:171;;;;;;", + "sourceMap": "79:384:146:-:0;;;;;-1:-1:-1;;;79:384:146;;297:8429:145;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;-1:-1:-1;;;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;297:8429:145;79:384:146;;;;;-1:-1:-1;;;79:384:146;;-1:-1:-1;79:384:146;;;;;;-1:-1:-1;;79:384:146;;:::i;:::-;-1:-1:-1;470:395:146;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;-1:-1:-1;;;470:395:146;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:146;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;;-1:-1:-1;;;872:347:146;;;;-1:-1:-1;;;872:347:146;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:146;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;-1:-1:-1;;;1226:391:146;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:146;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;-1:-1:-1;;;1624:408:146;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:146;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:146;;;;-1:-1:-1;;;2039:417:146;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:146;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;;-1:-1:-1;;;2463:63:146;;;;;;:::i;:::-;-1:-1:-1;2533:149:146;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:146;;;;-1:-1:-1;;;2533:149:146;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:146;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:146;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;;;-1:-1:-1;;;3091:1288:146;;;;-1:-1:-1;;;3091:1288:146;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:146;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;;;;-1:-1:-1;;;4386:342:146;;;;-1:-1:-1;;;4386:342:146;;;;;;;;;:::i;:::-;;374::145;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:79;;559:6:145;;567:4;;1456:13:79;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:79;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:145;;::::1;::::0;-1:-1:-1;583:4:145::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:145::1;:18:::0;;-1:-1:-1;;;;;;605:18:145::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:145;;;-1:-1:-1;297:8429:145;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:145;;;-1:-1:-1;297:8429:145;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:168:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:168;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:168;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:168:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:168;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:145;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", - "sourceMap": "297:8429:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:194;;;1911:74;;1899:2;1884:18;3935:167:105;1765:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2602:25:194;;;2590:2;2575:18;241:23:173;2456:177:194;6480:214:171;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;7219:620:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:194;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:171;2971:679:194;1033:29:171;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;7845:482:171:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:105:-;;;;;;:::i;:::-;;:::i;5946:324:171:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:171:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;10032:25:194;;;-1:-1:-1;;;;;10093:55:194;;;10088:2;10073:18;;10066:83;10005:18;270:44:173;9858:297:194;5263:677:171;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;11069:2:194;3597:57:105;;;11051:21:194;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;11471:2:194;3665:170:105;;;11453:21:194;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:105;11269:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:171:-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:194;;;6629:58:171::1;::::0;::::1;11873:74:194::0;11963:18;;;11956:34;;;6629:33:171;::::1;::::0;::::1;::::0;11846:18:194;;6629:58:171::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:105:-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;12453:2:194;4763:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:105;12251:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:171:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:171;;;-1:-1:-1;;7361:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:171;-1:-1:-1;7430:21:171;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:171;;12867:2:194;7408:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:171;12665:339:194;7408:62:171;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:105:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:171:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:171;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:171;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:171;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:171;;7845:482;-1:-1:-1;;;7845:482:171:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:171;;13789:2:194;6388:40:171::1;::::0;::::1;13771:21:194::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:171::1;13587:340:194::0;6388:40:171::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:171;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:171;;;-1:-1:-1;;6884:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:171;-1:-1:-1;6953:21:171;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:171;;12867:2:194;6931:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:171;12665:339:194;6931:62:171;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;14134:2:194;2324:56:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:105;13932:348:194;5946:324:171;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:171;-1:-1:-1;;;;;6066:18:171;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:171;6066:10;;6094:32;;;;-1:-1:-1;6152:8:171;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:171;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;14487:2:194;2020:73:105;;;14469:21:194;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:105;14285:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:171:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:171;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:171;;;;;;;-1:-1:-1;;1135:40:171;;;:::o;4169:153:105:-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;12453:2:194;5311:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:105;12251:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:171:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:171;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:171;;;-1:-1:-1;;1404:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:171;-1:-1:-1;1468:19:171;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:171:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:171;;16481:2:194;1704:60:171;;;16463:21:194;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:171;16279:339:194;1704:60:171;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:171;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:171;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:171;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:171:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:171;;:34;;-1:-1:-1;;5899:34:171;5912:21;5899:34;;;-1:-1:-1;5263:677:171:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;14134:2:194;13313:53:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:105;13932:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;20485:2:194;11346:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:105;20283:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;20891:2:194;11437:65:105;;;20873:21:194;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:105;20689:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;20485:2:194;11647:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:105;20283:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:171:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:171;;21296:2:194;8452:41:171;;;21278:21:194;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:171;21094:337:194;8452:41:171;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:171;8333:391;-1:-1:-1;;;8333:391:171:o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:194;;;10073:18;;;10066:83;458:21:173;563:31;;10005:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;21919:2:194;8996:61:105;;;21901:21:194;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:105;21717:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;22280:2:194;9067:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:105;22078:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;22280:2:194;9271:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:105;22078:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;22637:2:194;12982:55:105;;;22619:21:194;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:105;22435:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;22991:2:194;6476:110:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:105;22789:414:194;447:696:111;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;24090:2:194;765:55:173;;;24072:21:194;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:173;23888:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;24441:2:194;880:69:173;;;24423:21:194;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:173;24239:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;24844:2:194;1022:122:173;;;24826:21:194;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:173;24642:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;25163:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;4104:1153:171:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:171;4104:1153;-1:-1:-1;;;4104:1153:171:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;22991:2:194;14409:60:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:105;22789:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;13925:831;;;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:194;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:194;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:194:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:194;;3655:632;-1:-1:-1;;;;;;3655:632:194:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:194:o;5875:184::-;-1:-1:-1;;;5924:1:194;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:194;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:194;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:194;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:194;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:194;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:194;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:194;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:194;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:194;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:194;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:194;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:194:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:194:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:194:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:194:o;23208:184::-;-1:-1:-1;;;23257:1:194;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:194;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:194;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:194;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:194;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:194;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:194:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:194:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:194:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:194:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:194;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:194:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", + "sourceMap": "297:8429:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:79;;;;;;:::i;:::-;;:::i;:::-;;;611:14:168;;604:22;586:41;;574:2;559:18;1570:300:79;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:168;;;1911:74;;1899:2;1884:18;3935:167:79;1765:226:168;3468:406:79;;;;;;:::i;:::-;;:::i;:::-;;241:23:147;;;;;;;;;2602:25:168;;;2590:2;2575:18;241:23:147;2456:177:168;6480:214:145;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:79;;;;;;:::i;:::-;;:::i;7219:620:145:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:168;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:145;2971:679:168;1033:29:145;;;;;;4974:149:79;;;;;;:::i;:::-;;:::i;7845:482:145:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:79:-;;;;;;:::i;:::-;;:::i;5946:324:145:-;;;;;;:::i;:::-;;:::i;1929:204:79:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:145:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:79:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:145:-;;;;;;:::i;:::-;;:::i;270:44:147:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:147;;;;;;;10032:25:168;;;-1:-1:-1;;;;;10093:55:168;;;10088:2;10073:18;;10066:83;10005:18;270:44:147;9858:297:168;5263:677:145;;;;;;:::i;:::-;;:::i;4388:162:79:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:79;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:87;937:40;;;;1827:36:79;1688:175;1570:300;-1:-1:-1;;1570:300:79:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:79;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:79;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:79;:2;-1:-1:-1;;;;;3605:11:79;;3597:57;;;;-1:-1:-1;;;3597:57:79;;11069:2:168;3597:57:79;;;11051:21:168;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:79;;;;;;;;;719:10:84;-1:-1:-1;;;;;3686:21:79;;;;:62;;-1:-1:-1;3711:37:79;3728:5;719:10:84;4388:162:79;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:79;;11471:2:168;3665:170:79;;;11453:21:168;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:79;11269:425:168;3665:170:79;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:145:-;1235:5;;-1:-1:-1;;;;;1235:5:145;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:168;;;6629:58:145::1;::::0;::::1;11873:74:168::0;11963:18;;;11956:34;;;6629:33:145;::::1;::::0;::::1;::::0;11846:18:168;;6629:58:145::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:79:-;4771:41;719:10:84;4804:7:79;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:79;;12453:2:168;4763:99:79;;;12435:21:168;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:79;12251:409:168;4763:99:79;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:145:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:145;-1:-1:-1;;;;;7361:37:145;-1:-1:-1;;;;;7361:37:145;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:145;;;-1:-1:-1;;7361:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:145;-1:-1:-1;7430:21:145;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:145;;12867:2:168;7408:62:145;;;12849:21:168;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:145;12665:339:168;7408:62:145;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:79:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:145:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:145;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:145;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:145;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:145;;7845:482;-1:-1:-1;;;7845:482:145:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:145;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:145;;13789:2:168;6388:40:145::1;::::0;::::1;13771:21:168::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:145::1;13587:340:168::0;6388:40:145::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:145;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:145;-1:-1:-1;;;;;6884:37:145;-1:-1:-1;;;;;6884:37:145;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:145;;;-1:-1:-1;;6884:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:145;-1:-1:-1;6953:21:145;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:145;;12867:2:168;6931:62:145;;;12849:21:168;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:145;12665:339:168;6931:62:145;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:79:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;;2324:56;;;;-1:-1:-1;;;2324:56:79;;14134:2:168;2324:56:79;;;14116:21:168;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:79;13932:348:168;5946:324:145;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:145;-1:-1:-1;;;;;6066:18:145;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:145;6066:10;;6094:32;;;;-1:-1:-1;6152:8:145;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:145;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:79:-;2001:7;-1:-1:-1;;;;;2028:19:79;;2020:73;;;;-1:-1:-1;;;2020:73:79;;14487:2:168;2020:73:79;;;14469:21:168;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:79;14285:405:168;2020:73:79;-1:-1:-1;;;;;;2110:16:79;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:145:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:145;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:145;;;;;;;-1:-1:-1;;1135:40:145;;;:::o;4169:153:79:-;4263:52;719:10:84;4296:8:79;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:84;5352:7:79;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:79;;12453:2:168;5311:99:79;;;12435:21:168;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:79;12251:409:168;5311:99:79;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:145:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:145;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:145;;;-1:-1:-1;;1404:37:145;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:145;-1:-1:-1;1468:19:145;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:145;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:145:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:145;;16481:2:168;1704:60:145;;;16463:21:168;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:145;16279:339:168;1704:60:145;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:145;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:145;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:145;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:145;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:145:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:145;;:34;;-1:-1:-1;;5899:34:145;5912:21;5899:34;;;-1:-1:-1;5263:677:145:o;13240:133:79:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;13313:53;;;;-1:-1:-1;;;13313:53:79;;14134:2:168;13313:53:79;;;14116:21:168;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:79;13932:348:168;13313:53:79;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:79;-1:-1:-1;;;;;12646:29:79;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:79;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:79;:7;-1:-1:-1;;;;;7570:16:79;;:52;;;-1:-1:-1;;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:79;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:79;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:79:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:79;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:79;;11346:81;;;;-1:-1:-1;;;11346:81:79;;20485:2:168;11346:81:79;;;20467:21:168;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:79;20283:401:168;11346:81:79;-1:-1:-1;;;;;11445:16:79;;11437:65;;;;-1:-1:-1;;;11437:65:79;;20891:2:168;11437:65:79;;;20873:21:168;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:79;20689:400:168;11437:65:79;11682:4;-1:-1:-1;;;;;11655:31:79;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:79;;11647:81;;;;-1:-1:-1;;;11647:81:79;;20485:2:168;11647:81:79;;;20467:21:168;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:79;20283:401:168;11647:81:79;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:79;;;;;;-1:-1:-1;;;;;12265:15:79;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:79;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:145:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:145;;21296:2:168;8452:41:145;;;21278:21:168;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:145;21094:337:168;8452:41:145;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:145;8333:391;-1:-1:-1;;;8333:391:145:o;378:223:147:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:147;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:168;;;10073:18;;;10066:83;458:21:147;563:31;;10005:18:168;563:31:147;;;;;;;429:172;378:223;:::o;8925:920:79:-;-1:-1:-1;;;;;9004:16:79;;8996:61;;;;-1:-1:-1;;;8996:61:79;;21919:2:168;8996:61:79;;;21901:21:168;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:79;21717:356:168;8996:61:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:79;;22280:2:168;9067:58:79;;;22262:21:168;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:79;22078:352:168;9067:58:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:79;;22280:2:168;9271:58:79;;;22262:21:168;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:79;22078:352:168;9271:58:79;-1:-1:-1;;;;;9671:13:79;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:79;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:79;:5;-1:-1:-1;;;;;12990:17:79;;12982:55;;;;-1:-1:-1;;;12982:55:79;;22637:2:168;12982:55:79;;;22619:21:168;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:79;22435:349:168;12982:55:79;-1:-1:-1;;;;;13047:25:79;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:79;;;;;;;;;;13108:41;;586::168;;;13108::79;;559:18:168;13108:41:79;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:79;;22991:2:168;6476:110:79;;;22973:21:168;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:79;22789:414:168;447:696:85;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:85;-1:-1:-1;604:41:85;-1:-1:-1;765:28:85;;;781:2;765:28;820:280;-1:-1:-1;;851:5:85;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:85;820:280;1064:21;-1:-1:-1;1120:6:85;447:696;-1:-1:-1;;;447:696:85:o;396:1557:144:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:144;;;;;;;;;-1:-1:-1;528:9:144;;;396:1557;-1:-1:-1;396:1557:144:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:144;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:144;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:144;;1810:41;1659:206;-1:-1:-1;;;1879:26:144;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:144:o;607:996:147:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:147;;24090:2:168;765:55:147;;;24072:21:168;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:147;23888:346:168;765:55:147;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:147;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:147;;24441:2:168;880:69:147;;;24423:21:168;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:147;24239:398:168;880:69:147;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:147;-1:-1:-1;1059:13:147;;959:53;;-1:-1:-1;1059:31:147;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:147;;24844:2:168;1022:122:147;;;24826:21:168;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:147;24642:352:168;1022:122:147;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:168;;;1177:28:147;-1:-1:-1;1169:37:147;;25163:12:168;1303:22:147;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:147;;607:996;-1:-1:-1;;;;;;;607:996:147:o;4104:1153:145:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:145;4104:1153;-1:-1:-1;;;4104:1153:145:o;13925:831:79:-;14074:4;-1:-1:-1;;;;;14094:13:79;;1702:19:83;:23;14090:660:79;;14129:71;;;;;-1:-1:-1;;;;;14129:36:79;;;;;:71;;719:10:84;;14180:4:79;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:79;;;;;;;;-1:-1:-1;;14129:71:79;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:79;;22991:2:168;14409:60:79;;;22973:21:168;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:79;22789:414:168;14363:321:79;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:79;;14090:660;-1:-1:-1;14735:4:79;13925:831;;;;;;:::o;10139:916:89:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:89;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:89;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:89;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:89;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:89;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:89;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:89:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:168;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:168:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:168;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:168;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:168:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:168;;1448:180;-1:-1:-1;1448:180:168:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:168;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:168:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:168;;3655:632;-1:-1:-1;;;;;;3655:632:168:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:168:o;5875:184::-;-1:-1:-1;;;5924:1:168;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:168;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:168;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:168;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:168;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:168;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:168;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:168;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:168;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:168;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:168;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:168;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:168:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:168:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:168:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:168:o;23208:184::-;-1:-1:-1;;;23257:1:168;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:168;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:168;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:168;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:168;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:168;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:168:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:168:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:168:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:168:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:168;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:168:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", "linkReferences": {} }, "methodIdentifiers": { @@ -1633,64 +1633,64 @@ }, "ast": { "absolutePath": "src/other/Loot.sol", - "id": 120387, + "id": 112094, "exportedSymbols": { "Address": [ - 132143 + 30657 ], "Base64": [ - 119403 + 111110 ], "Context": [ - 132165 + 30679 ], "ERC165": [ - 132189 + 31460 ], "ERC721": [ - 72425 + 30166 ], "IERC165": [ - 174470 + 31472 ], "IERC20": [ - 71498 + 29239 ], "IERC721": [ - 131768 + 30282 ], "IERC721Metadata": [ - 131813 + 30327 ], "IERC721Receiver": [ - 131786 + 30300 ], "MLoot": [ - 120386 + 112093 ], "MRandom": [ - 120834 + 112541 ], "Math": [ - 133055 + 32338 ], "SignedMath": [ - 133160 + 32443 ], "Strings": [ - 72654 + 30908 ], "Suit": [ - 120637 + 112344 ] }, "nodeType": "SourceUnit", - "src": "32:8695:171", + "src": "32:8695:145", "nodes": [ { - "id": 119405, + "id": 111112, "nodeType": "PragmaDirective", - "src": "32:24:171", + "src": "32:24:145", "nodes": [], "literals": [ "solidity", @@ -1700,106 +1700,106 @@ ] }, { - "id": 119406, + "id": 111113, "nodeType": "ImportDirective", - "src": "57:24:171", + "src": "57:24:145", "nodes": [], "absolutePath": "src/other/LootSuit.sol", "file": "./LootSuit.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 120638, + "scope": 112094, + "sourceUnit": 112345, "symbolAliases": [], "unitAlias": "" }, { - "id": 119407, + "id": 111114, "nodeType": "ImportDirective", - "src": "82:22:171", + "src": "82:22:145", "nodes": [], "absolutePath": "src/other/Base64.sol", "file": "./Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 119404, + "scope": 112094, + "sourceUnit": 111111, "symbolAliases": [], "unitAlias": "" }, { - "id": 119408, + "id": 111115, "nodeType": "ImportDirective", - "src": "105:23:171", + "src": "105:23:145", "nodes": [], "absolutePath": "src/other/MRandom.sol", "file": "./MRandom.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 120835, + "scope": 112094, + "sourceUnit": 112542, "symbolAliases": [], "unitAlias": "" }, { - "id": 119409, + "id": 111116, "nodeType": "ImportDirective", - "src": "129:51:171", + "src": "129:51:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/utils/Strings.sol", "file": "@openzeppelin/contracts/utils/Strings.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 72655, + "scope": 112094, + "sourceUnit": 30909, "symbolAliases": [], "unitAlias": "" }, { - "id": 119410, + "id": 111117, "nodeType": "ImportDirective", - "src": "181:57:171", + "src": "181:57:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 72426, + "scope": 112094, + "sourceUnit": 30167, "symbolAliases": [], "unitAlias": "" }, { - "id": 119411, + "id": 111118, "nodeType": "ImportDirective", - "src": "239:56:171", + "src": "239:56:145", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "nameLocation": "-1:-1:-1", - "scope": 120387, - "sourceUnit": 71499, + "scope": 112094, + "sourceUnit": 29240, "symbolAliases": [], "unitAlias": "" }, { - "id": 120386, + "id": 112093, "nodeType": "ContractDefinition", - "src": "297:8429:171", + "src": "297:8429:145", "nodes": [ { - "id": 119420, + "id": 111127, "nodeType": "UsingForDirective", - "src": "342:26:171", + "src": "342:26:145", "nodes": [], "global": false, "libraryName": { - "id": 119418, + "id": 111125, "name": "Strings", "nodeType": "IdentifierPath", - "referencedDeclaration": 72654, - "src": "348:7:171" + "referencedDeclaration": 30908, + "src": "348:7:145" }, "typeName": { - "id": 119419, + "id": 111126, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "360:7:171", + "src": "360:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1807,30 +1807,30 @@ } }, { - "id": 119455, + "id": 111162, "nodeType": "FunctionDefinition", - "src": "374:342:171", + "src": "374:342:145", "nodes": [], "body": { - "id": 119454, + "id": 111161, "nodeType": "Block", - "src": "573:143:171", + "src": "573:143:145", "nodes": [], "statements": [ { "expression": { - "id": 119439, + "id": 111146, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119437, + "id": 111144, "name": "desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119487, - "src": "583:4:171", + "referencedDeclaration": 111194, + "src": "583:4:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1839,41 +1839,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119438, + "id": 111145, "name": "_desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119422, - "src": "590:5:171", + "referencedDeclaration": 111129, + "src": "590:5:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "583:12:171", + "src": "583:12:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119440, + "id": 111147, "nodeType": "ExpressionStatement", - "src": "583:12:171" + "src": "583:12:145" }, { "expression": { - "id": 119444, + "id": 111151, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119441, + "id": 111148, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119485, - "src": "605:5:171", + "referencedDeclaration": 111192, + "src": "605:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1883,54 +1883,54 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119442, + "id": 111149, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "613:3:171", + "src": "613:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 119443, + "id": 111150, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "613:10:171", + "src": "613:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "605:18:171", + "src": "605:18:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 119445, + "id": 111152, "nodeType": "ExpressionStatement", - "src": "605:18:171" + "src": "605:18:145" }, { "expression": { - "id": 119448, + "id": 111155, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119446, + "id": 111153, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119483, - "src": "633:14:171", + "referencedDeclaration": 111190, + "src": "633:14:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1939,41 +1939,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119447, + "id": 111154, "name": "_waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119430, - "src": "650:15:171", + "referencedDeclaration": 111137, + "src": "650:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "633:32:171", + "src": "633:32:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 119449, + "id": 111156, "nodeType": "ExpressionStatement", - "src": "633:32:171" + "src": "633:32:145" }, { "expression": { - "id": 119452, + "id": 111159, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119450, + "id": 111157, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119489, - "src": "675:15:171", + "referencedDeclaration": 111196, + "src": "675:15:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1982,26 +1982,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 119451, + "id": 111158, "name": "_notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119428, - "src": "693:16:171", + "referencedDeclaration": 111135, + "src": "693:16:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "675:34:171", + "src": "675:34:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119453, + "id": 111160, "nodeType": "ExpressionStatement", - "src": "675:34:171" + "src": "675:34:145" } ] }, @@ -2011,58 +2011,58 @@ { "arguments": [ { - "id": 119433, + "id": 111140, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119424, - "src": "559:6:171", + "referencedDeclaration": 111131, + "src": "559:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 119434, + "id": 111141, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119426, - "src": "567:4:171", + "referencedDeclaration": 111133, + "src": "567:4:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 119435, + "id": 111142, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 119432, + "id": 111139, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "552:6:171" + "referencedDeclaration": 30166, + "src": "552:6:145" }, "nodeType": "ModifierInvocation", - "src": "552:20:171" + "src": "552:20:145" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 119431, + "id": 111138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119422, + "id": 111129, "mutability": "mutable", "name": "_desc", - "nameLocation": "409:5:171", + "nameLocation": "409:5:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "395:19:171", + "scope": 111162, + "src": "395:19:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2070,10 +2070,10 @@ "typeString": "string" }, "typeName": { - "id": 119421, + "id": 111128, "name": "string", "nodeType": "ElementaryTypeName", - "src": "395:6:171", + "src": "395:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2083,13 +2083,13 @@ }, { "constant": false, - "id": 119424, + "id": 111131, "mutability": "mutable", "name": "symbol", - "nameLocation": "438:6:171", + "nameLocation": "438:6:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "424:20:171", + "scope": 111162, + "src": "424:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2097,10 +2097,10 @@ "typeString": "string" }, "typeName": { - "id": 119423, + "id": 111130, "name": "string", "nodeType": "ElementaryTypeName", - "src": "424:6:171", + "src": "424:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2110,13 +2110,13 @@ }, { "constant": false, - "id": 119426, + "id": 111133, "mutability": "mutable", "name": "name", - "nameLocation": "468:4:171", + "nameLocation": "468:4:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "454:18:171", + "scope": 111162, + "src": "454:18:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2124,10 +2124,10 @@ "typeString": "string" }, "typeName": { - "id": 119425, + "id": 111132, "name": "string", "nodeType": "ElementaryTypeName", - "src": "454:6:171", + "src": "454:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2137,13 +2137,13 @@ }, { "constant": false, - "id": 119428, + "id": 111135, "mutability": "mutable", "name": "_notRevealedInfo", - "nameLocation": "496:16:171", + "nameLocation": "496:16:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "482:30:171", + "scope": 111162, + "src": "482:30:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2151,10 +2151,10 @@ "typeString": "string" }, "typeName": { - "id": 119427, + "id": 111134, "name": "string", "nodeType": "ElementaryTypeName", - "src": "482:6:171", + "src": "482:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2164,13 +2164,13 @@ }, { "constant": false, - "id": 119430, + "id": 111137, "mutability": "mutable", "name": "_waitBlockCount", - "nameLocation": "530:15:171", + "nameLocation": "530:15:145", "nodeType": "VariableDeclaration", - "scope": 119455, - "src": "522:23:171", + "scope": 111162, + "src": "522:23:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2178,10 +2178,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119429, + "id": 111136, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "522:7:171", + "src": "522:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2190,35 +2190,35 @@ "visibility": "internal" } ], - "src": "385:166:171" + "src": "385:166:145" }, "returnParameters": { - "id": 119436, + "id": 111143, "nodeType": "ParameterList", "parameters": [], - "src": "573:0:171" + "src": "573:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 119479, + "id": 111186, "nodeType": "StructDefinition", - "src": "732:267:171", + "src": "732:267:145", "nodes": [], "canonicalName": "MLoot.Loot", "members": [ { "constant": false, - "id": 119457, + "id": 111164, "mutability": "mutable", "name": "randomId", - "nameLocation": "762:8:171", + "nameLocation": "762:8:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "754:16:171", + "scope": 111186, + "src": "754:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2226,10 +2226,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119456, + "id": 111163, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "754:7:171", + "src": "754:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2239,13 +2239,13 @@ }, { "constant": false, - "id": 119459, + "id": 111166, "mutability": "mutable", "name": "owner", - "nameLocation": "788:5:171", + "nameLocation": "788:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "780:13:171", + "scope": 111186, + "src": "780:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2253,10 +2253,10 @@ "typeString": "address" }, "typeName": { - "id": 119458, + "id": 111165, "name": "address", "nodeType": "ElementaryTypeName", - "src": "780:7:171", + "src": "780:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2267,13 +2267,13 @@ }, { "constant": false, - "id": 119461, + "id": 111168, "mutability": "mutable", "name": "Weapon", - "nameLocation": "810:6:171", + "nameLocation": "810:6:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "803:13:171", + "scope": 111186, + "src": "803:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2281,10 +2281,10 @@ "typeString": "string" }, "typeName": { - "id": 119460, + "id": 111167, "name": "string", "nodeType": "ElementaryTypeName", - "src": "803:6:171", + "src": "803:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2294,13 +2294,13 @@ }, { "constant": false, - "id": 119463, + "id": 111170, "mutability": "mutable", "name": "Chest", - "nameLocation": "833:5:171", + "nameLocation": "833:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "826:12:171", + "scope": 111186, + "src": "826:12:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2308,10 +2308,10 @@ "typeString": "string" }, "typeName": { - "id": 119462, + "id": 111169, "name": "string", "nodeType": "ElementaryTypeName", - "src": "826:6:171", + "src": "826:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2321,13 +2321,13 @@ }, { "constant": false, - "id": 119465, + "id": 111172, "mutability": "mutable", "name": "Head", - "nameLocation": "855:4:171", + "nameLocation": "855:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "848:11:171", + "scope": 111186, + "src": "848:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2335,10 +2335,10 @@ "typeString": "string" }, "typeName": { - "id": 119464, + "id": 111171, "name": "string", "nodeType": "ElementaryTypeName", - "src": "848:6:171", + "src": "848:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2348,13 +2348,13 @@ }, { "constant": false, - "id": 119467, + "id": 111174, "mutability": "mutable", "name": "Waist", - "nameLocation": "876:5:171", + "nameLocation": "876:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "869:12:171", + "scope": 111186, + "src": "869:12:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2362,10 +2362,10 @@ "typeString": "string" }, "typeName": { - "id": 119466, + "id": 111173, "name": "string", "nodeType": "ElementaryTypeName", - "src": "869:6:171", + "src": "869:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2375,13 +2375,13 @@ }, { "constant": false, - "id": 119469, + "id": 111176, "mutability": "mutable", "name": "Foot", - "nameLocation": "898:4:171", + "nameLocation": "898:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "891:11:171", + "scope": 111186, + "src": "891:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2389,10 +2389,10 @@ "typeString": "string" }, "typeName": { - "id": 119468, + "id": 111175, "name": "string", "nodeType": "ElementaryTypeName", - "src": "891:6:171", + "src": "891:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2402,13 +2402,13 @@ }, { "constant": false, - "id": 119471, + "id": 111178, "mutability": "mutable", "name": "Hand", - "nameLocation": "919:4:171", + "nameLocation": "919:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "912:11:171", + "scope": 111186, + "src": "912:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2416,10 +2416,10 @@ "typeString": "string" }, "typeName": { - "id": 119470, + "id": 111177, "name": "string", "nodeType": "ElementaryTypeName", - "src": "912:6:171", + "src": "912:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2429,13 +2429,13 @@ }, { "constant": false, - "id": 119473, + "id": 111180, "mutability": "mutable", "name": "Neck", - "nameLocation": "940:4:171", + "nameLocation": "940:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "933:11:171", + "scope": 111186, + "src": "933:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2443,10 +2443,10 @@ "typeString": "string" }, "typeName": { - "id": 119472, + "id": 111179, "name": "string", "nodeType": "ElementaryTypeName", - "src": "933:6:171", + "src": "933:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2456,13 +2456,13 @@ }, { "constant": false, - "id": 119475, + "id": 111182, "mutability": "mutable", "name": "Ring", - "nameLocation": "961:4:171", + "nameLocation": "961:4:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "954:11:171", + "scope": 111186, + "src": "954:11:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2470,10 +2470,10 @@ "typeString": "string" }, "typeName": { - "id": 119474, + "id": 111181, "name": "string", "nodeType": "ElementaryTypeName", - "src": "954:6:171", + "src": "954:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2483,33 +2483,33 @@ }, { "constant": false, - "id": 119478, + "id": 111185, "mutability": "mutable", "name": "state", - "nameLocation": "987:5:171", + "nameLocation": "987:5:145", "nodeType": "VariableDeclaration", - "scope": 119479, - "src": "975:17:171", + "scope": 111186, + "src": "975:17:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, "typeName": { - "id": 119477, + "id": 111184, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119476, + "id": 111183, "name": "RandomState", "nodeType": "IdentifierPath", - "referencedDeclaration": 120643, - "src": "975:11:171" + "referencedDeclaration": 112350, + "src": "975:11:145" }, - "referencedDeclaration": 120643, - "src": "975:11:171", + "referencedDeclaration": 112350, + "src": "975:11:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -2517,21 +2517,21 @@ } ], "name": "Loot", - "nameLocation": "739:4:171", - "scope": 120386, + "nameLocation": "739:4:145", + "scope": 112093, "visibility": "public" }, { - "id": 119481, + "id": 111188, "nodeType": "VariableDeclaration", - "src": "1005:22:171", + "src": "1005:22:145", "nodes": [], "constant": false, "functionSelector": "17d70f7c", "mutability": "mutable", "name": "tokenId", - "nameLocation": "1020:7:171", - "scope": 120386, + "nameLocation": "1020:7:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2539,10 +2539,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119480, + "id": 111187, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1005:7:171", + "src": "1005:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2551,16 +2551,16 @@ "visibility": "public" }, { - "id": 119483, + "id": 111190, "nodeType": "VariableDeclaration", - "src": "1033:29:171", + "src": "1033:29:145", "nodes": [], "constant": false, "functionSelector": "3e8474ca", "mutability": "mutable", "name": "waitBlockCount", - "nameLocation": "1048:14:171", - "scope": 120386, + "nameLocation": "1048:14:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2568,10 +2568,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119482, + "id": 111189, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1033:7:171", + "src": "1033:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2580,15 +2580,15 @@ "visibility": "public" }, { - "id": 119485, + "id": 111192, "nodeType": "VariableDeclaration", - "src": "1070:13:171", + "src": "1070:13:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "owner", - "nameLocation": "1078:5:171", - "scope": 120386, + "nameLocation": "1078:5:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2596,10 +2596,10 @@ "typeString": "address" }, "typeName": { - "id": 119484, + "id": 111191, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1070:7:171", + "src": "1070:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2609,15 +2609,15 @@ "visibility": "internal" }, { - "id": 119487, + "id": 111194, "nodeType": "VariableDeclaration", - "src": "1089:11:171", + "src": "1089:11:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "desc", - "nameLocation": "1096:4:171", - "scope": 120386, + "nameLocation": "1096:4:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2625,10 +2625,10 @@ "typeString": "string" }, "typeName": { - "id": 119486, + "id": 111193, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1089:6:171", + "src": "1089:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2637,15 +2637,15 @@ "visibility": "internal" }, { - "id": 119489, + "id": 111196, "nodeType": "VariableDeclaration", - "src": "1106:22:171", + "src": "1106:22:145", "nodes": [], "constant": false, "mutability": "mutable", "name": "notRevealedInfo", - "nameLocation": "1113:15:171", - "scope": 120386, + "nameLocation": "1113:15:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -2653,10 +2653,10 @@ "typeString": "string" }, "typeName": { - "id": 119488, + "id": 111195, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1106:6:171", + "src": "1106:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2665,54 +2665,54 @@ "visibility": "internal" }, { - "id": 119494, + "id": 111201, "nodeType": "VariableDeclaration", - "src": "1135:40:171", + "src": "1135:40:145", "nodes": [], "constant": false, "functionSelector": "9b8a3237", "mutability": "mutable", "name": "lootList", - "nameLocation": "1167:8:171", - "scope": 120386, + "nameLocation": "1167:8:145", + "scope": 112093, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot)" }, "typeName": { - "id": 119493, + "id": 111200, "keyType": { - "id": 119490, + "id": 111197, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1143:7:171", + "src": "1143:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1135:24:171", + "src": "1135:24:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot)" }, "valueType": { - "id": 119492, + "id": 111199, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119491, + "id": 111198, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "1154:4:171" + "referencedDeclaration": 111186, + "src": "1154:4:145" }, - "referencedDeclaration": 119479, - "src": "1154:4:171", + "referencedDeclaration": 111186, + "src": "1154:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } } @@ -2720,14 +2720,14 @@ "visibility": "public" }, { - "id": 119505, + "id": 111212, "nodeType": "ModifierDefinition", - "src": "1182:77:171", + "src": "1182:77:145", "nodes": [], "body": { - "id": 119504, + "id": 111211, "nodeType": "Block", - "src": "1203:56:171", + "src": "1203:56:145", "nodes": [], "statements": [ { @@ -2738,32 +2738,32 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 119500, + "id": 111207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119497, + "id": 111204, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1221:3:171", + "src": "1221:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 119498, + "id": 111205, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1221:10:171", + "src": "1221:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2772,18 +2772,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 119499, + "id": 111206, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119485, - "src": "1235:5:171", + "referencedDeclaration": 111192, + "src": "1235:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1221:19:171", + "src": "1221:19:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2797,7 +2797,7 @@ "typeString": "bool" } ], - "id": 119496, + "id": 111203, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2805,13 +2805,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1213:7:171", + "src": "1213:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, - "id": 119501, + "id": 111208, "isConstant": false, "isLValue": false, "isPure": false, @@ -2819,60 +2819,60 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1213:28:171", + "src": "1213:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 119502, + "id": 111209, "nodeType": "ExpressionStatement", - "src": "1213:28:171" + "src": "1213:28:145" }, { - "id": 119503, + "id": 111210, "nodeType": "PlaceholderStatement", - "src": "1251:1:171" + "src": "1251:1:145" } ] }, "name": "onlyOwner", - "nameLocation": "1191:9:171", + "nameLocation": "1191:9:145", "parameters": { - "id": 119495, + "id": 111202, "nodeType": "ParameterList", "parameters": [], - "src": "1200:2:171" + "src": "1200:2:145" }, "virtual": false, "visibility": "internal" }, { - "id": 119780, + "id": 111487, "nodeType": "FunctionDefinition", - "src": "1266:2832:171", + "src": "1266:2832:145", "nodes": [], "body": { - "id": 119779, + "id": 111486, "nodeType": "Block", - "src": "1361:2737:171", + "src": "1361:2737:145", "nodes": [], "statements": [ { "assignments": [ - 119518 + 111225 ], "declarations": [ { "constant": false, - "id": 119518, + "id": 111225, "mutability": "mutable", "name": "parts", - "nameLocation": "1389:5:171", + "nameLocation": "1389:5:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "1371:23:171", + "scope": 111486, + "src": "1371:23:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2881,26 +2881,26 @@ }, "typeName": { "baseType": { - "id": 119516, + "id": 111223, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1371:6:171", + "src": "1371:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119517, + "id": 111224, "length": { "hexValue": "3137", - "id": 119515, + "id": 111222, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1378:2:171", + "src": "1378:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_17_by_1", "typeString": "int_const 17" @@ -2908,7 +2908,7 @@ "value": "17" }, "nodeType": "ArrayTypeName", - "src": "1371:10:171", + "src": "1371:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$17_storage_ptr", "typeString": "string[17]" @@ -2917,72 +2917,72 @@ "visibility": "internal" } ], - "id": 119519, + "id": 111226, "nodeType": "VariableDeclarationStatement", - "src": "1371:23:171" + "src": "1371:23:145" }, { "assignments": [ - 119522 + 111229 ], "declarations": [ { "constant": false, - "id": 119522, + "id": 111229, "mutability": "mutable", "name": "loot", - "nameLocation": "1416:4:171", + "nameLocation": "1416:4:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "1404:16:171", + "scope": 111486, + "src": "1404:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 119521, + "id": 111228, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119520, + "id": 111227, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "1404:4:171" + "referencedDeclaration": 111186, + "src": "1404:4:145" }, - "referencedDeclaration": 119479, - "src": "1404:4:171", + "referencedDeclaration": 111186, + "src": "1404:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 119526, + "id": 111233, "initialValue": { "baseExpression": { - "id": 119523, + "id": 111230, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "1423:8:171", + "referencedDeclaration": 111201, + "src": "1423:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 119525, + "id": 111232, "indexExpression": { - "id": 119524, + "id": 111231, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119507, - "src": "1432:8:171", + "referencedDeclaration": 111214, + "src": "1432:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2993,50 +2993,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1423:18:171", + "src": "1423:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1404:37:171" + "src": "1404:37:145" }, { "condition": { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 119531, + "id": 111238, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119527, + "id": 111234, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "1454:4:171", + "referencedDeclaration": 111229, + "src": "1454:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119528, + "id": 111235, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "1454:10:171", + "referencedDeclaration": 111185, + "src": "1454:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -3044,59 +3044,59 @@ "operator": "==", "rightExpression": { "expression": { - "id": 119529, + "id": 111236, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1468:11:171", + "referencedDeclaration": 112350, + "src": "1468:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 119530, + "id": 111237, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "1468:19:171", + "referencedDeclaration": 112348, + "src": "1468:19:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1454:33:171", + "src": "1454:33:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119546, + "id": 111253, "nodeType": "IfStatement", - "src": "1451:244:171", + "src": "1451:244:145", "trueBody": { - "id": 119545, + "id": 111252, "nodeType": "Block", - "src": "1488:207:171", + "src": "1488:207:145", "statements": [ { "assignments": [ - 119533 + 111240 ], "declarations": [ { "constant": false, - "id": 119533, + "id": 111240, "mutability": "mutable", "name": "r", - "nameLocation": "1516:1:171", + "nameLocation": "1516:1:145", "nodeType": "VariableDeclaration", - "scope": 119545, - "src": "1502:15:171", + "scope": 111252, + "src": "1502:15:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3104,10 +3104,10 @@ "typeString": "string" }, "typeName": { - "id": 119532, + "id": 111239, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1502:6:171", + "src": "1502:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -3116,21 +3116,21 @@ "visibility": "internal" } ], - "id": 119542, + "id": 111249, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 119538, + "id": 111245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1574:31:171", + "src": "1574:31:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -3138,12 +3138,12 @@ "value": "data:application/json;base64," }, { - "id": 119539, + "id": 111246, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119489, - "src": "1623:15:171", + "referencedDeclaration": 111196, + "src": "1623:15:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -3162,31 +3162,31 @@ } ], "expression": { - "id": 119536, + "id": 111243, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1540:3:171", + "src": "1540:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119537, + "id": 111244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "1540:16:171", + "src": "1540:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119540, + "id": 111247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3194,7 +3194,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1540:112:171", + "src": "1540:112:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -3209,26 +3209,26 @@ "typeString": "bytes memory" } ], - "id": 119535, + "id": 111242, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1520:6:171", + "src": "1520:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119534, + "id": 111241, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1520:6:171", + "src": "1520:6:145", "typeDescriptions": {} } }, - "id": 119541, + "id": 111248, "isConstant": false, "isLValue": false, "isPure": false, @@ -3236,7 +3236,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1520:142:171", + "src": "1520:142:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -3244,25 +3244,25 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1502:160:171" + "src": "1502:160:145" }, { "expression": { - "id": 119543, + "id": 111250, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119533, - "src": "1683:1:171", + "referencedDeclaration": 111240, + "src": "1683:1:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119512, - "id": 119544, + "functionReturnParameters": 111219, + "id": 111251, "nodeType": "Return", - "src": "1676:8:171" + "src": "1676:8:145" } ] } @@ -3272,38 +3272,38 @@ "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 119552, + "id": 111259, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 119548, + "id": 111255, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "1712:4:171", + "referencedDeclaration": 111229, + "src": "1712:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119549, + "id": 111256, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "1712:10:171", + "referencedDeclaration": 111185, + "src": "1712:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -3311,32 +3311,32 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 119550, + "id": 111257, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1726:11:171", + "referencedDeclaration": 112350, + "src": "1726:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 119551, + "id": 111258, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Inited", "nodeType": "MemberAccess", - "referencedDeclaration": 120640, - "src": "1726:18:171", + "referencedDeclaration": 112347, + "src": "1726:18:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1712:32:171", + "src": "1712:32:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3344,14 +3344,14 @@ }, { "hexValue": "426f78206e6f742065786973746564", - "id": 119553, + "id": 111260, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1746:17:171", + "src": "1746:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", "typeString": "literal_string \"Box not existed\"" @@ -3370,7 +3370,7 @@ "typeString": "literal_string \"Box not existed\"" } ], - "id": 119547, + "id": 111254, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3378,13 +3378,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1704:7:171", + "src": "1704:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 119554, + "id": 111261, "isConstant": false, "isLValue": false, "isPure": false, @@ -3392,48 +3392,48 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1704:60:171", + "src": "1704:60:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 119555, + "id": 111262, "nodeType": "ExpressionStatement", - "src": "1704:60:171" + "src": "1704:60:145" }, { "expression": { - "id": 119560, + "id": 111267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119556, + "id": 111263, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "1775:5:171", + "referencedDeclaration": 111225, + "src": "1775:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119558, + "id": 111265, "indexExpression": { "hexValue": "30", - "id": 119557, + "id": 111264, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1794:1:171", + "src": "1794:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3445,7 +3445,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1775:30:171", + "src": "1775:30:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3455,61 +3455,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", - "id": 119559, + "id": 111266, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1808:255:171", + "src": "1808:255:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "1775:288:171", + "src": "1775:288:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119561, + "id": 111268, "nodeType": "ExpressionStatement", - "src": "1775:288:171" + "src": "1775:288:145" }, { "expression": { - "id": 119567, + "id": 111274, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119562, + "id": 111269, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2074:5:171", + "referencedDeclaration": 111225, + "src": "2074:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119564, + "id": 111271, "indexExpression": { "hexValue": "31", - "id": 119563, + "id": 111270, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2080:1:171", + "src": "2080:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3521,7 +3521,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2074:8:171", + "src": "2074:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3531,72 +3531,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119565, + "id": 111272, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2085:4:171", + "referencedDeclaration": 111229, + "src": "2085:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119566, + "id": 111273, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "2085:11:171", + "referencedDeclaration": 111168, + "src": "2085:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2074:22:171", + "src": "2074:22:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119568, + "id": 111275, "nodeType": "ExpressionStatement", - "src": "2074:22:171" + "src": "2074:22:145" }, { "expression": { - "id": 119573, + "id": 111280, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119569, + "id": 111276, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2107:5:171", + "referencedDeclaration": 111225, + "src": "2107:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119571, + "id": 111278, "indexExpression": { "hexValue": "32", - "id": 119570, + "id": 111277, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2113:1:171", + "src": "2113:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3608,7 +3608,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2107:8:171", + "src": "2107:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3618,61 +3618,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", - "id": 119572, + "id": 111279, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2118:42:171", + "src": "2118:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2107:53:171", + "src": "2107:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119574, + "id": 111281, "nodeType": "ExpressionStatement", - "src": "2107:53:171" + "src": "2107:53:145" }, { "expression": { - "id": 119580, + "id": 111287, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119575, + "id": 111282, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2171:5:171", + "referencedDeclaration": 111225, + "src": "2171:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119577, + "id": 111284, "indexExpression": { "hexValue": "33", - "id": 119576, + "id": 111283, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2177:1:171", + "src": "2177:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3684,7 +3684,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2171:8:171", + "src": "2171:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3694,72 +3694,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119578, + "id": 111285, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2182:4:171", + "referencedDeclaration": 111229, + "src": "2182:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119579, + "id": 111286, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "2182:10:171", + "referencedDeclaration": 111170, + "src": "2182:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2171:21:171", + "src": "2171:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119581, + "id": 111288, "nodeType": "ExpressionStatement", - "src": "2171:21:171" + "src": "2171:21:145" }, { "expression": { - "id": 119586, + "id": 111293, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119582, + "id": 111289, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2203:5:171", + "referencedDeclaration": 111225, + "src": "2203:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119584, + "id": 111291, "indexExpression": { "hexValue": "34", - "id": 119583, + "id": 111290, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2209:1:171", + "src": "2209:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3771,7 +3771,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2203:8:171", + "src": "2203:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3781,61 +3781,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", - "id": 119585, + "id": 111292, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2214:42:171", + "src": "2214:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2203:53:171", + "src": "2203:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119587, + "id": 111294, "nodeType": "ExpressionStatement", - "src": "2203:53:171" + "src": "2203:53:145" }, { "expression": { - "id": 119593, + "id": 111300, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119588, + "id": 111295, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2267:5:171", + "referencedDeclaration": 111225, + "src": "2267:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119590, + "id": 111297, "indexExpression": { "hexValue": "35", - "id": 119589, + "id": 111296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2273:1:171", + "src": "2273:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -3847,7 +3847,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2267:8:171", + "src": "2267:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3857,72 +3857,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119591, + "id": 111298, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2278:4:171", + "referencedDeclaration": 111229, + "src": "2278:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119592, + "id": 111299, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "2278:9:171", + "referencedDeclaration": 111172, + "src": "2278:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2267:20:171", + "src": "2267:20:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119594, + "id": 111301, "nodeType": "ExpressionStatement", - "src": "2267:20:171" + "src": "2267:20:145" }, { "expression": { - "id": 119599, + "id": 111306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119595, + "id": 111302, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2298:5:171", + "referencedDeclaration": 111225, + "src": "2298:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119597, + "id": 111304, "indexExpression": { "hexValue": "36", - "id": 119596, + "id": 111303, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2304:1:171", + "src": "2304:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -3934,7 +3934,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2298:8:171", + "src": "2298:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -3944,61 +3944,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", - "id": 119598, + "id": 111305, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2309:42:171", + "src": "2309:42:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2298:53:171", + "src": "2298:53:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119600, + "id": 111307, "nodeType": "ExpressionStatement", - "src": "2298:53:171" + "src": "2298:53:145" }, { "expression": { - "id": 119606, + "id": 111313, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119601, + "id": 111308, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2362:5:171", + "referencedDeclaration": 111225, + "src": "2362:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119603, + "id": 111310, "indexExpression": { "hexValue": "37", - "id": 119602, + "id": 111309, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2368:1:171", + "src": "2368:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -4010,7 +4010,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2362:8:171", + "src": "2362:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4020,72 +4020,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119604, + "id": 111311, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2373:4:171", + "referencedDeclaration": 111229, + "src": "2373:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119605, + "id": 111312, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "2373:10:171", + "referencedDeclaration": 111174, + "src": "2373:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2362:21:171", + "src": "2362:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119607, + "id": 111314, "nodeType": "ExpressionStatement", - "src": "2362:21:171" + "src": "2362:21:145" }, { "expression": { - "id": 119612, + "id": 111319, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119608, + "id": 111315, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2394:5:171", + "referencedDeclaration": 111225, + "src": "2394:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119610, + "id": 111317, "indexExpression": { "hexValue": "38", - "id": 119609, + "id": 111316, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2400:1:171", + "src": "2400:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -4097,7 +4097,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2394:8:171", + "src": "2394:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4107,61 +4107,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", - "id": 119611, + "id": 111318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2405:43:171", + "src": "2405:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2394:54:171", + "src": "2394:54:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119613, + "id": 111320, "nodeType": "ExpressionStatement", - "src": "2394:54:171" + "src": "2394:54:145" }, { "expression": { - "id": 119619, + "id": 111326, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119614, + "id": 111321, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2459:5:171", + "referencedDeclaration": 111225, + "src": "2459:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119616, + "id": 111323, "indexExpression": { "hexValue": "39", - "id": 119615, + "id": 111322, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2465:1:171", + "src": "2465:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -4173,7 +4173,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2459:8:171", + "src": "2459:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4183,72 +4183,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119617, + "id": 111324, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2470:4:171", + "referencedDeclaration": 111229, + "src": "2470:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119618, + "id": 111325, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "2470:9:171", + "referencedDeclaration": 111176, + "src": "2470:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2459:20:171", + "src": "2459:20:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119620, + "id": 111327, "nodeType": "ExpressionStatement", - "src": "2459:20:171" + "src": "2459:20:145" }, { "expression": { - "id": 119625, + "id": 111332, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119621, + "id": 111328, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2490:5:171", + "referencedDeclaration": 111225, + "src": "2490:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119623, + "id": 111330, "indexExpression": { "hexValue": "3130", - "id": 119622, + "id": 111329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2496:2:171", + "src": "2496:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -4260,7 +4260,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2490:9:171", + "src": "2490:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4270,61 +4270,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", - "id": 119624, + "id": 111331, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2502:43:171", + "src": "2502:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2490:55:171", + "src": "2490:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119626, + "id": 111333, "nodeType": "ExpressionStatement", - "src": "2490:55:171" + "src": "2490:55:145" }, { "expression": { - "id": 119632, + "id": 111339, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119627, + "id": 111334, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2556:5:171", + "referencedDeclaration": 111225, + "src": "2556:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119629, + "id": 111336, "indexExpression": { "hexValue": "3131", - "id": 119628, + "id": 111335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2562:2:171", + "src": "2562:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -4336,7 +4336,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2556:9:171", + "src": "2556:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4346,72 +4346,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119630, + "id": 111337, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2568:4:171", + "referencedDeclaration": 111229, + "src": "2568:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119631, + "id": 111338, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "2568:9:171", + "referencedDeclaration": 111178, + "src": "2568:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2556:21:171", + "src": "2556:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119633, + "id": 111340, "nodeType": "ExpressionStatement", - "src": "2556:21:171" + "src": "2556:21:145" }, { "expression": { - "id": 119638, + "id": 111345, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119634, + "id": 111341, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2588:5:171", + "referencedDeclaration": 111225, + "src": "2588:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119636, + "id": 111343, "indexExpression": { "hexValue": "3132", - "id": 119635, + "id": 111342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2594:2:171", + "src": "2594:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -4423,7 +4423,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2588:9:171", + "src": "2588:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4433,61 +4433,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e", - "id": 119637, + "id": 111344, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2600:43:171", + "src": "2600:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_802d7ac612e3f71ec446a9f274d9a3dd6ee52f8ac958ec0935e9c85bcfda065f", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2588:55:171", + "src": "2588:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119639, + "id": 111346, "nodeType": "ExpressionStatement", - "src": "2588:55:171" + "src": "2588:55:145" }, { "expression": { - "id": 119645, + "id": 111352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119640, + "id": 111347, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2654:5:171", + "referencedDeclaration": 111225, + "src": "2654:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119642, + "id": 111349, "indexExpression": { "hexValue": "3133", - "id": 119641, + "id": 111348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2660:2:171", + "src": "2660:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -4499,7 +4499,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2654:9:171", + "src": "2654:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4509,72 +4509,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119643, + "id": 111350, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2666:4:171", + "referencedDeclaration": 111229, + "src": "2666:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119644, + "id": 111351, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "2666:9:171", + "referencedDeclaration": 111180, + "src": "2666:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2654:21:171", + "src": "2654:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119646, + "id": 111353, "nodeType": "ExpressionStatement", - "src": "2654:21:171" + "src": "2654:21:145" }, { "expression": { - "id": 119651, + "id": 111358, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119647, + "id": 111354, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2686:5:171", + "referencedDeclaration": 111225, + "src": "2686:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119649, + "id": 111356, "indexExpression": { "hexValue": "3134", - "id": 119648, + "id": 111355, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2692:2:171", + "src": "2692:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" @@ -4586,7 +4586,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2686:9:171", + "src": "2686:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4596,61 +4596,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e", - "id": 119650, + "id": 111357, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2698:43:171", + "src": "2698:43:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4b0df153e66a9089705a59f42f527fc62c50272bbdcc98097fe5334a37452f0f", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2686:55:171", + "src": "2686:55:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119652, + "id": 111359, "nodeType": "ExpressionStatement", - "src": "2686:55:171" + "src": "2686:55:145" }, { "expression": { - "id": 119658, + "id": 111365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119653, + "id": 111360, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2752:5:171", + "referencedDeclaration": 111225, + "src": "2752:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119655, + "id": 111362, "indexExpression": { "hexValue": "3135", - "id": 119654, + "id": 111361, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2758:2:171", + "src": "2758:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" @@ -4662,7 +4662,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2752:9:171", + "src": "2752:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4672,72 +4672,72 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 119656, + "id": 111363, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119522, - "src": "2764:4:171", + "referencedDeclaration": 111229, + "src": "2764:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 119657, + "id": 111364, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "2764:9:171", + "referencedDeclaration": 111182, + "src": "2764:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2752:21:171", + "src": "2752:21:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119659, + "id": 111366, "nodeType": "ExpressionStatement", - "src": "2752:21:171" + "src": "2752:21:145" }, { "expression": { - "id": 119664, + "id": 111371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119660, + "id": 111367, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2784:5:171", + "referencedDeclaration": 111225, + "src": "2784:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119662, + "id": 111369, "indexExpression": { "hexValue": "3136", - "id": 119661, + "id": 111368, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2790:2:171", + "src": "2790:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -4749,7 +4749,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2784:9:171", + "src": "2784:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4759,44 +4759,44 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c2f7376673e", - "id": 119663, + "id": 111370, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2796:15:171", + "src": "2796:15:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2784:27:171", + "src": "2784:27:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119665, + "id": 111372, "nodeType": "ExpressionStatement", - "src": "2784:27:171" + "src": "2784:27:145" }, { "assignments": [ - 119667 + 111374 ], "declarations": [ { "constant": false, - "id": 119667, + "id": 111374, "mutability": "mutable", "name": "output", - "nameLocation": "2836:6:171", + "nameLocation": "2836:6:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "2822:20:171", + "scope": 111486, + "src": "2822:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4804,10 +4804,10 @@ "typeString": "string" }, "typeName": { - "id": 119666, + "id": 111373, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2822:6:171", + "src": "2822:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4816,35 +4816,35 @@ "visibility": "internal" } ], - "id": 119701, + "id": 111408, "initialValue": { "arguments": [ { "arguments": [ { "baseExpression": { - "id": 119672, + "id": 111379, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2899:5:171", + "referencedDeclaration": 111225, + "src": "2899:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119674, + "id": 111381, "indexExpression": { "hexValue": "30", - "id": 119673, + "id": 111380, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2905:1:171", + "src": "2905:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -4856,7 +4856,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2899:8:171", + "src": "2899:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4864,28 +4864,28 @@ }, { "baseExpression": { - "id": 119675, + "id": 111382, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2925:5:171", + "referencedDeclaration": 111225, + "src": "2925:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119677, + "id": 111384, "indexExpression": { "hexValue": "31", - "id": 119676, + "id": 111383, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2931:1:171", + "src": "2931:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4897,7 +4897,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2925:8:171", + "src": "2925:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4905,28 +4905,28 @@ }, { "baseExpression": { - "id": 119678, + "id": 111385, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2951:5:171", + "referencedDeclaration": 111225, + "src": "2951:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119680, + "id": 111387, "indexExpression": { "hexValue": "32", - "id": 119679, + "id": 111386, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2957:1:171", + "src": "2957:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4938,7 +4938,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2951:8:171", + "src": "2951:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4946,28 +4946,28 @@ }, { "baseExpression": { - "id": 119681, + "id": 111388, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "2977:5:171", + "referencedDeclaration": 111225, + "src": "2977:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119683, + "id": 111390, "indexExpression": { "hexValue": "33", - "id": 119682, + "id": 111389, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2983:1:171", + "src": "2983:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -4979,7 +4979,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2977:8:171", + "src": "2977:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4987,28 +4987,28 @@ }, { "baseExpression": { - "id": 119684, + "id": 111391, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3003:5:171", + "referencedDeclaration": 111225, + "src": "3003:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119686, + "id": 111393, "indexExpression": { "hexValue": "34", - "id": 119685, + "id": 111392, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3009:1:171", + "src": "3009:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5020,7 +5020,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3003:8:171", + "src": "3003:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5028,28 +5028,28 @@ }, { "baseExpression": { - "id": 119687, + "id": 111394, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3029:5:171", + "referencedDeclaration": 111225, + "src": "3029:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119689, + "id": 111396, "indexExpression": { "hexValue": "35", - "id": 119688, + "id": 111395, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3035:1:171", + "src": "3035:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -5061,7 +5061,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3029:8:171", + "src": "3029:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5069,28 +5069,28 @@ }, { "baseExpression": { - "id": 119690, + "id": 111397, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3055:5:171", + "referencedDeclaration": 111225, + "src": "3055:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119692, + "id": 111399, "indexExpression": { "hexValue": "36", - "id": 119691, + "id": 111398, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3061:1:171", + "src": "3061:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -5102,7 +5102,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3055:8:171", + "src": "3055:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5110,28 +5110,28 @@ }, { "baseExpression": { - "id": 119693, + "id": 111400, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3081:5:171", + "referencedDeclaration": 111225, + "src": "3081:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119695, + "id": 111402, "indexExpression": { "hexValue": "37", - "id": 119694, + "id": 111401, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3087:1:171", + "src": "3087:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -5143,7 +5143,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3081:8:171", + "src": "3081:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5151,28 +5151,28 @@ }, { "baseExpression": { - "id": 119696, + "id": 111403, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3107:5:171", + "referencedDeclaration": 111225, + "src": "3107:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119698, + "id": 111405, "indexExpression": { "hexValue": "38", - "id": 119697, + "id": 111404, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3113:1:171", + "src": "3113:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -5184,7 +5184,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3107:8:171", + "src": "3107:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5231,31 +5231,31 @@ } ], "expression": { - "id": 119670, + "id": 111377, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2865:3:171", + "src": "2865:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119671, + "id": 111378, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2865:16:171", + "src": "2865:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119699, + "id": 111406, "isConstant": false, "isLValue": false, "isPure": false, @@ -5263,7 +5263,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2865:264:171", + "src": "2865:264:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5278,26 +5278,26 @@ "typeString": "bytes memory" } ], - "id": 119669, + "id": 111376, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2845:6:171", + "src": "2845:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119668, + "id": 111375, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2845:6:171", + "src": "2845:6:145", "typeDescriptions": {} } }, - "id": 119700, + "id": 111407, "isConstant": false, "isLValue": false, "isPure": false, @@ -5305,7 +5305,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2845:294:171", + "src": "2845:294:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5313,22 +5313,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2822:317:171" + "src": "2822:317:145" }, { "expression": { - "id": 119734, + "id": 111441, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119702, + "id": 111409, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3149:6:171", + "referencedDeclaration": 111374, + "src": "3149:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5341,12 +5341,12 @@ { "arguments": [ { - "id": 119707, + "id": 111414, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3212:6:171", + "referencedDeclaration": 111374, + "src": "3212:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5354,28 +5354,28 @@ }, { "baseExpression": { - "id": 119708, + "id": 111415, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3236:5:171", + "referencedDeclaration": 111225, + "src": "3236:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119710, + "id": 111417, "indexExpression": { "hexValue": "39", - "id": 119709, + "id": 111416, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3242:1:171", + "src": "3242:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -5387,7 +5387,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3236:8:171", + "src": "3236:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5395,28 +5395,28 @@ }, { "baseExpression": { - "id": 119711, + "id": 111418, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3262:5:171", + "referencedDeclaration": 111225, + "src": "3262:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119713, + "id": 111420, "indexExpression": { "hexValue": "3130", - "id": 119712, + "id": 111419, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3268:2:171", + "src": "3268:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -5428,7 +5428,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3262:9:171", + "src": "3262:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5436,28 +5436,28 @@ }, { "baseExpression": { - "id": 119714, + "id": 111421, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3289:5:171", + "referencedDeclaration": 111225, + "src": "3289:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119716, + "id": 111423, "indexExpression": { "hexValue": "3131", - "id": 119715, + "id": 111422, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3295:2:171", + "src": "3295:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -5469,7 +5469,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3289:9:171", + "src": "3289:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5477,28 +5477,28 @@ }, { "baseExpression": { - "id": 119717, + "id": 111424, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3316:5:171", + "referencedDeclaration": 111225, + "src": "3316:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119719, + "id": 111426, "indexExpression": { "hexValue": "3132", - "id": 119718, + "id": 111425, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3322:2:171", + "src": "3322:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -5510,7 +5510,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3316:9:171", + "src": "3316:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5518,28 +5518,28 @@ }, { "baseExpression": { - "id": 119720, + "id": 111427, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3343:5:171", + "referencedDeclaration": 111225, + "src": "3343:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119722, + "id": 111429, "indexExpression": { "hexValue": "3133", - "id": 119721, + "id": 111428, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3349:2:171", + "src": "3349:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -5551,7 +5551,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3343:9:171", + "src": "3343:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5559,28 +5559,28 @@ }, { "baseExpression": { - "id": 119723, + "id": 111430, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3370:5:171", + "referencedDeclaration": 111225, + "src": "3370:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119725, + "id": 111432, "indexExpression": { "hexValue": "3134", - "id": 119724, + "id": 111431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3376:2:171", + "src": "3376:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" @@ -5592,7 +5592,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3370:9:171", + "src": "3370:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5600,28 +5600,28 @@ }, { "baseExpression": { - "id": 119726, + "id": 111433, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3397:5:171", + "referencedDeclaration": 111225, + "src": "3397:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119728, + "id": 111435, "indexExpression": { "hexValue": "3135", - "id": 119727, + "id": 111434, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3403:2:171", + "src": "3403:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_15_by_1", "typeString": "int_const 15" @@ -5633,7 +5633,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3397:9:171", + "src": "3397:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5641,28 +5641,28 @@ }, { "baseExpression": { - "id": 119729, + "id": 111436, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119518, - "src": "3424:5:171", + "referencedDeclaration": 111225, + "src": "3424:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", "typeString": "string memory[17] memory" } }, - "id": 119731, + "id": 111438, "indexExpression": { "hexValue": "3136", - "id": 119730, + "id": 111437, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3430:2:171", + "src": "3430:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_16_by_1", "typeString": "int_const 16" @@ -5674,7 +5674,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3424:9:171", + "src": "3424:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5721,31 +5721,31 @@ } ], "expression": { - "id": 119705, + "id": 111412, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3178:3:171", + "src": "3178:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119706, + "id": 111413, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3178:16:171", + "src": "3178:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119732, + "id": 111439, "isConstant": false, "isLValue": false, "isPure": false, @@ -5753,7 +5753,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3178:269:171", + "src": "3178:269:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5768,26 +5768,26 @@ "typeString": "bytes memory" } ], - "id": 119704, + "id": 111411, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3158:6:171", + "src": "3158:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119703, + "id": 111410, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3158:6:171", + "src": "3158:6:145", "typeDescriptions": {} } }, - "id": 119733, + "id": 111440, "isConstant": false, "isLValue": false, "isPure": false, @@ -5795,37 +5795,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3158:299:171", + "src": "3158:299:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3149:308:171", + "src": "3149:308:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119735, + "id": 111442, "nodeType": "ExpressionStatement", - "src": "3149:308:171" + "src": "3149:308:145" }, { "assignments": [ - 119737 + 111444 ], "declarations": [ { "constant": false, - "id": 119737, + "id": 111444, "mutability": "mutable", "name": "json", - "nameLocation": "3482:4:171", + "nameLocation": "3482:4:145", "nodeType": "VariableDeclaration", - "scope": 119779, - "src": "3468:18:171", + "scope": 111486, + "src": "3468:18:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5833,10 +5833,10 @@ "typeString": "string" }, "typeName": { - "id": 119736, + "id": 111443, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3468:6:171", + "src": "3468:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5845,7 +5845,7 @@ "visibility": "internal" } ], - "id": 119765, + "id": 111472, "initialValue": { "arguments": [ { @@ -5856,14 +5856,14 @@ "arguments": [ { "hexValue": "7b226e616d65223a20224d4c6f6f742023", - "id": 119746, + "id": 111453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3609:19:171", + "src": "3609:19:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", "typeString": "literal_string \"{\"name\": \"MLoot #\"" @@ -5875,32 +5875,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 119747, + "id": 111454, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119507, - "src": "3654:8:171", + "referencedDeclaration": 111214, + "src": "3654:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 119748, + "id": 111455, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3654:17:171", + "referencedDeclaration": 30738, + "src": "3654:17:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 119749, + "id": 111456, "isConstant": false, "isLValue": false, "isPure": false, @@ -5908,7 +5908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3654:19:171", + "src": "3654:19:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5917,14 +5917,14 @@ }, { "hexValue": "222c20226465736372697074696f6e223a22", - "id": 119750, + "id": 111457, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3699:20:171", + "src": "3699:20:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", "typeString": "literal_string \"\", \"description\":\"\"" @@ -5932,12 +5932,12 @@ "value": "\", \"description\":\"" }, { - "id": 119751, + "id": 111458, "name": "desc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119487, - "src": "3745:4:171", + "referencedDeclaration": 111194, + "src": "3745:4:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -5945,14 +5945,14 @@ }, { "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", - "id": 119752, + "id": 111459, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3775:40:171", + "src": "3775:40:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" @@ -5964,12 +5964,12 @@ { "arguments": [ { - "id": 119757, + "id": 111464, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3861:6:171", + "referencedDeclaration": 111374, + "src": "3861:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5983,26 +5983,26 @@ "typeString": "string memory" } ], - "id": 119756, + "id": 111463, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3855:5:171", + "src": "3855:5:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 119755, + "id": 111462, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3855:5:171", + "src": "3855:5:145", "typeDescriptions": {} } }, - "id": 119758, + "id": 111465, "isConstant": false, "isLValue": false, "isPure": false, @@ -6010,7 +6010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3855:13:171", + "src": "3855:13:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6026,32 +6026,32 @@ } ], "expression": { - "id": 119753, + "id": 111460, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "3841:6:171", + "referencedDeclaration": 111110, + "src": "3841:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 119754, + "id": 111461, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "3841:13:171", + "referencedDeclaration": 111109, + "src": "3841:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 119759, + "id": 111466, "isConstant": false, "isLValue": false, "isPure": false, @@ -6059,7 +6059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3841:28:171", + "src": "3841:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6068,14 +6068,14 @@ }, { "hexValue": "227d", - "id": 119760, + "id": 111467, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3895:4:171", + "src": "3895:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -6115,31 +6115,31 @@ } ], "expression": { - "id": 119744, + "id": 111451, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3567:3:171", + "src": "3567:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119745, + "id": 111452, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3567:16:171", + "src": "3567:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119761, + "id": 111468, "isConstant": false, "isLValue": false, "isPure": false, @@ -6147,7 +6147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3567:354:171", + "src": "3567:354:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6162,26 +6162,26 @@ "typeString": "bytes memory" } ], - "id": 119743, + "id": 111450, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3539:6:171", + "src": "3539:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119742, + "id": 111449, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3539:6:171", + "src": "3539:6:145", "typeDescriptions": {} } }, - "id": 119762, + "id": 111469, "isConstant": false, "isLValue": false, "isPure": false, @@ -6189,7 +6189,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3539:400:171", + "src": "3539:400:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6204,26 +6204,26 @@ "typeString": "string memory" } ], - "id": 119741, + "id": 111448, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3516:5:171", + "src": "3516:5:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 119740, + "id": 111447, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "3516:5:171", + "src": "3516:5:145", "typeDescriptions": {} } }, - "id": 119763, + "id": 111470, "isConstant": false, "isLValue": false, "isPure": false, @@ -6231,7 +6231,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3516:437:171", + "src": "3516:437:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6247,32 +6247,32 @@ } ], "expression": { - "id": 119738, + "id": 111445, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "3489:6:171", + "referencedDeclaration": 111110, + "src": "3489:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 119739, + "id": 111446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "3489:13:171", + "referencedDeclaration": 111109, + "src": "3489:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 119764, + "id": 111471, "isConstant": false, "isLValue": false, "isPure": false, @@ -6280,7 +6280,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3489:474:171", + "src": "3489:474:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6288,22 +6288,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3468:495:171" + "src": "3468:495:145" }, { "expression": { - "id": 119775, + "id": 111482, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119766, + "id": 111473, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "3973:6:171", + "referencedDeclaration": 111374, + "src": "3973:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6317,14 +6317,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 119771, + "id": 111478, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4019:31:171", + "src": "4019:31:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -6332,12 +6332,12 @@ "value": "data:application/json;base64," }, { - "id": 119772, + "id": 111479, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119737, - "src": "4052:4:171", + "referencedDeclaration": 111444, + "src": "4052:4:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6356,31 +6356,31 @@ } ], "expression": { - "id": 119769, + "id": 111476, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4002:3:171", + "src": "4002:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119770, + "id": 111477, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4002:16:171", + "src": "4002:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119773, + "id": 111480, "isConstant": false, "isLValue": false, "isPure": false, @@ -6388,7 +6388,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4002:55:171", + "src": "4002:55:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6403,26 +6403,26 @@ "typeString": "bytes memory" } ], - "id": 119768, + "id": 111475, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3982:6:171", + "src": "3982:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119767, + "id": 111474, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3982:6:171", + "src": "3982:6:145", "typeDescriptions": {} } }, - "id": 119774, + "id": 111481, "isConstant": false, "isLValue": false, "isPure": false, @@ -6430,71 +6430,71 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3982:85:171", + "src": "3982:85:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3973:94:171", + "src": "3973:94:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119776, + "id": 111483, "nodeType": "ExpressionStatement", - "src": "3973:94:171" + "src": "3973:94:145" }, { "expression": { - "id": 119777, + "id": 111484, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119667, - "src": "4085:6:171", + "referencedDeclaration": 111374, + "src": "4085:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119512, - "id": 119778, + "functionReturnParameters": 111219, + "id": 111485, "nodeType": "Return", - "src": "4078:13:171" + "src": "4078:13:145" } ] }, "baseFunctions": [ - 71703 + 29444 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "1275:8:171", + "nameLocation": "1275:8:145", "overrides": { - "id": 119509, + "id": 111216, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1328:8:171" + "src": "1328:8:145" }, "parameters": { - "id": 119508, + "id": 111215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119507, + "id": 111214, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1301:8:171", + "nameLocation": "1301:8:145", "nodeType": "VariableDeclaration", - "scope": 119780, - "src": "1293:16:171", + "scope": 111487, + "src": "1293:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6502,10 +6502,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119506, + "id": 111213, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1293:7:171", + "src": "1293:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6514,21 +6514,21 @@ "visibility": "internal" } ], - "src": "1283:32:171" + "src": "1283:32:145" }, "returnParameters": { - "id": 119512, + "id": 111219, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119511, + "id": 111218, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 119780, - "src": "1346:13:171", + "scope": 111487, + "src": "1346:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6536,10 +6536,10 @@ "typeString": "string" }, "typeName": { - "id": 119510, + "id": 111217, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1346:6:171", + "src": "1346:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6548,38 +6548,38 @@ "visibility": "internal" } ], - "src": "1345:15:171" + "src": "1345:15:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 119909, + "id": 111616, "nodeType": "FunctionDefinition", - "src": "4104:1153:171", + "src": "4104:1153:145", "nodes": [], "body": { - "id": 119908, + "id": 111615, "nodeType": "Block", - "src": "4219:1038:171", + "src": "4219:1038:145", "nodes": [], "statements": [ { "assignments": [ - 119791 + 111498 ], "declarations": [ { "constant": false, - "id": 119791, + "id": 111498, "mutability": "mutable", "name": "output", - "nameLocation": "4243:6:171", + "nameLocation": "4243:6:145", "nodeType": "VariableDeclaration", - "scope": 119908, - "src": "4229:20:171", + "scope": 111615, + "src": "4229:20:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6587,10 +6587,10 @@ "typeString": "string" }, "typeName": { - "id": 119790, + "id": 111497, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4229:6:171", + "src": "4229:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6599,38 +6599,38 @@ "visibility": "internal" } ], - "id": 119798, + "id": 111505, "initialValue": { "baseExpression": { - "id": 119792, + "id": 111499, "name": "sourceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119785, - "src": "4252:11:171", + "referencedDeclaration": 111492, + "src": "4252:11:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 119797, + "id": 111504, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119796, + "id": 111503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119793, + "id": 111500, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4264:4:171", + "referencedDeclaration": 111489, + "src": "4264:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6640,31 +6640,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119794, + "id": 111501, "name": "sourceArray", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119785, - "src": "4271:11:171", + "referencedDeclaration": 111492, + "src": "4271:11:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 119795, + "id": 111502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4271:18:171", + "src": "4271:18:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4264:25:171", + "src": "4264:25:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6675,29 +6675,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4252:38:171", + "src": "4252:38:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4229:61:171" + "src": "4229:61:145" }, { "assignments": [ - 119800 + 111507 ], "declarations": [ { "constant": false, - "id": 119800, + "id": 111507, "mutability": "mutable", "name": "greatness", - "nameLocation": "4309:9:171", + "nameLocation": "4309:9:145", "nodeType": "VariableDeclaration", - "scope": 119908, - "src": "4301:17:171", + "scope": 111615, + "src": "4301:17:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6705,10 +6705,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119799, + "id": 111506, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4301:7:171", + "src": "4301:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6717,24 +6717,24 @@ "visibility": "internal" } ], - "id": 119804, + "id": 111511, "initialValue": { "commonType": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 119803, + "id": 111510, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119801, + "id": 111508, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4321:4:171", + "referencedDeclaration": 111489, + "src": "4321:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6744,28 +6744,28 @@ "operator": "%", "rightExpression": { "hexValue": "3231", - "id": 119802, + "id": 111509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4328:2:171", + "src": "4328:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_21_by_1", "typeString": "int_const 21" }, "value": "21" }, - "src": "4321:9:171", + "src": "4321:9:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "nodeType": "VariableDeclarationStatement", - "src": "4301:29:171" + "src": "4301:29:145" }, { "condition": { @@ -6773,18 +6773,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119807, + "id": 111514, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119805, + "id": 111512, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4344:9:171", + "referencedDeclaration": 111507, + "src": "4344:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6794,48 +6794,48 @@ "operator": ">", "rightExpression": { "hexValue": "3134", - "id": 119806, + "id": 111513, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4356:2:171", + "src": "4356:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_14_by_1", "typeString": "int_const 14" }, "value": "14" }, - "src": "4344:14:171", + "src": "4344:14:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119826, + "id": 111533, "nodeType": "IfStatement", - "src": "4340:155:171", + "src": "4340:155:145", "trueBody": { - "id": 119825, + "id": 111532, "nodeType": "Block", - "src": "4360:135:171", + "src": "4360:135:145", "statements": [ { "expression": { - "id": 119823, + "id": 111530, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119808, + "id": 111515, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4374:6:171", + "referencedDeclaration": 111498, + "src": "4374:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6848,12 +6848,12 @@ { "arguments": [ { - "id": 119813, + "id": 111520, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4424:6:171", + "referencedDeclaration": 111498, + "src": "4424:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6861,14 +6861,14 @@ }, { "hexValue": "20", - "id": 119814, + "id": 111521, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4432:3:171", + "src": "4432:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -6877,35 +6877,35 @@ }, { "baseExpression": { - "id": 119815, + "id": 111522, "name": "suffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120541, - "src": "4437:8:171", + "referencedDeclaration": 112248, + "src": "4437:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119820, + "id": 111527, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119819, + "id": 111526, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119816, + "id": 111523, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4446:4:171", + "referencedDeclaration": 111489, + "src": "4446:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -6915,31 +6915,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119817, + "id": 111524, "name": "suffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120541, - "src": "4453:8:171", + "referencedDeclaration": 112248, + "src": "4453:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119818, + "id": 111525, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4453:15:171", + "src": "4453:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4446:22:171", + "src": "4446:22:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6950,7 +6950,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4437:32:171", + "src": "4437:32:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -6973,31 +6973,31 @@ } ], "expression": { - "id": 119811, + "id": 111518, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4407:3:171", + "src": "4407:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119812, + "id": 111519, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4407:16:171", + "src": "4407:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119821, + "id": 111528, "isConstant": false, "isLValue": false, "isPure": false, @@ -7005,7 +7005,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4407:63:171", + "src": "4407:63:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7020,26 +7020,26 @@ "typeString": "bytes memory" } ], - "id": 119810, + "id": 111517, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4383:6:171", + "src": "4383:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119809, + "id": 111516, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4383:6:171", + "src": "4383:6:145", "typeDescriptions": {} } }, - "id": 119822, + "id": 111529, "isConstant": false, "isLValue": false, "isPure": false, @@ -7047,22 +7047,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4383:101:171", + "src": "4383:101:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4374:110:171", + "src": "4374:110:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119824, + "id": 111531, "nodeType": "ExpressionStatement", - "src": "4374:110:171" + "src": "4374:110:145" } ] } @@ -7073,18 +7073,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119829, + "id": 111536, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119827, + "id": 111534, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4508:9:171", + "referencedDeclaration": 111507, + "src": "4508:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7094,48 +7094,48 @@ "operator": ">=", "rightExpression": { "hexValue": "3139", - "id": 119828, + "id": 111535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4521:2:171", + "src": "4521:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_19_by_1", "typeString": "int_const 19" }, "value": "19" }, - "src": "4508:15:171", + "src": "4508:15:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 119905, + "id": 111612, "nodeType": "IfStatement", - "src": "4504:724:171", + "src": "4504:724:145", "trueBody": { - "id": 119904, + "id": 111611, "nodeType": "Block", - "src": "4525:703:171", + "src": "4525:703:145", "statements": [ { "assignments": [ - 119835 + 111542 ], "declarations": [ { "constant": false, - "id": 119835, + "id": 111542, "mutability": "mutable", "name": "name", - "nameLocation": "4556:4:171", + "nameLocation": "4556:4:145", "nodeType": "VariableDeclaration", - "scope": 119904, - "src": "4539:21:171", + "scope": 111611, + "src": "4539:21:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7144,26 +7144,26 @@ }, "typeName": { "baseType": { - "id": 119833, + "id": 111540, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4539:6:171", + "src": "4539:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119834, + "id": 111541, "length": { "hexValue": "32", - "id": 119832, + "id": 111539, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4546:1:171", + "src": "4546:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -7171,7 +7171,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "4539:9:171", + "src": "4539:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr", "typeString": "string[2]" @@ -7180,41 +7180,41 @@ "visibility": "internal" } ], - "id": 119836, + "id": 111543, "nodeType": "VariableDeclarationStatement", - "src": "4539:21:171" + "src": "4539:21:145" }, { "expression": { - "id": 119846, + "id": 111553, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119837, + "id": 111544, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4574:4:171", + "referencedDeclaration": 111542, + "src": "4574:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119839, + "id": 111546, "indexExpression": { "hexValue": "30", - "id": 119838, + "id": 111545, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4579:1:171", + "src": "4579:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7226,7 +7226,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4574:7:171", + "src": "4574:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7236,35 +7236,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 119840, + "id": 111547, "name": "namePrefixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120614, - "src": "4584:12:171", + "referencedDeclaration": 112321, + "src": "4584:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119845, + "id": 111552, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119844, + "id": 111551, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119841, + "id": 111548, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4597:4:171", + "referencedDeclaration": 111489, + "src": "4597:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7274,31 +7274,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119842, + "id": 111549, "name": "namePrefixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120614, - "src": "4604:12:171", + "referencedDeclaration": 112321, + "src": "4604:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119843, + "id": 111550, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4604:19:171", + "src": "4604:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4597:26:171", + "src": "4597:26:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7309,53 +7309,53 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4584:40:171", + "src": "4584:40:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "src": "4574:50:171", + "src": "4574:50:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119847, + "id": 111554, "nodeType": "ExpressionStatement", - "src": "4574:50:171" + "src": "4574:50:145" }, { "expression": { - "id": 119857, + "id": 111564, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 119848, + "id": 111555, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4638:4:171", + "referencedDeclaration": 111542, + "src": "4638:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119850, + "id": 111557, "indexExpression": { "hexValue": "31", - "id": 119849, + "id": 111556, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4643:1:171", + "src": "4643:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7367,7 +7367,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4638:7:171", + "src": "4638:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7377,35 +7377,35 @@ "operator": "=", "rightHandSide": { "baseExpression": { - "id": 119851, + "id": 111558, "name": "nameSuffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120636, - "src": "4648:12:171", + "referencedDeclaration": 112343, + "src": "4648:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119856, + "id": 111563, "indexExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119855, + "id": 111562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119852, + "id": 111559, "name": "rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119782, - "src": "4661:4:171", + "referencedDeclaration": 111489, + "src": "4661:4:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -7415,31 +7415,31 @@ "operator": "%", "rightExpression": { "expression": { - "id": 119853, + "id": 111560, "name": "nameSuffixes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120636, - "src": "4668:12:171", + "referencedDeclaration": 112343, + "src": "4668:12:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" } }, - "id": 119854, + "id": 111561, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4668:19:171", + "src": "4668:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4661:26:171", + "src": "4661:26:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7450,21 +7450,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4648:40:171", + "src": "4648:40:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "src": "4638:50:171", + "src": "4638:50:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119858, + "id": 111565, "nodeType": "ExpressionStatement", - "src": "4638:50:171" + "src": "4638:50:145" }, { "condition": { @@ -7472,18 +7472,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 119861, + "id": 111568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 119859, + "id": 111566, "name": "greatness", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119800, - "src": "4706:9:171", + "referencedDeclaration": 111507, + "src": "4706:9:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7493,45 +7493,45 @@ "operator": "==", "rightExpression": { "hexValue": "3139", - "id": 119860, + "id": 111567, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4719:2:171", + "src": "4719:2:145", "typeDescriptions": { "typeIdentifier": "t_rational_19_by_1", "typeString": "int_const 19" }, "value": "19" }, - "src": "4706:15:171", + "src": "4706:15:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 119902, + "id": 111609, "nodeType": "Block", - "src": "4875:343:171", + "src": "4875:343:145", "statements": [ { "expression": { - "id": 119900, + "id": 111607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119882, + "id": 111589, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4893:6:171", + "referencedDeclaration": 111498, + "src": "4893:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7545,14 +7545,14 @@ "arguments": [ { "hexValue": "22", - "id": 119887, + "id": 111594, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4972:3:171", + "src": "4972:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -7561,28 +7561,28 @@ }, { "baseExpression": { - "id": 119888, + "id": 111595, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "5001:4:171", + "referencedDeclaration": 111542, + "src": "5001:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119890, + "id": 111597, "indexExpression": { "hexValue": "30", - "id": 119889, + "id": 111596, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5006:1:171", + "src": "5006:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7594,7 +7594,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5001:7:171", + "src": "5001:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7602,14 +7602,14 @@ }, { "hexValue": "20", - "id": 119891, + "id": 111598, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5034:3:171", + "src": "5034:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -7618,28 +7618,28 @@ }, { "baseExpression": { - "id": 119892, + "id": 111599, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "5063:4:171", + "referencedDeclaration": 111542, + "src": "5063:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119894, + "id": 111601, "indexExpression": { "hexValue": "31", - "id": 119893, + "id": 111600, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5068:1:171", + "src": "5068:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7651,7 +7651,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5063:7:171", + "src": "5063:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7659,14 +7659,14 @@ }, { "hexValue": "2220", - "id": 119895, + "id": 111602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5096:4:171", + "src": "5096:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", "typeString": "literal_string \"\" \"" @@ -7674,12 +7674,12 @@ "value": "\" " }, { - "id": 119896, + "id": 111603, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "5126:6:171", + "referencedDeclaration": 111498, + "src": "5126:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7687,14 +7687,14 @@ }, { "hexValue": "202b31", - "id": 119897, + "id": 111604, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5158:5:171", + "src": "5158:5:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", "typeString": "literal_string \" +1\"" @@ -7734,31 +7734,31 @@ } ], "expression": { - "id": 119885, + "id": 111592, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4930:3:171", + "src": "4930:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119886, + "id": 111593, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4930:16:171", + "src": "4930:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119898, + "id": 111605, "isConstant": false, "isLValue": false, "isPure": false, @@ -7766,7 +7766,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4930:255:171", + "src": "4930:255:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7781,26 +7781,26 @@ "typeString": "bytes memory" } ], - "id": 119884, + "id": 111591, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4902:6:171", + "src": "4902:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119883, + "id": 111590, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4902:6:171", + "src": "4902:6:145", "typeDescriptions": {} } }, - "id": 119899, + "id": 111606, "isConstant": false, "isLValue": false, "isPure": false, @@ -7808,47 +7808,47 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4902:301:171", + "src": "4902:301:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4893:310:171", + "src": "4893:310:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119901, + "id": 111608, "nodeType": "ExpressionStatement", - "src": "4893:310:171" + "src": "4893:310:145" } ] }, - "id": 119903, + "id": 111610, "nodeType": "IfStatement", - "src": "4702:516:171", + "src": "4702:516:145", "trueBody": { - "id": 119881, + "id": 111588, "nodeType": "Block", - "src": "4723:146:171", + "src": "4723:146:145", "statements": [ { "expression": { - "id": 119879, + "id": 111586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 119862, + "id": 111569, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4741:6:171", + "referencedDeclaration": 111498, + "src": "4741:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7862,14 +7862,14 @@ "arguments": [ { "hexValue": "22", - "id": 119867, + "id": 111574, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4795:3:171", + "src": "4795:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", "typeString": "literal_string \"\"\"" @@ -7878,28 +7878,28 @@ }, { "baseExpression": { - "id": 119868, + "id": 111575, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4800:4:171", + "referencedDeclaration": 111542, + "src": "4800:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119870, + "id": 111577, "indexExpression": { "hexValue": "30", - "id": 119869, + "id": 111576, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4805:1:171", + "src": "4805:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -7911,7 +7911,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4800:7:171", + "src": "4800:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7919,14 +7919,14 @@ }, { "hexValue": "20", - "id": 119871, + "id": 111578, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4809:3:171", + "src": "4809:3:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", "typeString": "literal_string \" \"" @@ -7935,28 +7935,28 @@ }, { "baseExpression": { - "id": 119872, + "id": 111579, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119835, - "src": "4814:4:171", + "referencedDeclaration": 111542, + "src": "4814:4:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", "typeString": "string memory[2] memory" } }, - "id": 119874, + "id": 111581, "indexExpression": { "hexValue": "31", - "id": 119873, + "id": 111580, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4819:1:171", + "src": "4819:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -7968,7 +7968,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4814:7:171", + "src": "4814:7:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7976,14 +7976,14 @@ }, { "hexValue": "2220", - "id": 119875, + "id": 111582, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4823:4:171", + "src": "4823:4:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", "typeString": "literal_string \"\" \"" @@ -7991,12 +7991,12 @@ "value": "\" " }, { - "id": 119876, + "id": 111583, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "4829:6:171", + "referencedDeclaration": 111498, + "src": "4829:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8031,31 +8031,31 @@ } ], "expression": { - "id": 119865, + "id": 111572, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4778:3:171", + "src": "4778:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 119866, + "id": 111573, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4778:16:171", + "src": "4778:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 119877, + "id": 111584, "isConstant": false, "isLValue": false, "isPure": false, @@ -8063,7 +8063,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4778:58:171", + "src": "4778:58:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8078,26 +8078,26 @@ "typeString": "bytes memory" } ], - "id": 119864, + "id": 111571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4750:6:171", + "src": "4750:6:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 119863, + "id": 111570, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4750:6:171", + "src": "4750:6:145", "typeDescriptions": {} } }, - "id": 119878, + "id": 111585, "isConstant": false, "isLValue": false, "isPure": false, @@ -8105,22 +8105,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4750:104:171", + "src": "4750:104:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "4741:113:171", + "src": "4741:113:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 119880, + "id": 111587, "nodeType": "ExpressionStatement", - "src": "4741:113:171" + "src": "4741:113:145" } ] } @@ -8130,21 +8130,21 @@ }, { "expression": { - "id": 119906, + "id": 111613, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119791, - "src": "5244:6:171", + "referencedDeclaration": 111498, + "src": "5244:6:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 119789, - "id": 119907, + "functionReturnParameters": 111496, + "id": 111614, "nodeType": "Return", - "src": "5237:13:171" + "src": "5237:13:145" } ] }, @@ -8152,20 +8152,20 @@ "kind": "function", "modifiers": [], "name": "luck", - "nameLocation": "4113:4:171", + "nameLocation": "4113:4:145", "parameters": { - "id": 119786, + "id": 111493, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119782, + "id": 111489, "mutability": "mutable", "name": "rand", - "nameLocation": "4133:4:171", + "nameLocation": "4133:4:145", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4127:10:171", + "scope": 111616, + "src": "4127:10:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8173,10 +8173,10 @@ "typeString": "uint8" }, "typeName": { - "id": 119781, + "id": 111488, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "4127:5:171", + "src": "4127:5:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -8186,13 +8186,13 @@ }, { "constant": false, - "id": 119785, + "id": 111492, "mutability": "mutable", "name": "sourceArray", - "nameLocation": "4163:11:171", + "nameLocation": "4163:11:145", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4147:27:171", + "scope": 111616, + "src": "4147:27:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8201,18 +8201,18 @@ }, "typeName": { "baseType": { - "id": 119783, + "id": 111490, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4147:6:171", + "src": "4147:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 119784, + "id": 111491, "nodeType": "ArrayTypeName", - "src": "4147:8:171", + "src": "4147:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" @@ -8221,21 +8221,21 @@ "visibility": "internal" } ], - "src": "4117:63:171" + "src": "4117:63:145" }, "returnParameters": { - "id": 119789, + "id": 111496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119788, + "id": 111495, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 119909, - "src": "4204:13:171", + "scope": 111616, + "src": "4204:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8243,10 +8243,10 @@ "typeString": "string" }, "typeName": { - "id": 119787, + "id": 111494, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4204:6:171", + "src": "4204:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8255,86 +8255,86 @@ "visibility": "internal" } ], - "src": "4203:15:171" + "src": "4203:15:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "internal" }, { - "id": 120029, + "id": 111736, "nodeType": "FunctionDefinition", - "src": "5263:677:171", + "src": "5263:677:145", "nodes": [], "body": { - "id": 120028, + "id": 111735, "nodeType": "Block", - "src": "5309:631:171", + "src": "5309:631:145", "nodes": [], "statements": [ { "assignments": [ - 119916 + 111623 ], "declarations": [ { "constant": false, - "id": 119916, + "id": 111623, "mutability": "mutable", "name": "loot", - "nameLocation": "5332:4:171", + "nameLocation": "5332:4:145", "nodeType": "VariableDeclaration", - "scope": 120028, - "src": "5319:17:171", + "scope": 111735, + "src": "5319:17:145", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 119915, + "id": 111622, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 119914, + "id": 111621, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "5319:4:171" + "referencedDeclaration": 111186, + "src": "5319:4:145" }, - "referencedDeclaration": 119479, - "src": "5319:4:171", + "referencedDeclaration": 111186, + "src": "5319:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 119920, + "id": 111627, "initialValue": { "baseExpression": { - "id": 119917, + "id": 111624, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "5339:8:171", + "referencedDeclaration": 111201, + "src": "5339:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 119919, + "id": 111626, "indexExpression": { - "id": 119918, + "id": 111625, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119911, - "src": "5348:8:171", + "referencedDeclaration": 111618, + "src": "5348:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8345,29 +8345,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5339:18:171", + "src": "5339:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5319:38:171" + "src": "5319:38:145" }, { "assignments": [ - 119925 + 111632 ], "declarations": [ { "constant": false, - "id": 119925, + "id": 111632, "mutability": "mutable", "name": "random_numbers", - "nameLocation": "5382:14:171", + "nameLocation": "5382:14:145", "nodeType": "VariableDeclaration", - "scope": 120028, - "src": "5367:29:171", + "scope": 111735, + "src": "5367:29:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8376,18 +8376,18 @@ }, "typeName": { "baseType": { - "id": 119923, + "id": 111630, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "5367:5:171", + "src": "5367:5:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 119924, + "id": 111631, "nodeType": "ArrayTypeName", - "src": "5367:7:171", + "src": "5367:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -8396,31 +8396,31 @@ "visibility": "internal" } ], - "id": 119932, + "id": 111639, "initialValue": { "arguments": [ { "expression": { - "id": 119927, + "id": 111634, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5409:4:171", + "referencedDeclaration": 111623, + "src": "5409:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119928, + "id": 111635, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 119457, - "src": "5409:13:171", + "referencedDeclaration": 111164, + "src": "5409:13:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8428,14 +8428,14 @@ }, { "hexValue": "38", - "id": 119929, + "id": 111636, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5424:1:171", + "src": "5424:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -8443,12 +8443,12 @@ "value": "8" }, { - "id": 119930, + "id": 111637, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119483, - "src": "5426:14:171", + "referencedDeclaration": 111190, + "src": "5426:14:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8470,18 +8470,18 @@ "typeString": "uint256" } ], - "id": 119926, + "id": 111633, "name": "getRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120811, - "src": "5399:9:171", + "referencedDeclaration": 112518, + "src": "5399:9:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" } }, - "id": 119931, + "id": 111638, "isConstant": false, "isLValue": false, "isPure": false, @@ -8489,7 +8489,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5399:42:171", + "src": "5399:42:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", @@ -8497,37 +8497,37 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5367:74:171" + "src": "5367:74:145" }, { "expression": { - "id": 119942, + "id": 111649, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119933, + "id": 111640, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5451:4:171", + "referencedDeclaration": 111623, + "src": "5451:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119935, + "id": 111642, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "5451:11:171", + "referencedDeclaration": 111168, + "src": "5451:11:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8539,28 +8539,28 @@ "arguments": [ { "baseExpression": { - "id": 119937, + "id": 111644, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5470:14:171", + "referencedDeclaration": 111632, + "src": "5470:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119939, + "id": 111646, "indexExpression": { "hexValue": "30", - "id": 119938, + "id": 111645, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5485:1:171", + "src": "5485:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8572,19 +8572,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5470:17:171", + "src": "5470:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119940, + "id": 111647, "name": "weapons", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120410, - "src": "5489:7:171", + "referencedDeclaration": 112117, + "src": "5489:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8602,18 +8602,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119936, + "id": 111643, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5465:4:171", + "referencedDeclaration": 111616, + "src": "5465:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119941, + "id": 111648, "isConstant": false, "isLValue": false, "isPure": false, @@ -8621,52 +8621,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5465:32:171", + "src": "5465:32:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5451:46:171", + "src": "5451:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119943, + "id": 111650, "nodeType": "ExpressionStatement", - "src": "5451:46:171" + "src": "5451:46:145" }, { "expression": { - "id": 119953, + "id": 111660, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119944, + "id": 111651, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5507:4:171", + "referencedDeclaration": 111623, + "src": "5507:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119946, + "id": 111653, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "5507:10:171", + "referencedDeclaration": 111170, + "src": "5507:10:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8678,28 +8678,28 @@ "arguments": [ { "baseExpression": { - "id": 119948, + "id": 111655, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5525:14:171", + "referencedDeclaration": 111632, + "src": "5525:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119950, + "id": 111657, "indexExpression": { "hexValue": "31", - "id": 119949, + "id": 111656, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5540:1:171", + "src": "5540:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -8711,19 +8711,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5525:17:171", + "src": "5525:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119951, + "id": 111658, "name": "chestArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120429, - "src": "5544:10:171", + "referencedDeclaration": 112136, + "src": "5544:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8741,18 +8741,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119947, + "id": 111654, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5520:4:171", + "referencedDeclaration": 111616, + "src": "5520:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119952, + "id": 111659, "isConstant": false, "isLValue": false, "isPure": false, @@ -8760,52 +8760,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5520:35:171", + "src": "5520:35:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5507:48:171", + "src": "5507:48:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119954, + "id": 111661, "nodeType": "ExpressionStatement", - "src": "5507:48:171" + "src": "5507:48:145" }, { "expression": { - "id": 119964, + "id": 111671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119955, + "id": 111662, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5565:4:171", + "referencedDeclaration": 111623, + "src": "5565:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119957, + "id": 111664, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "5565:9:171", + "referencedDeclaration": 111172, + "src": "5565:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8817,28 +8817,28 @@ "arguments": [ { "baseExpression": { - "id": 119959, + "id": 111666, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5582:14:171", + "referencedDeclaration": 111632, + "src": "5582:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119961, + "id": 111668, "indexExpression": { "hexValue": "32", - "id": 119960, + "id": 111667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5597:1:171", + "src": "5597:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -8850,19 +8850,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5582:17:171", + "src": "5582:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119962, + "id": 111669, "name": "headArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120448, - "src": "5601:9:171", + "referencedDeclaration": 112155, + "src": "5601:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -8880,18 +8880,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119958, + "id": 111665, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5577:4:171", + "referencedDeclaration": 111616, + "src": "5577:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119963, + "id": 111670, "isConstant": false, "isLValue": false, "isPure": false, @@ -8899,52 +8899,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5577:34:171", + "src": "5577:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5565:46:171", + "src": "5565:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119965, + "id": 111672, "nodeType": "ExpressionStatement", - "src": "5565:46:171" + "src": "5565:46:145" }, { "expression": { - "id": 119975, + "id": 111682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119966, + "id": 111673, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5621:4:171", + "referencedDeclaration": 111623, + "src": "5621:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119968, + "id": 111675, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "5621:10:171", + "referencedDeclaration": 111174, + "src": "5621:10:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8956,28 +8956,28 @@ "arguments": [ { "baseExpression": { - "id": 119970, + "id": 111677, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5639:14:171", + "referencedDeclaration": 111632, + "src": "5639:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119972, + "id": 111679, "indexExpression": { "hexValue": "33", - "id": 119971, + "id": 111678, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5654:1:171", + "src": "5654:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -8989,19 +8989,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5639:17:171", + "src": "5639:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119973, + "id": 111680, "name": "waistArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120467, - "src": "5658:10:171", + "referencedDeclaration": 112174, + "src": "5658:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9019,18 +9019,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119969, + "id": 111676, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5634:4:171", + "referencedDeclaration": 111616, + "src": "5634:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119974, + "id": 111681, "isConstant": false, "isLValue": false, "isPure": false, @@ -9038,52 +9038,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5634:35:171", + "src": "5634:35:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5621:48:171", + "src": "5621:48:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119976, + "id": 111683, "nodeType": "ExpressionStatement", - "src": "5621:48:171" + "src": "5621:48:145" }, { "expression": { - "id": 119986, + "id": 111693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119977, + "id": 111684, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5679:4:171", + "referencedDeclaration": 111623, + "src": "5679:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119979, + "id": 111686, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "5679:9:171", + "referencedDeclaration": 111176, + "src": "5679:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9095,28 +9095,28 @@ "arguments": [ { "baseExpression": { - "id": 119981, + "id": 111688, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5696:14:171", + "referencedDeclaration": 111632, + "src": "5696:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119983, + "id": 111690, "indexExpression": { "hexValue": "34", - "id": 119982, + "id": 111689, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5711:1:171", + "src": "5711:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -9128,19 +9128,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5696:17:171", + "src": "5696:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119984, + "id": 111691, "name": "footArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120486, - "src": "5715:9:171", + "referencedDeclaration": 112193, + "src": "5715:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9158,18 +9158,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119980, + "id": 111687, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5691:4:171", + "referencedDeclaration": 111616, + "src": "5691:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119985, + "id": 111692, "isConstant": false, "isLValue": false, "isPure": false, @@ -9177,52 +9177,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5691:34:171", + "src": "5691:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5679:46:171", + "src": "5679:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119987, + "id": 111694, "nodeType": "ExpressionStatement", - "src": "5679:46:171" + "src": "5679:46:145" }, { "expression": { - "id": 119997, + "id": 111704, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119988, + "id": 111695, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5735:4:171", + "referencedDeclaration": 111623, + "src": "5735:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 119990, + "id": 111697, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "5735:9:171", + "referencedDeclaration": 111178, + "src": "5735:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9234,28 +9234,28 @@ "arguments": [ { "baseExpression": { - "id": 119992, + "id": 111699, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5752:14:171", + "referencedDeclaration": 111632, + "src": "5752:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 119994, + "id": 111701, "indexExpression": { "hexValue": "35", - "id": 119993, + "id": 111700, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5767:1:171", + "src": "5767:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -9267,19 +9267,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5752:17:171", + "src": "5752:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 119995, + "id": 111702, "name": "handArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120505, - "src": "5771:9:171", + "referencedDeclaration": 112212, + "src": "5771:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9297,18 +9297,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 119991, + "id": 111698, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5747:4:171", + "referencedDeclaration": 111616, + "src": "5747:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 119996, + "id": 111703, "isConstant": false, "isLValue": false, "isPure": false, @@ -9316,52 +9316,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5747:34:171", + "src": "5747:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5735:46:171", + "src": "5735:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 119998, + "id": 111705, "nodeType": "ExpressionStatement", - "src": "5735:46:171" + "src": "5735:46:145" }, { "expression": { - "id": 120008, + "id": 111715, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 119999, + "id": 111706, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5791:4:171", + "referencedDeclaration": 111623, + "src": "5791:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120001, + "id": 111708, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "5791:9:171", + "referencedDeclaration": 111180, + "src": "5791:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9373,28 +9373,28 @@ "arguments": [ { "baseExpression": { - "id": 120003, + "id": 111710, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5808:14:171", + "referencedDeclaration": 111632, + "src": "5808:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 120005, + "id": 111712, "indexExpression": { "hexValue": "36", - "id": 120004, + "id": 111711, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5823:1:171", + "src": "5823:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -9406,19 +9406,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5808:17:171", + "src": "5808:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 120006, + "id": 111713, "name": "necklaces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120512, - "src": "5827:9:171", + "referencedDeclaration": 112219, + "src": "5827:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9436,18 +9436,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 120002, + "id": 111709, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5803:4:171", + "referencedDeclaration": 111616, + "src": "5803:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 120007, + "id": 111714, "isConstant": false, "isLValue": false, "isPure": false, @@ -9455,52 +9455,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5803:34:171", + "src": "5803:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5791:46:171", + "src": "5791:46:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 120009, + "id": 111716, "nodeType": "ExpressionStatement", - "src": "5791:46:171" + "src": "5791:46:145" }, { "expression": { - "id": 120019, + "id": 111726, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120010, + "id": 111717, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5847:4:171", + "referencedDeclaration": 111623, + "src": "5847:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120012, + "id": 111719, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "5847:9:171", + "referencedDeclaration": 111182, + "src": "5847:9:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -9512,28 +9512,28 @@ "arguments": [ { "baseExpression": { - "id": 120014, + "id": 111721, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119925, - "src": "5864:14:171", + "referencedDeclaration": 111632, + "src": "5864:14:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 120016, + "id": 111723, "indexExpression": { "hexValue": "37", - "id": 120015, + "id": 111722, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5879:1:171", + "src": "5879:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -9545,19 +9545,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5864:17:171", + "src": "5864:17:145", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 120017, + "id": 111724, "name": "rings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120521, - "src": "5883:5:171", + "referencedDeclaration": 112228, + "src": "5883:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -9575,18 +9575,18 @@ "typeString": "string storage ref[] storage ref" } ], - "id": 120013, + "id": 111720, "name": "luck", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119909, - "src": "5859:4:171", + "referencedDeclaration": 111616, + "src": "5859:4:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (uint8,string memory[] memory) view returns (string memory)" } }, - "id": 120018, + "id": 111725, "isConstant": false, "isLValue": false, "isPure": false, @@ -9594,54 +9594,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5859:30:171", + "src": "5859:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5847:42:171", + "src": "5847:42:145", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 120020, + "id": 111727, "nodeType": "ExpressionStatement", - "src": "5847:42:171" + "src": "5847:42:145" }, { "expression": { - "id": 120026, + "id": 111733, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120021, + "id": 111728, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119916, - "src": "5899:4:171", + "referencedDeclaration": 111623, + "src": "5899:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120023, + "id": 111730, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "5899:10:171", + "referencedDeclaration": 111185, + "src": "5899:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -9649,40 +9649,40 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120024, + "id": 111731, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "5912:11:171", + "referencedDeclaration": 112350, + "src": "5912:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120025, + "id": 111732, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "5912:21:171", + "referencedDeclaration": 112349, + "src": "5912:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "5899:34:171", + "src": "5899:34:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 120027, + "id": 111734, "nodeType": "ExpressionStatement", - "src": "5899:34:171" + "src": "5899:34:145" } ] }, @@ -9691,20 +9691,20 @@ "kind": "function", "modifiers": [], "name": "revealNFT", - "nameLocation": "5272:9:171", + "nameLocation": "5272:9:145", "parameters": { - "id": 119912, + "id": 111619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 119911, + "id": 111618, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5290:8:171", + "nameLocation": "5290:8:145", "nodeType": "VariableDeclaration", - "scope": 120029, - "src": "5282:16:171", + "scope": 111736, + "src": "5282:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9712,10 +9712,10 @@ "typeString": "uint256" }, "typeName": { - "id": 119910, + "id": 111617, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5282:7:171", + "src": "5282:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9724,92 +9724,92 @@ "visibility": "internal" } ], - "src": "5281:18:171" + "src": "5281:18:145" }, "returnParameters": { - "id": 119913, + "id": 111620, "nodeType": "ParameterList", "parameters": [], - "src": "5309:0:171" + "src": "5309:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120076, + "id": 111783, "nodeType": "FunctionDefinition", - "src": "5946:324:171", + "src": "5946:324:145", "nodes": [], "body": { - "id": 120075, + "id": 111782, "nodeType": "Block", - "src": "5984:286:171", + "src": "5984:286:145", "nodes": [], "statements": [ { "assignments": [ - 120036 + 111743 ], "declarations": [ { "constant": false, - "id": 120036, + "id": 111743, "mutability": "mutable", "name": "loot", - "nameLocation": "6032:4:171", + "nameLocation": "6032:4:145", "nodeType": "VariableDeclaration", - "scope": 120075, - "src": "6019:17:171", + "scope": 111782, + "src": "6019:17:145", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120035, + "id": 111742, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120034, + "id": 111741, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "6019:4:171" + "referencedDeclaration": 111186, + "src": "6019:4:145" }, - "referencedDeclaration": 119479, - "src": "6019:4:171", + "referencedDeclaration": 111186, + "src": "6019:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120040, + "id": 111747, "initialValue": { "baseExpression": { - "id": 120037, + "id": 111744, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "6039:8:171", + "referencedDeclaration": 111201, + "src": "6039:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120039, + "id": 111746, "indexExpression": { - "id": 120038, + "id": 111745, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6048:7:171", + "referencedDeclaration": 111188, + "src": "6048:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9820,44 +9820,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6039:17:171", + "src": "6039:17:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6019:37:171" + "src": "6019:37:145" }, { "expression": { - "id": 120045, + "id": 111752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120041, + "id": 111748, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6066:4:171", + "referencedDeclaration": 111743, + "src": "6066:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120043, + "id": 111750, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 119459, - "src": "6066:10:171", + "referencedDeclaration": 111166, + "src": "6066:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9866,58 +9866,58 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120044, + "id": 111751, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120031, - "src": "6079:5:171", + "referencedDeclaration": 111738, + "src": "6079:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6066:18:171", + "src": "6066:18:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120046, + "id": 111753, "nodeType": "ExpressionStatement", - "src": "6066:18:171" + "src": "6066:18:145" }, { "expression": { - "id": 120052, + "id": 111759, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120047, + "id": 111754, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6094:4:171", + "referencedDeclaration": 111743, + "src": "6094:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120049, + "id": 111756, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "6094:10:171", + "referencedDeclaration": 111185, + "src": "6094:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -9925,70 +9925,70 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120050, + "id": 111757, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "6107:11:171", + "referencedDeclaration": 112350, + "src": "6107:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120051, + "id": 111758, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "6107:19:171", + "referencedDeclaration": 112348, + "src": "6107:19:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "6094:32:171", + "src": "6094:32:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 120053, + "id": 111760, "nodeType": "ExpressionStatement", - "src": "6094:32:171" + "src": "6094:32:145" }, { "expression": { - "id": 120058, + "id": 111765, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 120054, + "id": 111761, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120036, - "src": "6136:4:171", + "referencedDeclaration": 111743, + "src": "6136:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot storage pointer" } }, - "id": 120056, + "id": 111763, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 119457, - "src": "6136:13:171", + "referencedDeclaration": 111164, + "src": "6136:13:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9997,37 +9997,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120057, + "id": 111764, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6152:8:171", + "referencedDeclaration": 112357, + "src": "6152:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6136:24:171", + "src": "6136:24:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120059, + "id": 111766, "nodeType": "ExpressionStatement", - "src": "6136:24:171" + "src": "6136:24:145" }, { "expression": { "arguments": [ { - "id": 120061, + "id": 111768, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6184:8:171", + "referencedDeclaration": 112357, + "src": "6184:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10041,18 +10041,18 @@ "typeString": "uint256" } ], - "id": 120060, + "id": 111767, "name": "requestRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120694, - "src": "6170:13:171", + "referencedDeclaration": 112401, + "src": "6170:13:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 120062, + "id": 111769, "isConstant": false, "isLValue": false, "isPure": false, @@ -10060,39 +10060,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6170:23:171", + "src": "6170:23:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120063, + "id": 111770, "nodeType": "ExpressionStatement", - "src": "6170:23:171" + "src": "6170:23:145" }, { "expression": { "arguments": [ { - "id": 120065, + "id": 111772, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120031, - "src": "6209:5:171", + "referencedDeclaration": 111738, + "src": "6209:5:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 120066, + "id": 111773, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6216:7:171", + "referencedDeclaration": 111188, + "src": "6216:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10110,18 +10110,18 @@ "typeString": "uint256" } ], - "id": 120064, + "id": 111771, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72099, - "src": "6203:5:171", + "referencedDeclaration": 29840, + "src": "6203:5:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 120067, + "id": 111774, "isConstant": false, "isLValue": false, "isPure": false, @@ -10129,20 +10129,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6203:21:171", + "src": "6203:21:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120068, + "id": 111775, "nodeType": "ExpressionStatement", - "src": "6203:21:171" + "src": "6203:21:145" }, { "expression": { - "id": 120070, + "id": 111777, "isConstant": false, "isLValue": false, "isPure": false, @@ -10150,14 +10150,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6234:9:171", + "src": "6234:9:145", "subExpression": { - "id": 120069, + "id": 111776, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "6234:7:171", + "referencedDeclaration": 111188, + "src": "6234:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10168,13 +10168,13 @@ "typeString": "uint256" } }, - "id": 120071, + "id": 111778, "nodeType": "ExpressionStatement", - "src": "6234:9:171" + "src": "6234:9:145" }, { "expression": { - "id": 120073, + "id": 111780, "isConstant": false, "isLValue": false, "isPure": false, @@ -10182,14 +10182,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6253:10:171", + "src": "6253:10:145", "subExpression": { - "id": 120072, + "id": 111779, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "6253:8:171", + "referencedDeclaration": 112357, + "src": "6253:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10200,9 +10200,9 @@ "typeString": "uint256" } }, - "id": 120074, + "id": 111781, "nodeType": "ExpressionStatement", - "src": "6253:10:171" + "src": "6253:10:145" } ] }, @@ -10211,20 +10211,20 @@ "kind": "function", "modifiers": [], "name": "mint", - "nameLocation": "5955:4:171", + "nameLocation": "5955:4:145", "parameters": { - "id": 120032, + "id": 111739, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120031, + "id": 111738, "mutability": "mutable", "name": "_addr", - "nameLocation": "5968:5:171", + "nameLocation": "5968:5:145", "nodeType": "VariableDeclaration", - "scope": 120076, - "src": "5960:13:171", + "scope": 111783, + "src": "5960:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10232,10 +10232,10 @@ "typeString": "address" }, "typeName": { - "id": 120030, + "id": 111737, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5960:7:171", + "src": "5960:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10245,44 +10245,44 @@ "visibility": "internal" } ], - "src": "5959:15:171" + "src": "5959:15:145" }, "returnParameters": { - "id": 120033, + "id": 111740, "nodeType": "ParameterList", "parameters": [], - "src": "5984:0:171" + "src": "5984:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120107, + "id": 111814, "nodeType": "FunctionDefinition", - "src": "6282:192:171", + "src": "6282:192:145", "nodes": [], "body": { - "id": 120106, + "id": 111813, "nodeType": "Block", - "src": "6329:145:171", + "src": "6329:145:145", "nodes": [], "statements": [ { "assignments": [ - 120084 + 111791 ], "declarations": [ { "constant": false, - "id": 120084, + "id": 111791, "mutability": "mutable", "name": "balance", - "nameLocation": "6347:7:171", + "nameLocation": "6347:7:145", "nodeType": "VariableDeclaration", - "scope": 120106, - "src": "6339:15:171", + "scope": 111813, + "src": "6339:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10290,10 +10290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120083, + "id": 111790, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6339:7:171", + "src": "6339:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10302,19 +10302,19 @@ "visibility": "internal" } ], - "id": 120090, + "id": 111797, "initialValue": { "expression": { "arguments": [ { - "id": 120087, + "id": 111794, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "6365:4:171", + "src": "6365:4:145", "typeDescriptions": { - "typeIdentifier": "t_contract$_MLoot_$120386", + "typeIdentifier": "t_contract$_MLoot_$112093", "typeString": "contract MLoot" } } @@ -10322,30 +10322,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MLoot_$120386", + "typeIdentifier": "t_contract$_MLoot_$112093", "typeString": "contract MLoot" } ], - "id": 120086, + "id": 111793, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6357:7:171", + "src": "6357:7:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 120085, + "id": 111792, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6357:7:171", + "src": "6357:7:145", "typeDescriptions": {} } }, - "id": 120088, + "id": 111795, "isConstant": false, "isLValue": false, "isPure": false, @@ -10353,28 +10353,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6357:13:171", + "src": "6357:13:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120089, + "id": 111796, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "balance", "nodeType": "MemberAccess", - "src": "6357:21:171", + "src": "6357:21:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6339:39:171" + "src": "6339:39:145" }, { "expression": { @@ -10384,18 +10384,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120094, + "id": 111801, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120092, + "id": 111799, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120084, - "src": "6396:7:171", + "referencedDeclaration": 111791, + "src": "6396:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10405,21 +10405,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 120093, + "id": 111800, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6406:1:171", + "src": "6406:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "6396:11:171", + "src": "6396:11:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10427,14 +10427,14 @@ }, { "hexValue": "73756666696369656e742066756e6473", - "id": 120095, + "id": 111802, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6409:18:171", + "src": "6409:18:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", "typeString": "literal_string \"sufficient funds\"" @@ -10453,7 +10453,7 @@ "typeString": "literal_string \"sufficient funds\"" } ], - "id": 120091, + "id": 111798, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -10461,13 +10461,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6388:7:171", + "src": "6388:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120096, + "id": 111803, "isConstant": false, "isLValue": false, "isPure": false, @@ -10475,27 +10475,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6388:40:171", + "src": "6388:40:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120097, + "id": 111804, "nodeType": "ExpressionStatement", - "src": "6388:40:171" + "src": "6388:40:145" }, { "expression": { "arguments": [ { - "id": 120103, + "id": 111810, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120084, - "src": "6459:7:171", + "referencedDeclaration": 111791, + "src": "6459:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10512,12 +10512,12 @@ "expression": { "arguments": [ { - "id": 120100, + "id": 111807, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120078, - "src": "6446:2:171", + "referencedDeclaration": 111785, + "src": "6446:2:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10531,27 +10531,27 @@ "typeString": "address" } ], - "id": 120099, + "id": 111806, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6438:8:171", + "src": "6438:8:145", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { - "id": 120098, + "id": 111805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6438:8:171", + "src": "6438:8:145", "stateMutability": "payable", "typeDescriptions": {} } }, - "id": 120101, + "id": 111808, "isConstant": false, "isLValue": false, "isPure": false, @@ -10559,27 +10559,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6438:11:171", + "src": "6438:11:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 120102, + "id": 111809, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "src": "6438:20:171", + "src": "6438:20:145", "typeDescriptions": { "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 120104, + "id": 111811, "isConstant": false, "isLValue": false, "isPure": false, @@ -10587,16 +10587,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6438:29:171", + "src": "6438:29:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120105, + "id": 111812, "nodeType": "ExpressionStatement", - "src": "6438:29:171" + "src": "6438:29:145" } ] }, @@ -10605,34 +10605,34 @@ "kind": "function", "modifiers": [ { - "id": 120081, + "id": 111788, "kind": "modifierInvocation", "modifierName": { - "id": 120080, + "id": 111787, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 119505, - "src": "6319:9:171" + "referencedDeclaration": 111212, + "src": "6319:9:145" }, "nodeType": "ModifierInvocation", - "src": "6319:9:171" + "src": "6319:9:145" } ], "name": "withdraw", - "nameLocation": "6291:8:171", + "nameLocation": "6291:8:145", "parameters": { - "id": 120079, + "id": 111786, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120078, + "id": 111785, "mutability": "mutable", "name": "to", - "nameLocation": "6308:2:171", + "nameLocation": "6308:2:145", "nodeType": "VariableDeclaration", - "scope": 120107, - "src": "6300:10:171", + "scope": 111814, + "src": "6300:10:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10640,10 +10640,10 @@ "typeString": "address" }, "typeName": { - "id": 120077, + "id": 111784, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6300:7:171", + "src": "6300:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10653,52 +10653,52 @@ "visibility": "internal" } ], - "src": "6299:12:171" + "src": "6299:12:145" }, "returnParameters": { - "id": 120082, + "id": 111789, "nodeType": "ParameterList", "parameters": [], - "src": "6329:0:171" + "src": "6329:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 120127, + "id": 111834, "nodeType": "FunctionDefinition", - "src": "6480:214:171", + "src": "6480:214:145", "nodes": [], "body": { - "id": 120126, + "id": 111833, "nodeType": "Block", - "src": "6619:75:171", + "src": "6619:75:145", "nodes": [], "statements": [ { "expression": { "arguments": [ { - "id": 120122, + "id": 111829, "name": "_targetAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120109, - "src": "6663:14:171", + "referencedDeclaration": 111816, + "src": "6663:14:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 120123, + "id": 111830, "name": "_amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120113, - "src": "6679:7:171", + "referencedDeclaration": 111820, + "src": "6679:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10719,12 +10719,12 @@ "expression": { "arguments": [ { - "id": 120119, + "id": 111826, "name": "_contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120111, - "src": "6636:16:171", + "referencedDeclaration": 111818, + "src": "6636:16:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10738,18 +10738,18 @@ "typeString": "address" } ], - "id": 120118, + "id": 111825, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71498, - "src": "6629:6:171", + "referencedDeclaration": 29239, + "src": "6629:6:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$71498_$", + "typeIdentifier": "t_type$_t_contract$_IERC20_$29239_$", "typeString": "type(contract IERC20)" } }, - "id": 120120, + "id": 111827, "isConstant": false, "isLValue": false, "isPure": false, @@ -10757,28 +10757,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6629:24:171", + "src": "6629:24:145", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$71498", + "typeIdentifier": "t_contract$_IERC20_$29239", "typeString": "contract IERC20" } }, - "id": 120121, + "id": 111828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transfer", "nodeType": "MemberAccess", - "referencedDeclaration": 71465, - "src": "6629:33:171", + "referencedDeclaration": 29206, + "src": "6629:33:145", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) external returns (bool)" } }, - "id": 120124, + "id": 111831, "isConstant": false, "isLValue": false, "isPure": false, @@ -10786,16 +10786,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6629:58:171", + "src": "6629:58:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120125, + "id": 111832, "nodeType": "ExpressionStatement", - "src": "6629:58:171" + "src": "6629:58:145" } ] }, @@ -10804,34 +10804,34 @@ "kind": "function", "modifiers": [ { - "id": 120116, + "id": 111823, "kind": "modifierInvocation", "modifierName": { - "id": 120115, + "id": 111822, "name": "onlyOwner", "nodeType": "IdentifierPath", - "referencedDeclaration": 119505, - "src": "6609:9:171" + "referencedDeclaration": 111212, + "src": "6609:9:145" }, "nodeType": "ModifierInvocation", - "src": "6609:9:171" + "src": "6609:9:145" } ], "name": "withdrawErc20", - "nameLocation": "6489:13:171", + "nameLocation": "6489:13:145", "parameters": { - "id": 120114, + "id": 111821, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120109, + "id": 111816, "mutability": "mutable", "name": "_targetAddress", - "nameLocation": "6520:14:171", + "nameLocation": "6520:14:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6512:22:171", + "scope": 111834, + "src": "6512:22:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10839,10 +10839,10 @@ "typeString": "address" }, "typeName": { - "id": 120108, + "id": 111815, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6512:7:171", + "src": "6512:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10853,13 +10853,13 @@ }, { "constant": false, - "id": 120111, + "id": 111818, "mutability": "mutable", "name": "_contractAddress", - "nameLocation": "6552:16:171", + "nameLocation": "6552:16:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6544:24:171", + "scope": 111834, + "src": "6544:24:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10867,10 +10867,10 @@ "typeString": "address" }, "typeName": { - "id": 120110, + "id": 111817, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6544:7:171", + "src": "6544:7:145", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10881,13 +10881,13 @@ }, { "constant": false, - "id": 120113, + "id": 111820, "mutability": "mutable", "name": "_amount", - "nameLocation": "6586:7:171", + "nameLocation": "6586:7:145", "nodeType": "VariableDeclaration", - "scope": 120127, - "src": "6578:15:171", + "scope": 111834, + "src": "6578:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10895,10 +10895,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120112, + "id": 111819, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6578:7:171", + "src": "6578:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10907,92 +10907,92 @@ "visibility": "internal" } ], - "src": "6502:97:171" + "src": "6502:97:145" }, "returnParameters": { - "id": 120117, + "id": 111824, "nodeType": "ParameterList", "parameters": [], - "src": "6619:0:171" + "src": "6619:0:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120183, + "id": 111890, "nodeType": "FunctionDefinition", - "src": "6699:515:171", + "src": "6699:515:145", "nodes": [], "body": { - "id": 120182, + "id": 111889, "nodeType": "Block", - "src": "6874:340:171", + "src": "6874:340:145", "nodes": [], "statements": [ { "assignments": [ - 120150 + 111857 ], "declarations": [ { "constant": false, - "id": 120150, + "id": 111857, "mutability": "mutable", "name": "loot", - "nameLocation": "6896:4:171", + "nameLocation": "6896:4:145", "nodeType": "VariableDeclaration", - "scope": 120182, - "src": "6884:16:171", + "scope": 111889, + "src": "6884:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120149, + "id": 111856, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120148, + "id": 111855, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "6884:4:171" + "referencedDeclaration": 111186, + "src": "6884:4:145" }, - "referencedDeclaration": 119479, - "src": "6884:4:171", + "referencedDeclaration": 111186, + "src": "6884:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120154, + "id": 111861, "initialValue": { "baseExpression": { - "id": 120151, + "id": 111858, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "6903:8:171", + "referencedDeclaration": 111201, + "src": "6903:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120153, + "id": 111860, "indexExpression": { - "id": 120152, + "id": 111859, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120129, - "src": "6912:8:171", + "referencedDeclaration": 111836, + "src": "6912:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11003,52 +11003,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6903:18:171", + "src": "6903:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6884:37:171" + "src": "6884:37:145" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 120160, + "id": 111867, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120156, + "id": 111863, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "6939:4:171", + "referencedDeclaration": 111857, + "src": "6939:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120157, + "id": 111864, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "6939:10:171", + "referencedDeclaration": 111185, + "src": "6939:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -11056,32 +11056,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120158, + "id": 111865, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "6953:11:171", + "referencedDeclaration": 112350, + "src": "6953:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120159, + "id": 111866, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "6953:21:171", + "referencedDeclaration": 112349, + "src": "6953:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "6939:35:171", + "src": "6939:35:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11089,14 +11089,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 120161, + "id": 111868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6975:17:171", + "src": "6975:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -11115,7 +11115,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 120155, + "id": 111862, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11123,13 +11123,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6931:7:171", + "src": "6931:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120162, + "id": 111869, "isConstant": false, "isLValue": false, "isPure": false, @@ -11137,42 +11137,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6931:62:171", + "src": "6931:62:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120163, + "id": 111870, "nodeType": "ExpressionStatement", - "src": "6931:62:171" + "src": "6931:62:145" }, { "expression": { "components": [ { "expression": { - "id": 120164, + "id": 111871, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7023:4:171", + "referencedDeclaration": 111857, + "src": "7023:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120165, + "id": 111872, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "7023:11:171", + "referencedDeclaration": 111168, + "src": "7023:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11180,26 +11180,26 @@ }, { "expression": { - "id": 120166, + "id": 111873, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7048:4:171", + "referencedDeclaration": 111857, + "src": "7048:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120167, + "id": 111874, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "7048:10:171", + "referencedDeclaration": 111170, + "src": "7048:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11207,26 +11207,26 @@ }, { "expression": { - "id": 120168, + "id": 111875, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7072:4:171", + "referencedDeclaration": 111857, + "src": "7072:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120169, + "id": 111876, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "7072:9:171", + "referencedDeclaration": 111172, + "src": "7072:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11234,26 +11234,26 @@ }, { "expression": { - "id": 120170, + "id": 111877, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7095:4:171", + "referencedDeclaration": 111857, + "src": "7095:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120171, + "id": 111878, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "7095:10:171", + "referencedDeclaration": 111174, + "src": "7095:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11261,26 +11261,26 @@ }, { "expression": { - "id": 120172, + "id": 111879, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7119:4:171", + "referencedDeclaration": 111857, + "src": "7119:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120173, + "id": 111880, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "7119:9:171", + "referencedDeclaration": 111176, + "src": "7119:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11288,26 +11288,26 @@ }, { "expression": { - "id": 120174, + "id": 111881, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7142:4:171", + "referencedDeclaration": 111857, + "src": "7142:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120175, + "id": 111882, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "7142:9:171", + "referencedDeclaration": 111178, + "src": "7142:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11315,26 +11315,26 @@ }, { "expression": { - "id": 120176, + "id": 111883, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7165:4:171", + "referencedDeclaration": 111857, + "src": "7165:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120177, + "id": 111884, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "7165:9:171", + "referencedDeclaration": 111180, + "src": "7165:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11342,49 +11342,49 @@ }, { "expression": { - "id": 120178, + "id": 111885, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120150, - "src": "7188:4:171", + "referencedDeclaration": 111857, + "src": "7188:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120179, + "id": 111886, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "7188:9:171", + "referencedDeclaration": 111182, + "src": "7188:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 120180, + "id": 111887, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7009:198:171", + "src": "7009:198:145", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "tuple(string memory,string memory,string memory,string memory,string memory,string memory,string memory,string memory)" } }, - "functionReturnParameters": 120147, - "id": 120181, + "functionReturnParameters": 111854, + "id": 111888, "nodeType": "Return", - "src": "7003:204:171" + "src": "7003:204:145" } ] }, @@ -11393,20 +11393,20 @@ "kind": "function", "modifiers": [], "name": "getStructInfo", - "nameLocation": "6708:13:171", + "nameLocation": "6708:13:145", "parameters": { - "id": 120130, + "id": 111837, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120129, + "id": 111836, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "6730:8:171", + "nameLocation": "6730:8:145", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6722:16:171", + "scope": 111890, + "src": "6722:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11414,10 +11414,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120128, + "id": 111835, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6722:7:171", + "src": "6722:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11426,21 +11426,21 @@ "visibility": "internal" } ], - "src": "6721:18:171" + "src": "6721:18:145" }, "returnParameters": { - "id": 120147, + "id": 111854, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120132, + "id": 111839, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6762:13:171", + "scope": 111890, + "src": "6762:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11448,10 +11448,10 @@ "typeString": "string" }, "typeName": { - "id": 120131, + "id": 111838, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6762:6:171", + "src": "6762:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11461,13 +11461,13 @@ }, { "constant": false, - "id": 120134, + "id": 111841, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6776:13:171", + "scope": 111890, + "src": "6776:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11475,10 +11475,10 @@ "typeString": "string" }, "typeName": { - "id": 120133, + "id": 111840, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6776:6:171", + "src": "6776:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11488,13 +11488,13 @@ }, { "constant": false, - "id": 120136, + "id": 111843, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6790:13:171", + "scope": 111890, + "src": "6790:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11502,10 +11502,10 @@ "typeString": "string" }, "typeName": { - "id": 120135, + "id": 111842, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6790:6:171", + "src": "6790:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11515,13 +11515,13 @@ }, { "constant": false, - "id": 120138, + "id": 111845, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6804:13:171", + "scope": 111890, + "src": "6804:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11529,10 +11529,10 @@ "typeString": "string" }, "typeName": { - "id": 120137, + "id": 111844, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6804:6:171", + "src": "6804:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11542,13 +11542,13 @@ }, { "constant": false, - "id": 120140, + "id": 111847, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6818:13:171", + "scope": 111890, + "src": "6818:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11556,10 +11556,10 @@ "typeString": "string" }, "typeName": { - "id": 120139, + "id": 111846, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6818:6:171", + "src": "6818:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11569,13 +11569,13 @@ }, { "constant": false, - "id": 120142, + "id": 111849, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6832:13:171", + "scope": 111890, + "src": "6832:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11583,10 +11583,10 @@ "typeString": "string" }, "typeName": { - "id": 120141, + "id": 111848, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6832:6:171", + "src": "6832:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11596,13 +11596,13 @@ }, { "constant": false, - "id": 120144, + "id": 111851, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6846:13:171", + "scope": 111890, + "src": "6846:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11610,10 +11610,10 @@ "typeString": "string" }, "typeName": { - "id": 120143, + "id": 111850, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6846:6:171", + "src": "6846:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11623,13 +11623,13 @@ }, { "constant": false, - "id": 120146, + "id": 111853, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120183, - "src": "6860:13:171", + "scope": 111890, + "src": "6860:13:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11637,10 +11637,10 @@ "typeString": "string" }, "typeName": { - "id": 120145, + "id": 111852, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6860:6:171", + "src": "6860:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -11649,86 +11649,86 @@ "visibility": "internal" } ], - "src": "6761:113:171" + "src": "6761:113:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120263, + "id": 111970, "nodeType": "FunctionDefinition", - "src": "7219:620:171", + "src": "7219:620:145", "nodes": [], "body": { - "id": 120262, + "id": 111969, "nodeType": "Block", - "src": "7351:488:171", + "src": "7351:488:145", "nodes": [], "statements": [ { "assignments": [ - 120206 + 111913 ], "declarations": [ { "constant": false, - "id": 120206, + "id": 111913, "mutability": "mutable", "name": "loot", - "nameLocation": "7373:4:171", + "nameLocation": "7373:4:145", "nodeType": "VariableDeclaration", - "scope": 120262, - "src": "7361:16:171", + "scope": 111969, + "src": "7361:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot" }, "typeName": { - "id": 120205, + "id": 111912, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120204, + "id": 111911, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 119479, - "src": "7361:4:171" + "referencedDeclaration": 111186, + "src": "7361:4:145" }, - "referencedDeclaration": 119479, - "src": "7361:4:171", + "referencedDeclaration": 111186, + "src": "7361:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_storage_ptr", "typeString": "struct MLoot.Loot" } }, "visibility": "internal" } ], - "id": 120210, + "id": 111917, "initialValue": { "baseExpression": { - "id": 120207, + "id": 111914, "name": "lootList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119494, - "src": "7380:8:171", + "referencedDeclaration": 111201, + "src": "7380:8:145", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$111186_storage_$", "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" } }, - "id": 120209, + "id": 111916, "indexExpression": { - "id": 120208, + "id": 111915, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120185, - "src": "7389:8:171", + "referencedDeclaration": 111892, + "src": "7389:8:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11739,52 +11739,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7380:18:171", + "src": "7380:18:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeIdentifier": "t_struct$_Loot_$111186_storage", "typeString": "struct MLoot.Loot storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "7361:37:171" + "src": "7361:37:145" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 120216, + "id": 111923, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120212, + "id": 111919, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7416:4:171", + "referencedDeclaration": 111913, + "src": "7416:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120213, + "id": 111920, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 119478, - "src": "7416:10:171", + "referencedDeclaration": 111185, + "src": "7416:10:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -11792,32 +11792,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120214, + "id": 111921, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "7430:11:171", + "referencedDeclaration": 112350, + "src": "7430:11:145", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 120215, + "id": 111922, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "7430:21:171", + "referencedDeclaration": 112349, + "src": "7430:21:145", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "7416:35:171", + "src": "7416:35:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11825,14 +11825,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 120217, + "id": 111924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7452:17:171", + "src": "7452:17:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -11851,7 +11851,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 120211, + "id": 111918, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -11859,13 +11859,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7408:7:171", + "src": "7408:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120218, + "id": 111925, "isConstant": false, "isLValue": false, "isPure": false, @@ -11873,16 +11873,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7408:62:171", + "src": "7408:62:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120219, + "id": 111926, "nodeType": "ExpressionStatement", - "src": "7408:62:171" + "src": "7408:62:145" }, { "expression": { @@ -11890,12 +11890,12 @@ { "arguments": [ { - "id": 120221, + "id": 111928, "name": "weapons", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120410, - "src": "7508:7:171", + "referencedDeclaration": 112117, + "src": "7508:7:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -11903,26 +11903,26 @@ }, { "expression": { - "id": 120222, + "id": 111929, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7516:4:171", + "referencedDeclaration": 111913, + "src": "7516:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120223, + "id": 111930, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Weapon", "nodeType": "MemberAccess", - "referencedDeclaration": 119461, - "src": "7516:11:171", + "referencedDeclaration": 111168, + "src": "7516:11:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -11940,18 +11940,18 @@ "typeString": "string memory" } ], - "id": 120220, + "id": 111927, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7500:7:171", + "referencedDeclaration": 112092, + "src": "7500:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120224, + "id": 111931, "isConstant": false, "isLValue": false, "isPure": false, @@ -11959,7 +11959,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7500:28:171", + "src": "7500:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -11969,12 +11969,12 @@ { "arguments": [ { - "id": 120226, + "id": 111933, "name": "chestArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120429, - "src": "7550:10:171", + "referencedDeclaration": 112136, + "src": "7550:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -11982,26 +11982,26 @@ }, { "expression": { - "id": 120227, + "id": 111934, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7561:4:171", + "referencedDeclaration": 111913, + "src": "7561:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120228, + "id": 111935, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Chest", "nodeType": "MemberAccess", - "referencedDeclaration": 119463, - "src": "7561:10:171", + "referencedDeclaration": 111170, + "src": "7561:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12019,18 +12019,18 @@ "typeString": "string memory" } ], - "id": 120225, + "id": 111932, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7542:7:171", + "referencedDeclaration": 112092, + "src": "7542:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120229, + "id": 111936, "isConstant": false, "isLValue": false, "isPure": false, @@ -12038,7 +12038,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7542:30:171", + "src": "7542:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12048,12 +12048,12 @@ { "arguments": [ { - "id": 120231, + "id": 111938, "name": "headArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120448, - "src": "7594:9:171", + "referencedDeclaration": 112155, + "src": "7594:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12061,26 +12061,26 @@ }, { "expression": { - "id": 120232, + "id": 111939, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7604:4:171", + "referencedDeclaration": 111913, + "src": "7604:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120233, + "id": 111940, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Head", "nodeType": "MemberAccess", - "referencedDeclaration": 119465, - "src": "7604:9:171", + "referencedDeclaration": 111172, + "src": "7604:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12098,18 +12098,18 @@ "typeString": "string memory" } ], - "id": 120230, + "id": 111937, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7586:7:171", + "referencedDeclaration": 112092, + "src": "7586:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120234, + "id": 111941, "isConstant": false, "isLValue": false, "isPure": false, @@ -12117,7 +12117,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7586:28:171", + "src": "7586:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12127,12 +12127,12 @@ { "arguments": [ { - "id": 120236, + "id": 111943, "name": "waistArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120467, - "src": "7636:10:171", + "referencedDeclaration": 112174, + "src": "7636:10:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12140,26 +12140,26 @@ }, { "expression": { - "id": 120237, + "id": 111944, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7647:4:171", + "referencedDeclaration": 111913, + "src": "7647:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120238, + "id": 111945, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Waist", "nodeType": "MemberAccess", - "referencedDeclaration": 119467, - "src": "7647:10:171", + "referencedDeclaration": 111174, + "src": "7647:10:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12177,18 +12177,18 @@ "typeString": "string memory" } ], - "id": 120235, + "id": 111942, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7628:7:171", + "referencedDeclaration": 112092, + "src": "7628:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120239, + "id": 111946, "isConstant": false, "isLValue": false, "isPure": false, @@ -12196,7 +12196,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7628:30:171", + "src": "7628:30:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12206,12 +12206,12 @@ { "arguments": [ { - "id": 120241, + "id": 111948, "name": "footArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120486, - "src": "7680:9:171", + "referencedDeclaration": 112193, + "src": "7680:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12219,26 +12219,26 @@ }, { "expression": { - "id": 120242, + "id": 111949, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7690:4:171", + "referencedDeclaration": 111913, + "src": "7690:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120243, + "id": 111950, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Foot", "nodeType": "MemberAccess", - "referencedDeclaration": 119469, - "src": "7690:9:171", + "referencedDeclaration": 111176, + "src": "7690:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12256,18 +12256,18 @@ "typeString": "string memory" } ], - "id": 120240, + "id": 111947, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7672:7:171", + "referencedDeclaration": 112092, + "src": "7672:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120244, + "id": 111951, "isConstant": false, "isLValue": false, "isPure": false, @@ -12275,7 +12275,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7672:28:171", + "src": "7672:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12285,12 +12285,12 @@ { "arguments": [ { - "id": 120246, + "id": 111953, "name": "handArmor", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120505, - "src": "7722:9:171", + "referencedDeclaration": 112212, + "src": "7722:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12298,26 +12298,26 @@ }, { "expression": { - "id": 120247, + "id": 111954, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7732:4:171", + "referencedDeclaration": 111913, + "src": "7732:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120248, + "id": 111955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Hand", "nodeType": "MemberAccess", - "referencedDeclaration": 119471, - "src": "7732:9:171", + "referencedDeclaration": 111178, + "src": "7732:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12335,18 +12335,18 @@ "typeString": "string memory" } ], - "id": 120245, + "id": 111952, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7714:7:171", + "referencedDeclaration": 112092, + "src": "7714:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120249, + "id": 111956, "isConstant": false, "isLValue": false, "isPure": false, @@ -12354,7 +12354,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7714:28:171", + "src": "7714:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12364,12 +12364,12 @@ { "arguments": [ { - "id": 120251, + "id": 111958, "name": "necklaces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120512, - "src": "7764:9:171", + "referencedDeclaration": 112219, + "src": "7764:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12377,26 +12377,26 @@ }, { "expression": { - "id": 120252, + "id": 111959, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7774:4:171", + "referencedDeclaration": 111913, + "src": "7774:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120253, + "id": 111960, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Neck", "nodeType": "MemberAccess", - "referencedDeclaration": 119473, - "src": "7774:9:171", + "referencedDeclaration": 111180, + "src": "7774:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12414,18 +12414,18 @@ "typeString": "string memory" } ], - "id": 120250, + "id": 111957, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7756:7:171", + "referencedDeclaration": 112092, + "src": "7756:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120254, + "id": 111961, "isConstant": false, "isLValue": false, "isPure": false, @@ -12433,7 +12433,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7756:28:171", + "src": "7756:28:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12443,12 +12443,12 @@ { "arguments": [ { - "id": 120256, + "id": 111963, "name": "rings", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120521, - "src": "7806:5:171", + "referencedDeclaration": 112228, + "src": "7806:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", "typeString": "string storage ref[] storage ref" @@ -12456,26 +12456,26 @@ }, { "expression": { - "id": 120257, + "id": 111964, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120206, - "src": "7812:4:171", + "referencedDeclaration": 111913, + "src": "7812:4:145", "typeDescriptions": { - "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeIdentifier": "t_struct$_Loot_$111186_memory_ptr", "typeString": "struct MLoot.Loot memory" } }, - "id": 120258, + "id": 111965, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Ring", "nodeType": "MemberAccess", - "referencedDeclaration": 119475, - "src": "7812:9:171", + "referencedDeclaration": 111182, + "src": "7812:9:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -12493,18 +12493,18 @@ "typeString": "string memory" } ], - "id": 120255, + "id": 111962, "name": "indexOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120385, - "src": "7798:7:171", + "referencedDeclaration": 112092, + "src": "7798:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" } }, - "id": 120259, + "id": 111966, "isConstant": false, "isLValue": false, "isPure": false, @@ -12512,7 +12512,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7798:24:171", + "src": "7798:24:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12520,23 +12520,23 @@ } } ], - "id": 120260, + "id": 111967, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7486:346:171", + "src": "7486:346:145", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 120203, - "id": 120261, + "functionReturnParameters": 111910, + "id": 111968, "nodeType": "Return", - "src": "7480:352:171" + "src": "7480:352:145" } ] }, @@ -12545,20 +12545,20 @@ "kind": "function", "modifiers": [], "name": "getStructIndexInfo", - "nameLocation": "7228:18:171", + "nameLocation": "7228:18:145", "parameters": { - "id": 120186, + "id": 111893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120185, + "id": 111892, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "7255:8:171", + "nameLocation": "7255:8:145", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7247:16:171", + "scope": 111970, + "src": "7247:16:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12566,10 +12566,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120184, + "id": 111891, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7247:7:171", + "src": "7247:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12578,21 +12578,21 @@ "visibility": "internal" } ], - "src": "7246:18:171" + "src": "7246:18:145" }, "returnParameters": { - "id": 120203, + "id": 111910, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120188, + "id": 111895, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7287:7:171", + "scope": 111970, + "src": "7287:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12600,10 +12600,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120187, + "id": 111894, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7287:7:171", + "src": "7287:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12613,13 +12613,13 @@ }, { "constant": false, - "id": 120190, + "id": 111897, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7295:7:171", + "scope": 111970, + "src": "7295:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12627,10 +12627,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120189, + "id": 111896, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7295:7:171", + "src": "7295:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12640,13 +12640,13 @@ }, { "constant": false, - "id": 120192, + "id": 111899, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7303:7:171", + "scope": 111970, + "src": "7303:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12654,10 +12654,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120191, + "id": 111898, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7303:7:171", + "src": "7303:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12667,13 +12667,13 @@ }, { "constant": false, - "id": 120194, + "id": 111901, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7311:7:171", + "scope": 111970, + "src": "7311:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12681,10 +12681,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120193, + "id": 111900, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7311:7:171", + "src": "7311:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12694,13 +12694,13 @@ }, { "constant": false, - "id": 120196, + "id": 111903, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7319:7:171", + "scope": 111970, + "src": "7319:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12708,10 +12708,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120195, + "id": 111902, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7319:7:171", + "src": "7319:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12721,13 +12721,13 @@ }, { "constant": false, - "id": 120198, + "id": 111905, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7327:7:171", + "scope": 111970, + "src": "7327:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12735,10 +12735,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120197, + "id": 111904, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7327:7:171", + "src": "7327:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12748,13 +12748,13 @@ }, { "constant": false, - "id": 120200, + "id": 111907, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7335:7:171", + "scope": 111970, + "src": "7335:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12762,10 +12762,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120199, + "id": 111906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7335:7:171", + "src": "7335:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12775,13 +12775,13 @@ }, { "constant": false, - "id": 120202, + "id": 111909, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120263, - "src": "7343:7:171", + "scope": 111970, + "src": "7343:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12789,10 +12789,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120201, + "id": 111908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7343:7:171", + "src": "7343:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12801,38 +12801,38 @@ "visibility": "internal" } ], - "src": "7286:65:171" + "src": "7286:65:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120327, + "id": 112034, "nodeType": "FunctionDefinition", - "src": "7845:482:171", + "src": "7845:482:145", "nodes": [], "body": { - "id": 120326, + "id": 112033, "nodeType": "Block", - "src": "7914:413:171", + "src": "7914:413:145", "nodes": [], "statements": [ { "assignments": [ - 120270 + 111977 ], "declarations": [ { "constant": false, - "id": 120270, + "id": 111977, "mutability": "mutable", "name": "balance", - "nameLocation": "7932:7:171", + "nameLocation": "7932:7:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "7924:15:171", + "scope": 112033, + "src": "7924:15:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12840,10 +12840,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120269, + "id": 111976, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7924:7:171", + "src": "7924:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12852,30 +12852,30 @@ "visibility": "internal" } ], - "id": 120275, + "id": 111982, "initialValue": { "arguments": [ { "expression": { - "id": 120272, + "id": 111979, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "7952:3:171", + "src": "7952:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120273, + "id": 111980, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "7952:10:171", + "src": "7952:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -12889,18 +12889,18 @@ "typeString": "address" } ], - "id": 120271, + "id": 111978, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71616, - "src": "7942:9:171", + "referencedDeclaration": 29357, + "src": "7942:9:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 120274, + "id": 111981, "isConstant": false, "isLValue": false, "isPure": false, @@ -12908,7 +12908,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7942:21:171", + "src": "7942:21:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -12916,22 +12916,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7924:39:171" + "src": "7924:39:145" }, { "assignments": [ - 120280 + 111987 ], "declarations": [ { "constant": false, - "id": 120280, + "id": 111987, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "7990:8:171", + "nameLocation": "7990:8:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "7973:25:171", + "scope": 112033, + "src": "7973:25:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12940,18 +12940,18 @@ }, "typeName": { "baseType": { - "id": 120278, + "id": 111985, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7973:7:171", + "src": "7973:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120279, + "id": 111986, "nodeType": "ArrayTypeName", - "src": "7973:9:171", + "src": "7973:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12960,16 +12960,16 @@ "visibility": "internal" } ], - "id": 120286, + "id": 111993, "initialValue": { "arguments": [ { - "id": 120284, + "id": 111991, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120270, - "src": "8015:7:171", + "referencedDeclaration": 111977, + "src": "8015:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12983,38 +12983,38 @@ "typeString": "uint256" } ], - "id": 120283, + "id": 111990, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "8001:13:171", + "src": "8001:13:145", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 120281, + "id": 111988, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8005:7:171", + "src": "8005:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120282, + "id": 111989, "nodeType": "ArrayTypeName", - "src": "8005:9:171", + "src": "8005:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 120285, + "id": 111992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13022,7 +13022,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8001:22:171", + "src": "8001:22:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -13030,22 +13030,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "7973:50:171" + "src": "7973:50:145" }, { "assignments": [ - 120288 + 111995 ], "declarations": [ { "constant": false, - "id": 120288, + "id": 111995, "mutability": "mutable", "name": "index", - "nameLocation": "8041:5:171", + "nameLocation": "8041:5:145", "nodeType": "VariableDeclaration", - "scope": 120326, - "src": "8033:13:171", + "scope": 112033, + "src": "8033:13:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13053,10 +13053,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120287, + "id": 111994, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8033:7:171", + "src": "8033:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13065,15 +13065,15 @@ "visibility": "internal" } ], - "id": 120289, + "id": 111996, "nodeType": "VariableDeclarationStatement", - "src": "8033:13:171" + "src": "8033:13:145" }, { "body": { - "id": 120322, + "id": 112029, "nodeType": "Block", - "src": "8084:212:171", + "src": "8084:212:145", "statements": [ { "condition": { @@ -13081,7 +13081,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 120304, + "id": 112011, "isConstant": false, "isLValue": false, "isPure": false, @@ -13089,12 +13089,12 @@ "leftExpression": { "arguments": [ { - "id": 120300, + "id": 112007, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8109:1:171", + "referencedDeclaration": 111998, + "src": "8109:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13108,18 +13108,18 @@ "typeString": "uint256" } ], - "id": 120299, + "id": 112006, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71644, - "src": "8101:7:171", + "referencedDeclaration": 29385, + "src": "8101:7:145", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 120301, + "id": 112008, "isConstant": false, "isLValue": false, "isPure": false, @@ -13127,7 +13127,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8101:10:171", + "src": "8101:10:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -13138,72 +13138,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 120302, + "id": 112009, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "8115:3:171", + "src": "8115:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120303, + "id": 112010, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "8115:10:171", + "src": "8115:10:145", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8101:24:171", + "src": "8101:24:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120321, + "id": 112028, "nodeType": "IfStatement", - "src": "8098:188:171", + "src": "8098:188:145", "trueBody": { - "id": 120320, + "id": 112027, "nodeType": "Block", - "src": "8126:160:171", + "src": "8126:160:145", "statements": [ { "expression": { - "id": 120309, + "id": 112016, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 120305, + "id": 112012, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120280, - "src": "8144:8:171", + "referencedDeclaration": 111987, + "src": "8144:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 120307, + "id": 112014, "indexExpression": { - "id": 120306, + "id": 112013, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8153:5:171", + "referencedDeclaration": 111995, + "src": "8153:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13214,7 +13214,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8144:15:171", + "src": "8144:15:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13223,30 +13223,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120308, + "id": 112015, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8162:1:171", + "referencedDeclaration": 111998, + "src": "8162:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8144:19:171", + "src": "8144:19:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120310, + "id": 112017, "nodeType": "ExpressionStatement", - "src": "8144:19:171" + "src": "8144:19:145" }, { "expression": { - "id": 120312, + "id": 112019, "isConstant": false, "isLValue": false, "isPure": false, @@ -13254,14 +13254,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8181:7:171", + "src": "8181:7:145", "subExpression": { - "id": 120311, + "id": 112018, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8181:5:171", + "referencedDeclaration": 111995, + "src": "8181:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13272,9 +13272,9 @@ "typeString": "uint256" } }, - "id": 120313, + "id": 112020, "nodeType": "ExpressionStatement", - "src": "8181:7:171" + "src": "8181:7:145" }, { "condition": { @@ -13282,18 +13282,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120316, + "id": 112023, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120314, + "id": 112021, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120288, - "src": "8209:5:171", + "referencedDeclaration": 111995, + "src": "8209:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13302,35 +13302,35 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 120315, + "id": 112022, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120270, - "src": "8218:7:171", + "referencedDeclaration": 111977, + "src": "8218:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8209:16:171", + "src": "8209:16:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120319, + "id": 112026, "nodeType": "IfStatement", - "src": "8206:66:171", + "src": "8206:66:145", "trueBody": { - "id": 120318, + "id": 112025, "nodeType": "Block", - "src": "8226:46:171", + "src": "8226:46:145", "statements": [ { - "id": 120317, + "id": 112024, "nodeType": "Break", - "src": "8248:5:171" + "src": "8248:5:145" } ] } @@ -13345,18 +13345,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120295, + "id": 112002, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120293, + "id": 112000, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8070:1:171", + "referencedDeclaration": 111998, + "src": "8070:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13365,38 +13365,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 120294, + "id": 112001, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119481, - "src": "8072:7:171", + "referencedDeclaration": 111188, + "src": "8072:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8070:9:171", + "src": "8070:9:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120323, + "id": 112030, "initializationExpression": { "assignments": [ - 120291 + 111998 ], "declarations": [ { "constant": false, - "id": 120291, + "id": 111998, "mutability": "mutable", "name": "i", - "nameLocation": "8068:1:171", + "nameLocation": "8068:1:145", "nodeType": "VariableDeclaration", - "scope": 120323, - "src": "8060:9:171", + "scope": 112030, + "src": "8060:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13404,10 +13404,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120290, + "id": 111997, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8060:7:171", + "src": "8060:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13416,13 +13416,13 @@ "visibility": "internal" } ], - "id": 120292, + "id": 111999, "nodeType": "VariableDeclarationStatement", - "src": "8060:9:171" + "src": "8060:9:145" }, "loopExpression": { "expression": { - "id": 120297, + "id": 112004, "isConstant": false, "isLValue": false, "isPure": false, @@ -13430,14 +13430,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8080:3:171", + "src": "8080:3:145", "subExpression": { - "id": 120296, + "id": 112003, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120291, - "src": "8080:1:171", + "referencedDeclaration": 111998, + "src": "8080:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13448,30 +13448,30 @@ "typeString": "uint256" } }, - "id": 120298, + "id": 112005, "nodeType": "ExpressionStatement", - "src": "8080:3:171" + "src": "8080:3:145" }, "nodeType": "ForStatement", - "src": "8056:240:171" + "src": "8056:240:145" }, { "expression": { - "id": 120324, + "id": 112031, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120280, - "src": "8312:8:171", + "referencedDeclaration": 111987, + "src": "8312:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 120268, - "id": 120325, + "functionReturnParameters": 111975, + "id": 112032, "nodeType": "Return", - "src": "8305:15:171" + "src": "8305:15:145" } ] }, @@ -13480,26 +13480,26 @@ "kind": "function", "modifiers": [], "name": "getUserTokenIdList", - "nameLocation": "7854:18:171", + "nameLocation": "7854:18:145", "parameters": { - "id": 120264, + "id": 111971, "nodeType": "ParameterList", "parameters": [], - "src": "7872:2:171" + "src": "7872:2:145" }, "returnParameters": { - "id": 120268, + "id": 111975, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120267, + "id": 111974, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120327, - "src": "7897:16:171", + "scope": 112034, + "src": "7897:16:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13508,18 +13508,18 @@ }, "typeName": { "baseType": { - "id": 120265, + "id": 111972, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7897:7:171", + "src": "7897:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120266, + "id": 111973, "nodeType": "ArrayTypeName", - "src": "7897:9:171", + "src": "7897:9:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -13528,38 +13528,38 @@ "visibility": "internal" } ], - "src": "7896:18:171" + "src": "7896:18:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 120385, + "id": 112092, "nodeType": "FunctionDefinition", - "src": "8333:391:171", + "src": "8333:391:145", "nodes": [], "body": { - "id": 120384, + "id": 112091, "nodeType": "Block", - "src": "8423:301:171", + "src": "8423:301:145", "nodes": [], "statements": [ { "assignments": [ - 120338 + 112045 ], "declarations": [ { "constant": false, - "id": 120338, + "id": 112045, "mutability": "mutable", "name": "r", - "nameLocation": "8441:1:171", + "nameLocation": "8441:1:145", "nodeType": "VariableDeclaration", - "scope": 120384, - "src": "8433:9:171", + "scope": 112091, + "src": "8433:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13567,10 +13567,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120337, + "id": 112044, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8433:7:171", + "src": "8433:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13579,9 +13579,9 @@ "visibility": "internal" } ], - "id": 120339, + "id": 112046, "nodeType": "VariableDeclarationStatement", - "src": "8433:9:171" + "src": "8433:9:145" }, { "expression": { @@ -13591,32 +13591,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120344, + "id": 112051, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 120341, + "id": 112048, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8460:5:171", + "referencedDeclaration": 112037, + "src": "8460:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120342, + "id": 112049, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8460:12:171", + "src": "8460:12:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13626,21 +13626,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 120343, + "id": 112050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8475:1:171", + "src": "8475:1:145", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8460:16:171", + "src": "8460:16:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13648,14 +13648,14 @@ }, { "hexValue": "6c69737420697320656d707479", - "id": 120345, + "id": 112052, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8477:15:171", + "src": "8477:15:145", "typeDescriptions": { "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", "typeString": "literal_string \"list is empty\"" @@ -13674,7 +13674,7 @@ "typeString": "literal_string \"list is empty\"" } ], - "id": 120340, + "id": 112047, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -13682,13 +13682,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8452:7:171", + "src": "8452:7:145", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 120346, + "id": 112053, "isConstant": false, "isLValue": false, "isPure": false, @@ -13696,22 +13696,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8452:41:171", + "src": "8452:41:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120347, + "id": 112054, "nodeType": "ExpressionStatement", - "src": "8452:41:171" + "src": "8452:41:145" }, { "body": { - "id": 120380, + "id": 112087, "nodeType": "Block", - "src": "8536:164:171", + "src": "8536:164:145", "statements": [ { "condition": { @@ -13719,7 +13719,7 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 120372, + "id": 112079, "isConstant": false, "isLValue": false, "isPure": false, @@ -13730,25 +13730,25 @@ "arguments": [ { "baseExpression": { - "id": 120361, + "id": 112068, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8580:5:171", + "referencedDeclaration": 112037, + "src": "8580:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120363, + "id": 112070, "indexExpression": { - "id": 120362, + "id": 112069, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8586:1:171", + "referencedDeclaration": 112056, + "src": "8586:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13759,7 +13759,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8580:8:171", + "src": "8580:8:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -13774,31 +13774,31 @@ } ], "expression": { - "id": 120359, + "id": 112066, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8563:3:171", + "src": "8563:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 120360, + "id": 112067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8563:16:171", + "src": "8563:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 120364, + "id": 112071, "isConstant": false, "isLValue": false, "isPure": false, @@ -13806,7 +13806,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8563:26:171", + "src": "8563:26:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -13821,18 +13821,18 @@ "typeString": "bytes memory" } ], - "id": 120358, + "id": 112065, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "8553:9:171", + "src": "8553:9:145", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 120365, + "id": 112072, "isConstant": false, "isLValue": false, "isPure": false, @@ -13840,7 +13840,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8553:37:171", + "src": "8553:37:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -13854,12 +13854,12 @@ { "arguments": [ { - "id": 120369, + "id": 112076, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120332, - "src": "8621:5:171", + "referencedDeclaration": 112039, + "src": "8621:5:145", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -13874,31 +13874,31 @@ } ], "expression": { - "id": 120367, + "id": 112074, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "8604:3:171", + "src": "8604:3:145", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 120368, + "id": 112075, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "8604:16:171", + "src": "8604:16:145", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 120370, + "id": 112077, "isConstant": false, "isLValue": false, "isPure": false, @@ -13906,7 +13906,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8604:23:171", + "src": "8604:23:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -13921,18 +13921,18 @@ "typeString": "bytes memory" } ], - "id": 120366, + "id": 112073, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "8594:9:171", + "src": "8594:9:145", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 120371, + "id": 112078, "isConstant": false, "isLValue": false, "isPure": false, @@ -13940,41 +13940,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8594:34:171", + "src": "8594:34:145", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "8553:75:171", + "src": "8553:75:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120379, + "id": 112086, "nodeType": "IfStatement", - "src": "8550:140:171", + "src": "8550:140:145", "trueBody": { - "id": 120378, + "id": 112085, "nodeType": "Block", - "src": "8629:61:171", + "src": "8629:61:145", "statements": [ { "expression": { - "id": 120375, + "id": 112082, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120373, + "id": 112080, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120338, - "src": "8647:1:171", + "referencedDeclaration": 112045, + "src": "8647:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13983,31 +13983,31 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120374, + "id": 112081, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8651:1:171", + "referencedDeclaration": 112056, + "src": "8651:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8647:5:171", + "src": "8647:5:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120376, + "id": 112083, "nodeType": "ExpressionStatement", - "src": "8647:5:171" + "src": "8647:5:145" }, { - "id": 120377, + "id": 112084, "nodeType": "Break", - "src": "8670:5:171" + "src": "8670:5:145" } ] } @@ -14019,18 +14019,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 120354, + "id": 112061, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 120351, + "id": 112058, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8517:1:171", + "referencedDeclaration": 112056, + "src": "8517:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14040,51 +14040,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 120352, + "id": 112059, "name": "_list", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120330, - "src": "8519:5:171", + "referencedDeclaration": 112037, + "src": "8519:5:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string memory[] memory" } }, - "id": 120353, + "id": 112060, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "8519:12:171", + "src": "8519:12:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8517:14:171", + "src": "8517:14:145", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 120381, + "id": 112088, "initializationExpression": { "assignments": [ - 120349 + 112056 ], "declarations": [ { "constant": false, - "id": 120349, + "id": 112056, "mutability": "mutable", "name": "i", - "nameLocation": "8515:1:171", + "nameLocation": "8515:1:145", "nodeType": "VariableDeclaration", - "scope": 120381, - "src": "8507:9:171", + "scope": 112088, + "src": "8507:9:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14092,10 +14092,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120348, + "id": 112055, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8507:7:171", + "src": "8507:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14104,13 +14104,13 @@ "visibility": "internal" } ], - "id": 120350, + "id": 112057, "nodeType": "VariableDeclarationStatement", - "src": "8507:9:171" + "src": "8507:9:145" }, "loopExpression": { "expression": { - "id": 120356, + "id": 112063, "isConstant": false, "isLValue": false, "isPure": false, @@ -14118,14 +14118,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "8532:3:171", + "src": "8532:3:145", "subExpression": { - "id": 120355, + "id": 112062, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120349, - "src": "8532:1:171", + "referencedDeclaration": 112056, + "src": "8532:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14136,30 +14136,30 @@ "typeString": "uint256" } }, - "id": 120357, + "id": 112064, "nodeType": "ExpressionStatement", - "src": "8532:3:171" + "src": "8532:3:145" }, "nodeType": "ForStatement", - "src": "8503:197:171" + "src": "8503:197:145" }, { "expression": { - "id": 120382, + "id": 112089, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120338, - "src": "8716:1:171", + "referencedDeclaration": 112045, + "src": "8716:1:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 120336, - "id": 120383, + "functionReturnParameters": 112043, + "id": 112090, "nodeType": "Return", - "src": "8709:8:171" + "src": "8709:8:145" } ] }, @@ -14167,20 +14167,20 @@ "kind": "function", "modifiers": [], "name": "indexOf", - "nameLocation": "8342:7:171", + "nameLocation": "8342:7:145", "parameters": { - "id": 120333, + "id": 112040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120330, + "id": 112037, "mutability": "mutable", "name": "_list", - "nameLocation": "8366:5:171", + "nameLocation": "8366:5:145", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8350:21:171", + "scope": 112092, + "src": "8350:21:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14189,18 +14189,18 @@ }, "typeName": { "baseType": { - "id": 120328, + "id": 112035, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8350:6:171", + "src": "8350:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 120329, + "id": 112036, "nodeType": "ArrayTypeName", - "src": "8350:8:171", + "src": "8350:8:145", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" @@ -14210,13 +14210,13 @@ }, { "constant": false, - "id": 120332, + "id": 112039, "mutability": "mutable", "name": "_name", - "nameLocation": "8386:5:171", + "nameLocation": "8386:5:145", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8372:19:171", + "scope": 112092, + "src": "8372:19:145", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14224,10 +14224,10 @@ "typeString": "string" }, "typeName": { - "id": 120331, + "id": 112038, "name": "string", "nodeType": "ElementaryTypeName", - "src": "8372:6:171", + "src": "8372:6:145", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -14236,21 +14236,21 @@ "visibility": "internal" } ], - "src": "8349:43:171" + "src": "8349:43:145" }, "returnParameters": { - "id": 120336, + "id": 112043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120335, + "id": 112042, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 120385, - "src": "8415:7:171", + "scope": 112092, + "src": "8415:7:145", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14258,10 +14258,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120334, + "id": 112041, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8415:7:171", + "src": "8415:7:145", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14270,9 +14270,9 @@ "visibility": "internal" } ], - "src": "8414:9:171" + "src": "8414:9:145" }, - "scope": 120386, + "scope": 112093, "stateMutability": "pure", "virtual": false, "visibility": "internal" @@ -14282,39 +14282,39 @@ "baseContracts": [ { "baseName": { - "id": 119412, + "id": 111119, "name": "Suit", "nodeType": "IdentifierPath", - "referencedDeclaration": 120637, - "src": "315:4:171" + "referencedDeclaration": 112344, + "src": "315:4:145" }, - "id": 119413, + "id": 111120, "nodeType": "InheritanceSpecifier", - "src": "315:4:171" + "src": "315:4:145" }, { "baseName": { - "id": 119414, + "id": 111121, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "321:6:171" + "referencedDeclaration": 30166, + "src": "321:6:145" }, - "id": 119415, + "id": 111122, "nodeType": "InheritanceSpecifier", - "src": "321:6:171" + "src": "321:6:145" }, { "baseName": { - "id": 119416, + "id": 111123, "name": "MRandom", "nodeType": "IdentifierPath", - "referencedDeclaration": 120834, - "src": "328:7:171" + "referencedDeclaration": 112541, + "src": "328:7:145" }, - "id": 119417, + "id": 111124, "nodeType": "InheritanceSpecifier", - "src": "328:7:171" + "src": "328:7:145" } ], "canonicalName": "MLoot", @@ -14322,23 +14322,23 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 120386, - 120834, - 72425, - 131813, - 131768, - 132189, - 174470, - 132165, - 120637 + 112093, + 112541, + 30166, + 30327, + 30282, + 31460, + 31472, + 30679, + 112344 ], "name": "MLoot", - "nameLocation": "306:5:171", - "scope": 120387, + "nameLocation": "306:5:145", + "scope": 112094, "usedErrors": [] } ], "license": "MIT" }, - "id": 171 + "id": 145 } \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json index 1d7b2815..392667c5 100644 --- a/packages/contracts/out/Plugin.sol/MPlugin.json +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -70,12 +70,12 @@ ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610357806100be6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", - "sourceMap": "121:676:174:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:174;;;-1:-1:-1;;;;;;274:26:174;;;;;;;;310;;;;;;;;;;;121:676;;14:177:194;93:13;;-1:-1:-1;;;;;135:31:194;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:174;;;;;;", + "sourceMap": "121:676:148:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:148;;;-1:-1:-1;;;;;;274:26:148;;;;;;;;310;;;;;;;;;;;121:676;;14:177:168;93:13;;-1:-1:-1;;;;;135:31:168;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:148;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", - "sourceMap": "121:676:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:194;178:55;;;160:74;;148:2;133:18;144:26:174;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:194;;;660:11:174;;;;;699;;;;;;721:14;;617:18:194;;721:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:174;;;;;;;;644:25:194;;;759:14:174;;;;-1:-1:-1;759:14:174;;-1:-1:-1;617:18:194;;759:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:194;;;406:11:174;;;;;445;;;;483:10;406:11;;503:9;;133:18:194;;503:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:174;;;;;:9;178:55:194;;;529:16:174;;;160:74:194;529:9:174;;;-1:-1:-1;529:9:174;;-1:-1:-1;133:18:194;;529:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:194:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:194;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:194:o", + "sourceMap": "121:676:148:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:168;178:55;;;160:74;;148:2;133:18;144:26:148;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:168;;;660:11:148;;;;;699;;;;;;721:14;;617:18:168;;721:28:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:148;;;;;;;;644:25:168;;;759:14:148;;;;-1:-1:-1;759:14:148;;-1:-1:-1;617:18:168;;759:28:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:168;;;406:11:148;;;;;445;;;;483:10;406:11;;503:9;;133:18:168;;503:16:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:148;;;;;:9;178:55:168;;;529:16:148;;;160:74:168;529:9:148;;;-1:-1:-1;529:9:148;;-1:-1:-1;133:18:168;;529:16:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:168:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:168;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:168:o", "linkReferences": {} }, "methodIdentifiers": { @@ -214,25 +214,25 @@ }, "ast": { "absolutePath": "src/other/Plugin.sol", - "id": 120930, + "id": 112637, "exportedSymbols": { "Loot": [ - 125436 + 117130 ], "MPlugin": [ - 120929 + 112636 ], "User": [ - 125397 + 117091 ] }, "nodeType": "SourceUnit", - "src": "32:765:174", + "src": "32:765:148", "nodes": [ { - "id": 120836, + "id": 112543, "nodeType": "PragmaDirective", - "src": "32:24:174", + "src": "32:24:148", "nodes": [], "literals": [ "solidity", @@ -242,36 +242,36 @@ ] }, { - "id": 120839, + "id": 112546, "nodeType": "ImportDirective", - "src": "57:61:174", + "src": "57:61:148", "nodes": [], "absolutePath": "src/systems/library/Interface.sol", "file": "@systems/library/Interface.sol", "nameLocation": "-1:-1:-1", - "scope": 120930, - "sourceUnit": 125437, + "scope": 112637, + "sourceUnit": 117131, "symbolAliases": [ { "foreign": { - "id": 120837, + "id": 112544, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125397, - "src": "66:4:174", + "referencedDeclaration": 117091, + "src": "66:4:148", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }, { "foreign": { - "id": 120838, + "id": 112545, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125436, - "src": "72:4:174", + "referencedDeclaration": 117130, + "src": "72:4:148", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -280,21 +280,21 @@ "unitAlias": "" }, { - "id": 120929, + "id": 112636, "nodeType": "ContractDefinition", - "src": "121:676:174", + "src": "121:676:148", "nodes": [ { - "id": 120841, + "id": 112548, "nodeType": "VariableDeclaration", - "src": "144:26:174", + "src": "144:26:148", "nodes": [], "constant": false, "functionSelector": "0e439326", "mutability": "mutable", "name": "lootAddress", - "nameLocation": "159:11:174", - "scope": 120929, + "nameLocation": "159:11:148", + "scope": 112636, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -302,10 +302,10 @@ "typeString": "address" }, "typeName": { - "id": 120840, + "id": 112547, "name": "address", "nodeType": "ElementaryTypeName", - "src": "144:7:174", + "src": "144:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -315,16 +315,16 @@ "visibility": "public" }, { - "id": 120843, + "id": 112550, "nodeType": "VariableDeclaration", - "src": "176:26:174", + "src": "176:26:148", "nodes": [], "constant": false, "functionSelector": "e4128fb3", "mutability": "mutable", "name": "userAddress", - "nameLocation": "191:11:174", - "scope": 120929, + "nameLocation": "191:11:148", + "scope": 112636, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -332,10 +332,10 @@ "typeString": "address" }, "typeName": { - "id": 120842, + "id": 112549, "name": "address", "nodeType": "ElementaryTypeName", - "src": "176:7:174", + "src": "176:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -345,30 +345,30 @@ "visibility": "public" }, { - "id": 120859, + "id": 112566, "nodeType": "FunctionDefinition", - "src": "209:134:174", + "src": "209:134:148", "nodes": [], "body": { - "id": 120858, + "id": 112565, "nodeType": "Block", - "src": "264:79:174", + "src": "264:79:148", "nodes": [], "statements": [ { "expression": { - "id": 120852, + "id": 112559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120850, + "id": 112557, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "274:11:174", + "referencedDeclaration": 112548, + "src": "274:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -377,41 +377,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120851, + "id": 112558, "name": "_lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120845, - "src": "288:12:174", + "referencedDeclaration": 112552, + "src": "288:12:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "274:26:174", + "src": "274:26:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120853, + "id": 112560, "nodeType": "ExpressionStatement", - "src": "274:26:174" + "src": "274:26:148" }, { "expression": { - "id": 120856, + "id": 112563, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120854, + "id": 112561, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "310:11:174", + "referencedDeclaration": 112550, + "src": "310:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -420,26 +420,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120855, + "id": 112562, "name": "_userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120847, - "src": "324:12:174", + "referencedDeclaration": 112554, + "src": "324:12:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "310:26:174", + "src": "310:26:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120857, + "id": 112564, "nodeType": "ExpressionStatement", - "src": "310:26:174" + "src": "310:26:148" } ] }, @@ -449,18 +449,18 @@ "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 120848, + "id": 112555, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120845, + "id": 112552, "mutability": "mutable", "name": "_lootAddress", - "nameLocation": "229:12:174", + "nameLocation": "229:12:148", "nodeType": "VariableDeclaration", - "scope": 120859, - "src": "221:20:174", + "scope": 112566, + "src": "221:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -468,10 +468,10 @@ "typeString": "address" }, "typeName": { - "id": 120844, + "id": 112551, "name": "address", "nodeType": "ElementaryTypeName", - "src": "221:7:174", + "src": "221:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -482,13 +482,13 @@ }, { "constant": false, - "id": 120847, + "id": 112554, "mutability": "mutable", "name": "_userAddress", - "nameLocation": "250:12:174", + "nameLocation": "250:12:148", "nodeType": "VariableDeclaration", - "scope": 120859, - "src": "242:20:174", + "scope": 112566, + "src": "242:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -496,10 +496,10 @@ "typeString": "address" }, "typeName": { - "id": 120846, + "id": 112553, "name": "address", "nodeType": "ElementaryTypeName", - "src": "242:7:174", + "src": "242:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -509,80 +509,80 @@ "visibility": "internal" } ], - "src": "220:43:174" + "src": "220:43:148" }, "returnParameters": { - "id": 120849, + "id": 112556, "nodeType": "ParameterList", "parameters": [], - "src": "264:0:174" + "src": "264:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 120894, + "id": 112601, "nodeType": "FunctionDefinition", - "src": "350:202:174", + "src": "350:202:148", "nodes": [], "body": { - "id": 120893, + "id": 112600, "nodeType": "Block", - "src": "379:173:174", + "src": "379:173:148", "nodes": [], "statements": [ { "assignments": [ - 120864 + 112571 ], "declarations": [ { "constant": false, - "id": 120864, + "id": 112571, "mutability": "mutable", "name": "user", - "nameLocation": "394:4:174", + "nameLocation": "394:4:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "389:9:174", + "scope": 112600, + "src": "389:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" }, "typeName": { - "id": 120863, + "id": 112570, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120862, + "id": 112569, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125397, - "src": "389:4:174" + "referencedDeclaration": 117091, + "src": "389:4:148" }, - "referencedDeclaration": 125397, - "src": "389:4:174", + "referencedDeclaration": 117091, + "src": "389:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, "visibility": "internal" } ], - "id": 120868, + "id": 112575, "initialValue": { "arguments": [ { - "id": 120866, + "id": 112573, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "406:11:174", + "referencedDeclaration": 112550, + "src": "406:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -596,18 +596,18 @@ "typeString": "address" } ], - "id": 120865, + "id": 112572, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125397, - "src": "401:4:174", + "referencedDeclaration": 117091, + "src": "401:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125397_$", + "typeIdentifier": "t_type$_t_contract$_User_$117091_$", "typeString": "type(contract User)" } }, - "id": 120867, + "id": 112574, "isConstant": false, "isLValue": false, "isPure": false, @@ -615,66 +615,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "401:17:174", + "src": "401:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, "nodeType": "VariableDeclarationStatement", - "src": "389:29:174" + "src": "389:29:148" }, { "assignments": [ - 120871 + 112578 ], "declarations": [ { "constant": false, - "id": 120871, + "id": 112578, "mutability": "mutable", "name": "loot", - "nameLocation": "433:4:174", + "nameLocation": "433:4:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "428:9:174", + "scope": 112600, + "src": "428:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" }, "typeName": { - "id": 120870, + "id": 112577, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120869, + "id": 112576, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125436, - "src": "428:4:174" + "referencedDeclaration": 117130, + "src": "428:4:148" }, - "referencedDeclaration": 125436, - "src": "428:4:174", + "referencedDeclaration": 117130, + "src": "428:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, "visibility": "internal" } ], - "id": 120875, + "id": 112582, "initialValue": { "arguments": [ { - "id": 120873, + "id": 112580, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "445:11:174", + "referencedDeclaration": 112548, + "src": "445:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -688,18 +688,18 @@ "typeString": "address" } ], - "id": 120872, + "id": 112579, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125436, - "src": "440:4:174", + "referencedDeclaration": 117130, + "src": "440:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125436_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$117130_$", "typeString": "type(contract Loot)" } }, - "id": 120874, + "id": 112581, "isConstant": false, "isLValue": false, "isPure": false, @@ -707,30 +707,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "440:17:174", + "src": "440:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, "nodeType": "VariableDeclarationStatement", - "src": "428:29:174" + "src": "428:29:148" }, { "assignments": [ - 120877 + 112584 ], "declarations": [ { "constant": false, - "id": 120877, + "id": 112584, "mutability": "mutable", "name": "_user", - "nameLocation": "475:5:174", + "nameLocation": "475:5:148", "nodeType": "VariableDeclaration", - "scope": 120893, - "src": "467:13:174", + "scope": 112600, + "src": "467:13:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -738,10 +738,10 @@ "typeString": "address" }, "typeName": { - "id": 120876, + "id": 112583, "name": "address", "nodeType": "ElementaryTypeName", - "src": "467:7:174", + "src": "467:7:148", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -751,46 +751,46 @@ "visibility": "internal" } ], - "id": 120880, + "id": 112587, "initialValue": { "expression": { - "id": 120878, + "id": 112585, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "483:3:174", + "src": "483:3:148", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120879, + "id": 112586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "483:10:174", + "src": "483:10:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "467:26:174" + "src": "467:26:148" }, { "expression": { "arguments": [ { - "id": 120884, + "id": 112591, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120877, - "src": "513:5:174", + "referencedDeclaration": 112584, + "src": "513:5:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -805,32 +805,32 @@ } ], "expression": { - "id": 120881, + "id": 112588, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120864, - "src": "503:4:174", + "referencedDeclaration": 112571, + "src": "503:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, - "id": 120883, + "id": 112590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125391, - "src": "503:9:174", + "referencedDeclaration": 117085, + "src": "503:9:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 120885, + "id": 112592, "isConstant": false, "isLValue": false, "isPure": false, @@ -838,27 +838,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "503:16:174", + "src": "503:16:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120886, + "id": 112593, "nodeType": "ExpressionStatement", - "src": "503:16:174" + "src": "503:16:148" }, { "expression": { "arguments": [ { - "id": 120890, + "id": 112597, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120877, - "src": "539:5:174", + "referencedDeclaration": 112584, + "src": "539:5:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -873,32 +873,32 @@ } ], "expression": { - "id": 120887, + "id": 112594, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120871, - "src": "529:4:174", + "referencedDeclaration": 112578, + "src": "529:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, - "id": 120889, + "id": 112596, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "mint", "nodeType": "MemberAccess", - "referencedDeclaration": 125430, - "src": "529:9:174", + "referencedDeclaration": 117124, + "src": "529:9:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", "typeString": "function (address) external" } }, - "id": 120891, + "id": 112598, "isConstant": false, "isLValue": false, "isPure": false, @@ -906,16 +906,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "529:16:174", + "src": "529:16:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120892, + "id": 112599, "nodeType": "ExpressionStatement", - "src": "529:16:174" + "src": "529:16:148" } ] }, @@ -924,85 +924,85 @@ "kind": "function", "modifiers": [], "name": "multMint", - "nameLocation": "359:8:174", + "nameLocation": "359:8:148", "parameters": { - "id": 120860, + "id": 112567, "nodeType": "ParameterList", "parameters": [], - "src": "367:2:174" + "src": "367:2:148" }, "returnParameters": { - "id": 120861, + "id": 112568, "nodeType": "ParameterList", "parameters": [], - "src": "379:0:174" + "src": "379:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 120928, + "id": 112635, "nodeType": "FunctionDefinition", - "src": "558:236:174", + "src": "558:236:148", "nodes": [], "body": { - "id": 120927, + "id": 112634, "nodeType": "Block", - "src": "633:161:174", + "src": "633:161:148", "nodes": [], "statements": [ { "assignments": [ - 120903 + 112610 ], "declarations": [ { "constant": false, - "id": 120903, + "id": 112610, "mutability": "mutable", "name": "user", - "nameLocation": "648:4:174", + "nameLocation": "648:4:148", "nodeType": "VariableDeclaration", - "scope": 120927, - "src": "643:9:174", + "scope": 112634, + "src": "643:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" }, "typeName": { - "id": 120902, + "id": 112609, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120901, + "id": 112608, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 125397, - "src": "643:4:174" + "referencedDeclaration": 117091, + "src": "643:4:148" }, - "referencedDeclaration": 125397, - "src": "643:4:174", + "referencedDeclaration": 117091, + "src": "643:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, "visibility": "internal" } ], - "id": 120907, + "id": 112614, "initialValue": { "arguments": [ { - "id": 120905, + "id": 112612, "name": "userAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120843, - "src": "660:11:174", + "referencedDeclaration": 112550, + "src": "660:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1016,18 +1016,18 @@ "typeString": "address" } ], - "id": 120904, + "id": 112611, "name": "User", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125397, - "src": "655:4:174", + "referencedDeclaration": 117091, + "src": "655:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_User_$125397_$", + "typeIdentifier": "t_type$_t_contract$_User_$117091_$", "typeString": "type(contract User)" } }, - "id": 120906, + "id": 112613, "isConstant": false, "isLValue": false, "isPure": false, @@ -1035,66 +1035,66 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "655:17:174", + "src": "655:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, "nodeType": "VariableDeclarationStatement", - "src": "643:29:174" + "src": "643:29:148" }, { "assignments": [ - 120910 + 112617 ], "declarations": [ { "constant": false, - "id": 120910, + "id": 112617, "mutability": "mutable", "name": "loot", - "nameLocation": "687:4:174", + "nameLocation": "687:4:148", "nodeType": "VariableDeclaration", - "scope": 120927, - "src": "682:9:174", + "scope": 112634, + "src": "682:9:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" }, "typeName": { - "id": 120909, + "id": 112616, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120908, + "id": 112615, "name": "Loot", "nodeType": "IdentifierPath", - "referencedDeclaration": 125436, - "src": "682:4:174" + "referencedDeclaration": 117130, + "src": "682:4:148" }, - "referencedDeclaration": 125436, - "src": "682:4:174", + "referencedDeclaration": 117130, + "src": "682:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, "visibility": "internal" } ], - "id": 120914, + "id": 112621, "initialValue": { "arguments": [ { - "id": 120912, + "id": 112619, "name": "lootAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120841, - "src": "699:11:174", + "referencedDeclaration": 112548, + "src": "699:11:148", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1108,18 +1108,18 @@ "typeString": "address" } ], - "id": 120911, + "id": 112618, "name": "Loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 125436, - "src": "694:4:174", + "referencedDeclaration": 117130, + "src": "694:4:148", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Loot_$125436_$", + "typeIdentifier": "t_type$_t_contract$_Loot_$117130_$", "typeString": "type(contract Loot)" } }, - "id": 120913, + "id": 112620, "isConstant": false, "isLValue": false, "isPure": false, @@ -1127,26 +1127,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "694:17:174", + "src": "694:17:148", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, "nodeType": "VariableDeclarationStatement", - "src": "682:29:174" + "src": "682:29:148" }, { "expression": { "arguments": [ { - "id": 120918, + "id": 112625, "name": "_lootTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120896, - "src": "736:12:174", + "referencedDeclaration": 112603, + "src": "736:12:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1161,32 +1161,32 @@ } ], "expression": { - "id": 120915, + "id": 112622, "name": "loot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120910, - "src": "721:4:174", + "referencedDeclaration": 112617, + "src": "721:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_Loot_$125436", + "typeIdentifier": "t_contract$_Loot_$117130", "typeString": "contract Loot" } }, - "id": 120917, + "id": 112624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125435, - "src": "721:14:174", + "referencedDeclaration": 117129, + "src": "721:14:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 120919, + "id": 112626, "isConstant": false, "isLValue": false, "isPure": false, @@ -1194,27 +1194,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "721:28:174", + "src": "721:28:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120920, + "id": 112627, "nodeType": "ExpressionStatement", - "src": "721:28:174" + "src": "721:28:148" }, { "expression": { "arguments": [ { - "id": 120924, + "id": 112631, "name": "_userTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120898, - "src": "774:12:174", + "referencedDeclaration": 112605, + "src": "774:12:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1229,32 +1229,32 @@ } ], "expression": { - "id": 120921, + "id": 112628, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120903, - "src": "759:4:174", + "referencedDeclaration": 112610, + "src": "759:4:148", "typeDescriptions": { - "typeIdentifier": "t_contract$_User_$125397", + "typeIdentifier": "t_contract$_User_$117091", "typeString": "contract User" } }, - "id": 120923, + "id": 112630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "revealNFT", "nodeType": "MemberAccess", - "referencedDeclaration": 125396, - "src": "759:14:174", + "referencedDeclaration": 117090, + "src": "759:14:148", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 120925, + "id": 112632, "isConstant": false, "isLValue": false, "isPure": false, @@ -1262,16 +1262,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "759:28:174", + "src": "759:28:148", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 120926, + "id": 112633, "nodeType": "ExpressionStatement", - "src": "759:28:174" + "src": "759:28:148" } ] }, @@ -1280,20 +1280,20 @@ "kind": "function", "modifiers": [], "name": "multRevealNFT", - "nameLocation": "567:13:174", + "nameLocation": "567:13:148", "parameters": { - "id": 120899, + "id": 112606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120896, + "id": 112603, "mutability": "mutable", "name": "_lootTokenId", - "nameLocation": "589:12:174", + "nameLocation": "589:12:148", "nodeType": "VariableDeclaration", - "scope": 120928, - "src": "581:20:174", + "scope": 112635, + "src": "581:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1301,10 +1301,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120895, + "id": 112602, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "581:7:174", + "src": "581:7:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1314,13 +1314,13 @@ }, { "constant": false, - "id": 120898, + "id": 112605, "mutability": "mutable", "name": "_userTokenId", - "nameLocation": "610:12:174", + "nameLocation": "610:12:148", "nodeType": "VariableDeclaration", - "scope": 120928, - "src": "602:20:174", + "scope": 112635, + "src": "602:20:148", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1328,10 +1328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120897, + "id": 112604, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "602:7:174", + "src": "602:7:148", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1340,15 +1340,15 @@ "visibility": "internal" } ], - "src": "580:43:174" + "src": "580:43:148" }, "returnParameters": { - "id": 120900, + "id": 112607, "nodeType": "ParameterList", "parameters": [], - "src": "633:0:174" + "src": "633:0:148" }, - "scope": 120929, + "scope": 112636, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" @@ -1361,15 +1361,15 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 120929 + 112636 ], "name": "MPlugin", - "nameLocation": "130:7:174", - "scope": 120930, + "nameLocation": "130:7:148", + "scope": 112637, "usedErrors": [] } ], "license": "MIT" }, - "id": 174 + "id": 148 } \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json index 883ee495..48845db0 100644 --- a/packages/contracts/out/User.sol/MUser.json +++ b/packages/contracts/out/User.sol/MUser.json @@ -601,12 +601,12 @@ ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b5060405162002e7b38038062002e7b833981016040819052620000349162000227565b8351849084906200004d906000906020850190620000b4565b50805162000063906001906020840190620000b4565b5050600a80546001600160a01b0319163317905550600985905581516200009290600b906020850190620000b4565b508051620000a890600c906020840190620000b4565b50505050505062000327565b828054620000c290620002eb565b90600052602060002090601f016020900481019282620000e6576000855562000131565b82601f106200010157805160ff191683800117855562000131565b8280016001018555821562000131579182015b828111156200013157825182559160200191906001019062000114565b506200013f92915062000143565b5090565b5b808211156200013f576000815560010162000144565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018257600080fd5b81516001600160401b03808211156200019f576200019f6200015a565b604051601f8301601f19908116603f01168101908282118183101715620001ca57620001ca6200015a565b81604052838152602092508683858801011115620001e757600080fd5b600091505b838210156200020b5785820183015181830184015290820190620001ec565b838211156200021d5760008385830101525b9695505050505050565b600080600080600060a086880312156200024057600080fd5b855160208701519095506001600160401b03808211156200026057600080fd5b6200026e89838a0162000170565b955060408801519150808211156200028557600080fd5b6200029389838a0162000170565b94506060880151915080821115620002aa57600080fd5b620002b889838a0162000170565b93506080880151915080821115620002cf57600080fd5b50620002de8882890162000170565b9150509295509295909350565b600181811c908216806200030057607f821691505b6020821081036200032157634e487b7160e01b600052602260045260246000fd5b50919050565b612b4480620003376000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", - "sourceMap": "163:5874:175:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;819:7:175;;828:5;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:175::1;:18:::0;;-1:-1:-1;;;;;;845:18:175::1;853:10;845:18;::::0;;-1:-1:-1;873:14:175::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:175;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:175;;;-1:-1:-1;163:5874:175;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:194;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:194;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:175;;;;;;", + "sourceMap": "163:5874:149:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:79;;819:7:149;;828:5;;1456:13:79;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:79;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:149::1;:18:::0;;-1:-1:-1;;;;;;845:18:149::1;853:10;845:18;::::0;;-1:-1:-1;873:14:149::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:149;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:149;;;-1:-1:-1;163:5874:149;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:168;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:168;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:168;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:168:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:168;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:149;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", - "sourceMap": "163:5874:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:194;;;1779:74;;1767:2;1752:18;3935:167:105;1633:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2470:25:194;;;2458:2;2443:18;241:23:173;2324:177:194;481:22:175;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;509:29:175:-;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;5547:482:175:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:194;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:175;3476:535:194;2190:219:105;;;;;;:::i;:::-;;:::i;1047:324:175:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;544:20:175:-;;;;;-1:-1:-1;;;;;544:20:175;;;2633:102:105;;;:::i;1000:40:175:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:175:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;7344:25:194;;;-1:-1:-1;;;;;7405:55:194;;;7400:2;7385:18;;7378:83;7317:18;270:44:173;7170:297:194;1377:680:175;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;8381:2:194;3597:57:105;;;8363:21:194;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;8783:2:194;3665:170:105;;;8765:21:194;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:105;8581:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;9213:2:194;4763:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:105;9011:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:175:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:175;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:175;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:175;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:175;;5547:482;-1:-1:-1;;;5547:482:175:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:175;-1:-1:-1;5359:21:175;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:175;;10205:2:194;5337:62:175;;;10187:21:194;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:175;10003:339:194;5337:62:175;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:175;;-1:-1:-1;5480:10:175;-1:-1:-1;5500:13:175;;-1:-1:-1;5523:10:175;-1:-1:-1;5169:372:175;-1:-1:-1;;5169:372:175:o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;10549:2:194;2324:56:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:105;10347:348:194;1047:324:175;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:175;-1:-1:-1;;;;;1167:18:175;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:175;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:175;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;10902:2:194;2020:73:105;;;10884:21:194;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:105;10700:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;9213:2:194;5311:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:105;9011:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:175:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:175;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:175;-1:-1:-1;4045:19:175;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:175:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:175;;12896:2:194;4313:60:175;;;12878:21:194;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:175;12694:339:194;4313:60:175;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:175:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:175;;:34;;-1:-1:-1;;2015:34:175;2028:21;2015:34;;;-1:-1:-1;1377:680:175:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;10549:2:194;13313:53:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:105;10347:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;15128:2:194;11346:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:105;14926:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;15534:2:194;11437:65:105;;;15516:21:194;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:105;15332:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;15128:2:194;11647:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:105;14926:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:194;;;7385:18;;;7378:83;458:21:173;563:31;;7317:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;15939:2:194;8996:61:105;;;15921:21:194;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:105;15737:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;16300:2:194;9067:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:105;16098:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;16300:2:194;9271:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:105;16098:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;16657:2:194;12982:55:105;;;16639:21:194;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:105;16455:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;17011:2:194;6476:110:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:105;16809:414:194;2521:1348:175;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:175;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:175;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:175;2521:1348;-1:-1:-1;;;2521:1348:175:o;447:696:111:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;18585:2:194;765:55:173;;;18567:21:194;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:173;18383:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;18936:2:194;880:69:173;;;18918:21:194;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:173;18734:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;19339:2:194;1022:122:173;;;19321:21:194;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:173;19137:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;19658:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;2063:259:175:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:175;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:175:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;17011:2:194;14409:60:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:105;16809:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;14728:11;;2328:187:175;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:194:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:194;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:194:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:194;;2839:632;-1:-1:-1;;;;;;2839:632:194:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:194;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:194;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:194;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:194;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:194;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:194;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:194;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:194;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:194;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:194;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:194;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:194;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:194:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:194:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:194:o;17703:184::-;-1:-1:-1;;;17752:1:194;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:194;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:194;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:194;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:194;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:194;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:194:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:194:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:194;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:194:o", + "sourceMap": "163:5874:149:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:79;;;;;;:::i;:::-;;:::i;:::-;;;611:14:168;;604:22;586:41;;574:2;559:18;1570:300:79;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:168;;;1779:74;;1767:2;1752:18;3935:167:79;1633:226:168;3468:406:79;;;;;;:::i;:::-;;:::i;:::-;;241:23:147;;;;;;;;;2470:25:168;;;2458:2;2443:18;241:23:147;2324:177:168;481:22:149;;;;;;4612:296:79;;;;;;:::i;:::-;;:::i;509:29:149:-;;;;;;4974:149:79;;;;;;:::i;:::-;;:::i;5547:482:149:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:168;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:149;3476:535:168;2190:219:79;;;;;;:::i;:::-;;:::i;1047:324:149:-;;;;;;:::i;:::-;;:::i;1929:204:79:-;;;;;;:::i;:::-;;:::i;544:20:149:-;;;;;-1:-1:-1;;;;;544:20:149;;;2633:102:79;;;:::i;1000:40:149:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:79:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:149:-;;;;;;:::i;:::-;;:::i;270:44:147:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:147;;;;;;;7344:25:168;;;-1:-1:-1;;;;;7405:55:168;;;7400:2;7385:18;;7378:83;7317:18;270:44:147;7170:297:168;1377:680:149;;;;;;:::i;:::-;;:::i;4388:162:79:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:79;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:87;937:40;;;;1827:36:79;1688:175;1570:300;-1:-1:-1;;1570:300:79:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:79;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:79;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:79;:2;-1:-1:-1;;;;;3605:11:79;;3597:57;;;;-1:-1:-1;;;3597:57:79;;8381:2:168;3597:57:79;;;8363:21:168;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:79;;;;;;;;;719:10:84;-1:-1:-1;;;;;3686:21:79;;;;:62;;-1:-1:-1;3711:37:79;3728:5;719:10:84;4388:162:79;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:79;;8783:2:168;3665:170:79;;;8765:21:168;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:79;8581:425:168;3665:170:79;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:84;4804:7:79;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:79;;9213:2:168;4763:99:79;;;9195:21:168;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:79;9011:409:168;4763:99:79;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:149:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:149;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:149;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:149;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:149;;5547:482;-1:-1:-1;;;5547:482:149:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:149;-1:-1:-1;5359:21:149;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:149;;10205:2:168;5337:62:149;;;10187:21:168;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:149;10003:339:168;5337:62:149;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:149;;-1:-1:-1;5480:10:149;-1:-1:-1;5500:13:149;;-1:-1:-1;5523:10:149;-1:-1:-1;5169:372:149;-1:-1:-1;;5169:372:149:o;2190:219:79:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;;2324:56;;;;-1:-1:-1;;;2324:56:79;;10549:2:168;2324:56:79;;;10531:21:168;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:79;10347:348:168;1047:324:149;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:149;-1:-1:-1;;;;;1167:18:149;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:149;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:149;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:79:-;2001:7;-1:-1:-1;;;;;2028:19:79;;2020:73;;;;-1:-1:-1;;;2020:73:79;;10902:2:168;2020:73:79;;;10884:21:168;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:79;10700:405:168;2020:73:79;-1:-1:-1;;;;;;2110:16:79;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:84;4296:8:79;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:84;5352:7:79;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:79;;9213:2:168;5311:99:79;;;9195:21:168;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:79;9011:409:168;5311:99:79;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:149:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:149;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:149;-1:-1:-1;4045:19:149;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:149;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:149:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:149;;12896:2:168;4313:60:149;;;12878:21:168;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:149;12694:339:168;4313:60:149;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:149;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:149:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:149;;:34;;-1:-1:-1;;2015:34:149;2028:21;2015:34;;;-1:-1:-1;1377:680:149:o;13240:133:79:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;13313:53;;;;-1:-1:-1;;;13313:53:79;;10549:2:168;13313:53:79;;;10531:21:168;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:79;10347:348:168;13313:53:79;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:79;-1:-1:-1;;;;;12646:29:79;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:79;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:79;:7;-1:-1:-1;;;;;7570:16:79;;:52;;;-1:-1:-1;;;;;;4508:25:79;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:79;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:79;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:79:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:79;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:79;;11346:81;;;;-1:-1:-1;;;11346:81:79;;15128:2:168;11346:81:79;;;15110:21:168;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:79;14926:401:168;11346:81:79;-1:-1:-1;;;;;11445:16:79;;11437:65;;;;-1:-1:-1;;;11437:65:79;;15534:2:168;11437:65:79;;;15516:21:168;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:79;15332:400:168;11437:65:79;11682:4;-1:-1:-1;;;;;11655:31:79;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:79;;11647:81;;;;-1:-1:-1;;;11647:81:79;;15128:2:168;11647:81:79;;;15110:21:168;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:79;14926:401:168;11647:81:79;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:79;;;;;;-1:-1:-1;;;;;12265:15:79;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:79;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:147:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:147;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:168;;;7385:18;;;7378:83;458:21:147;563:31;;7317:18:168;563:31:147;;;;;;;429:172;378:223;:::o;8925:920:79:-;-1:-1:-1;;;;;9004:16:79;;8996:61;;;;-1:-1:-1;;;8996:61:79;;15939:2:168;8996:61:79;;;15921:21:168;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:79;15737:356:168;8996:61:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:79;;16300:2:168;9067:58:79;;;16282:21:168;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:79;16098:352:168;9067:58:79;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:79;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:79;;16300:2:168;9271:58:79;;;16282:21:168;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:79;16098:352:168;9271:58:79;-1:-1:-1;;;;;9671:13:79;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:79;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:79;:5;-1:-1:-1;;;;;12990:17:79;;12982:55;;;;-1:-1:-1;;;12982:55:79;;16657:2:168;12982:55:79;;;16639:21:168;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:79;16455:349:168;12982:55:79;-1:-1:-1;;;;;13047:25:79;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:79;;;;;;;;;;13108:41;;586::168;;;13108::79;;559:18:168;13108:41:79;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:79;;17011:2:168;6476:110:79;;;16993:21:168;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:79;16809:414:168;2521:1348:149;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:149;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:149;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:149;2521:1348;-1:-1:-1;;;2521:1348:149:o;447:696:85:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:85;-1:-1:-1;604:41:85;-1:-1:-1;765:28:85;;;781:2;765:28;820:280;-1:-1:-1;;851:5:85;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:85;820:280;1064:21;-1:-1:-1;1120:6:85;447:696;-1:-1:-1;;;447:696:85:o;396:1557:144:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:144;;;;;;;;;-1:-1:-1;528:9:144;;;396:1557;-1:-1:-1;396:1557:144:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:144;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:144;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:144;;1810:41;1659:206;-1:-1:-1;;;1879:26:144;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:144:o;607:996:147:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:147;;18585:2:168;765:55:147;;;18567:21:168;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:147;18383:346:168;765:55:147;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:147;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:147;;18936:2:168;880:69:147;;;18918:21:168;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:147;18734:398:168;880:69:147;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:147;-1:-1:-1;1059:13:147;;959:53;;-1:-1:-1;1059:31:147;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:147;;19339:2:168;1022:122:147;;;19321:21:168;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:147;19137:352:168;1022:122:147;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:168;;;1177:28:147;-1:-1:-1;1169:37:147;;19658:12:168;1303:22:147;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:147;;607:996;-1:-1:-1;;;;;;;607:996:147:o;2063:259:149:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:149;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:149:o;13925:831:79:-;14074:4;-1:-1:-1;;;;;14094:13:79;;1702:19:83;:23;14090:660:79;;14129:71;;;;;-1:-1:-1;;;;;14129:36:79;;;;;:71;;719:10:84;;14180:4:79;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:79;;;;;;;;-1:-1:-1;;14129:71:79;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:79;;17011:2:168;14409:60:79;;;16993:21:168;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:79;16809:414:168;14363:321:79;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:79;;14090:660;-1:-1:-1;14735:4:79;14728:11;;2328:187:149;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:89:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:89;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:89;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:89;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:89;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:89;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:89;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:89:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:168:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:168:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:168;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:168;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:168:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:168;;1448:180;-1:-1:-1;1448:180:168:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:168;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:168:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:168;;2839:632;-1:-1:-1;;;;;;2839:632:168:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:168;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:168;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:168;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:168;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:168;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:168;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:168;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:168;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:168;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:168;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:168;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:168;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:168:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:168:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:168:o;17703:184::-;-1:-1:-1;;;17752:1:168;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:168;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:168;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:168;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:168;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:168;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:168:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:168:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:168;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:168:o", "linkReferences": {} }, "methodIdentifiers": { @@ -1423,58 +1423,58 @@ }, "ast": { "absolutePath": "src/other/User.sol", - "id": 121589, + "id": 113296, "exportedSymbols": { "Address": [ - 132143 + 30657 ], "Base64": [ - 119403 + 111110 ], "Context": [ - 132165 + 30679 ], "ERC165": [ - 132189 + 31460 ], "ERC721": [ - 72425 + 30166 ], "IERC165": [ - 174470 + 31472 ], "IERC721": [ - 131768 + 30282 ], "IERC721Metadata": [ - 131813 + 30327 ], "IERC721Receiver": [ - 131786 + 30300 ], "MRandom": [ - 120834 + 112541 ], "MUser": [ - 121588 + 113295 ], "Math": [ - 133055 + 32338 ], "SignedMath": [ - 133160 + 32443 ], "Strings": [ - 72654 + 30908 ] }, "nodeType": "SourceUnit", - "src": "32:6006:175", + "src": "32:6006:149", "nodes": [ { - "id": 120931, + "id": 112638, "nodeType": "PragmaDirective", - "src": "32:24:175", + "src": "32:24:149", "nodes": [], "literals": [ "solidity", @@ -1484,67 +1484,67 @@ ] }, { - "id": 120932, + "id": 112639, "nodeType": "ImportDirective", - "src": "57:57:175", + "src": "57:57:149", "nodes": [], "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 72426, + "scope": 113296, + "sourceUnit": 30167, "symbolAliases": [], "unitAlias": "" }, { - "id": 120933, + "id": 112640, "nodeType": "ImportDirective", - "src": "115:23:175", + "src": "115:23:149", "nodes": [], "absolutePath": "src/other/MRandom.sol", "file": "./MRandom.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 120835, + "scope": 113296, + "sourceUnit": 112542, "symbolAliases": [], "unitAlias": "" }, { - "id": 120934, + "id": 112641, "nodeType": "ImportDirective", - "src": "139:22:175", + "src": "139:22:149", "nodes": [], "absolutePath": "src/other/Base64.sol", "file": "./Base64.sol", "nameLocation": "-1:-1:-1", - "scope": 121589, - "sourceUnit": 119404, + "scope": 113296, + "sourceUnit": 111111, "symbolAliases": [], "unitAlias": "" }, { - "id": 121588, + "id": 113295, "nodeType": "ContractDefinition", - "src": "163:5874:175", + "src": "163:5874:149", "nodes": [ { - "id": 120941, + "id": 112648, "nodeType": "UsingForDirective", - "src": "203:26:175", + "src": "203:26:149", "nodes": [], "global": false, "libraryName": { - "id": 120939, + "id": 112646, "name": "Strings", "nodeType": "IdentifierPath", - "referencedDeclaration": 72654, - "src": "209:7:175" + "referencedDeclaration": 30908, + "src": "209:7:149" }, "typeName": { - "id": 120940, + "id": 112647, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "221:7:175", + "src": "221:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1552,21 +1552,21 @@ } }, { - "id": 120961, + "id": 112668, "nodeType": "StructDefinition", - "src": "235:240:175", + "src": "235:240:149", "nodes": [], "canonicalName": "MUser.User", "members": [ { "constant": false, - "id": 120943, + "id": 112650, "mutability": "mutable", "name": "randomId", - "nameLocation": "265:8:175", + "nameLocation": "265:8:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "257:16:175", + "scope": 112668, + "src": "257:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1574,10 +1574,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120942, + "id": 112649, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "257:7:175", + "src": "257:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1587,13 +1587,13 @@ }, { "constant": false, - "id": 120945, + "id": 112652, "mutability": "mutable", "name": "owner", - "nameLocation": "291:5:175", + "nameLocation": "291:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "283:13:175", + "scope": 112668, + "src": "283:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1601,10 +1601,10 @@ "typeString": "address" }, "typeName": { - "id": 120944, + "id": 112651, "name": "address", "nodeType": "ElementaryTypeName", - "src": "283:7:175", + "src": "283:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1615,13 +1615,13 @@ }, { "constant": false, - "id": 120947, + "id": 112654, "mutability": "mutable", "name": "HP", - "nameLocation": "314:2:175", + "nameLocation": "314:2:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "306:10:175", + "scope": 112668, + "src": "306:10:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1629,10 +1629,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120946, + "id": 112653, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "306:7:175", + "src": "306:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1642,13 +1642,13 @@ }, { "constant": false, - "id": 120949, + "id": 112656, "mutability": "mutable", "name": "Attack", - "nameLocation": "334:6:175", + "nameLocation": "334:6:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "326:14:175", + "scope": 112668, + "src": "326:14:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1656,10 +1656,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120948, + "id": 112655, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "326:7:175", + "src": "326:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1669,13 +1669,13 @@ }, { "constant": false, - "id": 120951, + "id": 112658, "mutability": "mutable", "name": "AttackRange", - "nameLocation": "358:11:175", + "nameLocation": "358:11:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "350:19:175", + "scope": 112668, + "src": "350:19:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1683,10 +1683,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120950, + "id": 112657, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "350:7:175", + "src": "350:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1696,13 +1696,13 @@ }, { "constant": false, - "id": 120953, + "id": 112660, "mutability": "mutable", "name": "Speed", - "nameLocation": "387:5:175", + "nameLocation": "387:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "379:13:175", + "scope": 112668, + "src": "379:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1710,10 +1710,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120952, + "id": 112659, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "379:7:175", + "src": "379:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1723,13 +1723,13 @@ }, { "constant": false, - "id": 120955, + "id": 112662, "mutability": "mutable", "name": "Strength", - "nameLocation": "410:8:175", + "nameLocation": "410:8:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "402:16:175", + "scope": 112668, + "src": "402:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1737,10 +1737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120954, + "id": 112661, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "402:7:175", + "src": "402:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1750,13 +1750,13 @@ }, { "constant": false, - "id": 120957, + "id": 112664, "mutability": "mutable", "name": "Space", - "nameLocation": "436:5:175", + "nameLocation": "436:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "428:13:175", + "scope": 112668, + "src": "428:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1764,10 +1764,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120956, + "id": 112663, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "428:7:175", + "src": "428:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1777,33 +1777,33 @@ }, { "constant": false, - "id": 120960, + "id": 112667, "mutability": "mutable", "name": "state", - "nameLocation": "463:5:175", + "nameLocation": "463:5:149", "nodeType": "VariableDeclaration", - "scope": 120961, - "src": "451:17:175", + "scope": 112668, + "src": "451:17:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, "typeName": { - "id": 120959, + "id": 112666, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 120958, + "id": 112665, "name": "RandomState", "nodeType": "IdentifierPath", - "referencedDeclaration": 120643, - "src": "451:11:175" + "referencedDeclaration": 112350, + "src": "451:11:149" }, - "referencedDeclaration": 120643, - "src": "451:11:175", + "referencedDeclaration": 112350, + "src": "451:11:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -1811,21 +1811,21 @@ } ], "name": "User", - "nameLocation": "242:4:175", - "scope": 121588, + "nameLocation": "242:4:149", + "scope": 113295, "visibility": "public" }, { - "id": 120963, + "id": 112670, "nodeType": "VariableDeclaration", - "src": "481:22:175", + "src": "481:22:149", "nodes": [], "constant": false, "functionSelector": "17d70f7c", "mutability": "mutable", "name": "tokenId", - "nameLocation": "496:7:175", - "scope": 121588, + "nameLocation": "496:7:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1833,10 +1833,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120962, + "id": 112669, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "481:7:175", + "src": "481:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1845,16 +1845,16 @@ "visibility": "public" }, { - "id": 120965, + "id": 112672, "nodeType": "VariableDeclaration", - "src": "509:29:175", + "src": "509:29:149", "nodes": [], "constant": false, "functionSelector": "3e8474ca", "mutability": "mutable", "name": "waitBlockCount", - "nameLocation": "524:14:175", - "scope": 121588, + "nameLocation": "524:14:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1862,10 +1862,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120964, + "id": 112671, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "509:7:175", + "src": "509:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1874,16 +1874,16 @@ "visibility": "public" }, { - "id": 120967, + "id": 112674, "nodeType": "VariableDeclaration", - "src": "544:20:175", + "src": "544:20:149", "nodes": [], "constant": false, "functionSelector": "8da5cb5b", "mutability": "mutable", "name": "owner", - "nameLocation": "559:5:175", - "scope": 121588, + "nameLocation": "559:5:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1891,10 +1891,10 @@ "typeString": "address" }, "typeName": { - "id": 120966, + "id": 112673, "name": "address", "nodeType": "ElementaryTypeName", - "src": "544:7:175", + "src": "544:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1904,15 +1904,15 @@ "visibility": "public" }, { - "id": 120969, + "id": 112676, "nodeType": "VariableDeclaration", - "src": "570:22:175", + "src": "570:22:149", "nodes": [], "constant": false, "mutability": "mutable", "name": "notRevealedInfo", - "nameLocation": "577:15:175", - "scope": 121588, + "nameLocation": "577:15:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1920,10 +1920,10 @@ "typeString": "string" }, "typeName": { - "id": 120968, + "id": 112675, "name": "string", "nodeType": "ElementaryTypeName", - "src": "570:6:175", + "src": "570:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1932,15 +1932,15 @@ "visibility": "internal" }, { - "id": 120971, + "id": 112678, "nodeType": "VariableDeclaration", - "src": "598:19:175", + "src": "598:19:149", "nodes": [], "constant": false, "mutability": "mutable", "name": "revealedDesc", - "nameLocation": "605:12:175", - "scope": 121588, + "nameLocation": "605:12:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1948,10 +1948,10 @@ "typeString": "string" }, "typeName": { - "id": 120970, + "id": 112677, "name": "string", "nodeType": "ElementaryTypeName", - "src": "598:6:175", + "src": "598:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -1960,30 +1960,30 @@ "visibility": "internal" }, { - "id": 121006, + "id": 112713, "nodeType": "FunctionDefinition", - "src": "624:370:175", + "src": "624:370:149", "nodes": [], "body": { - "id": 121005, + "id": 112712, "nodeType": "Block", - "src": "835:159:175", + "src": "835:159:149", "nodes": [], "statements": [ { "expression": { - "id": 120991, + "id": 112698, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120988, + "id": 112695, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120967, - "src": "845:5:175", + "referencedDeclaration": 112674, + "src": "845:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1993,54 +1993,54 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 120989, + "id": 112696, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "853:3:175", + "src": "853:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 120990, + "id": 112697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "853:10:175", + "src": "853:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "845:18:175", + "src": "845:18:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 120992, + "id": 112699, "nodeType": "ExpressionStatement", - "src": "845:18:175" + "src": "845:18:149" }, { "expression": { - "id": 120995, + "id": 112702, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120993, + "id": 112700, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120965, - "src": "873:14:175", + "referencedDeclaration": 112672, + "src": "873:14:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2049,41 +2049,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120994, + "id": 112701, "name": "_waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120973, - "src": "890:15:175", + "referencedDeclaration": 112680, + "src": "890:15:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "873:32:175", + "src": "873:32:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 120996, + "id": 112703, "nodeType": "ExpressionStatement", - "src": "873:32:175" + "src": "873:32:149" }, { "expression": { - "id": 120999, + "id": 112706, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 120997, + "id": 112704, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120969, - "src": "915:15:175", + "referencedDeclaration": 112676, + "src": "915:15:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2092,41 +2092,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 120998, + "id": 112705, "name": "_notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120979, - "src": "933:16:175", + "referencedDeclaration": 112686, + "src": "933:16:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "915:34:175", + "src": "915:34:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 121000, + "id": 112707, "nodeType": "ExpressionStatement", - "src": "915:34:175" + "src": "915:34:149" }, { "expression": { - "id": 121003, + "id": 112710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121001, + "id": 112708, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120971, - "src": "959:12:175", + "referencedDeclaration": 112678, + "src": "959:12:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -2135,26 +2135,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121002, + "id": 112709, "name": "_revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120981, - "src": "974:13:175", + "referencedDeclaration": 112688, + "src": "974:13:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "959:28:175", + "src": "959:28:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 121004, + "id": 112711, "nodeType": "ExpressionStatement", - "src": "959:28:175" + "src": "959:28:149" } ] }, @@ -2164,58 +2164,58 @@ { "arguments": [ { - "id": 120984, + "id": 112691, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120975, - "src": "819:7:175", + "referencedDeclaration": 112682, + "src": "819:7:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 120985, + "id": 112692, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120977, - "src": "828:5:175", + "referencedDeclaration": 112684, + "src": "828:5:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 120986, + "id": 112693, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 120983, + "id": 112690, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "812:6:175" + "referencedDeclaration": 30166, + "src": "812:6:149" }, "nodeType": "ModifierInvocation", - "src": "812:22:175" + "src": "812:22:149" } ], "name": "", "nameLocation": "-1:-1:-1", "parameters": { - "id": 120982, + "id": 112689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 120973, + "id": 112680, "mutability": "mutable", "name": "_waitBlockCount", - "nameLocation": "653:15:175", + "nameLocation": "653:15:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "645:23:175", + "scope": 112713, + "src": "645:23:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2223,10 +2223,10 @@ "typeString": "uint256" }, "typeName": { - "id": 120972, + "id": 112679, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "645:7:175", + "src": "645:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2236,13 +2236,13 @@ }, { "constant": false, - "id": 120975, + "id": 112682, "mutability": "mutable", "name": "_symbol", - "nameLocation": "692:7:175", + "nameLocation": "692:7:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "678:21:175", + "scope": 112713, + "src": "678:21:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2250,10 +2250,10 @@ "typeString": "string" }, "typeName": { - "id": 120974, + "id": 112681, "name": "string", "nodeType": "ElementaryTypeName", - "src": "678:6:175", + "src": "678:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2263,13 +2263,13 @@ }, { "constant": false, - "id": 120977, + "id": 112684, "mutability": "mutable", "name": "_name", - "nameLocation": "723:5:175", + "nameLocation": "723:5:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "709:19:175", + "scope": 112713, + "src": "709:19:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2277,10 +2277,10 @@ "typeString": "string" }, "typeName": { - "id": 120976, + "id": 112683, "name": "string", "nodeType": "ElementaryTypeName", - "src": "709:6:175", + "src": "709:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2290,13 +2290,13 @@ }, { "constant": false, - "id": 120979, + "id": 112686, "mutability": "mutable", "name": "_notRevealedInfo", - "nameLocation": "752:16:175", + "nameLocation": "752:16:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "738:30:175", + "scope": 112713, + "src": "738:30:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2304,10 +2304,10 @@ "typeString": "string" }, "typeName": { - "id": 120978, + "id": 112685, "name": "string", "nodeType": "ElementaryTypeName", - "src": "738:6:175", + "src": "738:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2317,13 +2317,13 @@ }, { "constant": false, - "id": 120981, + "id": 112688, "mutability": "mutable", "name": "_revealedDesc", - "nameLocation": "792:13:175", + "nameLocation": "792:13:149", "nodeType": "VariableDeclaration", - "scope": 121006, - "src": "778:27:175", + "scope": 112713, + "src": "778:27:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2331,10 +2331,10 @@ "typeString": "string" }, "typeName": { - "id": 120980, + "id": 112687, "name": "string", "nodeType": "ElementaryTypeName", - "src": "778:6:175", + "src": "778:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2343,68 +2343,68 @@ "visibility": "internal" } ], - "src": "635:176:175" + "src": "635:176:149" }, "returnParameters": { - "id": 120987, + "id": 112694, "nodeType": "ParameterList", "parameters": [], - "src": "835:0:175" + "src": "835:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "id": 121011, + "id": 112718, "nodeType": "VariableDeclaration", - "src": "1000:40:175", + "src": "1000:40:149", "nodes": [], "constant": false, "functionSelector": "9f4216e8", "mutability": "mutable", "name": "userList", - "nameLocation": "1032:8:175", - "scope": 121588, + "nameLocation": "1032:8:149", + "scope": 113295, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "typeName": { - "id": 121010, + "id": 112717, "keyType": { - "id": 121007, + "id": 112714, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1008:7:175", + "src": "1008:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "1000:24:175", + "src": "1000:24:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User)" }, "valueType": { - "id": 121009, + "id": 112716, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121008, + "id": 112715, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1019:4:175" + "referencedDeclaration": 112668, + "src": "1019:4:149" }, - "referencedDeclaration": 120961, - "src": "1019:4:175", + "referencedDeclaration": 112668, + "src": "1019:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } } @@ -2412,78 +2412,78 @@ "visibility": "public" }, { - "id": 121058, + "id": 112765, "nodeType": "FunctionDefinition", - "src": "1047:324:175", + "src": "1047:324:149", "nodes": [], "body": { - "id": 121057, + "id": 112764, "nodeType": "Block", - "src": "1085:286:175", + "src": "1085:286:149", "nodes": [], "statements": [ { "assignments": [ - 121018 + 112725 ], "declarations": [ { "constant": false, - "id": 121018, + "id": 112725, "mutability": "mutable", "name": "user", - "nameLocation": "1133:4:175", + "nameLocation": "1133:4:149", "nodeType": "VariableDeclaration", - "scope": 121057, - "src": "1120:17:175", + "scope": 112764, + "src": "1120:17:149", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121017, + "id": 112724, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121016, + "id": 112723, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1120:4:175" + "referencedDeclaration": 112668, + "src": "1120:4:149" }, - "referencedDeclaration": 120961, - "src": "1120:4:175", + "referencedDeclaration": 112668, + "src": "1120:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121022, + "id": 112729, "initialValue": { "baseExpression": { - "id": 121019, + "id": 112726, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "1140:8:175", + "referencedDeclaration": 112718, + "src": "1140:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121021, + "id": 112728, "indexExpression": { - "id": 121020, + "id": 112727, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1149:7:175", + "referencedDeclaration": 112670, + "src": "1149:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2494,44 +2494,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1140:17:175", + "src": "1140:17:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1120:37:175" + "src": "1120:37:149" }, { "expression": { - "id": 121027, + "id": 112734, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121023, + "id": 112730, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1167:4:175", + "referencedDeclaration": 112725, + "src": "1167:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121025, + "id": 112732, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 120945, - "src": "1167:10:175", + "referencedDeclaration": 112652, + "src": "1167:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2540,58 +2540,58 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121026, + "id": 112733, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121013, - "src": "1180:5:175", + "referencedDeclaration": 112720, + "src": "1180:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1167:18:175", + "src": "1167:18:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 121028, + "id": 112735, "nodeType": "ExpressionStatement", - "src": "1167:18:175" + "src": "1167:18:149" }, { "expression": { - "id": 121034, + "id": 112741, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121029, + "id": 112736, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1195:4:175", + "referencedDeclaration": 112725, + "src": "1195:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121031, + "id": 112738, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "1195:10:175", + "referencedDeclaration": 112667, + "src": "1195:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -2599,70 +2599,70 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 121032, + "id": 112739, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "1208:11:175", + "referencedDeclaration": 112350, + "src": "1208:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121033, + "id": 112740, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "1208:19:175", + "referencedDeclaration": 112348, + "src": "1208:19:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "1195:32:175", + "src": "1195:32:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 121035, + "id": 112742, "nodeType": "ExpressionStatement", - "src": "1195:32:175" + "src": "1195:32:149" }, { "expression": { - "id": 121040, + "id": 112747, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121036, + "id": 112743, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121018, - "src": "1237:4:175", + "referencedDeclaration": 112725, + "src": "1237:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121038, + "id": 112745, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 120943, - "src": "1237:13:175", + "referencedDeclaration": 112650, + "src": "1237:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2671,37 +2671,37 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121039, + "id": 112746, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1253:8:175", + "referencedDeclaration": 112357, + "src": "1253:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1237:24:175", + "src": "1237:24:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121041, + "id": 112748, "nodeType": "ExpressionStatement", - "src": "1237:24:175" + "src": "1237:24:149" }, { "expression": { "arguments": [ { - "id": 121043, + "id": 112750, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1285:8:175", + "referencedDeclaration": 112357, + "src": "1285:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2715,18 +2715,18 @@ "typeString": "uint256" } ], - "id": 121042, + "id": 112749, "name": "requestRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120694, - "src": "1271:13:175", + "referencedDeclaration": 112401, + "src": "1271:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 121044, + "id": 112751, "isConstant": false, "isLValue": false, "isPure": false, @@ -2734,39 +2734,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1271:23:175", + "src": "1271:23:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121045, + "id": 112752, "nodeType": "ExpressionStatement", - "src": "1271:23:175" + "src": "1271:23:149" }, { "expression": { "arguments": [ { - "id": 121047, + "id": 112754, "name": "_addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121013, - "src": "1310:5:175", + "referencedDeclaration": 112720, + "src": "1310:5:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 121048, + "id": 112755, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1317:7:175", + "referencedDeclaration": 112670, + "src": "1317:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2784,18 +2784,18 @@ "typeString": "uint256" } ], - "id": 121046, + "id": 112753, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 72099, - "src": "1304:5:175", + "referencedDeclaration": 29840, + "src": "1304:5:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 121049, + "id": 112756, "isConstant": false, "isLValue": false, "isPure": false, @@ -2803,20 +2803,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1304:21:175", + "src": "1304:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121050, + "id": 112757, "nodeType": "ExpressionStatement", - "src": "1304:21:175" + "src": "1304:21:149" }, { "expression": { - "id": 121052, + "id": 112759, "isConstant": false, "isLValue": false, "isPure": false, @@ -2824,14 +2824,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1335:9:175", + "src": "1335:9:149", "subExpression": { - "id": 121051, + "id": 112758, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "1335:7:175", + "referencedDeclaration": 112670, + "src": "1335:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2842,13 +2842,13 @@ "typeString": "uint256" } }, - "id": 121053, + "id": 112760, "nodeType": "ExpressionStatement", - "src": "1335:9:175" + "src": "1335:9:149" }, { "expression": { - "id": 121055, + "id": 112762, "isConstant": false, "isLValue": false, "isPure": false, @@ -2856,14 +2856,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1354:10:175", + "src": "1354:10:149", "subExpression": { - "id": 121054, + "id": 112761, "name": "randomId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120650, - "src": "1354:8:175", + "referencedDeclaration": 112357, + "src": "1354:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2874,9 +2874,9 @@ "typeString": "uint256" } }, - "id": 121056, + "id": 112763, "nodeType": "ExpressionStatement", - "src": "1354:10:175" + "src": "1354:10:149" } ] }, @@ -2885,20 +2885,20 @@ "kind": "function", "modifiers": [], "name": "mint", - "nameLocation": "1056:4:175", + "nameLocation": "1056:4:149", "parameters": { - "id": 121014, + "id": 112721, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121013, + "id": 112720, "mutability": "mutable", "name": "_addr", - "nameLocation": "1069:5:175", + "nameLocation": "1069:5:149", "nodeType": "VariableDeclaration", - "scope": 121058, - "src": "1061:13:175", + "scope": 112765, + "src": "1061:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2906,10 +2906,10 @@ "typeString": "address" }, "typeName": { - "id": 121012, + "id": 112719, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:175", + "src": "1061:7:149", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2919,92 +2919,92 @@ "visibility": "internal" } ], - "src": "1060:15:175" + "src": "1060:15:149" }, "returnParameters": { - "id": 121015, + "id": 112722, "nodeType": "ParameterList", "parameters": [], - "src": "1085:0:175" + "src": "1085:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 121168, + "id": 112875, "nodeType": "FunctionDefinition", - "src": "1377:680:175", + "src": "1377:680:149", "nodes": [], "body": { - "id": 121167, + "id": 112874, "nodeType": "Block", - "src": "1423:634:175", + "src": "1423:634:149", "nodes": [], "statements": [ { "assignments": [ - 121065 + 112772 ], "declarations": [ { "constant": false, - "id": 121065, + "id": 112772, "mutability": "mutable", "name": "user", - "nameLocation": "1446:4:175", + "nameLocation": "1446:4:149", "nodeType": "VariableDeclaration", - "scope": 121167, - "src": "1433:17:175", + "scope": 112874, + "src": "1433:17:149", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121064, + "id": 112771, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121063, + "id": 112770, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "1433:4:175" + "referencedDeclaration": 112668, + "src": "1433:4:149" }, - "referencedDeclaration": 120961, - "src": "1433:4:175", + "referencedDeclaration": 112668, + "src": "1433:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121069, + "id": 112776, "initialValue": { "baseExpression": { - "id": 121066, + "id": 112773, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "1453:8:175", + "referencedDeclaration": 112718, + "src": "1453:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121068, + "id": 112775, "indexExpression": { - "id": 121067, + "id": 112774, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121060, - "src": "1462:8:175", + "referencedDeclaration": 112767, + "src": "1462:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3015,29 +3015,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1453:18:175", + "src": "1453:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "1433:38:175" + "src": "1433:38:149" }, { "assignments": [ - 121074 + 112781 ], "declarations": [ { "constant": false, - "id": 121074, + "id": 112781, "mutability": "mutable", "name": "random_numbers", - "nameLocation": "1496:14:175", + "nameLocation": "1496:14:149", "nodeType": "VariableDeclaration", - "scope": 121167, - "src": "1481:29:175", + "scope": 112874, + "src": "1481:29:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -3046,18 +3046,18 @@ }, "typeName": { "baseType": { - "id": 121072, + "id": 112779, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1481:5:175", + "src": "1481:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 121073, + "id": 112780, "nodeType": "ArrayTypeName", - "src": "1481:7:175", + "src": "1481:7:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", "typeString": "uint8[]" @@ -3066,31 +3066,31 @@ "visibility": "internal" } ], - "id": 121081, + "id": 112788, "initialValue": { "arguments": [ { "expression": { - "id": 121076, + "id": 112783, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1536:4:175", + "referencedDeclaration": 112772, + "src": "1536:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121077, + "id": 112784, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "randomId", "nodeType": "MemberAccess", - "referencedDeclaration": 120943, - "src": "1536:13:175", + "referencedDeclaration": 112650, + "src": "1536:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3098,14 +3098,14 @@ }, { "hexValue": "38", - "id": 121078, + "id": 112785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1563:1:175", + "src": "1563:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -3113,12 +3113,12 @@ "value": "8" }, { - "id": 121079, + "id": 112786, "name": "waitBlockCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120965, - "src": "1578:14:175", + "referencedDeclaration": 112672, + "src": "1578:14:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3140,18 +3140,18 @@ "typeString": "uint256" } ], - "id": 121075, + "id": 112782, "name": "getRandom", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120811, - "src": "1513:9:175", + "referencedDeclaration": 112518, + "src": "1513:9:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" } }, - "id": 121080, + "id": 112787, "isConstant": false, "isLValue": false, "isPure": false, @@ -3159,7 +3159,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1513:89:175", + "src": "1513:89:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", @@ -3167,37 +3167,37 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1481:121:175" + "src": "1481:121:149" }, { "expression": { - "id": 121093, + "id": 112800, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121082, + "id": 112789, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1613:4:175", + "referencedDeclaration": 112772, + "src": "1613:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121084, + "id": 112791, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "1613:7:175", + "referencedDeclaration": 112654, + "src": "1613:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3209,28 +3209,28 @@ "arguments": [ { "baseExpression": { - "id": 121086, + "id": 112793, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1632:14:175", + "referencedDeclaration": 112781, + "src": "1632:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121088, + "id": 112795, "indexExpression": { "hexValue": "30", - "id": 121087, + "id": 112794, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1647:1:175", + "src": "1647:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3242,7 +3242,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1632:17:175", + "src": "1632:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3250,14 +3250,14 @@ }, { "hexValue": "313030", - "id": 121089, + "id": 112796, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1651:3:175", + "src": "1651:3:149", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" @@ -3266,14 +3266,14 @@ }, { "hexValue": "3130", - "id": 121090, + "id": 112797, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1656:2:175", + "src": "1656:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3282,14 +3282,14 @@ }, { "hexValue": "35", - "id": 121091, + "id": 112798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1660:1:175", + "src": "1660:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -3316,18 +3316,18 @@ "typeString": "int_const 5" } ], - "id": 121085, + "id": 112792, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1623:8:175", + "referencedDeclaration": 112907, + "src": "1623:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121092, + "id": 112799, "isConstant": false, "isLValue": false, "isPure": false, @@ -3335,52 +3335,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1623:39:175", + "src": "1623:39:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1613:49:175", + "src": "1613:49:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121094, + "id": 112801, "nodeType": "ExpressionStatement", - "src": "1613:49:175" + "src": "1613:49:149" }, { "expression": { - "id": 121106, + "id": 112813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121095, + "id": 112802, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1672:4:175", + "referencedDeclaration": 112772, + "src": "1672:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121097, + "id": 112804, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "1672:11:175", + "referencedDeclaration": 112656, + "src": "1672:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3392,28 +3392,28 @@ "arguments": [ { "baseExpression": { - "id": 121099, + "id": 112806, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1695:14:175", + "referencedDeclaration": 112781, + "src": "1695:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121101, + "id": 112808, "indexExpression": { "hexValue": "31", - "id": 121100, + "id": 112807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1710:1:175", + "src": "1710:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3425,7 +3425,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1695:17:175", + "src": "1695:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3433,14 +3433,14 @@ }, { "hexValue": "3330", - "id": 121102, + "id": 112809, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1714:2:175", + "src": "1714:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", "typeString": "int_const 30" @@ -3449,14 +3449,14 @@ }, { "hexValue": "3130", - "id": 121103, + "id": 112810, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1718:2:175", + "src": "1718:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -3465,14 +3465,14 @@ }, { "hexValue": "32", - "id": 121104, + "id": 112811, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1722:1:175", + "src": "1722:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3499,18 +3499,18 @@ "typeString": "int_const 2" } ], - "id": 121098, + "id": 112805, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1686:8:175", + "referencedDeclaration": 112907, + "src": "1686:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121105, + "id": 112812, "isConstant": false, "isLValue": false, "isPure": false, @@ -3518,52 +3518,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1686:38:175", + "src": "1686:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1672:52:175", + "src": "1672:52:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121107, + "id": 112814, "nodeType": "ExpressionStatement", - "src": "1672:52:175" + "src": "1672:52:149" }, { "expression": { - "id": 121119, + "id": 112826, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121108, + "id": 112815, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1734:4:175", + "referencedDeclaration": 112772, + "src": "1734:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121110, + "id": 112817, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "1734:16:175", + "referencedDeclaration": 112658, + "src": "1734:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3575,28 +3575,28 @@ "arguments": [ { "baseExpression": { - "id": 121112, + "id": 112819, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1762:14:175", + "referencedDeclaration": 112781, + "src": "1762:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121114, + "id": 112821, "indexExpression": { "hexValue": "32", - "id": 121113, + "id": 112820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1777:1:175", + "src": "1777:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -3608,7 +3608,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1762:17:175", + "src": "1762:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3616,14 +3616,14 @@ }, { "hexValue": "33", - "id": 121115, + "id": 112822, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1781:1:175", + "src": "1781:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3632,14 +3632,14 @@ }, { "hexValue": "3530", - "id": 121116, + "id": 112823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1784:2:175", + "src": "1784:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -3648,14 +3648,14 @@ }, { "hexValue": "31", - "id": 121117, + "id": 112824, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1788:1:175", + "src": "1788:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3682,18 +3682,18 @@ "typeString": "int_const 1" } ], - "id": 121111, + "id": 112818, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1753:8:175", + "referencedDeclaration": 112907, + "src": "1753:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121118, + "id": 112825, "isConstant": false, "isLValue": false, "isPure": false, @@ -3701,52 +3701,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1753:37:175", + "src": "1753:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1734:56:175", + "src": "1734:56:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121120, + "id": 112827, "nodeType": "ExpressionStatement", - "src": "1734:56:175" + "src": "1734:56:149" }, { "expression": { - "id": 121132, + "id": 112839, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121121, + "id": 112828, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1819:4:175", + "referencedDeclaration": 112772, + "src": "1819:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121123, + "id": 112830, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "1819:10:175", + "referencedDeclaration": 112660, + "src": "1819:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3758,28 +3758,28 @@ "arguments": [ { "baseExpression": { - "id": 121125, + "id": 112832, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1841:14:175", + "referencedDeclaration": 112781, + "src": "1841:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121127, + "id": 112834, "indexExpression": { "hexValue": "33", - "id": 121126, + "id": 112833, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1856:1:175", + "src": "1856:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -3791,7 +3791,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1841:17:175", + "src": "1841:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3799,14 +3799,14 @@ }, { "hexValue": "34", - "id": 121128, + "id": 112835, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1860:1:175", + "src": "1860:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3815,14 +3815,14 @@ }, { "hexValue": "3330", - "id": 121129, + "id": 112836, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1863:2:175", + "src": "1863:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_30_by_1", "typeString": "int_const 30" @@ -3831,14 +3831,14 @@ }, { "hexValue": "31", - "id": 121130, + "id": 112837, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1867:1:175", + "src": "1867:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -3865,18 +3865,18 @@ "typeString": "int_const 1" } ], - "id": 121124, + "id": 112831, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1832:8:175", + "referencedDeclaration": 112907, + "src": "1832:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121131, + "id": 112838, "isConstant": false, "isLValue": false, "isPure": false, @@ -3884,52 +3884,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1832:37:175", + "src": "1832:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1819:50:175", + "src": "1819:50:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121133, + "id": 112840, "nodeType": "ExpressionStatement", - "src": "1819:50:175" + "src": "1819:50:149" }, { "expression": { - "id": 121145, + "id": 112852, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121134, + "id": 112841, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1891:4:175", + "referencedDeclaration": 112772, + "src": "1891:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121136, + "id": 112843, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "1891:13:175", + "referencedDeclaration": 112662, + "src": "1891:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3941,28 +3941,28 @@ "arguments": [ { "baseExpression": { - "id": 121138, + "id": 112845, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1916:14:175", + "referencedDeclaration": 112781, + "src": "1916:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121140, + "id": 112847, "indexExpression": { "hexValue": "34", - "id": 121139, + "id": 112846, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1931:1:175", + "src": "1931:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -3974,7 +3974,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1916:17:175", + "src": "1916:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3982,14 +3982,14 @@ }, { "hexValue": "3230", - "id": 121141, + "id": 112848, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1935:2:175", + "src": "1935:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" @@ -3998,14 +3998,14 @@ }, { "hexValue": "3130", - "id": 121142, + "id": 112849, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1939:2:175", + "src": "1939:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -4014,14 +4014,14 @@ }, { "hexValue": "33", - "id": 121143, + "id": 112850, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1943:1:175", + "src": "1943:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -4048,18 +4048,18 @@ "typeString": "int_const 3" } ], - "id": 121137, + "id": 112844, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1907:8:175", + "referencedDeclaration": 112907, + "src": "1907:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121144, + "id": 112851, "isConstant": false, "isLValue": false, "isPure": false, @@ -4067,52 +4067,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1907:38:175", + "src": "1907:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1891:54:175", + "src": "1891:54:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121146, + "id": 112853, "nodeType": "ExpressionStatement", - "src": "1891:54:175" + "src": "1891:54:149" }, { "expression": { - "id": 121158, + "id": 112865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121147, + "id": 112854, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "1955:4:175", + "referencedDeclaration": 112772, + "src": "1955:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121149, + "id": 112856, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "1955:10:175", + "referencedDeclaration": 112664, + "src": "1955:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4124,28 +4124,28 @@ "arguments": [ { "baseExpression": { - "id": 121151, + "id": 112858, "name": "random_numbers", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121074, - "src": "1977:14:175", + "referencedDeclaration": 112781, + "src": "1977:14:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", "typeString": "uint8[] memory" } }, - "id": 121153, + "id": 112860, "indexExpression": { "hexValue": "35", - "id": 121152, + "id": 112859, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1992:1:175", + "src": "1992:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -4157,7 +4157,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1977:17:175", + "src": "1977:17:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4165,14 +4165,14 @@ }, { "hexValue": "32", - "id": 121154, + "id": 112861, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1996:1:175", + "src": "1996:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -4181,14 +4181,14 @@ }, { "hexValue": "3530", - "id": 121155, + "id": 112862, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1999:2:175", + "src": "1999:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -4197,14 +4197,14 @@ }, { "hexValue": "31", - "id": 121156, + "id": 112863, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2003:1:175", + "src": "2003:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -4231,18 +4231,18 @@ "typeString": "int_const 1" } ], - "id": 121150, + "id": 112857, "name": "getRange", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121200, - "src": "1968:8:175", + "referencedDeclaration": 112907, + "src": "1968:8:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 121157, + "id": 112864, "isConstant": false, "isLValue": false, "isPure": false, @@ -4250,54 +4250,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1968:37:175", + "src": "1968:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1955:50:175", + "src": "1955:50:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121159, + "id": 112866, "nodeType": "ExpressionStatement", - "src": "1955:50:175" + "src": "1955:50:149" }, { "expression": { - "id": 121165, + "id": 112872, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 121160, + "id": 112867, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121065, - "src": "2015:4:175", + "referencedDeclaration": 112772, + "src": "2015:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User storage pointer" } }, - "id": 121162, + "id": 112869, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "2015:10:175", + "referencedDeclaration": 112667, + "src": "2015:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -4305,40 +4305,40 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 121163, + "id": 112870, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "2028:11:175", + "referencedDeclaration": 112350, + "src": "2028:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121164, + "id": 112871, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "2028:21:175", + "referencedDeclaration": 112349, + "src": "2028:21:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "2015:34:175", + "src": "2015:34:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "id": 121166, + "id": 112873, "nodeType": "ExpressionStatement", - "src": "2015:34:175" + "src": "2015:34:149" } ] }, @@ -4347,20 +4347,20 @@ "kind": "function", "modifiers": [], "name": "revealNFT", - "nameLocation": "1386:9:175", + "nameLocation": "1386:9:149", "parameters": { - "id": 121061, + "id": 112768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121060, + "id": 112767, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "1404:8:175", + "nameLocation": "1404:8:149", "nodeType": "VariableDeclaration", - "scope": 121168, - "src": "1396:16:175", + "scope": 112875, + "src": "1396:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4368,10 +4368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121059, + "id": 112766, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1396:7:175", + "src": "1396:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4380,44 +4380,44 @@ "visibility": "internal" } ], - "src": "1395:18:175" + "src": "1395:18:149" }, "returnParameters": { - "id": 121062, + "id": 112769, "nodeType": "ParameterList", "parameters": [], - "src": "1423:0:175" + "src": "1423:0:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 121200, + "id": 112907, "nodeType": "FunctionDefinition", - "src": "2063:259:175", + "src": "2063:259:149", "nodes": [], "body": { - "id": 121199, + "id": 112906, "nodeType": "Block", - "src": "2216:106:175", + "src": "2216:106:149", "nodes": [], "statements": [ { "assignments": [ - 121182 + 112889 ], "declarations": [ { "constant": false, - "id": 121182, + "id": 112889, "mutability": "mutable", "name": "times", - "nameLocation": "2234:5:175", + "nameLocation": "2234:5:149", "nodeType": "VariableDeclaration", - "scope": 121199, - "src": "2226:13:175", + "scope": 112906, + "src": "2226:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4425,10 +4425,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121181, + "id": 112888, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2226:7:175", + "src": "2226:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4437,7 +4437,7 @@ "visibility": "internal" } ], - "id": 121192, + "id": 112899, "initialValue": { "arguments": [ { @@ -4445,7 +4445,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121190, + "id": 112897, "isConstant": false, "isLValue": false, "isPure": false, @@ -4457,18 +4457,18 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 121187, + "id": 112894, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121185, + "id": 112892, "name": "_rand", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121170, - "src": "2251:5:175", + "referencedDeclaration": 112877, + "src": "2251:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4478,35 +4478,35 @@ "operator": "+", "rightExpression": { "hexValue": "31", - "id": 121186, + "id": 112893, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2259:1:175", + "src": "2259:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2251:9:175", + "src": "2251:9:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } } ], - "id": 121188, + "id": 112895, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2250:11:175", + "src": "2250:11:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4515,18 +4515,18 @@ "nodeType": "BinaryOperation", "operator": "/", "rightExpression": { - "id": 121189, + "id": 112896, "name": "_step", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121174, - "src": "2264:5:175", + "referencedDeclaration": 112881, + "src": "2264:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2250:19:175", + "src": "2250:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4540,26 +4540,26 @@ "typeString": "uint256" } ], - "id": 121184, + "id": 112891, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2242:7:175", + "src": "2242:7:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 121183, + "id": 112890, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2242:7:175", + "src": "2242:7:149", "typeDescriptions": {} } }, - "id": 121191, + "id": 112898, "isConstant": false, "isLValue": false, "isPure": false, @@ -4567,7 +4567,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2242:28:175", + "src": "2242:28:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4575,7 +4575,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2226:44:175" + "src": "2226:44:149" }, { "expression": { @@ -4583,18 +4583,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121197, + "id": 112904, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121193, + "id": 112900, "name": "_start", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121172, - "src": "2287:6:175", + "referencedDeclaration": 112879, + "src": "2287:6:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4607,18 +4607,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121196, + "id": 112903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121194, + "id": 112901, "name": "times", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121182, - "src": "2296:5:175", + "referencedDeclaration": 112889, + "src": "2296:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4627,33 +4627,33 @@ "nodeType": "BinaryOperation", "operator": "*", "rightExpression": { - "id": 121195, + "id": 112902, "name": "_stepLength", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121176, - "src": "2304:11:175", + "referencedDeclaration": 112883, + "src": "2304:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2296:19:175", + "src": "2296:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2287:28:175", + "src": "2287:28:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 121180, - "id": 121198, + "functionReturnParameters": 112887, + "id": 112905, "nodeType": "Return", - "src": "2280:35:175" + "src": "2280:35:149" } ] }, @@ -4661,20 +4661,20 @@ "kind": "function", "modifiers": [], "name": "getRange", - "nameLocation": "2072:8:175", + "nameLocation": "2072:8:149", "parameters": { - "id": 121177, + "id": 112884, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121170, + "id": 112877, "mutability": "mutable", "name": "_rand", - "nameLocation": "2096:5:175", + "nameLocation": "2096:5:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2090:11:175", + "scope": 112907, + "src": "2090:11:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4682,10 +4682,10 @@ "typeString": "uint8" }, "typeName": { - "id": 121169, + "id": 112876, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2090:5:175", + "src": "2090:5:149", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -4695,13 +4695,13 @@ }, { "constant": false, - "id": 121172, + "id": 112879, "mutability": "mutable", "name": "_start", - "nameLocation": "2119:6:175", + "nameLocation": "2119:6:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2111:14:175", + "scope": 112907, + "src": "2111:14:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4709,10 +4709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121171, + "id": 112878, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2111:7:175", + "src": "2111:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4722,13 +4722,13 @@ }, { "constant": false, - "id": 121174, + "id": 112881, "mutability": "mutable", "name": "_step", - "nameLocation": "2143:5:175", + "nameLocation": "2143:5:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2135:13:175", + "scope": 112907, + "src": "2135:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4736,10 +4736,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121173, + "id": 112880, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2135:7:175", + "src": "2135:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4749,13 +4749,13 @@ }, { "constant": false, - "id": 121176, + "id": 112883, "mutability": "mutable", "name": "_stepLength", - "nameLocation": "2166:11:175", + "nameLocation": "2166:11:149", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2158:19:175", + "scope": 112907, + "src": "2158:19:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4763,10 +4763,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121175, + "id": 112882, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2158:7:175", + "src": "2158:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4775,21 +4775,21 @@ "visibility": "internal" } ], - "src": "2080:103:175" + "src": "2080:103:149" }, "returnParameters": { - "id": 121180, + "id": 112887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121179, + "id": 112886, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121200, - "src": "2207:7:175", + "scope": 112907, + "src": "2207:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4797,10 +4797,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121178, + "id": 112885, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2207:7:175", + "src": "2207:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4809,22 +4809,22 @@ "visibility": "internal" } ], - "src": "2206:9:175" + "src": "2206:9:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121220, + "id": 112927, "nodeType": "FunctionDefinition", - "src": "2328:187:175", + "src": "2328:187:149", "nodes": [], "body": { - "id": 121219, + "id": 112926, "nodeType": "Block", - "src": "2446:69:175", + "src": "2446:69:149", "nodes": [], "statements": [ { @@ -4833,12 +4833,12 @@ { "arguments": [ { - "id": 121213, + "id": 112920, "name": "_key", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121202, - "src": "2487:4:175", + "referencedDeclaration": 112909, + "src": "2487:4:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4846,14 +4846,14 @@ }, { "hexValue": "203a20", - "id": 121214, + "id": 112921, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2493:5:175", + "src": "2493:5:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", "typeString": "literal_string \" : \"" @@ -4861,12 +4861,12 @@ "value": " : " }, { - "id": 121215, + "id": 112922, "name": "_value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121204, - "src": "2500:6:175", + "referencedDeclaration": 112911, + "src": "2500:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -4889,31 +4889,31 @@ } ], "expression": { - "id": 121211, + "id": 112918, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "2470:3:175", + "src": "2470:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121212, + "id": 112919, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "2470:16:175", + "src": "2470:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121216, + "id": 112923, "isConstant": false, "isLValue": false, "isPure": false, @@ -4921,7 +4921,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2470:37:175", + "src": "2470:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -4936,26 +4936,26 @@ "typeString": "bytes memory" } ], - "id": 121210, + "id": 112917, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2463:6:175", + "src": "2463:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121209, + "id": 112916, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2463:6:175", + "src": "2463:6:149", "typeDescriptions": {} } }, - "id": 121217, + "id": 112924, "isConstant": false, "isLValue": false, "isPure": false, @@ -4963,17 +4963,17 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2463:45:175", + "src": "2463:45:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121208, - "id": 121218, + "functionReturnParameters": 112915, + "id": 112925, "nodeType": "Return", - "src": "2456:52:175" + "src": "2456:52:149" } ] }, @@ -4981,20 +4981,20 @@ "kind": "function", "modifiers": [], "name": "concat", - "nameLocation": "2337:6:175", + "nameLocation": "2337:6:149", "parameters": { - "id": 121205, + "id": 112912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121202, + "id": 112909, "mutability": "mutable", "name": "_key", - "nameLocation": "2367:4:175", + "nameLocation": "2367:4:149", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2353:18:175", + "scope": 112927, + "src": "2353:18:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5002,10 +5002,10 @@ "typeString": "string" }, "typeName": { - "id": 121201, + "id": 112908, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2353:6:175", + "src": "2353:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5015,13 +5015,13 @@ }, { "constant": false, - "id": 121204, + "id": 112911, "mutability": "mutable", "name": "_value", - "nameLocation": "2395:6:175", + "nameLocation": "2395:6:149", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2381:20:175", + "scope": 112927, + "src": "2381:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5029,10 +5029,10 @@ "typeString": "string" }, "typeName": { - "id": 121203, + "id": 112910, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2381:6:175", + "src": "2381:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5041,21 +5041,21 @@ "visibility": "internal" } ], - "src": "2343:64:175" + "src": "2343:64:149" }, "returnParameters": { - "id": 121208, + "id": 112915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121207, + "id": 112914, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121220, - "src": "2431:13:175", + "scope": 112927, + "src": "2431:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5063,10 +5063,10 @@ "typeString": "string" }, "typeName": { - "id": 121206, + "id": 112913, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2431:6:175", + "src": "2431:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -5075,38 +5075,38 @@ "visibility": "internal" } ], - "src": "2430:15:175" + "src": "2430:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121380, + "id": 113087, "nodeType": "FunctionDefinition", - "src": "2521:1348:175", + "src": "2521:1348:149", "nodes": [], "body": { - "id": 121379, + "id": 113086, "nodeType": "Block", - "src": "2596:1273:175", + "src": "2596:1273:149", "nodes": [], "statements": [ { "assignments": [ - 121233 + 112940 ], "declarations": [ { "constant": false, - "id": 121233, + "id": 112940, "mutability": "mutable", "name": "parts", - "nameLocation": "2624:5:175", + "nameLocation": "2624:5:149", "nodeType": "VariableDeclaration", - "scope": 121379, - "src": "2606:23:175", + "scope": 113086, + "src": "2606:23:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -5115,26 +5115,26 @@ }, "typeName": { "baseType": { - "id": 121231, + "id": 112938, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2606:6:175", + "src": "2606:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, - "id": 121232, + "id": 112939, "length": { "hexValue": "3133", - "id": 121230, + "id": 112937, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2613:2:175", + "src": "2613:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_13_by_1", "typeString": "int_const 13" @@ -5142,7 +5142,7 @@ "value": "13" }, "nodeType": "ArrayTypeName", - "src": "2606:10:175", + "src": "2606:10:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$13_storage_ptr", "typeString": "string[13]" @@ -5151,41 +5151,41 @@ "visibility": "internal" } ], - "id": 121234, + "id": 112941, "nodeType": "VariableDeclarationStatement", - "src": "2606:23:175" + "src": "2606:23:149" }, { "expression": { - "id": 121239, + "id": 112946, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121235, + "id": 112942, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2640:5:175", + "referencedDeclaration": 112940, + "src": "2640:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121237, + "id": 112944, "indexExpression": { "hexValue": "30", - "id": 121236, + "id": 112943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2659:1:175", + "src": "2659:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5197,7 +5197,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2640:30:175", + "src": "2640:30:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5207,61 +5207,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", - "id": 121238, + "id": 112945, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2673:255:175", + "src": "2673:255:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2640:288:175", + "src": "2640:288:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121240, + "id": 112947, "nodeType": "ExpressionStatement", - "src": "2640:288:175" + "src": "2640:288:149" }, { "expression": { - "id": 121251, + "id": 112958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121241, + "id": 112948, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2939:5:175", + "referencedDeclaration": 112940, + "src": "2939:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121243, + "id": 112950, "indexExpression": { "hexValue": "31", - "id": 121242, + "id": 112949, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2945:1:175", + "src": "2945:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -5273,7 +5273,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2939:8:175", + "src": "2939:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5285,14 +5285,14 @@ "arguments": [ { "hexValue": "4850", - "id": 121245, + "id": 112952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2957:4:175", + "src": "2957:4:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", "typeString": "literal_string \"HP\"" @@ -5305,46 +5305,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121246, + "id": 112953, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "2963:4:175", + "referencedDeclaration": 112930, + "src": "2963:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121247, + "id": 112954, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "2963:7:175", + "referencedDeclaration": 112654, + "src": "2963:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121248, + "id": 112955, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "2963:16:175", + "referencedDeclaration": 30738, + "src": "2963:16:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121249, + "id": 112956, "isConstant": false, "isLValue": false, "isPure": false, @@ -5352,7 +5352,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2963:18:175", + "src": "2963:18:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5371,18 +5371,18 @@ "typeString": "string memory" } ], - "id": 121244, + "id": 112951, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "2950:6:175", + "referencedDeclaration": 112927, + "src": "2950:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121250, + "id": 112957, "isConstant": false, "isLValue": false, "isPure": false, @@ -5390,54 +5390,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2950:32:175", + "src": "2950:32:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "2939:43:175", + "src": "2939:43:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121252, + "id": 112959, "nodeType": "ExpressionStatement", - "src": "2939:43:175" + "src": "2939:43:149" }, { "expression": { - "id": 121257, + "id": 112964, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121253, + "id": 112960, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "2993:5:175", + "referencedDeclaration": 112940, + "src": "2993:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121255, + "id": 112962, "indexExpression": { "hexValue": "32", - "id": 121254, + "id": 112961, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2999:1:175", + "src": "2999:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", "typeString": "int_const 2" @@ -5449,7 +5449,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2993:8:175", + "src": "2993:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5459,61 +5459,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", - "id": 121256, + "id": 112963, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3004:42:175", + "src": "3004:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "2993:53:175", + "src": "2993:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121258, + "id": 112965, "nodeType": "ExpressionStatement", - "src": "2993:53:175" + "src": "2993:53:149" }, { "expression": { - "id": 121269, + "id": 112976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121259, + "id": 112966, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3057:5:175", + "referencedDeclaration": 112940, + "src": "3057:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121261, + "id": 112968, "indexExpression": { "hexValue": "33", - "id": 121260, + "id": 112967, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3063:1:175", + "src": "3063:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", "typeString": "int_const 3" @@ -5525,7 +5525,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3057:8:175", + "src": "3057:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5537,14 +5537,14 @@ "arguments": [ { "hexValue": "41747461636b", - "id": 121263, + "id": 112970, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3075:8:175", + "src": "3075:8:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", "typeString": "literal_string \"Attack\"" @@ -5557,46 +5557,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121264, + "id": 112971, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3085:4:175", + "referencedDeclaration": 112930, + "src": "3085:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121265, + "id": 112972, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "3085:11:175", + "referencedDeclaration": 112656, + "src": "3085:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121266, + "id": 112973, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3085:20:175", + "referencedDeclaration": 30738, + "src": "3085:20:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121267, + "id": 112974, "isConstant": false, "isLValue": false, "isPure": false, @@ -5604,7 +5604,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3085:22:175", + "src": "3085:22:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5623,18 +5623,18 @@ "typeString": "string memory" } ], - "id": 121262, + "id": 112969, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3068:6:175", + "referencedDeclaration": 112927, + "src": "3068:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121268, + "id": 112975, "isConstant": false, "isLValue": false, "isPure": false, @@ -5642,54 +5642,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3068:40:175", + "src": "3068:40:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3057:51:175", + "src": "3057:51:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121270, + "id": 112977, "nodeType": "ExpressionStatement", - "src": "3057:51:175" + "src": "3057:51:149" }, { "expression": { - "id": 121275, + "id": 112982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121271, + "id": 112978, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3119:5:175", + "referencedDeclaration": 112940, + "src": "3119:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121273, + "id": 112980, "indexExpression": { "hexValue": "34", - "id": 121272, + "id": 112979, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3125:1:175", + "src": "3125:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", "typeString": "int_const 4" @@ -5701,7 +5701,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3119:8:175", + "src": "3119:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5711,61 +5711,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", - "id": 121274, + "id": 112981, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3130:42:175", + "src": "3130:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3119:53:175", + "src": "3119:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121276, + "id": 112983, "nodeType": "ExpressionStatement", - "src": "3119:53:175" + "src": "3119:53:149" }, { "expression": { - "id": 121287, + "id": 112994, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121277, + "id": 112984, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3183:5:175", + "referencedDeclaration": 112940, + "src": "3183:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121279, + "id": 112986, "indexExpression": { "hexValue": "35", - "id": 121278, + "id": 112985, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3189:1:175", + "src": "3189:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", "typeString": "int_const 5" @@ -5777,7 +5777,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3183:8:175", + "src": "3183:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5789,14 +5789,14 @@ "arguments": [ { "hexValue": "41747461636b52616e6765", - "id": 121281, + "id": 112988, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3201:13:175", + "src": "3201:13:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", "typeString": "literal_string \"AttackRange\"" @@ -5809,46 +5809,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121282, + "id": 112989, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3216:4:175", + "referencedDeclaration": 112930, + "src": "3216:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121283, + "id": 112990, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "3216:16:175", + "referencedDeclaration": 112658, + "src": "3216:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121284, + "id": 112991, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3216:25:175", + "referencedDeclaration": 30738, + "src": "3216:25:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121285, + "id": 112992, "isConstant": false, "isLValue": false, "isPure": false, @@ -5856,7 +5856,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3216:27:175", + "src": "3216:27:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -5875,18 +5875,18 @@ "typeString": "string memory" } ], - "id": 121280, + "id": 112987, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3194:6:175", + "referencedDeclaration": 112927, + "src": "3194:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121286, + "id": 112993, "isConstant": false, "isLValue": false, "isPure": false, @@ -5894,54 +5894,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3194:50:175", + "src": "3194:50:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3183:61:175", + "src": "3183:61:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121288, + "id": 112995, "nodeType": "ExpressionStatement", - "src": "3183:61:175" + "src": "3183:61:149" }, { "expression": { - "id": 121293, + "id": 113000, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121289, + "id": 112996, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3255:5:175", + "referencedDeclaration": 112940, + "src": "3255:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121291, + "id": 112998, "indexExpression": { "hexValue": "36", - "id": 121290, + "id": 112997, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3261:1:175", + "src": "3261:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", "typeString": "int_const 6" @@ -5953,7 +5953,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3255:8:175", + "src": "3255:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -5963,61 +5963,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", - "id": 121292, + "id": 112999, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3266:42:175", + "src": "3266:42:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3255:53:175", + "src": "3255:53:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121294, + "id": 113001, "nodeType": "ExpressionStatement", - "src": "3255:53:175" + "src": "3255:53:149" }, { "expression": { - "id": 121305, + "id": 113012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121295, + "id": 113002, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3319:5:175", + "referencedDeclaration": 112940, + "src": "3319:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121297, + "id": 113004, "indexExpression": { "hexValue": "37", - "id": 121296, + "id": 113003, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3325:1:175", + "src": "3325:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", "typeString": "int_const 7" @@ -6029,7 +6029,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3319:8:175", + "src": "3319:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6041,14 +6041,14 @@ "arguments": [ { "hexValue": "5370656564", - "id": 121299, + "id": 113006, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3337:7:175", + "src": "3337:7:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", "typeString": "literal_string \"Speed\"" @@ -6061,46 +6061,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121300, + "id": 113007, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3345:4:175", + "referencedDeclaration": 112930, + "src": "3345:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121301, + "id": 113008, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "3345:10:175", + "referencedDeclaration": 112660, + "src": "3345:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121302, + "id": 113009, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3345:19:175", + "referencedDeclaration": 30738, + "src": "3345:19:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121303, + "id": 113010, "isConstant": false, "isLValue": false, "isPure": false, @@ -6108,7 +6108,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3345:21:175", + "src": "3345:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6127,18 +6127,18 @@ "typeString": "string memory" } ], - "id": 121298, + "id": 113005, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3330:6:175", + "referencedDeclaration": 112927, + "src": "3330:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121304, + "id": 113011, "isConstant": false, "isLValue": false, "isPure": false, @@ -6146,54 +6146,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3330:37:175", + "src": "3330:37:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3319:48:175", + "src": "3319:48:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121306, + "id": 113013, "nodeType": "ExpressionStatement", - "src": "3319:48:175" + "src": "3319:48:149" }, { "expression": { - "id": 121311, + "id": 113018, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121307, + "id": 113014, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3378:5:175", + "referencedDeclaration": 112940, + "src": "3378:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121309, + "id": 113016, "indexExpression": { "hexValue": "38", - "id": 121308, + "id": 113015, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3384:1:175", + "src": "3384:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_8_by_1", "typeString": "int_const 8" @@ -6205,7 +6205,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3378:8:175", + "src": "3378:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6215,61 +6215,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", - "id": 121310, + "id": 113017, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3389:43:175", + "src": "3389:43:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3378:54:175", + "src": "3378:54:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121312, + "id": 113019, "nodeType": "ExpressionStatement", - "src": "3378:54:175" + "src": "3378:54:149" }, { "expression": { - "id": 121323, + "id": 113030, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121313, + "id": 113020, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3443:5:175", + "referencedDeclaration": 112940, + "src": "3443:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121315, + "id": 113022, "indexExpression": { "hexValue": "39", - "id": 121314, + "id": 113021, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3449:1:175", + "src": "3449:1:149", "typeDescriptions": { "typeIdentifier": "t_rational_9_by_1", "typeString": "int_const 9" @@ -6281,7 +6281,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3443:8:175", + "src": "3443:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6293,14 +6293,14 @@ "arguments": [ { "hexValue": "537472656e677468", - "id": 121317, + "id": 113024, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3461:10:175", + "src": "3461:10:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", "typeString": "literal_string \"Strength\"" @@ -6313,46 +6313,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121318, + "id": 113025, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3473:4:175", + "referencedDeclaration": 112930, + "src": "3473:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121319, + "id": 113026, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "3473:13:175", + "referencedDeclaration": 112662, + "src": "3473:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121320, + "id": 113027, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3473:22:175", + "referencedDeclaration": 30738, + "src": "3473:22:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121321, + "id": 113028, "isConstant": false, "isLValue": false, "isPure": false, @@ -6360,7 +6360,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3473:24:175", + "src": "3473:24:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6379,18 +6379,18 @@ "typeString": "string memory" } ], - "id": 121316, + "id": 113023, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3454:6:175", + "referencedDeclaration": 112927, + "src": "3454:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121322, + "id": 113029, "isConstant": false, "isLValue": false, "isPure": false, @@ -6398,54 +6398,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3454:44:175", + "src": "3454:44:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3443:55:175", + "src": "3443:55:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121324, + "id": 113031, "nodeType": "ExpressionStatement", - "src": "3443:55:175" + "src": "3443:55:149" }, { "expression": { - "id": 121329, + "id": 113036, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121325, + "id": 113032, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3509:5:175", + "referencedDeclaration": 112940, + "src": "3509:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121327, + "id": 113034, "indexExpression": { "hexValue": "3130", - "id": 121326, + "id": 113033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3515:2:175", + "src": "3515:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_10_by_1", "typeString": "int_const 10" @@ -6457,7 +6457,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3509:9:175", + "src": "3509:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6467,61 +6467,61 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", - "id": 121328, + "id": 113035, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3521:43:175", + "src": "3521:43:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3509:55:175", + "src": "3509:55:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121330, + "id": 113037, "nodeType": "ExpressionStatement", - "src": "3509:55:175" + "src": "3509:55:149" }, { "expression": { - "id": 121341, + "id": 113048, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121331, + "id": 113038, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3575:5:175", + "referencedDeclaration": 112940, + "src": "3575:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121333, + "id": 113040, "indexExpression": { "hexValue": "3131", - "id": 121332, + "id": 113039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3581:2:175", + "src": "3581:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_11_by_1", "typeString": "int_const 11" @@ -6533,7 +6533,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3575:9:175", + "src": "3575:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6545,14 +6545,14 @@ "arguments": [ { "hexValue": "5370616365", - "id": 121335, + "id": 113042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3594:7:175", + "src": "3594:7:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", "typeString": "literal_string \"Space\"" @@ -6565,46 +6565,46 @@ "argumentTypes": [], "expression": { "expression": { - "id": 121336, + "id": 113043, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121223, - "src": "3603:4:175", + "referencedDeclaration": 112930, + "src": "3603:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121337, + "id": 113044, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "3603:10:175", + "referencedDeclaration": 112664, + "src": "3603:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121338, + "id": 113045, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "3603:19:175", + "referencedDeclaration": 30738, + "src": "3603:19:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121339, + "id": 113046, "isConstant": false, "isLValue": false, "isPure": false, @@ -6612,7 +6612,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3603:21:175", + "src": "3603:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -6631,18 +6631,18 @@ "typeString": "string memory" } ], - "id": 121334, + "id": 113041, "name": "concat", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121220, - "src": "3587:6:175", + "referencedDeclaration": 112927, + "src": "3587:6:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (string memory,string memory) pure returns (string memory)" } }, - "id": 121340, + "id": 113047, "isConstant": false, "isLValue": false, "isPure": false, @@ -6650,54 +6650,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3587:38:175", + "src": "3587:38:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3575:50:175", + "src": "3575:50:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121342, + "id": 113049, "nodeType": "ExpressionStatement", - "src": "3575:50:175" + "src": "3575:50:149" }, { "expression": { - "id": 121347, + "id": 113054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121343, + "id": 113050, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3636:5:175", + "referencedDeclaration": 112940, + "src": "3636:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121345, + "id": 113052, "indexExpression": { "hexValue": "3132", - "id": 121344, + "id": 113051, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3642:2:175", + "src": "3642:2:149", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" @@ -6709,7 +6709,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3636:9:175", + "src": "3636:9:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6719,44 +6719,44 @@ "operator": "=", "rightHandSide": { "hexValue": "3c2f746578743e3c2f7376673e", - "id": 121346, + "id": 113053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3648:15:175", + "src": "3648:15:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", "typeString": "literal_string \"\"" }, "value": "" }, - "src": "3636:27:175", + "src": "3636:27:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121348, + "id": 113055, "nodeType": "ExpressionStatement", - "src": "3636:27:175" + "src": "3636:27:149" }, { "assignments": [ - 121350 + 113057 ], "declarations": [ { "constant": false, - "id": 121350, + "id": 113057, "mutability": "mutable", "name": "output", - "nameLocation": "3688:6:175", + "nameLocation": "3688:6:149", "nodeType": "VariableDeclaration", - "scope": 121379, - "src": "3674:20:175", + "scope": 113086, + "src": "3674:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -6764,10 +6764,10 @@ "typeString": "string" }, "typeName": { - "id": 121349, + "id": 113056, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3674:6:175", + "src": "3674:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -6776,30 +6776,30 @@ "visibility": "internal" } ], - "id": 121351, + "id": 113058, "nodeType": "VariableDeclarationStatement", - "src": "3674:20:175" + "src": "3674:20:149" }, { "body": { - "id": 121375, + "id": 113082, "nodeType": "Block", - "src": "3738:102:175", + "src": "3738:102:149", "statements": [ { "expression": { - "id": 121373, + "id": 113080, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121362, + "id": 113069, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3752:6:175", + "referencedDeclaration": 113057, + "src": "3752:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6812,12 +6812,12 @@ { "arguments": [ { - "id": 121367, + "id": 113074, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3798:6:175", + "referencedDeclaration": 113057, + "src": "3798:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6825,25 +6825,25 @@ }, { "baseExpression": { - "id": 121368, + "id": 113075, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3806:5:175", + "referencedDeclaration": 112940, + "src": "3806:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121370, + "id": 113077, "indexExpression": { - "id": 121369, + "id": 113076, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3812:1:175", + "referencedDeclaration": 113060, + "src": "3812:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6854,7 +6854,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3806:8:175", + "src": "3806:8:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -6873,31 +6873,31 @@ } ], "expression": { - "id": 121365, + "id": 113072, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3781:3:175", + "src": "3781:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121366, + "id": 113073, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3781:16:175", + "src": "3781:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121371, + "id": 113078, "isConstant": false, "isLValue": false, "isPure": false, @@ -6905,7 +6905,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3781:34:175", + "src": "3781:34:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -6920,26 +6920,26 @@ "typeString": "bytes memory" } ], - "id": 121364, + "id": 113071, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3761:6:175", + "src": "3761:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121363, + "id": 113070, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3761:6:175", + "src": "3761:6:149", "typeDescriptions": {} } }, - "id": 121372, + "id": 113079, "isConstant": false, "isLValue": false, "isPure": false, @@ -6947,22 +6947,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3761:68:175", + "src": "3761:68:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "3752:77:175", + "src": "3752:77:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121374, + "id": 113081, "nodeType": "ExpressionStatement", - "src": "3752:77:175" + "src": "3752:77:149" } ] }, @@ -6971,18 +6971,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121358, + "id": 113065, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121355, + "id": 113062, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3719:1:175", + "referencedDeclaration": 113060, + "src": "3719:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -6992,51 +6992,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 121356, + "id": 113063, "name": "parts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121233, - "src": "3721:5:175", + "referencedDeclaration": 112940, + "src": "3721:5:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", "typeString": "string memory[13] memory" } }, - "id": 121357, + "id": 113064, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "3721:12:175", + "src": "3721:12:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3719:14:175", + "src": "3719:14:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121376, + "id": 113083, "initializationExpression": { "assignments": [ - 121353 + 113060 ], "declarations": [ { "constant": false, - "id": 121353, + "id": 113060, "mutability": "mutable", "name": "i", - "nameLocation": "3717:1:175", + "nameLocation": "3717:1:149", "nodeType": "VariableDeclaration", - "scope": 121376, - "src": "3709:9:175", + "scope": 113083, + "src": "3709:9:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7044,10 +7044,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121352, + "id": 113059, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3709:7:175", + "src": "3709:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7056,13 +7056,13 @@ "visibility": "internal" } ], - "id": 121354, + "id": 113061, "nodeType": "VariableDeclarationStatement", - "src": "3709:9:175" + "src": "3709:9:149" }, "loopExpression": { "expression": { - "id": 121360, + "id": 113067, "isConstant": false, "isLValue": false, "isPure": false, @@ -7070,14 +7070,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3734:3:175", + "src": "3734:3:149", "subExpression": { - "id": 121359, + "id": 113066, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121353, - "src": "3734:1:175", + "referencedDeclaration": 113060, + "src": "3734:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7088,30 +7088,30 @@ "typeString": "uint256" } }, - "id": 121361, + "id": 113068, "nodeType": "ExpressionStatement", - "src": "3734:3:175" + "src": "3734:3:149" }, "nodeType": "ForStatement", - "src": "3705:135:175" + "src": "3705:135:149" }, { "expression": { - "id": 121377, + "id": 113084, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121350, - "src": "3856:6:175", + "referencedDeclaration": 113057, + "src": "3856:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121227, - "id": 121378, + "functionReturnParameters": 112934, + "id": 113085, "nodeType": "Return", - "src": "3849:13:175" + "src": "3849:13:149" } ] }, @@ -7119,61 +7119,61 @@ "kind": "function", "modifiers": [], "name": "createSVG", - "nameLocation": "2530:9:175", + "nameLocation": "2530:9:149", "parameters": { - "id": 121224, + "id": 112931, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121223, + "id": 112930, "mutability": "mutable", "name": "user", - "nameLocation": "2552:4:175", + "nameLocation": "2552:4:149", "nodeType": "VariableDeclaration", - "scope": 121380, - "src": "2540:16:175", + "scope": 113087, + "src": "2540:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121222, + "id": 112929, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121221, + "id": 112928, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "2540:4:175" + "referencedDeclaration": 112668, + "src": "2540:4:149" }, - "referencedDeclaration": 120961, - "src": "2540:4:175", + "referencedDeclaration": 112668, + "src": "2540:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "src": "2539:18:175" + "src": "2539:18:149" }, "returnParameters": { - "id": 121227, + "id": 112934, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121226, + "id": 112933, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121380, - "src": "2581:13:175", + "scope": 113087, + "src": "2581:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7181,10 +7181,10 @@ "typeString": "string" }, "typeName": { - "id": 121225, + "id": 112932, "name": "string", "nodeType": "ElementaryTypeName", - "src": "2581:6:175", + "src": "2581:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7193,86 +7193,86 @@ "visibility": "internal" } ], - "src": "2580:15:175" + "src": "2580:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { - "id": 121475, + "id": 113182, "nodeType": "FunctionDefinition", - "src": "3875:1284:175", + "src": "3875:1284:149", "nodes": [], "body": { - "id": 121474, + "id": 113181, "nodeType": "Block", - "src": "3970:1189:175", + "src": "3970:1189:149", "nodes": [], "statements": [ { "assignments": [ - 121390 + 113097 ], "declarations": [ { "constant": false, - "id": 121390, + "id": 113097, "mutability": "mutable", "name": "user", - "nameLocation": "3992:4:175", + "nameLocation": "3992:4:149", "nodeType": "VariableDeclaration", - "scope": 121474, - "src": "3980:16:175", + "scope": 113181, + "src": "3980:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121389, + "id": 113096, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121388, + "id": 113095, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "3980:4:175" + "referencedDeclaration": 112668, + "src": "3980:4:149" }, - "referencedDeclaration": 120961, - "src": "3980:4:175", + "referencedDeclaration": 112668, + "src": "3980:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121394, + "id": 113101, "initialValue": { "baseExpression": { - "id": 121391, + "id": 113098, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "3999:8:175", + "referencedDeclaration": 112718, + "src": "3999:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121393, + "id": 113100, "indexExpression": { - "id": 121392, + "id": 113099, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121382, - "src": "4008:8:175", + "referencedDeclaration": 113089, + "src": "4008:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -7283,50 +7283,50 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3999:18:175", + "src": "3999:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "3980:37:175" + "src": "3980:37:149" }, { "condition": { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121399, + "id": 113106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121395, + "id": 113102, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4031:4:175", + "referencedDeclaration": 113097, + "src": "4031:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121396, + "id": 113103, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "4031:10:175", + "referencedDeclaration": 112667, + "src": "4031:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -7334,79 +7334,79 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121397, + "id": 113104, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "4045:11:175", + "referencedDeclaration": 112350, + "src": "4045:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121398, + "id": 113105, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Pending", "nodeType": "MemberAccess", - "referencedDeclaration": 120641, - "src": "4045:19:175", + "referencedDeclaration": 112348, + "src": "4045:19:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "4031:33:175", + "src": "4031:33:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 121472, + "id": 113179, "nodeType": "Block", - "src": "4299:854:175", + "src": "4299:854:149", "statements": [ { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121419, + "id": 113126, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121415, + "id": 113122, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4321:4:175", + "referencedDeclaration": 113097, + "src": "4321:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121416, + "id": 113123, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "4321:10:175", + "referencedDeclaration": 112667, + "src": "4321:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -7414,32 +7414,32 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 121417, + "id": 113124, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "4335:11:175", + "referencedDeclaration": 112350, + "src": "4335:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121418, + "id": 113125, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Inited", "nodeType": "MemberAccess", - "referencedDeclaration": 120640, - "src": "4335:18:175", + "referencedDeclaration": 112347, + "src": "4335:18:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "4321:32:175", + "src": "4321:32:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7447,14 +7447,14 @@ }, { "hexValue": "426f78206e6f742065786973746564", - "id": 121420, + "id": 113127, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4355:17:175", + "src": "4355:17:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", "typeString": "literal_string \"Box not existed\"" @@ -7473,7 +7473,7 @@ "typeString": "literal_string \"Box not existed\"" } ], - "id": 121414, + "id": 113121, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -7481,13 +7481,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4313:7:175", + "src": "4313:7:149", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 121421, + "id": 113128, "isConstant": false, "isLValue": false, "isPure": false, @@ -7495,31 +7495,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4313:60:175", + "src": "4313:60:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121422, + "id": 113129, "nodeType": "ExpressionStatement", - "src": "4313:60:175" + "src": "4313:60:149" }, { "assignments": [ - 121424 + 113131 ], "declarations": [ { "constant": false, - "id": 121424, + "id": 113131, "mutability": "mutable", "name": "output", - "nameLocation": "4401:6:175", + "nameLocation": "4401:6:149", "nodeType": "VariableDeclaration", - "scope": 121472, - "src": "4387:20:175", + "scope": 113179, + "src": "4387:20:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7527,10 +7527,10 @@ "typeString": "string" }, "typeName": { - "id": 121423, + "id": 113130, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4387:6:175", + "src": "4387:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7539,18 +7539,18 @@ "visibility": "internal" } ], - "id": 121428, + "id": 113135, "initialValue": { "arguments": [ { - "id": 121426, + "id": 113133, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121390, - "src": "4420:4:175", + "referencedDeclaration": 113097, + "src": "4420:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } } @@ -7558,22 +7558,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } ], - "id": 121425, + "id": 113132, "name": "createSVG", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121380, - "src": "4410:9:175", + "referencedDeclaration": 113087, + "src": "4410:9:149", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$120961_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$112668_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (struct MUser.User memory) pure returns (string memory)" } }, - "id": 121427, + "id": 113134, "isConstant": false, "isLValue": false, "isPure": false, @@ -7581,7 +7581,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4410:15:175", + "src": "4410:15:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7589,22 +7589,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4387:38:175" + "src": "4387:38:149" }, { "assignments": [ - 121430 + 113137 ], "declarations": [ { "constant": false, - "id": 121430, + "id": 113137, "mutability": "mutable", "name": "json", - "nameLocation": "4453:4:175", + "nameLocation": "4453:4:149", "nodeType": "VariableDeclaration", - "scope": 121472, - "src": "4439:18:175", + "scope": 113179, + "src": "4439:18:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -7612,10 +7612,10 @@ "typeString": "string" }, "typeName": { - "id": 121429, + "id": 113136, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4439:6:175", + "src": "4439:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -7624,7 +7624,7 @@ "visibility": "internal" } ], - "id": 121458, + "id": 113165, "initialValue": { "arguments": [ { @@ -7635,14 +7635,14 @@ "arguments": [ { "hexValue": "7b226e616d65223a20224d557365722023", - "id": 121439, + "id": 113146, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4596:19:175", + "src": "4596:19:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", "typeString": "literal_string \"{\"name\": \"MUser #\"" @@ -7654,32 +7654,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 121440, + "id": 113147, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121382, - "src": "4645:8:175", + "referencedDeclaration": 113089, + "src": "4645:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121441, + "id": 113148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "toString", "nodeType": "MemberAccess", - "referencedDeclaration": 72484, - "src": "4645:17:175", + "referencedDeclaration": 30738, + "src": "4645:17:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", "typeString": "function (uint256) pure returns (string memory)" } }, - "id": 121442, + "id": 113149, "isConstant": false, "isLValue": false, "isPure": false, @@ -7687,7 +7687,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4645:19:175", + "src": "4645:19:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7696,14 +7696,14 @@ }, { "hexValue": "222c20226465736372697074696f6e223a22", - "id": 121443, + "id": 113150, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4694:20:175", + "src": "4694:20:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", "typeString": "literal_string \"\", \"description\":\"\"" @@ -7711,12 +7711,12 @@ "value": "\", \"description\":\"" }, { - "id": 121444, + "id": 113151, "name": "revealedDesc", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120971, - "src": "4744:12:175", + "referencedDeclaration": 112678, + "src": "4744:12:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -7724,14 +7724,14 @@ }, { "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", - "id": 121445, + "id": 113152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4786:40:175", + "src": "4786:40:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" @@ -7743,12 +7743,12 @@ { "arguments": [ { - "id": 121450, + "id": 113157, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "4876:6:175", + "referencedDeclaration": 113131, + "src": "4876:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -7762,26 +7762,26 @@ "typeString": "string memory" } ], - "id": 121449, + "id": 113156, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4870:5:175", + "src": "4870:5:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 121448, + "id": 113155, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4870:5:175", + "src": "4870:5:149", "typeDescriptions": {} } }, - "id": 121451, + "id": 113158, "isConstant": false, "isLValue": false, "isPure": false, @@ -7789,7 +7789,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4870:13:175", + "src": "4870:13:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7805,32 +7805,32 @@ } ], "expression": { - "id": 121446, + "id": 113153, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "4856:6:175", + "referencedDeclaration": 111110, + "src": "4856:6:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 121447, + "id": 113154, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "4856:13:175", + "referencedDeclaration": 111109, + "src": "4856:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 121452, + "id": 113159, "isConstant": false, "isLValue": false, "isPure": false, @@ -7838,7 +7838,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4856:28:175", + "src": "4856:28:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7847,14 +7847,14 @@ }, { "hexValue": "227d", - "id": 121453, + "id": 113160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4914:4:175", + "src": "4914:4:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", "typeString": "literal_string \"\"}\"" @@ -7894,31 +7894,31 @@ } ], "expression": { - "id": 121437, + "id": 113144, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4550:3:175", + "src": "4550:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121438, + "id": 113145, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4550:16:175", + "src": "4550:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121454, + "id": 113161, "isConstant": false, "isLValue": false, "isPure": false, @@ -7926,7 +7926,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4550:394:175", + "src": "4550:394:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -7941,26 +7941,26 @@ "typeString": "bytes memory" } ], - "id": 121436, + "id": 113143, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4518:6:175", + "src": "4518:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121435, + "id": 113142, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4518:6:175", + "src": "4518:6:149", "typeDescriptions": {} } }, - "id": 121455, + "id": 113162, "isConstant": false, "isLValue": false, "isPure": false, @@ -7968,7 +7968,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4518:448:175", + "src": "4518:448:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -7983,26 +7983,26 @@ "typeString": "string memory" } ], - "id": 121434, + "id": 113141, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4491:5:175", + "src": "4491:5:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 121433, + "id": 113140, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "4491:5:175", + "src": "4491:5:149", "typeDescriptions": {} } }, - "id": 121456, + "id": 113163, "isConstant": false, "isLValue": false, "isPure": false, @@ -8010,7 +8010,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4491:493:175", + "src": "4491:493:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8026,32 +8026,32 @@ } ], "expression": { - "id": 121431, + "id": 113138, "name": "Base64", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 119403, - "src": "4460:6:175", + "referencedDeclaration": 111110, + "src": "4460:6:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeIdentifier": "t_type$_t_contract$_Base64_$111110_$", "typeString": "type(library Base64)" } }, - "id": 121432, + "id": 113139, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "referencedDeclaration": 119402, - "src": "4460:13:175", + "referencedDeclaration": 111109, + "src": "4460:13:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", "typeString": "function (bytes memory) pure returns (string memory)" } }, - "id": 121457, + "id": 113164, "isConstant": false, "isLValue": false, "isPure": false, @@ -8059,7 +8059,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4460:538:175", + "src": "4460:538:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8067,22 +8067,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4439:559:175" + "src": "4439:559:149" }, { "expression": { - "id": 121468, + "id": 113175, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 121459, + "id": 113166, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "5012:6:175", + "referencedDeclaration": 113131, + "src": "5012:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8096,14 +8096,14 @@ "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 121464, + "id": 113171, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5062:31:175", + "src": "5062:31:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8111,12 +8111,12 @@ "value": "data:application/json;base64," }, { - "id": 121465, + "id": 113172, "name": "json", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121430, - "src": "5095:4:175", + "referencedDeclaration": 113137, + "src": "5095:4:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -8135,31 +8135,31 @@ } ], "expression": { - "id": 121462, + "id": 113169, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "5045:3:175", + "src": "5045:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121463, + "id": 113170, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "5045:16:175", + "src": "5045:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121466, + "id": 113173, "isConstant": false, "isLValue": false, "isPure": false, @@ -8167,7 +8167,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5045:55:175", + "src": "5045:55:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8182,26 +8182,26 @@ "typeString": "bytes memory" } ], - "id": 121461, + "id": 113168, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5021:6:175", + "src": "5021:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121460, + "id": 113167, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5021:6:175", + "src": "5021:6:149", "typeDescriptions": {} } }, - "id": 121467, + "id": 113174, "isConstant": false, "isLValue": false, "isPure": false, @@ -8209,65 +8209,65 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5021:93:175", + "src": "5021:93:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "5012:102:175", + "src": "5012:102:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "id": 121469, + "id": 113176, "nodeType": "ExpressionStatement", - "src": "5012:102:175" + "src": "5012:102:149" }, { "expression": { - "id": 121470, + "id": 113177, "name": "output", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121424, - "src": "5136:6:175", + "referencedDeclaration": 113131, + "src": "5136:6:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121387, - "id": 121471, + "functionReturnParameters": 113094, + "id": 113178, "nodeType": "Return", - "src": "5129:13:175" + "src": "5129:13:149" } ] }, - "id": 121473, + "id": 113180, "nodeType": "IfStatement", - "src": "4027:1126:175", + "src": "4027:1126:149", "trueBody": { - "id": 121413, + "id": 113120, "nodeType": "Block", - "src": "4066:227:175", + "src": "4066:227:149", "statements": [ { "assignments": [ - 121401 + 113108 ], "declarations": [ { "constant": false, - "id": 121401, + "id": 113108, "mutability": "mutable", "name": "r", - "nameLocation": "4094:1:175", + "nameLocation": "4094:1:149", "nodeType": "VariableDeclaration", - "scope": 121413, - "src": "4080:15:175", + "scope": 113120, + "src": "4080:15:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8275,10 +8275,10 @@ "typeString": "string" }, "typeName": { - "id": 121400, + "id": 113107, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4080:6:175", + "src": "4080:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8287,21 +8287,21 @@ "visibility": "internal" } ], - "id": 121410, + "id": 113117, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", - "id": 121406, + "id": 113113, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4160:31:175", + "src": "4160:31:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", "typeString": "literal_string \"data:application/json;base64,\"" @@ -8309,12 +8309,12 @@ "value": "data:application/json;base64," }, { - "id": 121407, + "id": 113114, "name": "notRevealedInfo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120969, - "src": "4213:15:175", + "referencedDeclaration": 112676, + "src": "4213:15:149", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -8333,31 +8333,31 @@ } ], "expression": { - "id": 121404, + "id": 113111, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "4122:3:175", + "src": "4122:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 121405, + "id": 113112, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "4122:16:175", + "src": "4122:16:149", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 121408, + "id": 113115, "isConstant": false, "isLValue": false, "isPure": false, @@ -8365,7 +8365,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4122:124:175", + "src": "4122:124:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -8380,26 +8380,26 @@ "typeString": "bytes memory" } ], - "id": 121403, + "id": 113110, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4098:6:175", + "src": "4098:6:149", "typeDescriptions": { "typeIdentifier": "t_type$_t_string_storage_ptr_$", "typeString": "type(string storage pointer)" }, "typeName": { - "id": 121402, + "id": 113109, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4098:6:175", + "src": "4098:6:149", "typeDescriptions": {} } }, - "id": 121409, + "id": 113116, "isConstant": false, "isLValue": false, "isPure": false, @@ -8407,7 +8407,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4098:162:175", + "src": "4098:162:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -8415,25 +8415,25 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4080:180:175" + "src": "4080:180:149" }, { "expression": { - "id": 121411, + "id": 113118, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121401, - "src": "4281:1:175", + "referencedDeclaration": 113108, + "src": "4281:1:149", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 121387, - "id": 121412, + "functionReturnParameters": 113094, + "id": 113119, "nodeType": "Return", - "src": "4274:8:175" + "src": "4274:8:149" } ] } @@ -8441,33 +8441,33 @@ ] }, "baseFunctions": [ - 71703 + 29444 ], "functionSelector": "c87b56dd", "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "3884:8:175", + "nameLocation": "3884:8:149", "overrides": { - "id": 121384, + "id": 113091, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "3937:8:175" + "src": "3937:8:149" }, "parameters": { - "id": 121383, + "id": 113090, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121382, + "id": 113089, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "3910:8:175", + "nameLocation": "3910:8:149", "nodeType": "VariableDeclaration", - "scope": 121475, - "src": "3902:16:175", + "scope": 113182, + "src": "3902:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8475,10 +8475,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121381, + "id": 113088, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3902:7:175", + "src": "3902:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8487,21 +8487,21 @@ "visibility": "internal" } ], - "src": "3892:32:175" + "src": "3892:32:149" }, "returnParameters": { - "id": 121387, + "id": 113094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121386, + "id": 113093, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121475, - "src": "3955:13:175", + "scope": 113182, + "src": "3955:13:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -8509,10 +8509,10 @@ "typeString": "string" }, "typeName": { - "id": 121385, + "id": 113092, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3955:6:175", + "src": "3955:6:149", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -8521,86 +8521,86 @@ "visibility": "internal" } ], - "src": "3954:15:175" + "src": "3954:15:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "public" }, { - "id": 121523, + "id": 113230, "nodeType": "FunctionDefinition", - "src": "5169:372:175", + "src": "5169:372:149", "nodes": [], "body": { - "id": 121522, + "id": 113229, "nodeType": "Block", - "src": "5280:261:175", + "src": "5280:261:149", "nodes": [], "statements": [ { "assignments": [ - 121494 + 113201 ], "declarations": [ { "constant": false, - "id": 121494, + "id": 113201, "mutability": "mutable", "name": "user", - "nameLocation": "5302:4:175", + "nameLocation": "5302:4:149", "nodeType": "VariableDeclaration", - "scope": 121522, - "src": "5290:16:175", + "scope": 113229, + "src": "5290:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User" }, "typeName": { - "id": 121493, + "id": 113200, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 121492, + "id": 113199, "name": "User", "nodeType": "IdentifierPath", - "referencedDeclaration": 120961, - "src": "5290:4:175" + "referencedDeclaration": 112668, + "src": "5290:4:149" }, - "referencedDeclaration": 120961, - "src": "5290:4:175", + "referencedDeclaration": 112668, + "src": "5290:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeIdentifier": "t_struct$_User_$112668_storage_ptr", "typeString": "struct MUser.User" } }, "visibility": "internal" } ], - "id": 121498, + "id": 113205, "initialValue": { "baseExpression": { - "id": 121495, + "id": 113202, "name": "userList", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121011, - "src": "5309:8:175", + "referencedDeclaration": 112718, + "src": "5309:8:149", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$112668_storage_$", "typeString": "mapping(uint256 => struct MUser.User storage ref)" } }, - "id": 121497, + "id": 113204, "indexExpression": { - "id": 121496, + "id": 113203, "name": "_tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121477, - "src": "5318:8:175", + "referencedDeclaration": 113184, + "src": "5318:8:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8611,52 +8611,52 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5309:18:175", + "src": "5309:18:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_storage", + "typeIdentifier": "t_struct$_User_$112668_storage", "typeString": "struct MUser.User storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5290:37:175" + "src": "5290:37:149" }, { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" }, - "id": 121504, + "id": 113211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 121500, + "id": 113207, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5345:4:175", + "referencedDeclaration": 113201, + "src": "5345:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121501, + "id": 113208, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "state", "nodeType": "MemberAccess", - "referencedDeclaration": 120960, - "src": "5345:10:175", + "referencedDeclaration": 112667, + "src": "5345:10:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, @@ -8664,32 +8664,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121502, + "id": 113209, "name": "RandomState", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120643, - "src": "5359:11:175", + "referencedDeclaration": 112350, + "src": "5359:11:149", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeIdentifier": "t_type$_t_enum$_RandomState_$112350_$", "typeString": "type(enum MRandom.RandomState)" } }, - "id": 121503, + "id": 113210, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "Confirmed", "nodeType": "MemberAccess", - "referencedDeclaration": 120642, - "src": "5359:21:175", + "referencedDeclaration": 112349, + "src": "5359:21:149", "typeDescriptions": { - "typeIdentifier": "t_enum$_RandomState_$120643", + "typeIdentifier": "t_enum$_RandomState_$112350", "typeString": "enum MRandom.RandomState" } }, - "src": "5345:35:175", + "src": "5345:35:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8697,14 +8697,14 @@ }, { "hexValue": "55736572206e6f7420657869737473", - "id": 121505, + "id": 113212, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5381:17:175", + "src": "5381:17:149", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", "typeString": "literal_string \"User not exists\"" @@ -8723,7 +8723,7 @@ "typeString": "literal_string \"User not exists\"" } ], - "id": 121499, + "id": 113206, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -8731,13 +8731,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5337:7:175", + "src": "5337:7:149", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 121506, + "id": 113213, "isConstant": false, "isLValue": false, "isPure": false, @@ -8745,42 +8745,42 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5337:62:175", + "src": "5337:62:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 121507, + "id": 113214, "nodeType": "ExpressionStatement", - "src": "5337:62:175" + "src": "5337:62:149" }, { "expression": { "components": [ { "expression": { - "id": 121508, + "id": 113215, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5416:4:175", + "referencedDeclaration": 113201, + "src": "5416:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121509, + "id": 113216, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "HP", "nodeType": "MemberAccess", - "referencedDeclaration": 120947, - "src": "5416:7:175", + "referencedDeclaration": 112654, + "src": "5416:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8788,26 +8788,26 @@ }, { "expression": { - "id": 121510, + "id": 113217, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5433:4:175", + "referencedDeclaration": 113201, + "src": "5433:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121511, + "id": 113218, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Attack", "nodeType": "MemberAccess", - "referencedDeclaration": 120949, - "src": "5433:11:175", + "referencedDeclaration": 112656, + "src": "5433:11:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8815,26 +8815,26 @@ }, { "expression": { - "id": 121512, + "id": 113219, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5454:4:175", + "referencedDeclaration": 113201, + "src": "5454:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121513, + "id": 113220, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "AttackRange", "nodeType": "MemberAccess", - "referencedDeclaration": 120951, - "src": "5454:16:175", + "referencedDeclaration": 112658, + "src": "5454:16:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8842,26 +8842,26 @@ }, { "expression": { - "id": 121514, + "id": 113221, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5480:4:175", + "referencedDeclaration": 113201, + "src": "5480:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121515, + "id": 113222, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Speed", "nodeType": "MemberAccess", - "referencedDeclaration": 120953, - "src": "5480:10:175", + "referencedDeclaration": 112660, + "src": "5480:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8869,26 +8869,26 @@ }, { "expression": { - "id": 121516, + "id": 113223, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5500:4:175", + "referencedDeclaration": 113201, + "src": "5500:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121517, + "id": 113224, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Strength", "nodeType": "MemberAccess", - "referencedDeclaration": 120955, - "src": "5500:13:175", + "referencedDeclaration": 112662, + "src": "5500:13:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8896,49 +8896,49 @@ }, { "expression": { - "id": 121518, + "id": 113225, "name": "user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121494, - "src": "5523:4:175", + "referencedDeclaration": 113201, + "src": "5523:4:149", "typeDescriptions": { - "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeIdentifier": "t_struct$_User_$112668_memory_ptr", "typeString": "struct MUser.User memory" } }, - "id": 121519, + "id": 113226, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Space", "nodeType": "MemberAccess", - "referencedDeclaration": 120957, - "src": "5523:10:175", + "referencedDeclaration": 112664, + "src": "5523:10:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 121520, + "id": 113227, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "5415:119:175", + "src": "5415:119:149", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" } }, - "functionReturnParameters": 121491, - "id": 121521, + "functionReturnParameters": 113198, + "id": 113228, "nodeType": "Return", - "src": "5409:125:175" + "src": "5409:125:149" } ] }, @@ -8947,20 +8947,20 @@ "kind": "function", "modifiers": [], "name": "getStructInfo", - "nameLocation": "5178:13:175", + "nameLocation": "5178:13:149", "parameters": { - "id": 121478, + "id": 113185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121477, + "id": 113184, "mutability": "mutable", "name": "_tokenId", - "nameLocation": "5200:8:175", + "nameLocation": "5200:8:149", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5192:16:175", + "scope": 113230, + "src": "5192:16:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8968,10 +8968,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121476, + "id": 113183, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5192:7:175", + "src": "5192:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -8980,21 +8980,21 @@ "visibility": "internal" } ], - "src": "5191:18:175" + "src": "5191:18:149" }, "returnParameters": { - "id": 121491, + "id": 113198, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121480, + "id": 113187, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5232:7:175", + "scope": 113230, + "src": "5232:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9002,10 +9002,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121479, + "id": 113186, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5232:7:175", + "src": "5232:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9015,13 +9015,13 @@ }, { "constant": false, - "id": 121482, + "id": 113189, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5240:7:175", + "scope": 113230, + "src": "5240:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9029,10 +9029,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121481, + "id": 113188, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5240:7:175", + "src": "5240:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9042,13 +9042,13 @@ }, { "constant": false, - "id": 121484, + "id": 113191, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5248:7:175", + "scope": 113230, + "src": "5248:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9056,10 +9056,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121483, + "id": 113190, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5248:7:175", + "src": "5248:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9069,13 +9069,13 @@ }, { "constant": false, - "id": 121486, + "id": 113193, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5256:7:175", + "scope": 113230, + "src": "5256:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9083,10 +9083,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121485, + "id": 113192, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5256:7:175", + "src": "5256:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9096,13 +9096,13 @@ }, { "constant": false, - "id": 121488, + "id": 113195, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5264:7:175", + "scope": 113230, + "src": "5264:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9110,10 +9110,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121487, + "id": 113194, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5264:7:175", + "src": "5264:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9123,13 +9123,13 @@ }, { "constant": false, - "id": 121490, + "id": 113197, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121523, - "src": "5272:7:175", + "scope": 113230, + "src": "5272:7:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9137,10 +9137,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121489, + "id": 113196, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5272:7:175", + "src": "5272:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9149,38 +9149,38 @@ "visibility": "internal" } ], - "src": "5231:49:175" + "src": "5231:49:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "external" }, { - "id": 121587, + "id": 113294, "nodeType": "FunctionDefinition", - "src": "5547:482:175", + "src": "5547:482:149", "nodes": [], "body": { - "id": 121586, + "id": 113293, "nodeType": "Block", - "src": "5616:413:175", + "src": "5616:413:149", "nodes": [], "statements": [ { "assignments": [ - 121530 + 113237 ], "declarations": [ { "constant": false, - "id": 121530, + "id": 113237, "mutability": "mutable", "name": "balance", - "nameLocation": "5634:7:175", + "nameLocation": "5634:7:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5626:15:175", + "scope": 113293, + "src": "5626:15:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9188,10 +9188,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121529, + "id": 113236, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5626:7:175", + "src": "5626:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9200,30 +9200,30 @@ "visibility": "internal" } ], - "id": 121535, + "id": 113242, "initialValue": { "arguments": [ { "expression": { - "id": 121532, + "id": 113239, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5654:3:175", + "src": "5654:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 121533, + "id": 113240, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5654:10:175", + "src": "5654:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9237,18 +9237,18 @@ "typeString": "address" } ], - "id": 121531, + "id": 113238, "name": "balanceOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71616, - "src": "5644:9:175", + "referencedDeclaration": 29357, + "src": "5644:9:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 121534, + "id": 113241, "isConstant": false, "isLValue": false, "isPure": false, @@ -9256,7 +9256,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5644:21:175", + "src": "5644:21:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -9264,22 +9264,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5626:39:175" + "src": "5626:39:149" }, { "assignments": [ - 121540 + 113247 ], "declarations": [ { "constant": false, - "id": 121540, + "id": 113247, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "5692:8:175", + "nameLocation": "5692:8:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5675:25:175", + "scope": 113293, + "src": "5675:25:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9288,18 +9288,18 @@ }, "typeName": { "baseType": { - "id": 121538, + "id": 113245, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5675:7:175", + "src": "5675:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121539, + "id": 113246, "nodeType": "ArrayTypeName", - "src": "5675:9:175", + "src": "5675:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9308,16 +9308,16 @@ "visibility": "internal" } ], - "id": 121546, + "id": 113253, "initialValue": { "arguments": [ { - "id": 121544, + "id": 113251, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121530, - "src": "5717:7:175", + "referencedDeclaration": 113237, + "src": "5717:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9331,38 +9331,38 @@ "typeString": "uint256" } ], - "id": 121543, + "id": 113250, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5703:13:175", + "src": "5703:13:149", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 121541, + "id": 113248, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5707:7:175", + "src": "5707:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121542, + "id": 113249, "nodeType": "ArrayTypeName", - "src": "5707:9:175", + "src": "5707:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 121545, + "id": 113252, "isConstant": false, "isLValue": false, "isPure": false, @@ -9370,7 +9370,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5703:22:175", + "src": "5703:22:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -9378,22 +9378,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5675:50:175" + "src": "5675:50:149" }, { "assignments": [ - 121548 + 113255 ], "declarations": [ { "constant": false, - "id": 121548, + "id": 113255, "mutability": "mutable", "name": "index", - "nameLocation": "5743:5:175", + "nameLocation": "5743:5:149", "nodeType": "VariableDeclaration", - "scope": 121586, - "src": "5735:13:175", + "scope": 113293, + "src": "5735:13:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9401,10 +9401,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121547, + "id": 113254, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5735:7:175", + "src": "5735:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9413,15 +9413,15 @@ "visibility": "internal" } ], - "id": 121549, + "id": 113256, "nodeType": "VariableDeclarationStatement", - "src": "5735:13:175" + "src": "5735:13:149" }, { "body": { - "id": 121582, + "id": 113289, "nodeType": "Block", - "src": "5786:212:175", + "src": "5786:212:149", "statements": [ { "condition": { @@ -9429,7 +9429,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 121564, + "id": 113271, "isConstant": false, "isLValue": false, "isPure": false, @@ -9437,12 +9437,12 @@ "leftExpression": { "arguments": [ { - "id": 121560, + "id": 113267, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5811:1:175", + "referencedDeclaration": 113258, + "src": "5811:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9456,18 +9456,18 @@ "typeString": "uint256" } ], - "id": 121559, + "id": 113266, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 71644, - "src": "5803:7:175", + "referencedDeclaration": 29385, + "src": "5803:7:149", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 121561, + "id": 113268, "isConstant": false, "isLValue": false, "isPure": false, @@ -9475,7 +9475,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5803:10:175", + "src": "5803:10:149", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9486,72 +9486,72 @@ "operator": "==", "rightExpression": { "expression": { - "id": 121562, + "id": 113269, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5817:3:175", + "src": "5817:3:149", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 121563, + "id": 113270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "5817:10:175", + "src": "5817:10:149", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5803:24:175", + "src": "5803:24:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121581, + "id": 113288, "nodeType": "IfStatement", - "src": "5800:188:175", + "src": "5800:188:149", "trueBody": { - "id": 121580, + "id": 113287, "nodeType": "Block", - "src": "5828:160:175", + "src": "5828:160:149", "statements": [ { "expression": { - "id": 121569, + "id": 113276, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 121565, + "id": 113272, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121540, - "src": "5846:8:175", + "referencedDeclaration": 113247, + "src": "5846:8:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 121567, + "id": 113274, "indexExpression": { - "id": 121566, + "id": 113273, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5855:5:175", + "referencedDeclaration": 113255, + "src": "5855:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9562,7 +9562,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5846:15:175", + "src": "5846:15:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9571,30 +9571,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 121568, + "id": 113275, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5864:1:175", + "referencedDeclaration": 113258, + "src": "5864:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5846:19:175", + "src": "5846:19:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121570, + "id": 113277, "nodeType": "ExpressionStatement", - "src": "5846:19:175" + "src": "5846:19:149" }, { "expression": { - "id": 121572, + "id": 113279, "isConstant": false, "isLValue": false, "isPure": false, @@ -9602,14 +9602,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5883:7:175", + "src": "5883:7:149", "subExpression": { - "id": 121571, + "id": 113278, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5883:5:175", + "referencedDeclaration": 113255, + "src": "5883:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9620,9 +9620,9 @@ "typeString": "uint256" } }, - "id": 121573, + "id": 113280, "nodeType": "ExpressionStatement", - "src": "5883:7:175" + "src": "5883:7:149" }, { "condition": { @@ -9630,18 +9630,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121576, + "id": 113283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121574, + "id": 113281, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121548, - "src": "5911:5:175", + "referencedDeclaration": 113255, + "src": "5911:5:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9650,35 +9650,35 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 121575, + "id": 113282, "name": "balance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121530, - "src": "5920:7:175", + "referencedDeclaration": 113237, + "src": "5920:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5911:16:175", + "src": "5911:16:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121579, + "id": 113286, "nodeType": "IfStatement", - "src": "5908:66:175", + "src": "5908:66:149", "trueBody": { - "id": 121578, + "id": 113285, "nodeType": "Block", - "src": "5928:46:175", + "src": "5928:46:149", "statements": [ { - "id": 121577, + "id": 113284, "nodeType": "Break", - "src": "5950:5:175" + "src": "5950:5:149" } ] } @@ -9693,18 +9693,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 121555, + "id": 113262, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 121553, + "id": 113260, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5772:1:175", + "referencedDeclaration": 113258, + "src": "5772:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9713,38 +9713,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 121554, + "id": 113261, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 120963, - "src": "5774:7:175", + "referencedDeclaration": 112670, + "src": "5774:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5772:9:175", + "src": "5772:9:149", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 121583, + "id": 113290, "initializationExpression": { "assignments": [ - 121551 + 113258 ], "declarations": [ { "constant": false, - "id": 121551, + "id": 113258, "mutability": "mutable", "name": "i", - "nameLocation": "5770:1:175", + "nameLocation": "5770:1:149", "nodeType": "VariableDeclaration", - "scope": 121583, - "src": "5762:9:175", + "scope": 113290, + "src": "5762:9:149", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9752,10 +9752,10 @@ "typeString": "uint256" }, "typeName": { - "id": 121550, + "id": 113257, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5762:7:175", + "src": "5762:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9764,13 +9764,13 @@ "visibility": "internal" } ], - "id": 121552, + "id": 113259, "nodeType": "VariableDeclarationStatement", - "src": "5762:9:175" + "src": "5762:9:149" }, "loopExpression": { "expression": { - "id": 121557, + "id": 113264, "isConstant": false, "isLValue": false, "isPure": false, @@ -9778,14 +9778,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5782:3:175", + "src": "5782:3:149", "subExpression": { - "id": 121556, + "id": 113263, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121551, - "src": "5782:1:175", + "referencedDeclaration": 113258, + "src": "5782:1:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -9796,30 +9796,30 @@ "typeString": "uint256" } }, - "id": 121558, + "id": 113265, "nodeType": "ExpressionStatement", - "src": "5782:3:175" + "src": "5782:3:149" }, "nodeType": "ForStatement", - "src": "5758:240:175" + "src": "5758:240:149" }, { "expression": { - "id": 121584, + "id": 113291, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 121540, - "src": "6014:8:175", + "referencedDeclaration": 113247, + "src": "6014:8:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 121528, - "id": 121585, + "functionReturnParameters": 113235, + "id": 113292, "nodeType": "Return", - "src": "6007:15:175" + "src": "6007:15:149" } ] }, @@ -9828,26 +9828,26 @@ "kind": "function", "modifiers": [], "name": "getUserTokenIdList", - "nameLocation": "5556:18:175", + "nameLocation": "5556:18:149", "parameters": { - "id": 121524, + "id": 113231, "nodeType": "ParameterList", "parameters": [], - "src": "5574:2:175" + "src": "5574:2:149" }, "returnParameters": { - "id": 121528, + "id": 113235, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 121527, + "id": 113234, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 121587, - "src": "5599:16:175", + "scope": 113294, + "src": "5599:16:149", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -9856,18 +9856,18 @@ }, "typeName": { "baseType": { - "id": 121525, + "id": 113232, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5599:7:175", + "src": "5599:7:149", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 121526, + "id": 113233, "nodeType": "ArrayTypeName", - "src": "5599:9:175", + "src": "5599:9:149", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -9876,9 +9876,9 @@ "visibility": "internal" } ], - "src": "5598:18:175" + "src": "5598:18:149" }, - "scope": 121588, + "scope": 113295, "stateMutability": "view", "virtual": false, "visibility": "external" @@ -9888,27 +9888,27 @@ "baseContracts": [ { "baseName": { - "id": 120935, + "id": 112642, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 72425, - "src": "181:6:175" + "referencedDeclaration": 30166, + "src": "181:6:149" }, - "id": 120936, + "id": 112643, "nodeType": "InheritanceSpecifier", - "src": "181:6:175" + "src": "181:6:149" }, { "baseName": { - "id": 120937, + "id": 112644, "name": "MRandom", "nodeType": "IdentifierPath", - "referencedDeclaration": 120834, - "src": "189:7:175" + "referencedDeclaration": 112541, + "src": "189:7:149" }, - "id": 120938, + "id": 112645, "nodeType": "InheritanceSpecifier", - "src": "189:7:175" + "src": "189:7:149" } ], "canonicalName": "MUser", @@ -9916,22 +9916,22 @@ "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 121588, - 120834, - 72425, - 131813, - 131768, - 132189, - 174470, - 132165 + 113295, + 112541, + 30166, + 30327, + 30282, + 31460, + 31472, + 30679 ], "name": "MUser", - "nameLocation": "172:5:175", - "scope": 121589, + "nameLocation": "172:5:149", + "scope": 113296, "usedErrors": [] } ], "license": "MIT" }, - "id": 175 + "id": 149 } \ No newline at end of file diff --git a/packages/contracts/src/systems/BattlePrepareSystem.sol b/packages/contracts/src/systems/BattlePrepareSystem.sol index 7b6511eb..44155b07 100644 --- a/packages/contracts/src/systems/BattlePrepareSystem.sol +++ b/packages/contracts/src/systems/BattlePrepareSystem.sol @@ -115,7 +115,7 @@ contract BattlePrepareSystem is System { emit BattleConfirmed(_battleId, _msgSender(), _buffHash); } - function initPlayerHp(address _player) public view returns (uint256) { + function initPlayerHp(address _player) public returns (uint256) { uint256 time = Player.getLastBattleTime(_player); uint256 maxHp = Player.getHp(_player); uint256 hp = Player.getHp(_player); @@ -127,6 +127,9 @@ contract BattlePrepareSystem is System { uint256 elapsedTime = block.timestamp - time; uint256 increase = ((elapsedTime / 10) * maxHp) / 100 ; hp = hp + increase; + + Player.setLastBattleTime(_player, 0); + return (hp > maxHp) ? maxHp : hp; } } \ No newline at end of file diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 646c50af..6f6306ed 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,13 +7,8 @@ "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34" }, "33784": { -<<<<<<< HEAD "address": "0x2a810409872AfC346F9B5b26571Fd6eC42EA4849", "blockNumber": 191547 -======= - "address": "0xda2b961c767CC969a647B4017e8BfF3a58F56562", - "blockNumber": 189537 ->>>>>>> 0989e5a6c2bd725b63a715371acfe5034cc96ae1 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From 680303b12c732af9ae66b54068f050335eecce02 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Thu, 9 Nov 2023 23:08:54 +0800 Subject: [PATCH 20/48] update --- packages/contracts/src/systems/BoxSystem.sol | 2 +- packages/contracts/worlds.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/src/systems/BoxSystem.sol b/packages/contracts/src/systems/BoxSystem.sol index a8311a0b..30a29c30 100644 --- a/packages/contracts/src/systems/BoxSystem.sol +++ b/packages/contracts/src/systems/BoxSystem.sol @@ -63,7 +63,7 @@ contract BoxSystem is System { require(msg.sender == _box.owner, "The box is waiting for its opener, please wait"); } - console.log(" box oreBalance , treasureBalance ", _box.oreBalance, _box.treasureBalance); + console.log("box oreBalance , treasureBalance ", _box.oreBalance, _box.treasureBalance); require(_oreAmount <= _box.oreBalance && _treasureAmount <= _box.treasureBalance, "Invalid amount"); // check player strength require(Player.getOreBalance(_box.owner) + _oreAmount < Player.getStrength(msg.sender), "Not enough strength"); diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index 56ae6be2..d8d3f711 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -4,7 +4,7 @@ "blockNumber": 29582781 }, "31337": { - "address": "0x06C1aAfcE623554950bc49c28B64398D0Eb5fa34" + "address": "0x60b886a32B2dC612532a6E0ADF62ACd9093D0EDF" }, "33784": { "address": "0xda2b961c767CC969a647B4017e8BfF3a58F56562", From a5aba079c44a6b88622d0b33c4de28f44da60d3d Mon Sep 17 00:00:00 2001 From: lewis <> Date: Thu, 9 Nov 2023 23:59:37 +0800 Subject: [PATCH 21/48] chore: optimize battle logic --- packages/contracts/src/systems/BattleSystem.sol | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/contracts/src/systems/BattleSystem.sol b/packages/contracts/src/systems/BattleSystem.sol index ccb19e86..ff75aa0d 100644 --- a/packages/contracts/src/systems/BattleSystem.sol +++ b/packages/contracts/src/systems/BattleSystem.sol @@ -79,9 +79,9 @@ contract BattleSystem is System { Player.setState(battle.defender, PlayerState.Exploring); } BattleList.setEndTimestamp(_battleId, block.timestamp); - Player.setHp(battle.attacker, BattleList.getAttackerHP(_battleId)); - Player.setHp(battle.defender, BattleList.getDefenderHP(_battleId)); } + Player.setHp(battle.attacker, BattleList.getAttackerHP(_battleId)); + Player.setHp(battle.defender, BattleList.getDefenderHP(_battleId)); } function allAttack(uint _battleId, BattleListData memory battle, Buff attackerBuff, Buff defenderBuff @@ -107,7 +107,7 @@ contract BattleSystem is System { } function attackerEscapeDenfenderAttack(uint _battleId, BattleListData memory battle, Buff attackerBuff, - Buff defenderBuff, uint attackerFirepower) internal { + Buff defenderBuff, uint defenderFirepower) internal { // console.log(" escape --- 1"); if (attackerBuff == defenderBuff || BattleUtils.compareBuff(attackerBuff, defenderBuff) == 2) { // escape success @@ -118,8 +118,8 @@ contract BattleSystem is System { } else { // escape fail, cause hurt - uint256 attackerAttackPower = BattleUtils.getAttackPower(attackerBuff, defenderBuff, attackerFirepower); - BattleList.setDefenderHP(_battleId, BattleUtils.getAttackResult(battle.attackerHP, attackerAttackPower)); + uint256 defenderAttackPower = BattleUtils.getAttackPower(defenderBuff, attackerBuff, defenderFirepower); + BattleList.setAttackerHP(_battleId, BattleUtils.getAttackResult(battle.attackerHP, defenderAttackPower)); if (BattleList.getAttackerHP(_battleId) == 0) { BattleList.setWinner(_battleId, battle.defender); BattleList.setIsEnd(_battleId, true); @@ -129,7 +129,7 @@ contract BattleSystem is System { } } - function attackerAttackDenfenderEscape(uint _battleId, BattleListData memory battle, Buff attackerBuff, Buff defenderBuff, uint defenderFirepower) internal { + function attackerAttackDenfenderEscape(uint _battleId, BattleListData memory battle, Buff attackerBuff, Buff defenderBuff, uint attackerFirepower) internal { if (attackerBuff == defenderBuff || BattleUtils.compareBuff(defenderBuff, attackerBuff) == 2) { // escape success BattleList.setWinner(_battleId, battle.attacker); @@ -141,8 +141,8 @@ contract BattleSystem is System { // emit BattleEnd(_battleId, BattleEndType.NormalEnd, battle.attacker); } else { // escape fail, cause hurt - uint256 defenderAttackPower = BattleUtils.getAttackPower(defenderBuff, attackerBuff, defenderFirepower); - BattleList.setAttackerHP(_battleId, BattleUtils.getAttackResult(battle.attackerHP, defenderAttackPower)); + uint256 attackerAttackPower = BattleUtils.getAttackPower(attackerBuff, defenderBuff, attackerFirepower); + BattleList.setAttackerHP(_battleId, BattleUtils.getAttackResult(battle.attackerHP, attackerAttackPower)); if (BattleList.getDefenderHP(_battleId) == 0) { BattleList.setWinner(_battleId, battle.attacker); BattleList.setIsEnd(_battleId, true); From 3324421ab8fa5052804f664bd4aaef7357e3c2b1 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Fri, 10 Nov 2023 00:05:25 +0800 Subject: [PATCH 22/48] Update --- packages/client/src/mud/getNetworkConfig.ts | 4 +- packages/contracts/out/IWorld.sol/IWorld.json | 48 +++++------ packages/contracts/out/Loot.sol/MLoot.json | 28 +++---- .../contracts/out/Plugin.sol/MPlugin.json | 82 +++++++++---------- packages/contracts/out/User.sol/MUser.json | 28 +++---- 5 files changed, 95 insertions(+), 95 deletions(-) diff --git a/packages/client/src/mud/getNetworkConfig.ts b/packages/client/src/mud/getNetworkConfig.ts index a730761a..58c3300e 100644 --- a/packages/client/src/mud/getNetworkConfig.ts +++ b/packages/client/src/mud/getNetworkConfig.ts @@ -6,8 +6,8 @@ const worlds = worldsJson as Partial Date: Fri, 10 Nov 2023 00:12:49 +0800 Subject: [PATCH 23/48] update --- .../contracts/out/IWorld.sol/IWorld.abi.json | 1505 ++ packages/contracts/out/IWorld.sol/IWorld.json | 3957 +++++ .../contracts/out/Loot.sol/MLoot.abi.json | 697 + packages/contracts/out/Loot.sol/MLoot.json | 14344 ++++++++++++++++ .../contracts/out/Plugin.sol/MPlugin.abi.json | 69 + .../contracts/out/Plugin.sol/MPlugin.json | 1375 ++ .../contracts/out/User.sol/MUser.abi.json | 600 + packages/contracts/out/User.sol/MUser.json | 9937 +++++++++++ packages/contracts/worlds.json | 4 +- 9 files changed, 32486 insertions(+), 2 deletions(-) create mode 100644 packages/contracts/out/IWorld.sol/IWorld.abi.json create mode 100644 packages/contracts/out/IWorld.sol/IWorld.json create mode 100644 packages/contracts/out/Loot.sol/MLoot.abi.json create mode 100644 packages/contracts/out/Loot.sol/MLoot.json create mode 100644 packages/contracts/out/Plugin.sol/MPlugin.abi.json create mode 100644 packages/contracts/out/Plugin.sol/MPlugin.json create mode 100644 packages/contracts/out/User.sol/MUser.abi.json create mode 100644 packages/contracts/out/User.sol/MUser.json diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json new file mode 100644 index 00000000..86281699 --- /dev/null +++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json @@ -0,0 +1,1505 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + }, + { + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "name": "FunctionSelectorExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "name": "FunctionSelectorNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "InvalidSelector", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "module", + "type": "string" + } + ], + "name": "ModuleAlreadyInstalled", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "ResourceExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "ResourceNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_DataIndexOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidDataLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidFieldNamesLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidKeyNamesLength", + "type": "error" + }, + { + "inputs": [], + "name": "StoreCore_NotDynamicField", + "type": "error" + }, + { + "inputs": [], + "name": "StoreCore_NotImplemented", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "name": "StoreCore_TableAlreadyExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "name": "StoreCore_TableNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "system", + "type": "address" + } + ], + "name": "SystemExists", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "HelloWorld", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + } + ], + "name": "StoreDeleteRecord", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreEphemeralRecord", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreSetField", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreSetRecord", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_y", + "type": "uint16" + } + ], + "name": "CreateBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "GetSeasonInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "SetMapMerkleRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_end", + "type": "uint256" + } + ], + "name": "SetSeasonInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "SetUserContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct Position[]", + "name": "positionList", + "type": "tuple[]" + } + ], + "name": "battleInvitation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "funcSelectorAndArgs", + "type": "bytes" + } + ], + "name": "call", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_buffHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "confirmBattle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "deleteRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "emitEphemeralRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "forceEnd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getBattlePlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + }, + { + "internalType": "uint16", + "name": "_oreAmount", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_treasureAmount", + "type": "uint16" + } + ], + "name": "getCollections", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getField", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getFieldLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + } + ], + "name": "getFieldSlice", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "name": "getKeySchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getRecord", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSenderPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getUserInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "name": "getValueSchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "goHome", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "name": "grantAccess", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_player", + "type": "address" + } + ], + "name": "initPlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initUserInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "name": "installModule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "name": "installRootModule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "joinBattlefield", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct Position[]", + "name": "moveList", + "type": "tuple[]" + } + ], + "name": "move", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "name": "openBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "byteLengthToPop", + "type": "uint256" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "popFromField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "dataToPush", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "pushToField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "systemFunctionName", + "type": "string" + }, + { + "internalType": "string", + "name": "systemFunctionArguments", + "type": "string" + } + ], + "name": "registerFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes16", + "name": "namespace", + "type": "bytes16" + } + ], + "name": "registerNamespace", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + }, + { + "internalType": "bytes4", + "name": "systemFunctionSelector", + "type": "bytes4" + } + ], + "name": "registerRootFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "contract IStoreHook", + "name": "hook", + "type": "address" + } + ], + "name": "registerStoreHook", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract System", + "name": "system", + "type": "address" + }, + { + "internalType": "bool", + "name": "publicAccess", + "type": "bool" + } + ], + "name": "registerSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract ISystemHook", + "name": "hook", + "type": "address" + } + ], + "name": "registerSystemHook", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "keySchema", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "string[]", + "name": "keyNames", + "type": "string[]" + }, + { + "internalType": "string[]", + "name": "fieldNames", + "type": "string[]" + } + ], + "name": "registerTable", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_action", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_arg", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_nonce", + "type": "bytes32" + } + ], + "name": "revealBattle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "name": "revealBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "revealWinner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "name": "revokeAccess", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + } + ], + "name": "selectBothNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "selectLootNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "selectUserNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "setField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + } + ], + "name": "setInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "submitGem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockUserLocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "startByteIndex", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "dataToSet", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "updateInField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json new file mode 100644 index 00000000..daed5dfd --- /dev/null +++ b/packages/contracts/out/IWorld.sol/IWorld.json @@ -0,0 +1,3957 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + }, + { + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "AccessDenied", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "name": "FunctionSelectorExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "name": "FunctionSelectorNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "InvalidSelector", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "module", + "type": "string" + } + ], + "name": "ModuleAlreadyInstalled", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "ResourceExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "name": "ResourceNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_DataIndexOverflow", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidDataLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidFieldNamesLength", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "name": "StoreCore_InvalidKeyNamesLength", + "type": "error" + }, + { + "inputs": [], + "name": "StoreCore_NotDynamicField", + "type": "error" + }, + { + "inputs": [], + "name": "StoreCore_NotImplemented", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "name": "StoreCore_TableAlreadyExists", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "name": "StoreCore_TableNotFound", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "system", + "type": "address" + } + ], + "name": "SystemExists", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "HelloWorld", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + } + ], + "name": "StoreDeleteRecord", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreEphemeralRecord", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreSetField", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "StoreSetRecord", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_y", + "type": "uint16" + } + ], + "name": "CreateBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "GetSeasonInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "SetMapMerkleRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_end", + "type": "uint256" + } + ], + "name": "SetSeasonInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "SetUserContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct Position[]", + "name": "positionList", + "type": "tuple[]" + } + ], + "name": "battleInvitation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "funcSelectorAndArgs", + "type": "bytes" + } + ], + "name": "call", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_buffHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "confirmBattle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "deleteRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "emitEphemeralRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "forceEnd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getBattlePlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + }, + { + "internalType": "uint16", + "name": "_oreAmount", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_treasureAmount", + "type": "uint16" + } + ], + "name": "getCollections", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getField", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getFieldLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + } + ], + "name": "getFieldSlice", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "name": "getKeySchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "getPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "getRecord", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSenderPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getUserInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "name": "getValueSchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "goHome", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "name": "grantAccess", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_player", + "type": "address" + } + ], + "name": "initPlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initUserInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "name": "installModule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "name": "installRootModule", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "joinBattlefield", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ], + "internalType": "struct Position[]", + "name": "moveList", + "type": "tuple[]" + } + ], + "name": "move", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "name": "openBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "byteLengthToPop", + "type": "uint256" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "popFromField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "dataToPush", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "pushToField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "systemFunctionName", + "type": "string" + }, + { + "internalType": "string", + "name": "systemFunctionArguments", + "type": "string" + } + ], + "name": "registerFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes16", + "name": "namespace", + "type": "bytes16" + } + ], + "name": "registerNamespace", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + }, + { + "internalType": "bytes4", + "name": "systemFunctionSelector", + "type": "bytes4" + } + ], + "name": "registerRootFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "contract IStoreHook", + "name": "hook", + "type": "address" + } + ], + "name": "registerStoreHook", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract System", + "name": "system", + "type": "address" + }, + { + "internalType": "bool", + "name": "publicAccess", + "type": "bool" + } + ], + "name": "registerSystem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract ISystemHook", + "name": "hook", + "type": "address" + } + ], + "name": "registerSystemHook", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "keySchema", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "string[]", + "name": "keyNames", + "type": "string[]" + }, + { + "internalType": "string[]", + "name": "fieldNames", + "type": "string[]" + } + ], + "name": "registerTable", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_action", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_arg", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_nonce", + "type": "bytes32" + } + ], + "name": "revealBattle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "name": "revealBox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "name": "revealWinner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "name": "revokeAccess", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + } + ], + "name": "selectBothNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "selectLootNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "selectUserNft", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "setField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + } + ], + "name": "setInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "setRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "submitGem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + } + ], + "name": "transfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unlockUserLocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "startByteIndex", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "dataToSet", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "name": "updateInField", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x", + "sourceMap": "", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x", + "sourceMap": "", + "linkReferences": {} + }, + "methodIdentifiers": { + "CreateBox(uint16,uint16)": "ac34af91", + "GetSeasonInfo()": "2a9d93e6", + "SetMapMerkleRoot(bytes32)": "13d4a1c7", + "SetSeasonInfo(uint256,uint256)": "2b934ac4", + "SetUserContract(address)": "0252b86c", + "battleInvitation(address,(uint16,uint16,bytes32[])[])": "68747c41", + "call(bytes32,bytes)": "3ae7af08", + "confirmBattle(bytes32,uint256)": "62ca2162", + "deleteRecord(bytes32,bytes32[],bytes32)": "b850a041", + "emitEphemeralRecord(bytes32,bytes32[],bytes,bytes32)": "88189294", + "forceEnd(uint256)": "f152b5bd", + "getBattlePlayerHp(uint256,address)": "b506b103", + "getCollections(uint256,uint16,uint16)": "f0d744ed", + "getField(bytes32,bytes32[],uint8,bytes32)": "05242d2f", + "getFieldLength(bytes32,bytes32[],uint8,bytes32)": "9f1fcf0a", + "getFieldSlice(bytes32,bytes32[],uint8,bytes32,uint256,uint256)": "d3a26b06", + "getInfo(address)": "ffdd5cf1", + "getKeySchema(bytes32)": "d4285dc2", + "getPosition(address)": "16c19739", + "getRecord(bytes32,bytes32[],bytes32)": "419b58fd", + "getSenderPosition()": "5af5cf8d", + "getUserInfo(uint256)": "d379dadf", + "getValueSchema(bytes32)": "e228a4a3", + "goHome()": "9055c111", + "grantAccess(bytes32,address)": "40554c3a", + "initPlayerHp(address)": "864924d6", + "initUserInfo()": "342516a7", + "installModule(address,bytes)": "8da798da", + "installRootModule(address,bytes)": "af068c9e", + "joinBattlefield()": "9ebfc58a", + "move((uint16,uint16,bytes32[])[])": "6f330272", + "openBox(uint256)": "b1e5e2b7", + "popFromField(bytes32,bytes32[],uint8,uint256,bytes32)": "6e161b76", + "pushToField(bytes32,bytes32[],uint8,bytes,bytes32)": "0edac7fd", + "registerFunctionSelector(bytes32,string,string)": "3c03a51c", + "registerNamespace(bytes16)": "a886545e", + "registerRootFunctionSelector(bytes32,bytes4,bytes4)": "b7a3c756", + "registerStoreHook(bytes32,address)": "6e81fd71", + "registerSystem(bytes32,address,bool)": "3350b6a9", + "registerSystemHook(bytes32,address)": "686a813e", + "registerTable(bytes32,bytes32,bytes32,string[],string[])": "f58afc54", + "revealBattle(uint256,bytes32,uint256,bytes32)": "fdec9328", + "revealBox(uint256)": "6981e607", + "revealWinner(uint256)": "8ccb59e8", + "revokeAccess(bytes32,address)": "8d53b208", + "selectBothNFT(uint256,uint256)": "e9be9111", + "selectLootNFT(uint256)": "f5778754", + "selectUserNft(uint256)": "3ee77c01", + "setField(bytes32,bytes32[],uint8,bytes,bytes32)": "3708196e", + "setInfo(string,string)": "a923fc40", + "setRecord(bytes32,bytes32[],bytes,bytes32)": "b368b998", + "submitGem()": "f2f2e507", + "transfer(address,uint16,uint16)": "672296dc", + "unlockUserLocation()": "7ad5cf14", + "updateInField(bytes32,bytes32[],uint8,uint256,bytes,bytes32)": "31914148" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"InvalidSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"module\",\"type\":\"string\"}],\"name\":\"ModuleAlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"}],\"name\":\"ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_DataIndexOverflow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"StoreCore_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotDynamicField\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StoreCore_NotImplemented\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"StoreCore_TableNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"SystemExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"}],\"name\":\"StoreDeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreEphemeralRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetField\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"StoreSetRecord\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_y\",\"type\":\"uint16\"}],\"name\":\"CreateBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetSeasonInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"SetMapMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_end\",\"type\":\"uint256\"}],\"name\":\"SetSeasonInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"SetUserContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_targetAddress\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"positionList\",\"type\":\"tuple[]\"}],\"name\":\"battleInvitation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"funcSelectorAndArgs\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_buffHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"confirmBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"emitEphemeralRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"forceEnd\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBattlePlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_oreAmount\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"_treasureAmount\",\"type\":\"uint16\"}],\"name\":\"getCollections\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSenderPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getUserInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"goHome\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_player\",\"type\":\"address\"}],\"name\":\"initPlayerHp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initUserInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"args\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinBattlefield\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"},{\"internalType\":\"bytes32[]\",\"name\":\"proof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct Position[]\",\"name\":\"moveList\",\"type\":\"tuple[]\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"openBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"popFromField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"pushToField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionArguments\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes16\",\"name\":\"namespace\",\"type\":\"bytes16\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hook\",\"type\":\"address\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_action\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_arg\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_nonce\",\"type\":\"bytes32\"}],\"name\":\"revealBattle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_boxId\",\"type\":\"uint256\"}],\"name\":\"revealBox\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_battleId\",\"type\":\"uint256\"}],\"name\":\"revealWinner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"resourceSelector\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_userTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lootTokenId\",\"type\":\"uint256\"}],\"name\":\"selectBothNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"selectLootNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"selectUserNft\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"name\":\"setInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"submitGem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockUserLocation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"table\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"key\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"schemaIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"startByteIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"dataToSet\",\"type\":\"bytes\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"name\":\"updateInField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given resource selector (namespace + name) If the system is not public, the caller must have access to the namespace or name.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\"}},\"notice\":\"The IWorld interface includes all systems dynamically added to the World during the deploy process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x7e86f39f7e0d29342d79144af3c48a3f9f103aca38603318e999483f33cbd966\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7956d2a9b27689d615ae66d0e85f96c86509274fd8f1dc4c4f8dbd204936cea\",\"dweb:/ipfs/QmTgn4tdtbcDEoVcYcgQzS1u8epSbFnefWc9Nbt9eBkjbT\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x52bd79fd98b47bddbc4ccae178b9258cf308c15d41ecbbce57ee46beb17e6787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a48beb7750a813f1b351299de1b78287e9b8e41e4a35762aaa11fb28679c2d8\",\"dweb:/ipfs/Qmcnm5Tb6mUcSjC22z4Ke6DBV1rkYJmZcU1w442QpgTbff\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x0a2728e859ae0ade6b6d425ac8656c83a4e665aa8192a2a4397948869bdc2eea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d06c0fa440f8572adadd3c743791bdb8ffc4468d7cc475e03406acd75be38145\",\"dweb:/ipfs/QmezfepEFeDECZ3kZAwW2p3xuVmmJUbFRTDPnBPH6TAbdB\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x9db1089c5ae5ad585fdbc87f0ec14bdb82ec5098ebd27b67b1c6111853b72749\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa6b81aa9d63d9bcf5e9a5b82b03df8c135519d10fa69d232f1ae658ed780b71\",\"dweb:/ipfs/QmNnf8KEDtMYofpT7iDd89chmw7zpvuZGVDhzjZXarQHE2\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x1edc427b0d26609d1ce739b82b78fc03ae9f7463c3a81e8f8c608516ca7b0089\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41cfaaf85af74c83b20ef308daa69ac65101ffbb2690d6888a06cbb55bf37146\",\"dweb:/ipfs/QmQp4Sf98TfifmsSNU5nVeG7UABWobaUf5oVR38Dh1kpw1\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x5b653faa6c1d6732f6d5e5feaff282bbea099d8d01c8f6d54b4f7732f5e2a8b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57e75c7aac764d3194a196daeea17a78f0bdc1471aa0c0fb5ba93b7f41ad2c01\",\"dweb:/ipfs/QmQHnzXtDLc9eryiXH1DopezvbQgnHChbxQS1ZNpscqHuw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xb5952acdf7eb89759e1a09a698935c23b8f3cadad2dbb2c5629fc265189c9337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b841654b762ac86a139e0bc5df49334ab5133f61e8fab59a66fbd57f9b6607e7\",\"dweb:/ipfs/Qmdn4DRGcU843BdWDWTk4n9aP79c4ybB9X92ejQxKvCYid\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x617c3624e15cb755857ac172a49ae11e0db688984c4d16a8de8e3c172a13ef7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71916605d89da3be4ac1b434e877dfac95dadea8b61b720a5204efac1ca94487\",\"dweb:/ipfs/QmTeZJRJ8Ev8LFQSCHuc6tYG7Vz6VtkBozbWzZgPWSXtcP\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0xd3319f1bf70094e2a436419a7ed9cb4ea6a46efe2df3ccf64fa1b5b4107b54cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff7173aa1002730caade98fa7c8b8b8a7ad34b8f40dd405abae28269124aaf51\",\"dweb:/ipfs/QmdRrsS9yf27xHdgRuNwX7JoqttzyKmVGWQSnZeTmiMksm\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x0b65c36067dfff4ad8168dc2006ff9e53cde2469e4e21eccde010cff9ea78b2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a5af9eadfefe1b54a13e402161783d697160bfe658e33803a11f55e9fa6b494\",\"dweb:/ipfs/QmbvEYmiLbSC1jpu65R93QkiB6DpsGHhzyauH9XyQdtfC9\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x853651c0be864e7f4f81dbbba4536bb159a5cb77c0b5ceb977a633321b1ff3e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9b809cc7016225fee4781db22a360d65b4cddcb44a6ae315937b471f46363c\",\"dweb:/ipfs/QmTDUoqqXppFNvGnVUUZPpz1LNECYqX6bX341vUVwpYSDL\"]},\"node_modules/@latticexyz/store/src/Utils.sol\":{\"keccak256\":\"0x50a3bf74a64f0846c3212b599d2ebd6f220ae562a7ddd01584398d05c5206578\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c44640063d30f054c20dc701b92cbefe64ef4c2cdde686746de4a11c76dfa5c\",\"dweb:/ipfs/QmawdG9zbqoMTCKGJUYfHNuBqeBgdKCdy18BftGd4c9hJA\"]},\"node_modules/@latticexyz/store/src/codegen/Tables.sol\":{\"keccak256\":\"0x567dac75ee912726ad29744f9ba7ef527e8148c213d62442c79010b406710273\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f744bcbd592a8ae5bfe8f99f8952665c44a61413184859080df1bc5947880979\",\"dweb:/ipfs/QmcRG7yXyEgfL8pSQXqjYNZ6G1DUdJkkDMRYCagMZLYUXT\"]},\"node_modules/@latticexyz/store/src/codegen/Types.sol\":{\"keccak256\":\"0x23ba2a20a16a4265f122c5e08e5b9881fd827f2cd7a92427740ee1eb3c4e7628\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01236b9e7ffec2b6468e4b7dbc418453c2e5d73eaa14ebf4f5056619f46ad6b7\",\"dweb:/ipfs/QmSHA9efL43SUYbFtgCGv9ucZPD9ULi8o8ENpURAvDGhdB\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol\":{\"keccak256\":\"0x8da9b947da2ce09f06aa0e8ef03c459f9a209de4546c1b48ff856306958d06bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ea33ce2a5cd10189c223a5553ccb8f07707328748f5ebf15ead50c1eeb72e47\",\"dweb:/ipfs/QmcPvNJ1992qaz278co4Yhjhr6eZCaY6PchqMHPMiuZRSj\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xcdf71af7def6c165fdf07ae749baaf82717c1869a5c26e4cb8241c89fe82a6ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d5cf5cdc0ce87d3dcc9d71997410ca0bae5fdedeb71f4bf1b64363d83bc4e7fe\",\"dweb:/ipfs/QmPYAVErLNYZsF1iySgYvjUq3PuoXEW5MXyKDDQVuvM8fq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/KeyEncoding.sol\":{\"keccak256\":\"0xdb8111fcf15adc44e70ecffe8147d831681bbd02f903e4018598802e8b40d16c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a183262de5687b2d91f607c6d18b5b116d792bc3c45c09a92231cb6c9067df6\",\"dweb:/ipfs/QmNdwHZsVBRuMQjtntxuMbtYv9bXDZMepvhqge6h4rU6Nc\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol\":{\"keccak256\":\"0x1df0bb93269b94e8d5ef7e396e4d2cfb6aba795194799a5c7fc4b8d494a1fc16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dffc44bb6386a0fdfba116088a0dc66901e705c9079cd24ce613babb981a587f\",\"dweb:/ipfs/QmapF8fhrjG9uei97ANRdoMaxpv6tcA6nBts51bW8XVY8C\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x0fc67f4823698339c9316a8dccd99cf11cd2f189d961ddd6fe5e0ea766e0e02a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8937de034e2170d0eb9df2dfdb16fd13cc1826870831dfd071f2e85fffc84283\",\"dweb:/ipfs/QmVgfTWnBSreNJEd17bTt1GLrMGZ74DvGfzy7JSYiUMuhx\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol\":{\"keccak256\":\"0x9a0205729b68a920b554a9b5c3407f07fee5717aa5e6d9541d10a837f2ee9254\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c873ef09df14a045a0ba9371ada2786460996d8279496f674eb0a530807f065\",\"dweb:/ipfs/QmaM1EhCyTt2CGEktTgKFfpZZNdarUXQWTNamcwpqL7gCC\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x63fa0cb7b7a2c225d17a3d22c3ba81e543da1388495c8747dfb3e129a3787d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0f7bfe7f001bb00d95ad493e12b5220f4fb7d175161c747464e2d59c0a93eb8\",\"dweb:/ipfs/QmZeDyzinRWnfoQme8R9mbMpCu9KiUw1AzjPb1SQzNV5oC\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0xbf4ea9fa659ffb1581d417de93082ec9b4586bf7aeda078c2649bd382f0c54dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6860d8f58c2e8f0dde310a1b1e94d2aa355ad060f3797708fcc978be304faf1e\",\"dweb:/ipfs/QmeypWegTQ89bUHab3yptatH6CA8xirJbCMGHqZ7WcXnzA\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x844f8ffa93563ff87cb959947879868a79c53aa0c034f2fa9beba4b571a8d304\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1686477bec31cff0460212420bf69e02be62288039a20f0d76d33dbb98615755\",\"dweb:/ipfs/QmWLijVaJk7FKTsBq7Cc2YuJom1ioRaGLX69NQybN9dNBR\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b\",\"dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x2f2c8c55627287b9519ef57dae24c72bb82ec5abbd33ab9142bcdd931e62c1f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d78c65acf3452474b023978dd13491f58ce4b98b3c2b87a1e0e6827d605d791a\",\"dweb:/ipfs/QmVHDrC2Jp4tp1nWLuzDVK5D8VLBP52w2pYVLtfkCKpLiC\"]},\"node_modules/@latticexyz/world/src/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xb98e1732343d23c9c2d4bc59643da1798bf651b7c272cecd7b74e3d37ac7363c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e81c35c04c7deb9cbbea43c93d50bd685dd252eea3e4e2d25f0a29f8dcf4252\",\"dweb:/ipfs/QmZDUvrsFdTmBq5aTgP976Rbd3Yt1CHLpLeaUJQEVW4jCC\"]},\"node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38\",\"dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D\"]},\"node_modules/@latticexyz/world/src/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090\",\"dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG\"]},\"node_modules/@latticexyz/world/src/interfaces/IModule.sol\":{\"keccak256\":\"0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178\",\"dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf\"]},\"node_modules/@latticexyz/world/src/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x77b05ecc98755a3b48f0296af3146486890d140eff7b1cc6e95be95a6aab80c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://684155a7539c00796d2e00c3d67dc8d9c5e707e3fac37089df84a346607efdc2\",\"dweb:/ipfs/QmeAPVzvTmaiHBtvFVw92XNmWmQ63RqWAgzNqBGRYwyzkz\"]},\"node_modules/@latticexyz/world/src/interfaces/ISystemHook.sol\":{\"keccak256\":\"0x1dc2adc81b6e82cd5c1040f5885b2b762647166ff1114ee0c79cd478bd8ce5da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77e5f86a4cf46f35d4514c9c3a8f47dfa359d8a7fbf726636010296e6955a1f0\",\"dweb:/ipfs/QmPePQhXzCnF4kmTvjcQwwJQZuNPuvnEtkJKccrvRErG6B\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldErrors.sol\":{\"keccak256\":\"0x214a9f68915fb01baad4a4ca2c65545d26e481fc14b0ceadb9e4f378c4eec08a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b93db1cb7d5212d54fe776587d5ceddf56ab276cc72c969f28604bddb8b665\",\"dweb:/ipfs/QmSQJ82HRvBaknXWnwXWNYJj9EHuaiBCPe7W9C9uwyUNCW\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldKernel.sol\":{\"keccak256\":\"0x6e69614573bd17550f9d0f820a7ed9077678b4aa00c71bfca51be8346a06bcb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b49527c2f3396ccc4cacce17ef4c2aae1dc4bf74b07d2127543918579d424210\",\"dweb:/ipfs/QmQV8a2CeAHXwqzLshBcvK9EwEayLemzJCsjHfrTxPYkH6\"]},\"node_modules/@latticexyz/world/src/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x918e79655a2724496ffd1130925e2cfbd7711e7e2759d47d15fd174e7ddd1540\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d2854beec35e9047b41d5669eaa0cb4840f0331f0232164f659b67c5377f3ad\",\"dweb:/ipfs/QmfWzr97XvWTHwrfZ2RF3QZq6QKvd5fvNydSKyQAFDuuDs\"]},\"src/codegen/world/IBattleForceSystem.sol\":{\"keccak256\":\"0x99957a0151894f7611439537e3e13a3cd1f0ae2341bd17173fd9d5d18e25486a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ecb3cbbe4824412fa22af7caed4a61de198da4611cce3a5e2d91393c9dbe0a0\",\"dweb:/ipfs/QmViuB8Lr2yQ9xnQhvpB8wJLUJqoSoHLRf1tkVF8oedzif\"]},\"src/codegen/world/IBattleInfoSystem.sol\":{\"keccak256\":\"0x99558a0ef33e4b84354fcd8fd6e0db1260da9ede0e8f5f0d6545774fad91cc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3903ffa69ba2b60a2b9f4928d375dd5a7d11c0d9f971a7d5f63a67d87322cffb\",\"dweb:/ipfs/QmduAGo4xsU4A6Xd7cpFUQJMkYMmcyeDWoT8Ur5ki2Tz1k\"]},\"src/codegen/world/IBattlePrepareSystem.sol\":{\"keccak256\":\"0x2a524080e4e5058c090100b05a4c68c863b69b32facc4529460ed7569ac8534a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f271eb9eb85783e73a04a096f2216b0fbaff6e3ac9f554966a62ee925e7bb49\",\"dweb:/ipfs/QmbLNbVMUiDQB7RAURKVouSjTmCizKycUNLCmXy2LbZxs6\"]},\"src/codegen/world/IBattleSystem.sol\":{\"keccak256\":\"0x3a3900f49d7f50416838f03cb1d978a40cee79664919b01c61a1aa0d7cb758a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bae16a85aa3f8c45adb539d28f422076958b434f3ff739059c1e63a5e0f70e9e\",\"dweb:/ipfs/QmW8mxoaKYu5vNozpBjNBGtNzMxfDfSMRavHnTv7qDv4pG\"]},\"src/codegen/world/IBoxSystem.sol\":{\"keccak256\":\"0x0a77ebe6ff0a0025b8e0c8f32ae08945c3215a1e993411d510fc09c73242e734\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b753ad86100470dc3888be59c7ac0e619a7c33ad447aaa31088a5c00512d3\",\"dweb:/ipfs/QmcAJ8gmG6KM8MLdekHagaGVhat51AuqD2TmgJdoDTbCHc\"]},\"src/codegen/world/IGMSystem.sol\":{\"keccak256\":\"0xc3e1a06c9e4f8fc4821da947bdd325e89a37b121af59f670ba553a29b02f35f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6154d1c9a0e0494bc5e8940ae516d24a17bd8aa162b8532fa5afa34d3599d74\",\"dweb:/ipfs/QmSWwbvcLQNbWdgueSgV2XdV1bY1NVRDYwY4t2RnXDabrf\"]},\"src/codegen/world/IGameSystem.sol\":{\"keccak256\":\"0x9a7cf5b861e49deda8793d9a2f4a4b80591e93b60727cc6d61ef70d76e205a03\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4706d646c8e1155d15cf2141a1a4d108ee7eb66459343ef38010fcf78d53656c\",\"dweb:/ipfs/QmY6GEsrH4jP46CZDCY8u3RnNonDo6cGFDyXXrbP2mvkZW\"]},\"src/codegen/world/IMoveSystem.sol\":{\"keccak256\":\"0x575faa695b3b5e5fe7ad93a0ba629a43bac28e5fe3b155551b383ac3411ff6ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16e8701115764ff051937aaffe7fb7bad7a5aee311ac787b936dfeaa160c2f9a\",\"dweb:/ipfs/QmSDS2wqBNfeQEPqiygXSjHjCNYbQWnJ17cbphsG4p8v8s\"]},\"src/codegen/world/IPlayerSystem.sol\":{\"keccak256\":\"0xabf6b1e495a2e6ea98ccb6508f9299ff89d128c71839ace40235ceabb941484f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f957b593598bc6b7712b630721b39707a10ae2f751b37d3adebe46aef0ff1a5\",\"dweb:/ipfs/QmWGwKzUQ8sy7koUM5APnGAGAsCHKdJEpTF8UUnTsupZZN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xc0ab5afcd25eb6ef00e9d480f87d80893c0bf3b1e8461bd28f3487bd29efb092\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adae613b8fa01b76e2182c7a8a392f942bf36bb9a881e1c53ff07903bb5af07a\",\"dweb:/ipfs/QmdSih7Ust1BCqcuwXERF4fqnXJur2d2mLEj5LvJWZgfhr\"]},\"src/systems/Common.sol\":{\"keccak256\":\"0x25b1b37460f5741acb0549e81117b148505f656a8f93a0aff47720167e92e4e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c0ecd5e7ac72fb5f98f794ddb82bba865cf7fd72d95a19e7e6a51f6dd214983\",\"dweb:/ipfs/QmYPRFyZN6eWs9xCnU9k5Yz9vErMdHPyxBKP7UXwAsJ6gc\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + }, + { + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "type": "error", + "name": "AccessDenied" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "type": "error", + "name": "FunctionSelectorExists" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "functionSelector", + "type": "bytes4" + } + ], + "type": "error", + "name": "FunctionSelectorNotFound" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "type": "error", + "name": "InvalidSelector" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "module", + "type": "string" + } + ], + "type": "error", + "name": "ModuleAlreadyInstalled" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "type": "error", + "name": "ResourceExists" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "resource", + "type": "string" + } + ], + "type": "error", + "name": "ResourceNotFound" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "type": "error", + "name": "StoreCore_DataIndexOverflow" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "type": "error", + "name": "StoreCore_InvalidDataLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "type": "error", + "name": "StoreCore_InvalidFieldNamesLength" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "expected", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "received", + "type": "uint256" + } + ], + "type": "error", + "name": "StoreCore_InvalidKeyNamesLength" + }, + { + "inputs": [], + "type": "error", + "name": "StoreCore_NotDynamicField" + }, + { + "inputs": [], + "type": "error", + "name": "StoreCore_NotImplemented" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "type": "error", + "name": "StoreCore_TableAlreadyExists" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "tableId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "tableIdString", + "type": "string" + } + ], + "type": "error", + "name": "StoreCore_TableNotFound" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "system", + "type": "address" + } + ], + "type": "error", + "name": "SystemExists" + }, + { + "inputs": [], + "type": "event", + "name": "HelloWorld", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32", + "indexed": false + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]", + "indexed": false + } + ], + "type": "event", + "name": "StoreDeleteRecord", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32", + "indexed": false + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]", + "indexed": false + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "StoreEphemeralRecord", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32", + "indexed": false + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]", + "indexed": false + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8", + "indexed": false + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "StoreSetField", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32", + "indexed": false + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]", + "indexed": false + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes", + "indexed": false + } + ], + "type": "event", + "name": "StoreSetRecord", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_y", + "type": "uint16" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "CreateBox" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "GetSeasonInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "SetMapMerkleRoot" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_end", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "SetSeasonInfo" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "SetUserContract" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "struct Position[]", + "name": "positionList", + "type": "tuple[]", + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "battleInvitation" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "funcSelectorAndArgs", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function", + "name": "call", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_buffHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "confirmBattle" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deleteRecord" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "emitEphemeralRecord" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "forceEnd" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getBattlePlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + }, + { + "internalType": "uint16", + "name": "_oreAmount", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_treasureAmount", + "type": "uint16" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "getCollections" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getField", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getFieldLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getFieldSlice", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getKeySchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getRecord", + "outputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getSenderPosition", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getUserInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getValueSchema", + "outputs": [ + { + "internalType": "Schema", + "name": "schema", + "type": "bytes32" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "goHome" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "grantAccess" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_player", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "initPlayerHp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "initUserInfo" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "installModule" + }, + { + "inputs": [ + { + "internalType": "contract IModule", + "name": "module", + "type": "address" + }, + { + "internalType": "bytes", + "name": "args", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "installRootModule" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "joinBattlefield" + }, + { + "inputs": [ + { + "internalType": "struct Position[]", + "name": "moveList", + "type": "tuple[]", + "components": [ + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + }, + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "move" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "openBox" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "byteLengthToPop", + "type": "uint256" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "popFromField" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "dataToPush", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "pushToField" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "systemFunctionName", + "type": "string" + }, + { + "internalType": "string", + "name": "systemFunctionArguments", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes16", + "name": "namespace", + "type": "bytes16" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerNamespace" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "bytes4", + "name": "worldFunctionSelector", + "type": "bytes4" + }, + { + "internalType": "bytes4", + "name": "systemFunctionSelector", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerRootFunctionSelector", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ] + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "contract IStoreHook", + "name": "hook", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerStoreHook" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract System", + "name": "system", + "type": "address" + }, + { + "internalType": "bool", + "name": "publicAccess", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerSystem" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "contract ISystemHook", + "name": "hook", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerSystemHook" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "keySchema", + "type": "bytes32" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + }, + { + "internalType": "string[]", + "name": "keyNames", + "type": "string[]" + }, + { + "internalType": "string[]", + "name": "fieldNames", + "type": "string[]" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerTable" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_action", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_arg", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_nonce", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealBattle" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_boxId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealBox" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_battleId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealWinner" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "resourceSelector", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "grantee", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revokeAccess" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "selectBothNFT" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "selectLootNFT" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "selectUserNft" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setField" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "url", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setInfo" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setRecord" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "submitGem" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint16", + "name": "x", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "y", + "type": "uint16" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer" + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "unlockUserLocation" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "table", + "type": "bytes32" + }, + { + "internalType": "bytes32[]", + "name": "key", + "type": "bytes32[]" + }, + { + "internalType": "uint8", + "name": "schemaIndex", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "startByteIndex", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "dataToSet", + "type": "bytes" + }, + { + "internalType": "Schema", + "name": "valueSchema", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "updateInField" + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "call(bytes32,bytes)": { + "notice": "Call the system at the given resource selector (namespace + name) If the system is not public, the caller must have access to the namespace or name." + }, + "installRootModule(address,bytes)": { + "notice": "Install the given root module in the World. Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/codegen/world/IWorld.sol": "IWorld" + }, + "libraries": {} + }, + "sources": { + "node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol": { + "keccak256": "0x7e86f39f7e0d29342d79144af3c48a3f9f103aca38603318e999483f33cbd966", + "urls": [ + "bzz-raw://a7956d2a9b27689d615ae66d0e85f96c86509274fd8f1dc4c4f8dbd204936cea", + "dweb:/ipfs/QmTgn4tdtbcDEoVcYcgQzS1u8epSbFnefWc9Nbt9eBkjbT" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Bytes.sol": { + "keccak256": "0x52bd79fd98b47bddbc4ccae178b9258cf308c15d41ecbbce57ee46beb17e6787", + "urls": [ + "bzz-raw://0a48beb7750a813f1b351299de1b78287e9b8e41e4a35762aaa11fb28679c2d8", + "dweb:/ipfs/Qmcnm5Tb6mUcSjC22z4Ke6DBV1rkYJmZcU1w442QpgTbff" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/IStore.sol": { + "keccak256": "0x0a2728e859ae0ade6b6d425ac8656c83a4e665aa8192a2a4397948869bdc2eea", + "urls": [ + "bzz-raw://d06c0fa440f8572adadd3c743791bdb8ffc4468d7cc475e03406acd75be38145", + "dweb:/ipfs/QmezfepEFeDECZ3kZAwW2p3xuVmmJUbFRTDPnBPH6TAbdB" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/IStoreErrors.sol": { + "keccak256": "0x9db1089c5ae5ad585fdbc87f0ec14bdb82ec5098ebd27b67b1c6111853b72749", + "urls": [ + "bzz-raw://fa6b81aa9d63d9bcf5e9a5b82b03df8c135519d10fa69d232f1ae658ed780b71", + "dweb:/ipfs/QmNnf8KEDtMYofpT7iDd89chmw7zpvuZGVDhzjZXarQHE2" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Memory.sol": { + "keccak256": "0x1edc427b0d26609d1ce739b82b78fc03ae9f7463c3a81e8f8c608516ca7b0089", + "urls": [ + "bzz-raw://41cfaaf85af74c83b20ef308daa69ac65101ffbb2690d6888a06cbb55bf37146", + "dweb:/ipfs/QmQp4Sf98TfifmsSNU5nVeG7UABWobaUf5oVR38Dh1kpw1" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/PackedCounter.sol": { + "keccak256": "0x5b653faa6c1d6732f6d5e5feaff282bbea099d8d01c8f6d54b4f7732f5e2a8b6", + "urls": [ + "bzz-raw://57e75c7aac764d3194a196daeea17a78f0bdc1471aa0c0fb5ba93b7f41ad2c01", + "dweb:/ipfs/QmQHnzXtDLc9eryiXH1DopezvbQgnHChbxQS1ZNpscqHuw" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Schema.sol": { + "keccak256": "0xb5952acdf7eb89759e1a09a698935c23b8f3cadad2dbb2c5629fc265189c9337", + "urls": [ + "bzz-raw://b841654b762ac86a139e0bc5df49334ab5133f61e8fab59a66fbd57f9b6607e7", + "dweb:/ipfs/Qmdn4DRGcU843BdWDWTk4n9aP79c4ybB9X92ejQxKvCYid" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Slice.sol": { + "keccak256": "0x617c3624e15cb755857ac172a49ae11e0db688984c4d16a8de8e3c172a13ef7d", + "urls": [ + "bzz-raw://71916605d89da3be4ac1b434e877dfac95dadea8b61b720a5204efac1ca94487", + "dweb:/ipfs/QmTeZJRJ8Ev8LFQSCHuc6tYG7Vz6VtkBozbWzZgPWSXtcP" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Storage.sol": { + "keccak256": "0xd3319f1bf70094e2a436419a7ed9cb4ea6a46efe2df3ccf64fa1b5b4107b54cc", + "urls": [ + "bzz-raw://ff7173aa1002730caade98fa7c8b8b8a7ad34b8f40dd405abae28269124aaf51", + "dweb:/ipfs/QmdRrsS9yf27xHdgRuNwX7JoqttzyKmVGWQSnZeTmiMksm" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/StoreCore.sol": { + "keccak256": "0x0b65c36067dfff4ad8168dc2006ff9e53cde2469e4e21eccde010cff9ea78b2b", + "urls": [ + "bzz-raw://6a5af9eadfefe1b54a13e402161783d697160bfe658e33803a11f55e9fa6b494", + "dweb:/ipfs/QmbvEYmiLbSC1jpu65R93QkiB6DpsGHhzyauH9XyQdtfC9" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/StoreSwitch.sol": { + "keccak256": "0x853651c0be864e7f4f81dbbba4536bb159a5cb77c0b5ceb977a633321b1ff3e4", + "urls": [ + "bzz-raw://ec9b809cc7016225fee4781db22a360d65b4cddcb44a6ae315937b471f46363c", + "dweb:/ipfs/QmTDUoqqXppFNvGnVUUZPpz1LNECYqX6bX341vUVwpYSDL" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/Utils.sol": { + "keccak256": "0x50a3bf74a64f0846c3212b599d2ebd6f220ae562a7ddd01584398d05c5206578", + "urls": [ + "bzz-raw://4c44640063d30f054c20dc701b92cbefe64ef4c2cdde686746de4a11c76dfa5c", + "dweb:/ipfs/QmawdG9zbqoMTCKGJUYfHNuBqeBgdKCdy18BftGd4c9hJA" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/Tables.sol": { + "keccak256": "0x567dac75ee912726ad29744f9ba7ef527e8148c213d62442c79010b406710273", + "urls": [ + "bzz-raw://f744bcbd592a8ae5bfe8f99f8952665c44a61413184859080df1bc5947880979", + "dweb:/ipfs/QmcRG7yXyEgfL8pSQXqjYNZ6G1DUdJkkDMRYCagMZLYUXT" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/Types.sol": { + "keccak256": "0x23ba2a20a16a4265f122c5e08e5b9881fd827f2cd7a92427740ee1eb3c4e7628", + "urls": [ + "bzz-raw://01236b9e7ffec2b6468e4b7dbc418453c2e5d73eaa14ebf4f5056619f46ad6b7", + "dweb:/ipfs/QmSHA9efL43SUYbFtgCGv9ucZPD9ULi8o8ENpURAvDGhdB" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/Callbacks.sol": { + "keccak256": "0x8da9b947da2ce09f06aa0e8ef03c459f9a209de4546c1b48ff856306958d06bf", + "urls": [ + "bzz-raw://7ea33ce2a5cd10189c223a5553ccb8f07707328748f5ebf15ead50c1eeb72e47", + "dweb:/ipfs/QmcPvNJ1992qaz278co4Yhjhr6eZCaY6PchqMHPMiuZRSj" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": { + "keccak256": "0xcdf71af7def6c165fdf07ae749baaf82717c1869a5c26e4cb8241c89fe82a6ca", + "urls": [ + "bzz-raw://d5cf5cdc0ce87d3dcc9d71997410ca0bae5fdedeb71f4bf1b64363d83bc4e7fe", + "dweb:/ipfs/QmPYAVErLNYZsF1iySgYvjUq3PuoXEW5MXyKDDQVuvM8fq" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/KeyEncoding.sol": { + "keccak256": "0xdb8111fcf15adc44e70ecffe8147d831681bbd02f903e4018598802e8b40d16c", + "urls": [ + "bzz-raw://9a183262de5687b2d91f607c6d18b5b116d792bc3c45c09a92231cb6c9067df6", + "dweb:/ipfs/QmNdwHZsVBRuMQjtntxuMbtYv9bXDZMepvhqge6h4rU6Nc" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/Mixed.sol": { + "keccak256": "0x1df0bb93269b94e8d5ef7e396e4d2cfb6aba795194799a5c7fc4b8d494a1fc16", + "urls": [ + "bzz-raw://dffc44bb6386a0fdfba116088a0dc66901e705c9079cd24ce613babb981a587f", + "dweb:/ipfs/QmapF8fhrjG9uei97ANRdoMaxpv6tcA6nBts51bW8XVY8C" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": { + "keccak256": "0x0fc67f4823698339c9316a8dccd99cf11cd2f189d961ddd6fe5e0ea766e0e02a", + "urls": [ + "bzz-raw://8937de034e2170d0eb9df2dfdb16fd13cc1826870831dfd071f2e85fffc84283", + "dweb:/ipfs/QmVgfTWnBSreNJEd17bTt1GLrMGZ74DvGfzy7JSYiUMuhx" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/codegen/tables/Vector2.sol": { + "keccak256": "0x9a0205729b68a920b554a9b5c3407f07fee5717aa5e6d9541d10a837f2ee9254", + "urls": [ + "bzz-raw://5c873ef09df14a045a0ba9371ada2786460996d8279496f674eb0a530807f065", + "dweb:/ipfs/QmaM1EhCyTt2CGEktTgKFfpZZNdarUXQWTNamcwpqL7gCC" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": { + "keccak256": "0x63fa0cb7b7a2c225d17a3d22c3ba81e543da1388495c8747dfb3e129a3787d66", + "urls": [ + "bzz-raw://a0f7bfe7f001bb00d95ad493e12b5220f4fb7d175161c747464e2d59c0a93eb8", + "dweb:/ipfs/QmZeDyzinRWnfoQme8R9mbMpCu9KiUw1AzjPb1SQzNV5oC" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": { + "keccak256": "0xbf4ea9fa659ffb1581d417de93082ec9b4586bf7aeda078c2649bd382f0c54dd", + "urls": [ + "bzz-raw://6860d8f58c2e8f0dde310a1b1e94d2aa355ad060f3797708fcc978be304faf1e", + "dweb:/ipfs/QmeypWegTQ89bUHab3yptatH6CA8xirJbCMGHqZ7WcXnzA" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": { + "keccak256": "0x844f8ffa93563ff87cb959947879868a79c53aa0c034f2fa9beba4b571a8d304", + "urls": [ + "bzz-raw://1686477bec31cff0460212420bf69e02be62288039a20f0d76d33dbb98615755", + "dweb:/ipfs/QmWLijVaJk7FKTsBq7Cc2YuJom1ioRaGLX69NQybN9dNBR" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/System.sol": { + "keccak256": "0xf1342c8461adb4c5821c1ca106a67ba34402b36265fa63bf766eed937bd92bf9", + "urls": [ + "bzz-raw://ea41f96a27a26d56d62824e007b3b0234d44fcd94361e5c8f40fdb334cbf444b", + "dweb:/ipfs/QmRfj4iS5Lu9V4e47wsPQy4op1qQ6hqaJpERLB5EyzqW38" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/WorldContext.sol": { + "keccak256": "0x2f2c8c55627287b9519ef57dae24c72bb82ec5abbd33ab9142bcdd931e62c1f8", + "urls": [ + "bzz-raw://d78c65acf3452474b023978dd13491f58ce4b98b3c2b87a1e0e6827d605d791a", + "dweb:/ipfs/QmVHDrC2Jp4tp1nWLuzDVK5D8VLBP52w2pYVLtfkCKpLiC" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IAccessManagementSystem.sol": { + "keccak256": "0xb98e1732343d23c9c2d4bc59643da1798bf651b7c272cecd7b74e3d37ac7363c", + "urls": [ + "bzz-raw://8e81c35c04c7deb9cbbea43c93d50bd685dd252eea3e4e2d25f0a29f8dcf4252", + "dweb:/ipfs/QmZDUvrsFdTmBq5aTgP976Rbd3Yt1CHLpLeaUJQEVW4jCC" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol": { + "keccak256": "0x9d15d5ac7512631590eda71cb19937d10a9b253d8a9b61bec54e7b0471b3b785", + "urls": [ + "bzz-raw://09b18f736784a0f38d5d6b62733fba106ecb84fc8d1b2390236ab8b162511e38", + "dweb:/ipfs/QmPdvnPupSTBv8Vi2fRFe7A9NYfVuf2LtbdS1DiWXjHf9D" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/ICoreSystem.sol": { + "keccak256": "0x21e72828243fbf26d21594a423e9a32e86df07d3e435ea216a27c326546df106", + "urls": [ + "bzz-raw://e8ac8c4b2cdeddaf458e562e3f236a5c798664443eca1658038540d5585ee090", + "dweb:/ipfs/QmPbh7JmBcxqJV4YP78zVXpsmCSGnSN6g7M27MTkyUjRgG" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IModule.sol": { + "keccak256": "0x0c9f5a12f8b27ae6f02b6ca7ccfd7ab1de349e5c4773f99cfab1fd4721bc4a06", + "urls": [ + "bzz-raw://cafb66fbd4b3587121a2f2ff6fc5e4c32796e6469719899e181c3abac1479178", + "dweb:/ipfs/QmT6GKskhqmLadhuNVVbgDEgJ92jMsCdyLcfrSaiVQeZYf" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IModuleInstallationSystem.sol": { + "keccak256": "0x77b05ecc98755a3b48f0296af3146486890d140eff7b1cc6e95be95a6aab80c0", + "urls": [ + "bzz-raw://684155a7539c00796d2e00c3d67dc8d9c5e707e3fac37089df84a346607efdc2", + "dweb:/ipfs/QmeAPVzvTmaiHBtvFVw92XNmWmQ63RqWAgzNqBGRYwyzkz" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/ISystemHook.sol": { + "keccak256": "0x1dc2adc81b6e82cd5c1040f5885b2b762647166ff1114ee0c79cd478bd8ce5da", + "urls": [ + "bzz-raw://77e5f86a4cf46f35d4514c9c3a8f47dfa359d8a7fbf726636010296e6955a1f0", + "dweb:/ipfs/QmPePQhXzCnF4kmTvjcQwwJQZuNPuvnEtkJKccrvRErG6B" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IWorldErrors.sol": { + "keccak256": "0x214a9f68915fb01baad4a4ca2c65545d26e481fc14b0ceadb9e4f378c4eec08a", + "urls": [ + "bzz-raw://54b93db1cb7d5212d54fe776587d5ceddf56ab276cc72c969f28604bddb8b665", + "dweb:/ipfs/QmSQJ82HRvBaknXWnwXWNYJj9EHuaiBCPe7W9C9uwyUNCW" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IWorldKernel.sol": { + "keccak256": "0x6e69614573bd17550f9d0f820a7ed9077678b4aa00c71bfca51be8346a06bcb8", + "urls": [ + "bzz-raw://b49527c2f3396ccc4cacce17ef4c2aae1dc4bf74b07d2127543918579d424210", + "dweb:/ipfs/QmQV8a2CeAHXwqzLshBcvK9EwEayLemzJCsjHfrTxPYkH6" + ], + "license": "MIT" + }, + "node_modules/@latticexyz/world/src/interfaces/IWorldRegistrationSystem.sol": { + "keccak256": "0x918e79655a2724496ffd1130925e2cfbd7711e7e2759d47d15fd174e7ddd1540", + "urls": [ + "bzz-raw://9d2854beec35e9047b41d5669eaa0cb4840f0331f0232164f659b67c5377f3ad", + "dweb:/ipfs/QmfWzr97XvWTHwrfZ2RF3QZq6QKvd5fvNydSKyQAFDuuDs" + ], + "license": "MIT" + }, + "src/codegen/world/IBattleForceSystem.sol": { + "keccak256": "0x99957a0151894f7611439537e3e13a3cd1f0ae2341bd17173fd9d5d18e25486a", + "urls": [ + "bzz-raw://7ecb3cbbe4824412fa22af7caed4a61de198da4611cce3a5e2d91393c9dbe0a0", + "dweb:/ipfs/QmViuB8Lr2yQ9xnQhvpB8wJLUJqoSoHLRf1tkVF8oedzif" + ], + "license": "MIT" + }, + "src/codegen/world/IBattleInfoSystem.sol": { + "keccak256": "0x99558a0ef33e4b84354fcd8fd6e0db1260da9ede0e8f5f0d6545774fad91cc0c", + "urls": [ + "bzz-raw://3903ffa69ba2b60a2b9f4928d375dd5a7d11c0d9f971a7d5f63a67d87322cffb", + "dweb:/ipfs/QmduAGo4xsU4A6Xd7cpFUQJMkYMmcyeDWoT8Ur5ki2Tz1k" + ], + "license": "MIT" + }, + "src/codegen/world/IBattlePrepareSystem.sol": { + "keccak256": "0x2a524080e4e5058c090100b05a4c68c863b69b32facc4529460ed7569ac8534a", + "urls": [ + "bzz-raw://2f271eb9eb85783e73a04a096f2216b0fbaff6e3ac9f554966a62ee925e7bb49", + "dweb:/ipfs/QmbLNbVMUiDQB7RAURKVouSjTmCizKycUNLCmXy2LbZxs6" + ], + "license": "MIT" + }, + "src/codegen/world/IBattleSystem.sol": { + "keccak256": "0x3a3900f49d7f50416838f03cb1d978a40cee79664919b01c61a1aa0d7cb758a6", + "urls": [ + "bzz-raw://bae16a85aa3f8c45adb539d28f422076958b434f3ff739059c1e63a5e0f70e9e", + "dweb:/ipfs/QmW8mxoaKYu5vNozpBjNBGtNzMxfDfSMRavHnTv7qDv4pG" + ], + "license": "MIT" + }, + "src/codegen/world/IBoxSystem.sol": { + "keccak256": "0x0a77ebe6ff0a0025b8e0c8f32ae08945c3215a1e993411d510fc09c73242e734", + "urls": [ + "bzz-raw://da8b753ad86100470dc3888be59c7ac0e619a7c33ad447aaa31088a5c00512d3", + "dweb:/ipfs/QmcAJ8gmG6KM8MLdekHagaGVhat51AuqD2TmgJdoDTbCHc" + ], + "license": "MIT" + }, + "src/codegen/world/IGMSystem.sol": { + "keccak256": "0xc3e1a06c9e4f8fc4821da947bdd325e89a37b121af59f670ba553a29b02f35f6", + "urls": [ + "bzz-raw://c6154d1c9a0e0494bc5e8940ae516d24a17bd8aa162b8532fa5afa34d3599d74", + "dweb:/ipfs/QmSWwbvcLQNbWdgueSgV2XdV1bY1NVRDYwY4t2RnXDabrf" + ], + "license": "MIT" + }, + "src/codegen/world/IGameSystem.sol": { + "keccak256": "0x9a7cf5b861e49deda8793d9a2f4a4b80591e93b60727cc6d61ef70d76e205a03", + "urls": [ + "bzz-raw://4706d646c8e1155d15cf2141a1a4d108ee7eb66459343ef38010fcf78d53656c", + "dweb:/ipfs/QmY6GEsrH4jP46CZDCY8u3RnNonDo6cGFDyXXrbP2mvkZW" + ], + "license": "MIT" + }, + "src/codegen/world/IMoveSystem.sol": { + "keccak256": "0x575faa695b3b5e5fe7ad93a0ba629a43bac28e5fe3b155551b383ac3411ff6ef", + "urls": [ + "bzz-raw://16e8701115764ff051937aaffe7fb7bad7a5aee311ac787b936dfeaa160c2f9a", + "dweb:/ipfs/QmSDS2wqBNfeQEPqiygXSjHjCNYbQWnJ17cbphsG4p8v8s" + ], + "license": "MIT" + }, + "src/codegen/world/IPlayerSystem.sol": { + "keccak256": "0xabf6b1e495a2e6ea98ccb6508f9299ff89d128c71839ace40235ceabb941484f", + "urls": [ + "bzz-raw://6f957b593598bc6b7712b630721b39707a10ae2f751b37d3adebe46aef0ff1a5", + "dweb:/ipfs/QmWGwKzUQ8sy7koUM5APnGAGAsCHKdJEpTF8UUnTsupZZN" + ], + "license": "MIT" + }, + "src/codegen/world/IWorld.sol": { + "keccak256": "0xc0ab5afcd25eb6ef00e9d480f87d80893c0bf3b1e8461bd28f3487bd29efb092", + "urls": [ + "bzz-raw://adae613b8fa01b76e2182c7a8a392f942bf36bb9a881e1c53ff07903bb5af07a", + "dweb:/ipfs/QmdSih7Ust1BCqcuwXERF4fqnXJur2d2mLEj5LvJWZgfhr" + ], + "license": "MIT" + }, + "src/systems/Common.sol": { + "keccak256": "0x25b1b37460f5741acb0549e81117b148505f656a8f93a0aff47720167e92e4e0", + "urls": [ + "bzz-raw://3c0ecd5e7ac72fb5f98f794ddb82bba865cf7fd72d95a19e7e6a51f6dd214983", + "dweb:/ipfs/QmYPRFyZN6eWs9xCnU9k5Yz9vErMdHPyxBKP7UXwAsJ6gc" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/codegen/world/IWorld.sol", + "id": 119346, + "exportedSymbols": { + "IBaseWorld": [ + 71348 + ], + "IBattleForceSystem": [ + 119076 + ], + "IBattleInfoSystem": [ + 119088 + ], + "IBattlePrepareSystem": [ + 119122 + ], + "IBattleSystem": [ + 119141 + ], + "IBoxSystem": [ + 119163 + ], + "IGMSystem": [ + 119199 + ], + "IGameSystem": [ + 119205 + ], + "IMoveSystem": [ + 119220 + ], + "IPlayerSystem": [ + 119301 + ], + "IWorld": [ + 119345 + ] + }, + "nodeType": "SourceUnit", + "src": "32:952:169", + "nodes": [ + { + "id": 119303, + "nodeType": "PragmaDirective", + "src": "32:24:169", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 119305, + "nodeType": "ImportDirective", + "src": "107:77:169", + "nodes": [], + "absolutePath": "node_modules/@latticexyz/world/src/interfaces/IBaseWorld.sol", + "file": "@latticexyz/world/src/interfaces/IBaseWorld.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 71349, + "symbolAliases": [ + { + "foreign": { + "id": 119304, + "name": "IBaseWorld", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71348, + "src": "116:10:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119307, + "nodeType": "ImportDirective", + "src": "186:62:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleForceSystem.sol", + "file": "./IBattleForceSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119077, + "symbolAliases": [ + { + "foreign": { + "id": 119306, + "name": "IBattleForceSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119076, + "src": "195:18:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119309, + "nodeType": "ImportDirective", + "src": "249:60:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleInfoSystem.sol", + "file": "./IBattleInfoSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119089, + "symbolAliases": [ + { + "foreign": { + "id": 119308, + "name": "IBattleInfoSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119088, + "src": "258:17:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119311, + "nodeType": "ImportDirective", + "src": "310:66:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattlePrepareSystem.sol", + "file": "./IBattlePrepareSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119123, + "symbolAliases": [ + { + "foreign": { + "id": 119310, + "name": "IBattlePrepareSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119122, + "src": "319:20:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119313, + "nodeType": "ImportDirective", + "src": "377:52:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBattleSystem.sol", + "file": "./IBattleSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119142, + "symbolAliases": [ + { + "foreign": { + "id": 119312, + "name": "IBattleSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119141, + "src": "386:13:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119315, + "nodeType": "ImportDirective", + "src": "430:46:169", + "nodes": [], + "absolutePath": "src/codegen/world/IBoxSystem.sol", + "file": "./IBoxSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119164, + "symbolAliases": [ + { + "foreign": { + "id": 119314, + "name": "IBoxSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119163, + "src": "439:10:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119317, + "nodeType": "ImportDirective", + "src": "477:48:169", + "nodes": [], + "absolutePath": "src/codegen/world/IGameSystem.sol", + "file": "./IGameSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119206, + "symbolAliases": [ + { + "foreign": { + "id": 119316, + "name": "IGameSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119205, + "src": "486:11:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119319, + "nodeType": "ImportDirective", + "src": "526:44:169", + "nodes": [], + "absolutePath": "src/codegen/world/IGMSystem.sol", + "file": "./IGMSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119200, + "symbolAliases": [ + { + "foreign": { + "id": 119318, + "name": "IGMSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119199, + "src": "535:9:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119321, + "nodeType": "ImportDirective", + "src": "571:48:169", + "nodes": [], + "absolutePath": "src/codegen/world/IMoveSystem.sol", + "file": "./IMoveSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119221, + "symbolAliases": [ + { + "foreign": { + "id": 119320, + "name": "IMoveSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119220, + "src": "580:11:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119323, + "nodeType": "ImportDirective", + "src": "620:52:169", + "nodes": [], + "absolutePath": "src/codegen/world/IPlayerSystem.sol", + "file": "./IPlayerSystem.sol", + "nameLocation": "-1:-1:-1", + "scope": 119346, + "sourceUnit": 119302, + "symbolAliases": [ + { + "foreign": { + "id": 119322, + "name": "IPlayerSystem", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119301, + "src": "629:13:169", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 119345, + "nodeType": "ContractDefinition", + "src": "788:195:169", + "nodes": [], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 119325, + "name": "IBaseWorld", + "nodeType": "IdentifierPath", + "referencedDeclaration": 71348, + "src": "810:10:169" + }, + "id": 119326, + "nodeType": "InheritanceSpecifier", + "src": "810:10:169" + }, + { + "baseName": { + "id": 119327, + "name": "IBattleForceSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119076, + "src": "824:18:169" + }, + "id": 119328, + "nodeType": "InheritanceSpecifier", + "src": "824:18:169" + }, + { + "baseName": { + "id": 119329, + "name": "IBattleInfoSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119088, + "src": "846:17:169" + }, + "id": 119330, + "nodeType": "InheritanceSpecifier", + "src": "846:17:169" + }, + { + "baseName": { + "id": 119331, + "name": "IBattlePrepareSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119122, + "src": "867:20:169" + }, + "id": 119332, + "nodeType": "InheritanceSpecifier", + "src": "867:20:169" + }, + { + "baseName": { + "id": 119333, + "name": "IBattleSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119141, + "src": "891:13:169" + }, + "id": 119334, + "nodeType": "InheritanceSpecifier", + "src": "891:13:169" + }, + { + "baseName": { + "id": 119335, + "name": "IBoxSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119163, + "src": "908:10:169" + }, + "id": 119336, + "nodeType": "InheritanceSpecifier", + "src": "908:10:169" + }, + { + "baseName": { + "id": 119337, + "name": "IGameSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119205, + "src": "922:11:169" + }, + "id": 119338, + "nodeType": "InheritanceSpecifier", + "src": "922:11:169" + }, + { + "baseName": { + "id": 119339, + "name": "IGMSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119199, + "src": "937:9:169" + }, + "id": 119340, + "nodeType": "InheritanceSpecifier", + "src": "937:9:169" + }, + { + "baseName": { + "id": 119341, + "name": "IMoveSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119220, + "src": "950:11:169" + }, + "id": 119342, + "nodeType": "InheritanceSpecifier", + "src": "950:11:169" + }, + { + "baseName": { + "id": 119343, + "name": "IPlayerSystem", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119301, + "src": "965:13:169" + }, + "id": 119344, + "nodeType": "InheritanceSpecifier", + "src": "965:13:169" + } + ], + "canonicalName": "IWorld", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 119324, + "nodeType": "StructuredDocumentation", + "src": "674:113:169", + "text": " The IWorld interface includes all systems dynamically added to the World\n during the deploy process." + }, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 119345, + 119301, + 119220, + 119199, + 119205, + 119163, + 119141, + 119122, + 119088, + 119076, + 71348, + 130593, + 130502, + 130486, + 130489, + 130541, + 174251, + 130531, + 130520, + 64435, + 127759, + 64393, + 64426, + 64399, + 64370, + 64256 + ], + "name": "IWorld", + "nameLocation": "798:6:169", + "scope": 119346, + "usedErrors": [ + 127724, + 127730, + 127732, + 127734, + 127740, + 127746, + 127752, + 127758, + 174220, + 174224, + 174230, + 174234, + 174238, + 174242, + 174246, + 174250 + ] + } + ], + "license": "MIT" + }, + "id": 169 +} \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.abi.json b/packages/contracts/out/Loot.sol/MLoot.abi.json new file mode 100644 index 00000000..4bcc3741 --- /dev/null +++ b/packages/contracts/out/Loot.sol/MLoot.abi.json @@ -0,0 +1,697 @@ +[ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawErc20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/Loot.sol/MLoot.json b/packages/contracts/out/Loot.sol/MLoot.json new file mode 100644 index 00000000..4f2d10fd --- /dev/null +++ b/packages/contracts/out/Loot.sol/MLoot.json @@ -0,0 +1,14344 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawErc20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": { + "object": "0x60096102c0818152682bb0b93430b6b6b2b960b91b6102e0526080908152600c6103009081526b28bab0b93a32b939ba30b33360a11b6103205260a05260046103408181526313585d5b60e21b6103605260c052610380818152634d61636560e01b6103a05260e0526103c08181526321b63ab160e11b6103e052610100526006610400908152654b6174616e6160d01b61042052610120526008610440818152672330b631b434b7b760c11b61046052610140526104808181526729b1b4b6b4ba30b960c11b6104a05261016052600a6104c081815269131bdb99c814dddbdc9960b21b6104e05261018052600b6105009081526a14da1bdc9d0814dddbdc9960aa1b610520526101a0526105408181526911da1bdcdd0815d85b9960b21b610560526101c0526105809081526911dc985d994815d85b9960b21b6105a0526101e0526105c084815268109bdb994815d85b9960ba1b6105e052610200526106008281526315d85b9960e21b6106205261022052610640908152674772696d6f69726560c01b6106605261024052610680928352684368726f6e69636c6560b81b6106a052610260929092526106c082815263546f6d6560e01b6106e0526102805261074060405261070091825263426f6f6b60e01b610720526102a091909152620001f190600090601262001ce5565b506040805161022081018252600b6101e082019081526a446976696e6520526f626560a81b61020083015281528151808301835260098082526853696c6b20526f626560b81b6020838101919091528084019290925283518085018552600a808252694c696e656e20526f626560b01b8285015284860191909152845180860186526004815263526f626560e01b81850152606085015284518086018652600581526414da1a5c9d60da1b818501526080850152845180860186528181526944656d6f6e204875736b60b01b8185015260a085015284518086018652601081526f223930b3b7b739b5b4b71020b936b7b960811b8185015260c085015284518086018652601581527f53747564646564204c6561746865722041726d6f7200000000000000000000008185015260e08501528451808601865260128152712430b932102632b0ba3432b91020b936b7b960711b8185015261010085015284518086018652600d81526c2632b0ba3432b91020b936b7b960991b8185015261012085015284518086018652600f8082526e486f6c79204368657374706c61746560881b828601526101408601919091528551808701875260118152704f726e617465204368657374706c61746560781b818601526101608601528551808701875282815269141b185d194813585a5b60b21b81860152610180860152855180870187529182526910da185a5b8813585a5b60b21b828501526101a0850191909152845180860190955290845268149a5b99c813585a5b60ba1b918401919091526101c082019290925262000448916001919062001d49565b506040805161022081018252600c6101e082019081526b416e6369656e742048656c6d60a01b610200830152815281518083018352600b8082526a4f726e6174652048656c6d60a81b6020838101919091528084019290925283518085018552600a8082526947726561742048656c6d60b01b82850152848601919091528451808601865260098082526846756c6c2048656c6d60b81b8286015260608601919091528551808701875260048082526348656c6d60e01b828701526080870191909152865180880188528481526a2232b6b7b71021b937bbb760a91b8187015260a087015286518088018852600e81526d223930b3b7b713b99021b937bbb760911b8187015260c08701528651808801885260078152660576172204361760cc1b8187015260e0870152865180880188528481526a04c656174686572204361760ac1b8187015261010087015286518088018852600381526204361760ec1b8187015261012087015286518088018852600581526421b937bbb760d91b81870152610140870152865180880188529384526a111a5d9a5b9948121bdbd960aa1b84860152610160860193909352855180870187529081526814da5b1ac8121bdbd960ba1b818501526101808501528451808601865290815269131a5b995b88121bdbd960b21b818401526101a08401528351808501909452835263121bdbd960e21b908301526101c08101919091526200066790600290600f62001d49565b506040805161022081018252600b6101e082018181526a13dc9b985d194810995b1d60aa1b610200840152825282518084018452600881526715d85c8810995b1d60c21b60208281019190915280840191909152835180850185529182526a141b185d19590810995b1d60aa1b82820152828401919091528251808401845260098082526813595cda0810995b1d60ba1b82840152606084019190915283518085018552600a808252691219585d9e4810995b1d60b21b82850152608085019190915284518086018652600e81526d11195b5bdb9a1a59194810995b1d60921b8185015260a085015284518086018652600f8082526e111c9859dbdb9cdada5b8810995b1d608a1b8286015260c086019190915285518087018752601481527f53747564646564204c6561746865722042656c740000000000000000000000008186015260e086015285518087018752601181527012185c99081319585d1a195c8810995b1d607a1b8186015261010086015285518087018752600c81526b1319585d1a195c8810995b1d60a21b81860152610120860152855180870187528181526e084e4d2ced0e8e6d2d8d640a6c2e6d608b1b8186015261014086015285518087018752838152680a6d2d8d640a6c2e6d60bb1b8186015261016086015285518087018752928352680aededed840a6c2e6d60bb1b838501526101808501929092528451808601865290815269098d2dccadc40a6c2e6d60b31b818401526101a0840152835180850190945260048452630a6c2e6d60e31b918401919091526101c0820192909252620008c0916003919062001d49565b506040805161022081018252600c6101e082019081526b486f6c79204772656176657360a01b610200830152815281518083018352600e81526d4f726e617465204772656176657360901b602082810191909152808301919091528251808401845260078152664772656176657360c81b818301528284015282518084018452600b8082526a436861696e20426f6f747360a81b828401526060840191909152835180850185528181526a486561767920426f6f747360a81b81840152608084015283518085018552600f8082526e44656d6f6e6869646520426f6f747360881b8285015260a085019190915284518086018652601081526f447261676f6e736b696e20426f6f747360801b8185015260c085015284518086018652601581527f53747564646564204c65617468657220426f6f747300000000000000000000008185015260e085015284518086018652601281527148617264204c65617468657220426f6f747360701b8185015261010085015284518086018652600d8082526c4c65617468657220426f6f747360981b82860152610120860191909152855180870187528281526e446976696e6520536c69707065727360881b81860152610140860152855180870187529081526c53696c6b20536c69707065727360981b8185015261016085015284518086018652600a815269576f6f6c2053686f657360b01b81850152610180850152845180860186529182526a4c696e656e2053686f657360a81b828401526101a08401919091528351808501909452600584526453686f657360d81b918401919091526101c082019290925262000b28916004919062001d49565b506040805161022081018252600e6101e082018181526d486f6c79204761756e746c65747360901b610200840152825282518084018452601081526f4f726e617465204761756e746c65747360801b602082810191909152808401919091528351808501855260098152684761756e746c65747360b81b818301528385015283518085018552600c8082526b436861696e20476c6f76657360a01b828401526060850191909152845180860186528181526b486561767920476c6f76657360a01b81840152608085015284518086018652600d8082526c44656d6f6e27732048616e647360981b8285015260a0860191909152855180870187526011815270447261676f6e736b696e20476c6f76657360781b8185015260c086015285518087018752601681527f53747564646564204c65617468657220476c6f766573000000000000000000008185015260e086015285518087018752601381527f48617264204c65617468657220476c6f7665730000000000000000000000000081850152610100860152855180870187529384526d4c65617468657220476c6f76657360901b84840152610120850193909352845180860186529283526c446976696e6520476c6f76657360981b8383015261014084019290925283518085018552600b8082526a53696c6b20476c6f76657360a81b82840152610160850191909152845180860186529081526a576f6f6c20476c6f76657360a81b81830152610180840152835180850185529182526b4c696e656e20476c6f76657360a01b828201526101a083019190915282518084019093526006835265476c6f76657360d01b908301526101c081019190915262000da590600590600f62001d49565b506040805160a081018252600860608201908152674e65636b6c61636560c01b6080830152815281518083018352600680825265105b5d5b195d60d21b6020838101919091528084019290925283518085018552600781526614195b99185b9d60ca1b928101929092529282015262000e219190600362001d9b565b506040805160e081018252600960a0820190815268476f6c642052696e6760b81b60c0830152815281518083018352600b8082526a53696c7665722052696e6760a81b60208381019190915280840192909252835180850185529081526a42726f6e7a652052696e6760a81b818301528284015282518084018452600d8082526c506c6174696e756d2052696e6760981b828401526060840191909152835180850190945283526c546974616e69756d2052696e6760981b90830152608081019190915262000ef590600790600562001ded565b506040518061020001604052806040518060400160405280600881526020016737b3102837bbb2b960c11b8152508152602001604051806040016040528060098152602001686f66204769616e747360b81b8152508152602001604051806040016040528060098152602001686f6620546974616e7360b81b8152508152602001604051806040016040528060088152602001671bd98814dada5b1b60c21b81525081526020016040518060400160405280600d81526020016c37b3102832b93332b1ba34b7b760991b81525081526020016040518060400160405280600d81526020016c6f66204272696c6c69616e636560981b81525081526020016040518060400160405280601081526020016f1bd988115b9b1a59da1d195b9b595b9d60821b81525081526020016040518060400160405280600d81526020016c37b310283937ba32b1ba34b7b760991b81525081526020016040518060400160405280600881526020016737b31020b733b2b960c11b8152508152602001604051806040016040528060078152602001666f66205261676560c81b8152508152602001604051806040016040528060078152602001666f66204675727960c81b81525081526020016040518060400160405280600a8152602001691bd988159a5d1c9a5bdb60b21b81525081526020016040518060400160405280600a8152602001690decc40e8d0ca408cdef60b31b81525081526020016040518060400160405280600c81526020016b37b3102232ba32b1ba34b7b760a11b81525081526020016040518060400160405280600d81526020016c37b3102932b33632b1ba34b7b760991b81525081526020016040518060400160405280600c81526020016b6f6620746865205477696e7360a01b81525081525060089060106200119a92919062001e3f565b50604080516108e08101825260056108a082018181526441676f6e7960d81b6108c0840152825282518084018452600a8082526941706f63616c7970736560b01b60208381019190915280850192909252845180860186528181526920b936b0b3b2b23237b760b11b818401528486015284518086018652838152641099585cdd60da1b81840152606085015284518086018652600880825267084cad0cadadee8d60c31b82850152608086019190915285518087018752600680825265109b1a59da1d60d21b8286015260a08701919091528651808801885285815264109b1bdbd960da1b8186015260c0870152865180880188526007808252664272616d626c6560c81b8287015260e0880191909152875180890189526009808252684272696d73746f6e6560b81b828801526101008901919091528851808a018a5287815264109c9bdbd960da1b818801526101208901528851808a018a528281526621b0b93934b7b760c91b818801526101408901528851808a018a528181526843617461636c79736d60b81b818801526101608901528851808a018a52848152674368696d6572696360c01b818801526101808901528851808a018a5283815265436f7270736560d01b818801526101a08901528851808a018a528581526921b7b9393ab83a34b7b760b11b818801526101c08901528851808a018a52818152682230b6b730ba34b7b760b91b818801526101e08901528851808a018a5287815264088cac2e8d60db1b818801526102008901528851808a018a52878152642232b6b7b760d91b818801526102208901528851808a018a526004808252634469726560e01b828901526102408a01919091528951808b018b5284815265223930b3b7b760d11b818901526102608a01528951808b018b5288815264111c99585960da1b818901526102808a01528951808b018b5281815263446f6f6d60e01b818901526102a08a01528951808b018b52818152634475736b60e01b818901526102c08a01528951808b018b52888152644561676c6560d81b818901526102e08a01528951808b018b528581526722b6b83cb932b0b760c11b818901526103008a01528951808b018b52818152634661746560e01b818901526103208a01528951808b018b52600380825262466f6560e81b828a01526103408b01919091528a51808c018c528281526347616c6560e01b818a01526103608b01528a51808c018c528981526411da1bdd5b60da1b818a01526103808b01528a51808c018c5289815264476c6f6f6d60d81b818a01526103a08b01528a51808c018c528981526408ed8f2e0d60db1b818a01526103c08b01528a51808c018c5289815264476f6c656d60d81b818a01526103e08b01528a51808c018c52828152634772696d60e01b818a01526104008b01528a51808c018c52828152634861746560e01b818a01526104208b01528a51808c018c52898152644861766f6360d81b818a01526104408b01528a51808c018c52858152652437b737bab960d11b818a01526104608b01528a51808c018c52858152652437b93937b960d11b818a01526104808b01528a51808c018c52868152674879706e6f74696360c01b818a01526104a08b01528a51808c018c528581526525b930b5b2b760d11b818a01526104c08b01528a51808c018c5289815264098dec2e8d60db1b818a01526104e08b01528a51808c018c52838152684d61656c7374726f6d60b81b818a01526105008b01528a51808c018c5282815263135a5b9960e21b818a01526105208b01528a51808c018c52848152664d697261636c6560c81b818a01526105408b01528a51808c018c5285815265135bdc989a5960d21b818a01526105608b01528a51808c018c529586526727b13634bb34b7b760c11b868901526105808a01959095528951808b018b528281526813db9cdb185d59da1d60ba1b818901526105a08a01528951808b018b52818152632830b4b760e11b818901526105c08a01528951808b018b52600b81526a50616e64656d6f6e69756d60a81b818901526105e08a01528951808b018b52838152660a0d0decadcd2f60cb1b818901526106008a01528951808b018b5284815265506c6167756560d01b818901526106208a01528951808b018b52818152635261676560e01b818901526106408a01528951808b018b52838152665261707475726560c81b818901526106608a01528951808b018b528181526352756e6560e01b818901526106808a01528951808b018b528881526414dadd5b1b60da1b818901526106a08a01528951808b018b528581526214dbdb60ea1b818901526106c08a01528951808b018b529081526314dbdd5b60e21b818801526106e08901528851808a018a5283815265536f72726f7760d01b818801526107008901528851808a018a528381526514dc1a5c9a5d60d21b818801526107208901528851808a018a528781526453746f726d60d81b818801526107408901528851808a018a528281526615195b5c195cdd60ca1b818801526107608901528851808a018a5282815266151bdc9b595b9d60ca1b818801526107808901528851808a018a528181526856656e6765616e636560b81b818801526107a08901528851808a018a5282815266566963746f727960c81b818801526107c08901528851808a018a52878152642b34b832b960d91b818801526107e08901528851808a018a52928352650acdee4e8caf60d31b838701526108008801929092528751808901895292835262576f6560e81b8386015261082087019290925286518088018852948552640aee4c2e8d60db1b8585015261084086019490945285518087018752908152664c69676874277360c81b8184015261086085015284518086019095528452695368696d6d6572696e6760b01b90840152610880820192909252620019fe9190604562001e91565b506040805161028081018252600461024082018181526342616e6560e01b61026084015282528251808401845281815263149bdbdd60e21b6020828101919091528084019190915283518085018552828152634269746560e01b81830152838501528351808501855282815263536f6e6760e01b81830152606084015283518085018552828152632937b0b960e11b81830152608084015283518085018552600580825264047726173760dc1b8284015260a085019190915284518086018652600a80825269125b9cdd1c9d5b595b9d60b21b8285015260c08601919091528551808701875284815263476c6f7760e01b8185015260e0860152855180870187526006808252652132b73232b960d11b828601526101008701919091528651808801885290815265536861646f7760d01b818501526101208601528551808701875260078152662bb434b9b832b960c91b81850152610140860152855180870187528281526414da1bdd5d60da1b81850152610160860152855180870187529182526411dc9bdddb60da1b8284015261018085019190915284518086018652838152632a32b0b960e11b818401526101a085015284518086018652838152635065616b60e01b818401526101c08501528451808601865283815263466f726d60e01b818401526101e085015284518086018652600381526229bab760e91b8184015261020085015284518086019095529184526326b7b7b760e11b9084015261022082019290925262001c349190601262001ce5565b5034801562001c4257600080fd5b50604051620076483803806200764883398101604081905262001c6591620020b5565b83518490849062001c7e90600b90602085019062001ee3565b50805162001c9490600c90602084019062001ee3565b5050855162001cac9150601690602088019062001ee3565b50601580546001600160a01b031916331790556014819055815162001cd990601790602085019062001ee3565b505050505050620021b4565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d2691849160209091019062001ee3565b509160200191906001019062001d06565b5062001d4592915062001f6e565b5090565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001d8a91849160209091019062001ee3565b509160200191906001019062001d6a565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ddc91849160209091019062001ee3565b509160200191906001019062001dbc565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e2e91849160209091019062001ee3565b509160200191906001019062001e0e565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001e8091849160209091019062001ee3565b509160200191906001019062001e60565b82805482825590600052602060002090810192821562001d37579160200282015b8281111562001d37578251805162001ed291849160209091019062001ee3565b509160200191906001019062001eb2565b82805462001ef19062002178565b90600052602060002090601f01602090048101928262001f15576000855562001f60565b82601f1062001f3057805160ff191683800117855562001f60565b8280016001018555821562001f60579182015b8281111562001f6057825182559160200191906001019062001f43565b5062001d4592915062001f8f565b8082111562001d4557600062001f85828262001fa6565b5060010162001f6e565b5b8082111562001d45576000815560010162001f90565b50805462001fb49062002178565b6000825580601f1062001fc5575050565b601f01602090049060005260206000209081019062001fe5919062001f8f565b50565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200201057600080fd5b81516001600160401b03808211156200202d576200202d62001fe8565b604051601f8301601f19908116603f0116810190828211818310171562002058576200205862001fe8565b816040528381526020925086838588010111156200207557600080fd5b600091505b838210156200209957858201830151818301840152908201906200207a565b83821115620020ab5760008385830101525b9695505050505050565b600080600080600060a08688031215620020ce57600080fd5b85516001600160401b0380821115620020e657600080fd5b620020f489838a0162001ffe565b965060208801519150808211156200210b57600080fd5b6200211989838a0162001ffe565b955060408801519150808211156200213057600080fd5b6200213e89838a0162001ffe565b945060608801519150808211156200215557600080fd5b50620021648882890162001ffe565b925050608086015190509295509295909350565b600181811c908216806200218d57607f821691505b602082108103620021ae57634e487b7160e01b600052602260045260246000fd5b50919050565b61548480620021c46000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", + "sourceMap": "79:384:172:-:0;;;;;-1:-1:-1;;;79:384:172;;297:8429:171;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;-1:-1:-1;;;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;297:8429:171;79:384:172;;;;;-1:-1:-1;;;79:384:172;;-1:-1:-1;79:384:172;;;;;;-1:-1:-1;;79:384:172;;:::i;:::-;-1:-1:-1;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;-1:-1:-1;;;470:395:172;;;;;;;;;;:::i;:::-;-1:-1:-1;872:347:172;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;;-1:-1:-1;;;872:347:172;;;;-1:-1:-1;;;872:347:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1226:391:172;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;-1:-1:-1;;;1226:391:172;;;;;;;;;;:::i;:::-;-1:-1:-1;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;-1:-1:-1;;;1624:408:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;;;;;;-1:-1:-1;;;2039:417:172;;;;-1:-1:-1;;;2039:417:172;;;;;;;;;;:::i;:::-;-1:-1:-1;2463:63:172;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;;-1:-1:-1;;;2463:63:172;;;;;;:::i;:::-;-1:-1:-1;2533:149:172;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;;;;;-1:-1:-1;;;2533:149:172;;;;-1:-1:-1;;;2533:149:172;;;;;;;;;;:::i;:::-;;2689:395;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2689:395:172;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3091:1288:172;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;;;-1:-1:-1;;;3091:1288:172;;;;-1:-1:-1;;;3091:1288:172;;;;;;;;;:::i;:::-;-1:-1:-1;4386:342:172;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;;;;-1:-1:-1;;;4386:342:172;;;;-1:-1:-1;;;4386:342:172;;;;;;;;;:::i;:::-;;374::171;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;559:6:171;;567:4;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;583:12:171;;::::1;::::0;-1:-1:-1;583:4:171::1;::::0;:12:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;605:5:171::1;:18:::0;;-1:-1:-1;;;;;;605:18:171::1;613:10;605:18;::::0;;633:14:::1;:32:::0;;;675:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;;374:342:::0;;;;;297:8429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;297:8429:171;;;-1:-1:-1;297:8429:171;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;14:127:194:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1311:16;;-1:-1:-1;;;;;1376:14:194;;;1373:34;;;1403:1;1400;1393:12;1373:34;1426:61;1479:7;1470:6;1459:9;1455:22;1426:61;:::i;:::-;1416:71;;1533:2;1522:9;1518:18;1512:25;1496:41;;1562:2;1552:8;1549:16;1546:36;;;1578:1;1575;1568:12;1546:36;1601:63;1656:7;1645:8;1634:9;1630:24;1601:63;:::i;:::-;1591:73;;1710:2;1699:9;1695:18;1689:25;1673:41;;1739:2;1729:8;1726:16;1723:36;;;1755:1;1752;1745:12;1723:36;1778:63;1833:7;1822:8;1811:9;1807:24;1778:63;:::i;:::-;1768:73;;1887:2;1876:9;1872:18;1866:25;1850:41;;1916:2;1906:8;1903:16;1900:36;;;1932:1;1929;1922:12;1900:36;;1955:63;2010:7;1999:8;1988:9;1984:24;1955:63;:::i;:::-;1945:73;;;2058:3;2047:9;2043:19;2037:26;2027:36;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;297:8429:171;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b50600436106101a35760003560e01c806351cff8d9116100ee5780639b8a323711610097578063c87b56dd11610071578063c87b56dd146103b5578063cba86e23146103c8578063d5608f9a14610415578063e985e9c51461042857600080fd5b80639b8a323714610365578063a22cb4651461038f578063b88d4fde146103a257600080fd5b80636a627842116100c85780636a6278421461033757806370a082311461034a57806395d89b411461035d57600080fd5b806351cff8d9146102ea57806353bbd6a7146102fd5780636352211e1461032457600080fd5b806317d70f7c116101505780633e8474ca1161012a5780633e8474ca146102b957806342842e0e146102c257806343a47162146102d557600080fd5b806317d70f7c1461024f57806323b872dd146102585780633c41d28c1461026b57600080fd5b8063095ea7b311610181578063095ea7b3146102105780630ab14d8a146102255780631593dee11461023c57600080fd5b806301ffc9a7146101a857806306fdde03146101d0578063081812fc146101e5575b600080fd5b6101bb6101b63660046146ad565b610464565b60405190151581526020015b60405180910390f35b6101d8610549565b6040516101c79190614729565b6101f86101f336600461473c565b6105db565b6040516001600160a01b0390911681526020016101c7565b61022361021e366004614771565b610602565b005b61022e60115481565b6040519081526020016101c7565b61022361024a36600461479b565b610738565b61022e60135481565b61022361026636600461479b565b6107e1565b61027e61027936600461473c565b610868565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e0820152610100016101c7565b61022e60145481565b6102236102d036600461479b565b61150e565b6102dd611529565b6040516101c791906147d7565b6102236102f836600461481b565b6115f3565b61031061030b36600461473c565b61168e565b6040516101c7989796959493929190614836565b6101f861033236600461473c565b611c64565b61022361034536600461481b565b611cc9565b61022e61035836600461481b565b611d5f565b6101d8611df9565b61037861037336600461473c565b611e08565b6040516101c79b9a9998979695949392919061491d565b61022361039d366004614a03565b6122a8565b6102236103b0366004614a50565b6122b7565b6101d86103c336600461473c565b61233f565b6103f86103d636600461473c565b601260205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101c7565b61022361042336600461473c565b612b86565b6101bb610436366004614b2c565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104f757507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061054357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600b805461055890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461058490614b5f565b80156105d15780601f106105a6576101008083540402835291602001916105d1565b820191906000526020600020905b8154815290600101906020018083116105b457829003601f168201915b5050505050905090565b60006105e6826133de565b506000908152600f60205260409020546001600160a01b031690565b600061060d82611c64565b9050806001600160a01b0316836001600160a01b03160361069b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106b757506106b78133610436565b6107295760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610692565b6107338383613445565b505050565b6015546001600160a01b0316331461074f57600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190614b99565b50505050565b6107eb33826134c0565b61085d5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b61073383838361353f565b6000806000806000806000806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016002820180546108de90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461090a90614b5f565b80156109575780601f1061092c57610100808354040283529160200191610957565b820191906000526020600020905b81548152906001019060200180831161093a57829003601f168201915b5050505050815260200160038201805461097090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461099c90614b5f565b80156109e95780601f106109be576101008083540402835291602001916109e9565b820191906000526020600020905b8154815290600101906020018083116109cc57829003601f168201915b50505050508152602001600482018054610a0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2e90614b5f565b8015610a7b5780601f10610a5057610100808354040283529160200191610a7b565b820191906000526020600020905b815481529060010190602001808311610a5e57829003601f168201915b50505050508152602001600582018054610a9490614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac090614b5f565b8015610b0d5780601f10610ae257610100808354040283529160200191610b0d565b820191906000526020600020905b815481529060010190602001808311610af057829003601f168201915b50505050508152602001600682018054610b2690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5290614b5f565b8015610b9f5780601f10610b7457610100808354040283529160200191610b9f565b820191906000526020600020905b815481529060010190602001808311610b8257829003601f168201915b50505050508152602001600782018054610bb890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610be490614b5f565b8015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b50505050508152602001600882018054610c4a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c7690614b5f565b8015610cc35780601f10610c9857610100808354040283529160200191610cc3565b820191906000526020600020905b815481529060010190602001808311610ca657829003601f168201915b50505050508152602001600982018054610cdc90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d0890614b5f565b8015610d555780601f10610d2a57610100808354040283529160200191610d55565b820191906000526020600020905b815481529060010190602001808311610d3857829003601f168201915b5050509183525050600a82015460209091019060ff166002811115610d7c57610d7c6148e5565b6002811115610d8d57610d8d6148e5565b905250905060028161014001516002811115610dab57610dab6148e5565b14610df85760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b610ed76000805480602002602001604051908101604052809291908181526020016000905b82821015610ec9578382906000526020600020018054610e3c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614b5f565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505081526020019060010190610e1d565b505050508260400151613775565b610fb66001805480602002602001604051908101604052809291908181526020016000905b82821015610fa8578382906000526020600020018054610f1b90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054610f4790614b5f565b8015610f945780601f10610f6957610100808354040283529160200191610f94565b820191906000526020600020905b815481529060010190602001808311610f7757829003601f168201915b505050505081526020019060010190610efc565b505050508360600151613775565b6110956002805480602002602001604051908101604052809291908181526020016000905b82821015611087578382906000526020600020018054610ffa90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461102690614b5f565b80156110735780601f1061104857610100808354040283529160200191611073565b820191906000526020600020905b81548152906001019060200180831161105657829003601f168201915b505050505081526020019060010190610fdb565b505050508460800151613775565b6111746003805480602002602001604051908101604052809291908181526020016000905b828210156111665783829060005260206000200180546110d990614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461110590614b5f565b80156111525780601f1061112757610100808354040283529160200191611152565b820191906000526020600020905b81548152906001019060200180831161113557829003601f168201915b5050505050815260200190600101906110ba565b505050508560a00151613775565b6112536004805480602002602001604051908101604052809291908181526020016000905b828210156112455783829060005260206000200180546111b890614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490614b5f565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b505050505081526020019060010190611199565b505050508660c00151613775565b6113326005805480602002602001604051908101604052809291908181526020016000905b8282101561132457838290600052602060002001805461129790614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546112c390614b5f565b80156113105780601f106112e557610100808354040283529160200191611310565b820191906000526020600020905b8154815290600101906020018083116112f357829003601f168201915b505050505081526020019060010190611278565b505050508760e00151613775565b6114126006805480602002602001604051908101604052809291908181526020016000905b8282101561140357838290600052602060002001805461137690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546113a290614b5f565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b505050505081526020019060010190611357565b50505050886101000151613775565b6114f26007805480602002602001604051908101604052809291908181526020016000905b828210156114e357838290600052602060002001805461145690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461148290614b5f565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081526020019060010190611437565b50505050896101200151613775565b9850985098509850985098509850985050919395975091939597565b610733838383604051806020016040528060008152506122b7565b6060600061153633611d5f565b905060008167ffffffffffffffff81111561155357611553614a3a565b60405190808252806020026020018201604052801561157c578160200160208202803683370190505b5090506000805b6013548110156115ea573361159782611c64565b6001600160a01b0316036115d857808383815181106115b8576115b8614bb6565b6020908102919091010152816115cd81614be2565b9250508382146115ea575b806115e281614be2565b915050611583565b50909392505050565b6015546001600160a01b0316331461160a57600080fd5b47806116585760405162461bcd60e51b815260206004820152601060248201527f73756666696369656e742066756e6473000000000000000000000000000000006044820152606401610692565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610733573d6000803e3d6000fd5b6060806060806060806060806000601860008b815260200190815260200160002060405180610160016040529081600082015481526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160028201805461170490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461173090614b5f565b801561177d5780601f106117525761010080835404028352916020019161177d565b820191906000526020600020905b81548152906001019060200180831161176057829003601f168201915b5050505050815260200160038201805461179690614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546117c290614b5f565b801561180f5780601f106117e45761010080835404028352916020019161180f565b820191906000526020600020905b8154815290600101906020018083116117f257829003601f168201915b5050505050815260200160048201805461182890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461185490614b5f565b80156118a15780601f10611876576101008083540402835291602001916118a1565b820191906000526020600020905b81548152906001019060200180831161188457829003601f168201915b505050505081526020016005820180546118ba90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546118e690614b5f565b80156119335780601f1061190857610100808354040283529160200191611933565b820191906000526020600020905b81548152906001019060200180831161191657829003601f168201915b5050505050815260200160068201805461194c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461197890614b5f565b80156119c55780601f1061199a576101008083540402835291602001916119c5565b820191906000526020600020905b8154815290600101906020018083116119a857829003601f168201915b505050505081526020016007820180546119de90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0a90614b5f565b8015611a575780601f10611a2c57610100808354040283529160200191611a57565b820191906000526020600020905b815481529060010190602001808311611a3a57829003601f168201915b50505050508152602001600882018054611a7090614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611a9c90614b5f565b8015611ae95780601f10611abe57610100808354040283529160200191611ae9565b820191906000526020600020905b815481529060010190602001808311611acc57829003601f168201915b50505050508152602001600982018054611b0290614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611b2e90614b5f565b8015611b7b5780601f10611b5057610100808354040283529160200191611b7b565b820191906000526020600020905b815481529060010190602001808311611b5e57829003601f168201915b5050509183525050600a82015460209091019060ff166002811115611ba257611ba26148e5565b6002811115611bb357611bb36148e5565b905250905060028161014001516002811115611bd157611bd16148e5565b14611c1e5760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610692565b8060400151816060015182608001518360a001518460c001518560e001518661010001518761012001519850985098509850985098509850985050919395975091939597565b6000818152600d60205260408120546001600160a01b0316806105435760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b60135460009081526018602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055600a8201805460ff191682800217905550601154808255611d2590613863565b611d31826013546138d8565b60138054906000611d4183614be2565b909155505060118054906000611d5683614be2565b91905055505050565b60006001600160a01b038216611ddd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610692565b506001600160a01b03166000908152600e602052604090205490565b6060600c805461055890614b5f565b60186020526000908152604090208054600182015460028301805492936001600160a01b0390921692611e3a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6690614b5f565b8015611eb35780601f10611e8857610100808354040283529160200191611eb3565b820191906000526020600020905b815481529060010190602001808311611e9657829003601f168201915b505050505090806003018054611ec890614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef490614b5f565b8015611f415780601f10611f1657610100808354040283529160200191611f41565b820191906000526020600020905b815481529060010190602001808311611f2457829003601f168201915b505050505090806004018054611f5690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054611f8290614b5f565b8015611fcf5780601f10611fa457610100808354040283529160200191611fcf565b820191906000526020600020905b815481529060010190602001808311611fb257829003601f168201915b505050505090806005018054611fe490614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461201090614b5f565b801561205d5780601f106120325761010080835404028352916020019161205d565b820191906000526020600020905b81548152906001019060200180831161204057829003601f168201915b50505050509080600601805461207290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90614b5f565b80156120eb5780601f106120c0576101008083540402835291602001916120eb565b820191906000526020600020905b8154815290600101906020018083116120ce57829003601f168201915b50505050509080600701805461210090614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461212c90614b5f565b80156121795780601f1061214e57610100808354040283529160200191612179565b820191906000526020600020905b81548152906001019060200180831161215c57829003601f168201915b50505050509080600801805461218e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546121ba90614b5f565b80156122075780601f106121dc57610100808354040283529160200191612207565b820191906000526020600020905b8154815290600101906020018083116121ea57829003601f168201915b50505050509080600901805461221c90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461224890614b5f565b80156122955780601f1061226a57610100808354040283529160200191612295565b820191906000526020600020905b81548152906001019060200180831161227857829003601f168201915b505050600a909301549192505060ff168b565b6122b3338383613a70565b5050565b6122c133836134c0565b6123335760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610692565b6107db84848484613b3e565b60606123496145a5565b60008381526018602090815260408083208151610160810183528154815260018201546001600160a01b031693810193909352600281018054919284019161239090614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546123bc90614b5f565b80156124095780601f106123de57610100808354040283529160200191612409565b820191906000526020600020905b8154815290600101906020018083116123ec57829003601f168201915b5050505050815260200160038201805461242290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461244e90614b5f565b801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505081526020016004820180546124b490614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546124e090614b5f565b801561252d5780601f106125025761010080835404028352916020019161252d565b820191906000526020600020905b81548152906001019060200180831161251057829003601f168201915b5050505050815260200160058201805461254690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461257290614b5f565b80156125bf5780601f10612594576101008083540402835291602001916125bf565b820191906000526020600020905b8154815290600101906020018083116125a257829003601f168201915b505050505081526020016006820180546125d890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461260490614b5f565b80156126515780601f1061262657610100808354040283529160200191612651565b820191906000526020600020905b81548152906001019060200180831161263457829003601f168201915b5050505050815260200160078201805461266a90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461269690614b5f565b80156126e35780601f106126b8576101008083540402835291602001916126e3565b820191906000526020600020905b8154815290600101906020018083116126c657829003601f168201915b505050505081526020016008820180546126fc90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461272890614b5f565b80156127755780601f1061274a57610100808354040283529160200191612775565b820191906000526020600020905b81548152906001019060200180831161275857829003601f168201915b5050505050815260200160098201805461278e90614b5f565b80601f01602080910402602001604051908101604052809291908181526020018280546127ba90614b5f565b80156128075780601f106127dc57610100808354040283529160200191612807565b820191906000526020600020905b8154815290600101906020018083116127ea57829003601f168201915b5050509183525050600a82015460209091019060ff16600281111561282e5761282e6148e5565b600281111561283f5761283f6148e5565b90525090506001816101400151600281111561285d5761285d6148e5565b0361288f57600060176040516020016128769190614c95565b60408051601f1981840301815291905295945050505050565b600081610140015160028111156128a8576128a86148e5565b036128f55760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610692565b60405180610120016040528060fd81526020016152c160fd913982526040818101516020808501919091528151606081019092526028808352906154279083013960408084019190915260608281015181850152815190810190915260288082526151f6602083013960808084019190915281015160a083015260408051606081019091526028808252615270602083013960c083015260a081015160e083015260408051606081019091526029808252615298602083013961010083015260c081015161012083015260408051606081019091526029808252615247602083013961014083015260e0810151610160830152604080516060810190915260298082526153be60208301396101808301526101008101516101a08301526040805160608101909152602980825261521e60208301396101c08301526101208101516101e0830152604080518082018252600d81527f3c2f746578743e3c2f7376673e00000000000000000000000000000000000000602080830191909152610200850191909152835181850151838601516060870151608088015160a089015160c08a015160e08b01516101008c0151995160009a612ab69a909101614cc7565b60408051808303601f19018152908290526101208501516101408601516101608701516101808801516101a08901516101c08a01516101e08b01516102008c0151979950612b09988a9890602001614cc7565b60405160208183030381529060405290506000612b59612b2887613bc7565b6016612b3385613c67565b604051602001612b4593929190614d88565b604051602081830303815290604052613c67565b905080604051602001612b6c9190614e8c565b60408051601f198184030181529190529695505050505050565b60008181526018602052604081208054601454919291612ba99190600890613e26565b9050612ca081600081518110612bc157612bc1614bb6565b60200260200101516000805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612c0a90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612c3690614b5f565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505081526020019060010190612beb565b50505050614073565b8051612cb69160028501916020909101906145cd565b50612da381600181518110612ccd57612ccd614bb6565b60200260200101516001805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612d1690614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612d4290614b5f565b8015612d8f5780601f10612d6457610100808354040283529160200191612d8f565b820191906000526020600020905b815481529060010190602001808311612d7257829003601f168201915b505050505081526020019060010190612cf7565b8051612db99160038501916020909101906145cd565b50612ea681600281518110612dd057612dd0614bb6565b60200260200101516002805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612e1990614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612e4590614b5f565b8015612e925780601f10612e6757610100808354040283529160200191612e92565b820191906000526020600020905b815481529060010190602001808311612e7557829003601f168201915b505050505081526020019060010190612dfa565b8051612ebc9160048501916020909101906145cd565b50612fa981600381518110612ed357612ed3614bb6565b60200260200101516003805480602002602001604051908101604052809291908181526020016000905b82821015612c97578382906000526020600020018054612f1c90614b5f565b80601f0160208091040260200160405190810160405280929190818152602001828054612f4890614b5f565b8015612f955780601f10612f6a57610100808354040283529160200191612f95565b820191906000526020600020905b815481529060010190602001808311612f7857829003601f168201915b505050505081526020019060010190612efd565b8051612fbf9160058501916020909101906145cd565b506130ac81600481518110612fd657612fd6614bb6565b60200260200101516004805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461301f90614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461304b90614b5f565b80156130985780601f1061306d57610100808354040283529160200191613098565b820191906000526020600020905b81548152906001019060200180831161307b57829003601f168201915b505050505081526020019060010190613000565b80516130c29160068501916020909101906145cd565b506131af816005815181106130d9576130d9614bb6565b60200260200101516005805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461312290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461314e90614b5f565b801561319b5780601f106131705761010080835404028352916020019161319b565b820191906000526020600020905b81548152906001019060200180831161317e57829003601f168201915b505050505081526020019060010190613103565b80516131c59160078501916020909101906145cd565b506132b2816006815181106131dc576131dc614bb6565b60200260200101516006805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461322590614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461325190614b5f565b801561329e5780601f106132735761010080835404028352916020019161329e565b820191906000526020600020905b81548152906001019060200180831161328157829003601f168201915b505050505081526020019060010190613206565b80516132c89160088501916020909101906145cd565b506133b5816007815181106132df576132df614bb6565b60200260200101516007805480602002602001604051908101604052809291908181526020016000905b82821015612c9757838290600052602060002001805461332890614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461335490614b5f565b80156133a15780601f10613376576101008083540402835291602001916133a1565b820191906000526020600020905b81548152906001019060200180831161338457829003601f168201915b505050505081526020019060010190613309565b80516133cb9160098501916020909101906145cd565b5050600a01805460ff1916600217905550565b6000818152600d60205260409020546001600160a01b03166134425760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610692565b50565b6000818152600f60205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416908117909155819061348782611c64565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806134cc83611c64565b9050806001600160a01b0316846001600160a01b0316148061351357506001600160a01b0380821660009081526010602090815260408083209388168352929052205460ff165b806135375750836001600160a01b031661352c846105db565b6001600160a01b0316145b949350505050565b826001600160a01b031661355282611c64565b6001600160a01b0316146135ce5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6001600160a01b0382166136495760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610692565b826001600160a01b031661365c82611c64565b6001600160a01b0316146136d85760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610692565b6000818152600f60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b03878116808652600e8552838620805460001901905590871680865283862080546001019055868652600d90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008060008451116137c95760405162461bcd60e51b815260206004820152600d60248201527f6c69737420697320656d707479000000000000000000000000000000000000006044820152606401610692565b60005b845181101561385b57836040516020016137e69190614ed1565b6040516020818303038152906040528051906020012085828151811061380e5761380e614bb6565b60200260200101516040516020016138269190614ed1565b60405160208183030381529060405280519060200120036138495780915061385b565b8061385381614be2565b9150506137cc565b509392505050565b60008181526012602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255601154845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b03821661392e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6000818152600d60205260409020546001600160a01b0316156139f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610692565b6001600160a01b0382166000818152600e6020908152604080832080546001019055848352600d909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603613ad15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610692565b6001600160a01b03838116600081815260106020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b613b4984848461353f565b613b5584848484614322565b6107db5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b60606000613bd4836144c3565b600101905060008167ffffffffffffffff811115613bf457613bf4614a3a565b6040519080825280601f01601f191660200182016040528015613c1e576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084613c2857509392505050565b80516060906000819003613c8b575050604080516020810190915260008152919050565b60006003613c9a836002614f03565b613ca49190614f1b565b613caf906004614f2f565b90506000613cbe826020614f03565b67ffffffffffffffff811115613cd657613cd6614a3a565b6040519080825280601f01601f191660200182016040528015613d00576020820181803683370190505b50905060006040518060600160405280604081526020016153e7604091399050600181016020830160005b86811015613d8c576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101613d2b565b506003860660018114613da65760028114613df057613e18565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152613e18565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606011548410613e795760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610692565b600084815260126020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314613f1e5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610692565b60008467ffffffffffffffff811115613f3957613f39614a3a565b604051908082528060200260200182016040528015613f62578160200160208202803683370190505b508251909150613f73908590614f03565b431015613fc25760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610692565b8151600090613fd2906002614f03565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff16101561406657600061401b606484614f4e565b905080858360ff168151811061403357614033614bb6565b60ff90921660209283029190910190910152614050606484614f1b565b925050808061405e90614f62565b915050614003565b5091979650505050505050565b606060008283518560ff166140889190614f4e565b8151811061409857614098614bb6565b6020026020010151905060006015856140b19190614f81565b60ff169050600e81111561411057600880548391906140d39060ff8916614f4e565b815481106140e3576140e3614bb6565b906000526020600020016040516020016140fe929190614fa3565b60405160208183030381529060405291505b6013811061385b57614120614651565b600980546141319060ff8916614f4e565b8154811061414157614141614bb6565b90600052602060002001805461415690614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461418290614b5f565b80156141cf5780601f106141a4576101008083540402835291602001916141cf565b820191906000526020600020905b8154815290600101906020018083116141b257829003601f168201915b5050505050816000600281106141e7576141e7614bb6565b6020020152600a80546141fd9060ff8916614f4e565b8154811061420d5761420d614bb6565b90600052602060002001805461422290614b5f565b80601f016020809104026020016040519081016040528092919081815260200182805461424e90614b5f565b801561429b5780601f106142705761010080835404028352916020019161429b565b820191906000526020600020905b81548152906001019060200180831161427e57829003601f168201915b5050505050816001600281106142b3576142b3614bb6565b602002015260138290036142ef5780516020808301516040516142d99392879101614ff2565b6040516020818303038152906040529250614319565b805160208083015160405161430793928791016150b2565b60405160208183030381529060405292505b50509392505050565b60006001600160a01b0384163b156144b8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061437f90339089908890889060040161519c565b6020604051808303816000875af19250505080156143ba575060408051601f3d908101601f191682019092526143b7918101906151d8565b60015b61446d573d8080156143e8576040519150601f19603f3d011682016040523d82523d6000602084013e6143ed565b606091505b5080516000036144655760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610692565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613537565b506001949350505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061450c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614538576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061455657662386f26fc10000830492506010015b6305f5e100831061456e576305f5e100830492506008015b612710831061458257612710830492506004015b60648310614594576064830492506002015b600a83106105435760010192915050565b6040518061022001604052806011905b60608152602001906001900390816145b55790505090565b8280546145d990614b5f565b90600052602060002090601f0160209004810192826145fb5760008555614641565b82601f1061461457805160ff1916838001178555614641565b82800160010185558215614641579182015b82811115614641578251825591602001919060010190614626565b5061464d92915061466a565b5090565b60408051808201909152606081526001602082016145b5565b5b8082111561464d576000815560010161466b565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461344257600080fd5b6000602082840312156146bf57600080fd5b81356146ca8161467f565b9392505050565b60005b838110156146ec5781810151838201526020016146d4565b838111156107db5750506000910152565b600081518084526147158160208601602086016146d1565b601f01601f19169290920160200192915050565b6020815260006146ca60208301846146fd565b60006020828403121561474e57600080fd5b5035919050565b80356001600160a01b038116811461476c57600080fd5b919050565b6000806040838503121561478457600080fd5b61478d83614755565b946020939093013593505050565b6000806000606084860312156147b057600080fd5b6147b984614755565b92506147c760208501614755565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561480f578351835292840192918401916001016147f3565b50909695505050505050565b60006020828403121561482d57600080fd5b6146ca82614755565b600061010080835261484a8184018c6146fd565b9050828103602084015261485e818b6146fd565b90508281036040840152614872818a6146fd565b9050828103606084015261488681896146fd565b9050828103608084015261489a81886146fd565b905082810360a08401526148ae81876146fd565b905082810360c08401526148c281866146fd565b905082810360e08401526148d681856146fd565b9b9a5050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b6003811061491957634e487b7160e01b600052602160045260246000fd5b9052565b8b81526001600160a01b038b16602082015260006101608060408401526149468184018d6146fd565b9050828103606084015261495a818c6146fd565b9050828103608084015261496e818b6146fd565b905082810360a0840152614982818a6146fd565b905082810360c084015261499681896146fd565b905082810360e08401526149aa81886146fd565b90508281036101008401526149bf81876146fd565b90508281036101208401526149d481866146fd565b9150506149e56101408301846148fb565b9c9b505050505050505050505050565b801515811461344257600080fd5b60008060408385031215614a1657600080fd5b614a1f83614755565b91506020830135614a2f816149f5565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215614a6657600080fd5b614a6f85614755565b9350614a7d60208601614755565b925060408501359150606085013567ffffffffffffffff80821115614aa157600080fd5b818701915087601f830112614ab557600080fd5b813581811115614ac757614ac7614a3a565b604051601f8201601f19908116603f01168101908382118183101715614aef57614aef614a3a565b816040528281528a6020848701011115614b0857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215614b3f57600080fd5b614b4883614755565b9150614b5660208401614755565b90509250929050565b600181811c90821680614b7357607f821691505b602082108103614b9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215614bab57600080fd5b81516146ca816149f5565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198203614bf557614bf5614bcc565b5060010190565b8054600090600181811c9080831680614c1657607f831692505b60208084108203614c3757634e487b7160e01b600052602260045260246000fd5b818015614c4b5760018114614c5c57614c89565b60ff19861689528489019650614c89565b60008881526020902060005b86811015614c815781548b820152908501908301614c68565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260006146ca601d830184614bfc565b60008a51614cd9818460208f016146d1565b8a51614ceb8183860160208f016146d1565b8a519184010190614d00818360208e016146d1565b8951614d128183850160208e016146d1565b8951929091010190614d28818360208c016146d1565b8751614d3a8183850160208c016146d1565b8751929091010190614d50818360208a016146d1565b8551614d628183850160208a016146d1565b8551929091010190614d788183602088016146d1565b019b9a5050505050505050505050565b7f7b226e616d65223a20224d4c6f6f742023000000000000000000000000000000815260008451614dc08160118501602089016146d1565b7f222c20226465736372697074696f6e223a220000000000000000000000000000601191840191820152614df76023820186614bfc565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c000000000000000000000000000000000000000000000000000060208201528351614e558160268401602088016146d1565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251614ec481601d8501602087016146d1565b91909101601d0192915050565b60008251614ee38184602087016146d1565b9190910192915050565b634e487b7160e01b600052601260045260246000fd5b60008219821115614f1657614f16614bcc565b500190565b600082614f2a57614f2a614eed565b500490565b6000816000190483118215151615614f4957614f49614bcc565b500290565b600082614f5d57614f5d614eed565b500690565b600060ff821660ff8103614f7857614f78614bcc565b60010192915050565b600060ff831680614f9457614f94614eed565b8060ff84160691505092915050565b60008351614fb58184602088016146d1565b7f2000000000000000000000000000000000000000000000000000000000000000908301908152614fe96001820185614bfc565b95945050505050565b7f220000000000000000000000000000000000000000000000000000000000000081526000845161502a8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516150678160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516150a58160048401602088016146d1565b0160040195945050505050565b7f22000000000000000000000000000000000000000000000000000000000000008152600084516150ea8160018501602089016146d1565b7f200000000000000000000000000000000000000000000000000000000000000060019184019182015284516151278160028401602089016146d1565b7f22200000000000000000000000000000000000000000000000000000000000006002929091019182015283516151658160048401602088016146d1565b7f202b3100000000000000000000000000000000000000000000000000000000006004929091019182015260070195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526151ce60808301846146fd565b9695505050505050565b6000602082840312156151ea57600080fd5b81516146ca8161467f56fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea26469706673582212205e62b0871b5b5776da2a93aa82884bc927644e644369c9b19e09693acdd76dfe64736f6c634300080d0033", + "sourceMap": "297:8429:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1929:55:194;;;1911:74;;1899:2;1884:18;3935:167:105;1765:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2602:25:194;;;2590:2;2575:18;241:23:173;2456:177:194;6480:214:171;;;;;;:::i;:::-;;:::i;1005:22::-;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;7219:620:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;3314:25:194;;;3370:2;3355:18;;3348:34;;;;3398:18;;;3391:34;;;;3456:2;3441:18;;3434:34;;;;3499:3;3484:19;;3477:35;3543:3;3528:19;;3521:35;3587:3;3572:19;;3565:35;3631:3;3616:19;;3609:35;3301:3;3286:19;7219:620:171;2971:679:194;1033:29:171;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;7845:482:171:-;;;:::i;:::-;;;;;;;:::i;6282:192::-;;;;;;:::i;:::-;;:::i;6699:515::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2190:219:105:-;;;;;;:::i;:::-;;:::i;5946:324:171:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;2633:102::-;;;:::i;1135:40:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;1266:2832:171:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;10032:25:194;;;-1:-1:-1;;;;;10093:55:194;;;10088:2;10073:18;;10066:83;10005:18;270:44:173;9858:297:194;5263:677:171;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;11069:2:194;3597:57:105;;;11051:21:194;11108:2;11088:18;;;11081:30;11147:34;11127:18;;;11120:62;11218:3;11198:18;;;11191:31;11239:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;11471:2:194;3665:170:105;;;11453:21:194;11510:2;11490:18;;;11483:30;11549:34;11529:18;;;11522:62;11620:31;11600:18;;;11593:59;11669:19;;3665:170:105;11269:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;6480:214:171:-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6629:58:::1;::::0;;;;-1:-1:-1;;;;;11891:55:194;;;6629:58:171::1;::::0;::::1;11873:74:194::0;11963:18;;;11956:34;;;6629:33:171;::::1;::::0;::::1;::::0;11846:18:194;;6629:58:171::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6480:214:::0;;;:::o;4612:296:105:-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;12453:2:194;4763:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;4763:99:105;12251:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;7219:620:171:-;7287:7;7295;7303;7311;7319;7327;7335;7343;7361:16;7380:8;:18;7389:8;7380:18;;;;;;;;;;;7361:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;-1:-1:-1;;;;;7361:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7361:37:171;;;-1:-1:-1;;7361:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;7361:37:171;-1:-1:-1;7430:21:171;7416:4;:10;;;:35;;;;;;;;:::i;:::-;;7408:62;;;;-1:-1:-1;;;7408:62:171;;12867:2:194;7408:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;7408:62:171;12665:339:194;7408:62:171;7500:28;7508:7;7500:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:4;:11;;;7500:7;:28::i;:::-;7542:30;7550:10;7542:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7561:4;:10;;;7542:7;:30::i;:::-;7586:28;7594:9;7586:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:4;:9;;;7586:7;:28::i;:::-;7628:30;7636:10;7628:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:4;:10;;;7628:7;:30::i;:::-;7672:28;7680:9;7672:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:4;:9;;;7672:7;:28::i;:::-;7714;7722:9;7714:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7732:4;:9;;;7714:7;:28::i;:::-;7756;7764:9;7756:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7774:4;:9;;;7756:7;:28::i;:::-;7798:24;7806:5;7798:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7812:4;:9;;;7798:7;:24::i;:::-;7480:352;;;;;;;;;;;;;;;;;7219:620;;;;;;;;;:::o;4974:149:105:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;7845:482:171:-;7897:16;7924:15;7942:21;7952:10;7942:9;:21::i;:::-;7924:39;;7973:25;8015:7;8001:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8001:22:171;;7973:50;;8033:13;8060:9;8056:240;8072:7;;8070:1;:9;8056:240;;;8115:10;8101;8109:1;8101:7;:10::i;:::-;-1:-1:-1;;;;;8101:24:171;;8098:188;;8162:1;8144:8;8153:5;8144:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;8181:7;;;;:::i;:::-;;-1:-1:-1;;8206:66:171;;;8248:5;8206:66;;8080:3;;;;:::i;:::-;;;;8056:240;;;-1:-1:-1;8312:8:171;;7845:482;-1:-1:-1;;;7845:482:171:o;6282:192::-;1235:5;;-1:-1:-1;;;;;1235:5:171;1221:10;:19;1213:28;;;;;;6357:21:::1;6396:11:::0;6388:40:::1;;;::::0;-1:-1:-1;;;6388:40:171;;13789:2:194;6388:40:171::1;::::0;::::1;13771:21:194::0;13828:2;13808:18;;;13801:30;13867:18;13847;;;13840:46;13903:18;;6388:40:171::1;13587:340:194::0;6388:40:171::1;6438:29;::::0;-1:-1:-1;;;;;6438:20:171;::::1;::::0;:29;::::1;;;::::0;6459:7;;6438:29:::1;::::0;;;6459:7;6438:20;:29;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:515:::0;6762:13;6776;6790;6804;6818;6832;6846;6860;6884:16;6903:8;:18;6912:8;6903:18;;;;;;;;;;;6884:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;-1:-1:-1;;;;;6884:37:171;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6884:37:171;;;-1:-1:-1;;6884:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;6884:37:171;-1:-1:-1;6953:21:171;6939:4;:10;;;:35;;;;;;;;:::i;:::-;;6931:62;;;;-1:-1:-1;;;6931:62:171;;12867:2:194;6931:62:171;;;12849:21:194;12906:2;12886:18;;;12879:30;12945:17;12925:18;;;12918:45;12980:18;;6931:62:171;12665:339:194;6931:62:171;7023:4;:11;;;7048:4;:10;;;7072:4;:9;;;7095:4;:10;;;7119:4;:9;;;7142:4;:9;;;7165:4;:9;;;7188:4;:9;;;7003:204;;;;;;;;;;;;;;;;;6699:515;;;;;;;;;:::o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;14134:2:194;2324:56:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;2324:56:105;13932:348:194;5946:324:171;6048:7;;6019:17;6039;;;:8;:17;;;;;6066:10;;;;:18;;-1:-1:-1;;6066:18:171;-1:-1:-1;;;;;6066:18:171;;;;;6094:10;;;:32;;-1:-1:-1;;6094:32:171;6066:10;;6094:32;;;;-1:-1:-1;6152:8:171;;6136:24;;;6170:23;;:13;:23::i;:::-;6203:21;6209:5;6216:7;;6203:5;:21::i;:::-;6234:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;6253:8:171;:10;;;:8;:10;;;:::i;:::-;;;;;;5984:286;5946:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;14487:2:194;2020:73:105;;;14469:21:194;14526:2;14506:18;;;14499:30;14565:34;14545:18;;;14538:62;14636:11;14616:18;;;14609:39;14665:19;;2020:73:105;14285:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;1135:40:171:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:40:171;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1135:40:171;;;;;;;-1:-1:-1;;1135:40:171;;;:::o;4169:153:105:-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;12453:2:194;5311:99:105;;;12435:21:194;12492:2;12472:18;;;12465:30;12531:34;12511:18;;;12504:62;12602:15;12582:18;;;12575:43;12635:19;;5311:99:105;12251:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;1266:2832:171:-;1346:13;1371:23;;:::i;:::-;1404:16;1423:18;;;:8;:18;;;;;;;;1404:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;1404:37:171;;;;;;;;;;;;;1423:18;;1404:37;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1404:37:171;;;-1:-1:-1;;1404:37:171;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1404:37:171;-1:-1:-1;1468:19:171;1454:4;:10;;;:33;;;;;;;;:::i;:::-;;1451:244;;1502:15;1623;1540:112;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1540:112:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;1266:2832:171:o;1451:244::-;1726:18;1712:4;:10;;;:32;;;;;;;;:::i;:::-;;1704:60;;;;-1:-1:-1;;;1704:60:171;;16481:2:194;1704:60:171;;;16463:21:194;16520:2;16500:18;;;16493:30;16559:17;16539:18;;;16532:45;16594:18;;1704:60:171;16279:339:194;1704:60:171;1775:288;;;;;;;;;;;;;;;;;;;2085:11;;;;;1775:30;2074:8;;;:22;;;;2107:53;;;;;;;;;;;;;;;;;;:8;;;;:53;;;;2182:10;;;;;2171:8;;;:21;2203:53;;;;;;;;;;;;;2107:8;2203:53;;;:8;;;;:53;;;;2278:9;;;2267:8;;;:20;2298:53;;;;;;;;;;;;;;2203:8;2298:53;;;:8;;;:53;2373:10;;;;2362:8;;;:21;2394:54;;;;;;;;;;;;;;2298:8;2394:54;;;:8;;;:54;2470:9;;;;2459:8;;;:20;2490:55;;;;;;;;;;;;;;2394:8;2490:55;;;:9;;;:55;2568:9;;;;2556;;;:21;2588:55;;;;;;;;;;;;;;2490:9;2588:55;;;:9;;;:55;2666:9;;;;2654;;;:21;2686:55;;;;;;;;;;;;;;2588:9;2686:55;;;:9;;;:55;2764:9;;;;2752;;;:21;2784:27;;;;;;;;;;;;2686:9;2784:27;;;;;;;:9;;;:27;;;;2899:8;;2925;;;;2951;;;;2977;;;;3003;;;;3029;;;;3055;;;;3081;;;;3107;;;;2865:264;;-1:-1:-1;;2865:264:171;;3107:8;;2865:264;;:::i;:::-;;;;;;;-1:-1:-1;;2865:264:171;;;;;;;3236:8;;;;3262:9;;;;3289;;;;3316;;;;3343;;;;3370;;;;3397;;;;3424;;;;2865:264;;-1:-1:-1;3178:269:171;;2865:264;;3424:9;3236:8;3178:269;;:::i;:::-;;;;;;;;;;;;;3149:308;;3468:18;3489:474;3654:19;:8;:17;:19::i;:::-;3745:4;3841:28;3861:6;3841:13;:28::i;:::-;3567:354;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3489:13;:474::i;:::-;3468:495;;4052:4;4002:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4002:55:171;;;;;;;;;;1266:2832;-1:-1:-1;;;;;;1266:2832:171:o;5263:677::-;5319:17;5339:18;;;:8;:18;;;;;5409:13;;5426:14;;5339:18;;5319:17;5399:42;;5409:13;5424:1;;5399:9;:42::i;:::-;5367:74;;5465:32;5470:14;5485:1;5470:17;;;;;;;;:::i;:::-;;;;;;;5489:7;5465:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;:32::i;:::-;5451:46;;;;:11;;;;:46;;;;;;:::i;:::-;;5520:35;5525:14;5540:1;5525:17;;;;;;;;:::i;:::-;;;;;;;5544:10;5520:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5507:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5577:34;5582:14;5597:1;5582:17;;;;;;;;:::i;:::-;;;;;;;5601:9;5577:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5565:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5634:35;5639:14;5654:1;5639:17;;;;;;;;:::i;:::-;;;;;;;5658:10;5634:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:48;;;;:10;;;;:48;;;;;;:::i;:::-;;5691:34;5696:14;5711:1;5696:17;;;;;;;;:::i;:::-;;;;;;;5715:9;5691:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5747:34;5752:14;5767:1;5752:17;;;;;;;;:::i;:::-;;;;;;;5771:9;5747:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5735:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5803:34;5808:14;5823:1;5808:17;;;;;;;;:::i;:::-;;;;;;;5827:9;5803:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:46;;;;:9;;;;:46;;;;;;:::i;:::-;;5859:30;5864:14;5879:1;5864:17;;;;;;;;:::i;:::-;;;;;;;5883:5;5859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:42;;;;:9;;;;:42;;;;;;:::i;:::-;-1:-1:-1;;5899:10:171;;:34;;-1:-1:-1;;5899:34:171;5912:21;5899:34;;;-1:-1:-1;5263:677:171:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;14134:2:194;13313:53:105;;;14116:21:194;14173:2;14153:18;;;14146:30;14212:26;14192:18;;;14185:54;14256:18;;13313:53:105;13932:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;20485:2:194;11346:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11346:81:105;20283:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;20891:2:194;11437:65:105;;;20873:21:194;20930:2;20910:18;;;20903:30;20969:34;20949:18;;;20942:62;21040:6;21020:18;;;21013:34;21064:19;;11437:65:105;20689:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;20485:2:194;11647:81:105;;;20467:21:194;20524:2;20504:18;;;20497:30;20563:34;20543:18;;;20536:62;20634:7;20614:18;;;20607:35;20659:19;;11647:81:105;20283:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;8333:391:171:-;8415:7;8433:9;8475:1;8460:5;:12;:16;8452:41;;;;-1:-1:-1;;;8452:41:171;;21296:2:194;8452:41:171;;;21278:21:194;21335:2;21315:18;;;21308:30;21374:15;21354:18;;;21347:43;21407:18;;8452:41:171;21094:337:194;8452:41:171;8507:9;8503:197;8519:5;:12;8517:1;:14;8503:197;;;8621:5;8604:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;8594:34;;;;;;8580:5;8586:1;8580:8;;;;;;;;:::i;:::-;;;;;;;8563:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;8553:37;;;;;;:75;8550:140;;8651:1;8647:5;;8670;;8550:140;8532:3;;;;:::i;:::-;;;;8503:197;;;-1:-1:-1;8716:1:171;8333:391;-1:-1:-1;;;8333:391:171:o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;10032:25:194;;;10073:18;;;10066:83;458:21:173;563:31;;10005:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;21919:2:194;8996:61:105;;;21901:21:194;;;21938:18;;;21931:30;21997:34;21977:18;;;21970:62;22049:18;;8996:61:105;21717:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;22280:2:194;9067:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9067:58:105;22078:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;22280:2:194;9271:58:105;;;22262:21:194;22319:2;22299:18;;;22292:30;22358;22338:18;;;22331:58;22406:18;;9271:58:105;22078:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;22637:2:194;12982:55:105;;;22619:21:194;22676:2;22656:18;;;22649:30;22715:27;22695:18;;;22688:55;22760:18;;12982:55:105;22435:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;22991:2:194;6476:110:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;6476:110:105;22789:414:194;447:696:111;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;24090:2:194;765:55:173;;;24072:21:194;24129:2;24109:18;;;24102:30;24168:24;24148:18;;;24141:52;24210:18;;765:55:173;23888:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;24441:2:194;880:69:173;;;24423:21:194;24480:2;24460:18;;;24453:30;24519:34;24499:18;;;24492:62;24590:4;24570:18;;;24563:32;24612:19;;880:69:173;24239:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;24844:2:194;1022:122:173;;;24826:21:194;24883:2;24863:18;;;24856:30;24922;24902:18;;;24895:58;24970:18;;1022:122:173;24642:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;25128:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;25163:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;4104:1153:171:-;4204:13;4229:20;4252:11;4271;:18;4264:4;:25;;;;;;:::i;:::-;4252:38;;;;;;;;:::i;:::-;;;;;;;4229:61;;4301:17;4328:2;4321:4;:9;;;;:::i;:::-;4301:29;;;;4356:2;4344:9;:14;4340:155;;;4437:8;4453:15;;4424:6;;4437:8;4446:22;;;;;;:::i;:::-;4437:32;;;;;;;;:::i;:::-;;;;;;;;4407:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4374:110;;4340:155;4521:2;4508:9;:15;4504:724;;4539:21;;:::i;:::-;4584:12;4604:19;;4597:26;;;;;;:::i;:::-;4584:40;;;;;;;;:::i;:::-;;;;;;;;4574:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4579:1;4574:7;;;;;;;:::i;:::-;;;;:50;4648:12;4668:19;;4661:26;;;;;;:::i;:::-;4648:40;;;;;;;;:::i;:::-;;;;;;;;4638:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:4;4643:1;4638:7;;;;;;;:::i;:::-;;;;:50;4719:2;4706:15;;;4702:516;;4800:7;;;4814;;;;4778:58;;;;4800:7;4829:6;;4778:58;;:::i;:::-;;;;;;;;;;;;;4741:113;;4702:516;;;5001:7;;;5063;;;;4930:255;;;;5001:7;5126:6;;4930:255;;:::i;:::-;;;;;;;;;;;;;4893:310;;4702:516;4525:703;-1:-1:-1;5244:6:171;4104:1153;-1:-1:-1;;;4104:1153:171:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;22991:2:194;14409:60:105;;;22973:21:194;23030:2;23010:18;;;23003:30;23069:34;23049:18;;;23042:62;23140:20;23120:18;;;23113:48;23178:19;;14409:60:105;22789:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;13925:831;;;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:194;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1996:196::-;2064:20;;-1:-1:-1;;;;;2113:54:194;;2103:65;;2093:93;;2182:1;2179;2172:12;2093:93;1996:196;;;:::o;2197:254::-;2265:6;2273;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;2365:29;2384:9;2365:29;:::i;:::-;2355:39;2441:2;2426:18;;;;2413:32;;-1:-1:-1;;;2197:254:194:o;2638:328::-;2715:6;2723;2731;2784:2;2772:9;2763:7;2759:23;2755:32;2752:52;;;2800:1;2797;2790:12;2752:52;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;2638:328;;;;;:::o;3655:632::-;3826:2;3878:21;;;3948:13;;3851:18;;;3970:22;;;3797:4;;3826:2;4049:15;;;;4023:2;4008:18;;;3797:4;4092:169;4106:6;4103:1;4100:13;4092:169;;;4167:13;;4155:26;;4236:15;;;;4201:12;;;;4128:1;4121:9;4092:169;;;-1:-1:-1;4278:3:194;;3655:632;-1:-1:-1;;;;;;3655:632:194:o;4292:186::-;4351:6;4404:2;4392:9;4383:7;4379:23;4375:32;4372:52;;;4420:1;4417;4410:12;4372:52;4443:29;4462:9;4443:29;:::i;4483:1387::-;4931:4;4960:3;4990:2;4979:9;4972:21;5016:45;5057:2;5046:9;5042:18;5034:6;5016:45;:::i;:::-;5002:59;;5109:9;5101:6;5097:22;5092:2;5081:9;5077:18;5070:50;5143:33;5169:6;5161;5143:33;:::i;:::-;5129:47;;5224:9;5216:6;5212:22;5207:2;5196:9;5192:18;5185:50;5258:33;5284:6;5276;5258:33;:::i;:::-;5244:47;;5339:9;5331:6;5327:22;5322:2;5311:9;5307:18;5300:50;5373:33;5399:6;5391;5373:33;:::i;:::-;5359:47;;5455:9;5447:6;5443:22;5437:3;5426:9;5422:19;5415:51;5489:33;5515:6;5507;5489:33;:::i;:::-;5475:47;;5571:9;5563:6;5559:22;5553:3;5542:9;5538:19;5531:51;5605:33;5631:6;5623;5605:33;:::i;:::-;5591:47;;5687:9;5679:6;5675:22;5669:3;5658:9;5654:19;5647:51;5721:33;5747:6;5739;5721:33;:::i;:::-;5707:47;;5803:9;5795:6;5791:22;5785:3;5774:9;5770:19;5763:51;5831:33;5857:6;5849;5831:33;:::i;:::-;5823:41;4483:1387;-1:-1:-1;;;;;;;;;;;4483:1387:194:o;5875:184::-;-1:-1:-1;;;5924:1:194;5917:88;6024:4;6021:1;6014:15;6048:4;6045:1;6038:15;6064:296;6147:1;6140:5;6137:12;6127:200;;-1:-1:-1;;;6180:1:194;6173:88;6284:4;6281:1;6274:15;6312:4;6309:1;6302:15;6127:200;6336:18;;6064:296::o;6365:1654::-;6955:25;;;-1:-1:-1;;;;;1699:54:194;;7031:2;7016:18;;1687:67;6914:4;6943:3;7071:2;7066;7055:9;7051:18;7044:30;7097:45;7138:2;7127:9;7123:18;7115:6;7097:45;:::i;:::-;7083:59;;7190:9;7182:6;7178:22;7173:2;7162:9;7158:18;7151:50;7224:33;7250:6;7242;7224:33;:::i;:::-;7210:47;;7306:9;7298:6;7294:22;7288:3;7277:9;7273:19;7266:51;7340:33;7366:6;7358;7340:33;:::i;:::-;7326:47;;7422:9;7414:6;7410:22;7404:3;7393:9;7389:19;7382:51;7456:33;7482:6;7474;7456:33;:::i;:::-;7442:47;;7538:9;7530:6;7526:22;7520:3;7509:9;7505:19;7498:51;7572:33;7598:6;7590;7572:33;:::i;:::-;7558:47;;7654:9;7646:6;7642:22;7636:3;7625:9;7621:19;7614:51;7688:33;7714:6;7706;7688:33;:::i;:::-;7674:47;;7770:9;7762:6;7758:22;7752:3;7741:9;7737:19;7730:51;7804:33;7830:6;7822;7804:33;:::i;:::-;7790:47;;7886:9;7878:6;7874:22;7868:3;7857:9;7853:19;7846:51;7914:33;7940:6;7932;7914:33;:::i;:::-;7906:41;;;7956:57;8008:3;7997:9;7993:19;7984:7;7956:57;:::i;:::-;6365:1654;;;;;;;;;;;;;;:::o;8024:118::-;8110:5;8103:13;8096:21;8089:5;8086:32;8076:60;;8132:1;8129;8122:12;8147:315;8212:6;8220;8273:2;8261:9;8252:7;8248:23;8244:32;8241:52;;;8289:1;8286;8279:12;8241:52;8312:29;8331:9;8312:29;:::i;:::-;8302:39;;8391:2;8380:9;8376:18;8363:32;8404:28;8426:5;8404:28;:::i;:::-;8451:5;8441:15;;;8147:315;;;;;:::o;8467:184::-;-1:-1:-1;;;8516:1:194;8509:88;8616:4;8613:1;8606:15;8640:4;8637:1;8630:15;8656:1197;8751:6;8759;8767;8775;8828:3;8816:9;8807:7;8803:23;8799:33;8796:53;;;8845:1;8842;8835:12;8796:53;8868:29;8887:9;8868:29;:::i;:::-;8858:39;;8916:38;8950:2;8939:9;8935:18;8916:38;:::i;:::-;8906:48;;9001:2;8990:9;8986:18;8973:32;8963:42;;9056:2;9045:9;9041:18;9028:32;9079:18;9120:2;9112:6;9109:14;9106:34;;;9136:1;9133;9126:12;9106:34;9174:6;9163:9;9159:22;9149:32;;9219:7;9212:4;9208:2;9204:13;9200:27;9190:55;;9241:1;9238;9231:12;9190:55;9277:2;9264:16;9299:2;9295;9292:10;9289:36;;;9305:18;;:::i;:::-;9439:2;9433:9;9501:4;9493:13;;-1:-1:-1;;9489:22:194;;;9513:2;9485:31;9481:40;9469:53;;;9537:18;;;9557:22;;;9534:46;9531:72;;;9583:18;;:::i;:::-;9623:10;9619:2;9612:22;9658:2;9650:6;9643:18;9698:7;9693:2;9688;9684;9680:11;9676:20;9673:33;9670:53;;;9719:1;9716;9709:12;9670:53;9775:2;9770;9766;9762:11;9757:2;9749:6;9745:15;9732:46;9820:1;9815:2;9810;9802:6;9798:15;9794:24;9787:35;9841:6;9831:16;;;;;;;8656:1197;;;;;;;:::o;10160:260::-;10228:6;10236;10289:2;10277:9;10268:7;10264:23;10260:32;10257:52;;;10305:1;10302;10295:12;10257:52;10328:29;10347:9;10328:29;:::i;:::-;10318:39;;10376:38;10410:2;10399:9;10395:18;10376:38;:::i;:::-;10366:48;;10160:260;;;;;:::o;10425:437::-;10504:1;10500:12;;;;10547;;;10568:61;;10622:4;10614:6;10610:17;10600:27;;10568:61;10675:2;10667:6;10664:14;10644:18;10641:38;10638:218;;-1:-1:-1;;;10709:1:194;10702:88;10813:4;10810:1;10803:15;10841:4;10838:1;10831:15;10638:218;;10425:437;;;:::o;12001:245::-;12068:6;12121:2;12109:9;12100:7;12096:23;12092:32;12089:52;;;12137:1;12134;12127:12;12089:52;12169:9;12163:16;12188:28;12210:5;12188:28;:::i;13009:184::-;-1:-1:-1;;;13058:1:194;13051:88;13158:4;13155:1;13148:15;13182:4;13179:1;13172:15;13198:184;-1:-1:-1;;;13247:1:194;13240:88;13347:4;13344:1;13337:15;13371:4;13368:1;13361:15;13387:195;13426:3;-1:-1:-1;;13450:5:194;13447:77;13444:103;;13527:18;;:::i;:::-;-1:-1:-1;13574:1:194;13563:13;;13387:195::o;14821:1088::-;14906:12;;14871:3;;14961:1;14981:18;;;;15034;;;;15061:61;;15115:4;15107:6;15103:17;15093:27;;15061:61;15141:2;15189;15181:6;15178:14;15158:18;15155:38;15152:218;;-1:-1:-1;;;15223:1:194;15216:88;15327:4;15324:1;15317:15;15355:4;15352:1;15345:15;15152:218;15386:18;15413:162;;;;15589:1;15584:319;;;;15379:524;;15413:162;-1:-1:-1;;15450:9:194;15446:82;15441:3;15434:95;15558:6;15553:3;15549:16;15542:23;;15413:162;;15584:319;14768:1;14761:14;;;14805:4;14792:18;;15678:1;15692:165;15706:6;15703:1;15700:13;15692:165;;;15784:14;;15771:11;;;15764:35;15827:16;;;;15721:10;;15692:165;;;15696:3;;15886:6;15881:3;15877:16;15870:23;;15379:524;;;;;;;14821:1088;;;;:::o;15914:360::-;16173:31;16168:3;16161:44;16143:3;16221:47;16264:2;16259:3;16255:12;16247:6;16221:47;:::i;16623:1767::-;17138:3;17176:6;17170:13;17192:53;17238:6;17233:3;17226:4;17218:6;17214:17;17192:53;:::i;:::-;17276:6;17270:13;17292:68;17351:8;17342:6;17337:3;17333:16;17326:4;17318:6;17314:17;17292:68;:::i;:::-;17438:13;;17386:16;;;17382:31;;17460:57;17438:13;17382:31;17494:4;17482:17;;17460:57;:::i;:::-;17548:6;17542:13;17564:72;17627:8;17616;17609:5;17605:20;17598:4;17590:6;17586:17;17564:72;:::i;:::-;17718:13;;17662:20;;;;17658:35;;17740:57;17718:13;17658:35;17774:4;17762:17;;17740:57;:::i;:::-;17828:6;17822:13;17844:72;17907:8;17896;17889:5;17885:20;17878:4;17870:6;17866:17;17844:72;:::i;:::-;17998:13;;17942:20;;;;17938:35;;18020:57;17998:13;17938:35;18054:4;18042:17;;18020:57;:::i;:::-;18108:6;18102:13;18124:72;18187:8;18176;18169:5;18165:20;18158:4;18150:6;18146:17;18124:72;:::i;:::-;18275:13;;18219:20;;;;18215:35;;18297:54;18275:13;18215:35;18331:4;18319:17;;18297:54;:::i;:::-;18367:17;;16623:1767;-1:-1:-1;;;;;;;;;;;16623:1767:194:o;18395:1430::-;19053:66;19048:3;19041:79;19023:3;19149:6;19143:13;19165:62;19220:6;19215:2;19210:3;19206:12;19199:4;19191:6;19187:17;19165:62;:::i;:::-;19291:66;19286:2;19246:16;;;19278:11;;;19271:87;19377:46;19419:2;19411:11;;19403:6;19377:46;:::i;:::-;19367:56;;19443:66;19439:2;19432:78;19541:8;19534:4;19530:2;19526:13;19519:31;19581:6;19575:13;19597:63;19651:8;19646:2;19642;19638:11;19631:4;19623:6;19619:17;19597:63;:::i;:::-;19725:66;19720:2;19679:17;;;;19712:11;;;19705:87;19816:2;19808:11;;18395:1430;-1:-1:-1;;;;;18395:1430:194:o;19830:448::-;20092:31;20087:3;20080:44;20062:3;20153:6;20147:13;20169:62;20224:6;20219:2;20214:3;20210:12;20203:4;20195:6;20191:17;20169:62;:::i;:::-;20251:16;;;;20269:2;20247:25;;19830:448;-1:-1:-1;;19830:448:194:o;21436:276::-;21567:3;21605:6;21599:13;21621:53;21667:6;21662:3;21655:4;21647:6;21643:17;21621:53;:::i;:::-;21690:16;;;;;21436:276;-1:-1:-1;;21436:276:194:o;23208:184::-;-1:-1:-1;;;23257:1:194;23250:88;23357:4;23354:1;23347:15;23381:4;23378:1;23371:15;23397:128;23437:3;23468:1;23464:6;23461:1;23458:13;23455:39;;;23474:18;;:::i;:::-;-1:-1:-1;23510:9:194;;23397:128::o;23530:120::-;23570:1;23596;23586:35;;23601:18;;:::i;:::-;-1:-1:-1;23635:9:194;;23530:120::o;23655:228::-;23695:7;23821:1;-1:-1:-1;;23749:74:194;23746:1;23743:81;23738:1;23731:9;23724:17;23720:105;23717:131;;;23828:18;;:::i;:::-;-1:-1:-1;23868:9:194;;23655:228::o;25186:112::-;25218:1;25244;25234:35;;25249:18;;:::i;:::-;-1:-1:-1;25283:9:194;;25186:112::o;25303:175::-;25340:3;25384:4;25377:5;25373:16;25413:4;25404:7;25401:17;25398:43;;25421:18;;:::i;:::-;25470:1;25457:15;;25303:175;-1:-1:-1;;25303:175:194:o;25483:157::-;25513:1;25547:4;25544:1;25540:12;25571:3;25561:37;;25578:18;;:::i;:::-;25630:3;25623:4;25620:1;25616:12;25612:22;25607:27;;;25483:157;;;;:::o;25645:519::-;25922:3;25960:6;25954:13;25976:53;26022:6;26017:3;26010:4;26002:6;25998:17;25976:53;:::i;:::-;26090:3;26051:16;;;26076:18;;;26110:48;26155:1;26144:13;;26136:6;26110:48;:::i;:::-;26103:55;25645:519;-1:-1:-1;;;;;25645:519:194:o;26169:1196::-;26729:66;26724:3;26717:79;26699:3;26825:6;26819:13;26841:61;26895:6;26891:1;26886:3;26882:11;26875:4;26867:6;26863:17;26841:61;:::i;:::-;26965:3;26961:1;26921:16;;;26953:10;;;26946:23;26994:13;;27016:62;26994:13;27065:1;27057:10;;27050:4;27038:17;;27016:62;:::i;:::-;27142:66;27138:1;27097:17;;;;27130:10;;;27123:86;27234:13;;27256:62;27234:13;27305:1;27297:10;;27290:4;27278:17;;27256:62;:::i;:::-;27338:17;27357:1;27334:25;;26169:1196;-1:-1:-1;;;;;26169:1196:194:o;27370:1352::-;28031:66;28026:3;28019:79;28001:3;28127:6;28121:13;28143:61;28197:6;28193:1;28188:3;28184:11;28177:4;28169:6;28165:17;28143:61;:::i;:::-;28267:3;28263:1;28223:16;;;28255:10;;;28248:23;28296:13;;28318:62;28296:13;28367:1;28359:10;;28352:4;28340:17;;28318:62;:::i;:::-;28444:66;28440:1;28399:17;;;;28432:10;;;28425:86;28536:13;;28558:62;28536:13;28607:1;28599:10;;28592:4;28580:17;;28558:62;:::i;:::-;28684:5;28680:1;28639:17;;;;28672:10;;;28665:25;28714:1;28706:10;;27370:1352;-1:-1:-1;;;;;27370:1352:194:o;28727:512::-;28921:4;-1:-1:-1;;;;;29031:2:194;29023:6;29019:15;29008:9;29001:34;29083:2;29075:6;29071:15;29066:2;29055:9;29051:18;29044:43;;29123:6;29118:2;29107:9;29103:18;29096:34;29166:3;29161:2;29150:9;29146:18;29139:31;29187:46;29228:3;29217:9;29213:19;29205:6;29187:46;:::i;:::-;29179:54;28727:512;-1:-1:-1;;;;;;28727:512:194:o;29244:249::-;29313:6;29366:2;29354:9;29345:7;29341:23;29337:32;29334:52;;;29382:1;29379;29372:12;29334:52;29414:9;29408:16;29433:30;29457:5;29433:30;:::i", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "getStructIndexInfo(uint256)": "3c41d28c", + "getStructInfo(uint256)": "53bbd6a7", + "getUserTokenIdList()": "43a47162", + "isApprovedForAll(address,address)": "e985e9c5", + "lootList(uint256)": "9b8a3237", + "mint(address)": "6a627842", + "name()": "06fdde03", + "ownerOf(uint256)": "6352211e", + "randomId()": "0ab14d8a", + "randomList(uint256)": "cba86e23", + "revealNFT(uint256)": "d5608f9a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenId()": "17d70f7c", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd", + "waitBlockCount()": "3e8474ca", + "withdraw(address)": "51cff8d9", + "withdrawErc20(address,address,uint256)": "1593dee1" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_desc\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_notRevealedInfo\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_waitBlockCount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"name\":\"NewRandom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructIndexInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructInfo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUserTokenIdList\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lootList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"Weapon\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Chest\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Head\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Waist\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Foot\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Hand\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Neck\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"Ring\",\"type\":\"string\"},{\"internalType\":\"enum MRandom.RandomState\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"randomList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"revealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"waitBlockCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_targetAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawErc20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/Loot.sol\":\"MLoot\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/other/Base64.sol\":{\"keccak256\":\"0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2\",\"dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt\"]},\"src/other/Loot.sol\":{\"keccak256\":\"0x6a3cebf8df977c691cb7a68e8b1509399098e113b5fa4e9695894de03018600f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a47c1135ac397e857e332989475f98bc3d7640c1f9b08a5b185bf8c25574d745\",\"dweb:/ipfs/QmZVZLAGnGwHvdkvy6HvyzQbz1ba1YBQFdZZax1NDcUz1B\"]},\"src/other/LootSuit.sol\":{\"keccak256\":\"0x1f16eb64c95c06b3549a0a080f1f407f5710637e6b5f5acfcd5bb10fd029fadf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7023e085f42a30832f4f701855ada24ce31897ba87dfc013c502b7d67b5eed4f\",\"dweb:/ipfs/QmQTZxCqiUQXLDwghriSeakVD7C9QVT4mR1WY5Eg1PV5aB\"]},\"src/other/MRandom.sol\":{\"keccak256\":\"0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3\",\"dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_desc", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "author", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "NewRandom", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructIndexInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructInfo", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "lootList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "string", + "name": "Weapon", + "type": "string" + }, + { + "internalType": "string", + "name": "Chest", + "type": "string" + }, + { + "internalType": "string", + "name": "Head", + "type": "string" + }, + { + "internalType": "string", + "name": "Waist", + "type": "string" + }, + { + "internalType": "string", + "name": "Foot", + "type": "string" + }, + { + "internalType": "string", + "name": "Hand", + "type": "string" + }, + { + "internalType": "string", + "name": "Neck", + "type": "string" + }, + { + "internalType": "string", + "name": "Ring", + "type": "string" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealNFT" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_targetAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdrawErc20" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/Loot.sol": "MLoot" + }, + "libraries": {} + }, + "sources": { + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", + "urls": [ + "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", + "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff", + "urls": [ + "bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005", + "dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266", + "urls": [ + "bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4", + "dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "src/other/Base64.sol": { + "keccak256": "0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675", + "urls": [ + "bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2", + "dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt" + ], + "license": "MIT" + }, + "src/other/Loot.sol": { + "keccak256": "0x6a3cebf8df977c691cb7a68e8b1509399098e113b5fa4e9695894de03018600f", + "urls": [ + "bzz-raw://a47c1135ac397e857e332989475f98bc3d7640c1f9b08a5b185bf8c25574d745", + "dweb:/ipfs/QmZVZLAGnGwHvdkvy6HvyzQbz1ba1YBQFdZZax1NDcUz1B" + ], + "license": "MIT" + }, + "src/other/LootSuit.sol": { + "keccak256": "0x1f16eb64c95c06b3549a0a080f1f407f5710637e6b5f5acfcd5bb10fd029fadf", + "urls": [ + "bzz-raw://7023e085f42a30832f4f701855ada24ce31897ba87dfc013c502b7d67b5eed4f", + "dweb:/ipfs/QmQTZxCqiUQXLDwghriSeakVD7C9QVT4mR1WY5Eg1PV5aB" + ], + "license": "MIT" + }, + "src/other/MRandom.sol": { + "keccak256": "0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5", + "urls": [ + "bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3", + "dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/Loot.sol", + "id": 120387, + "exportedSymbols": { + "Address": [ + 132130 + ], + "Base64": [ + 119403 + ], + "Context": [ + 132152 + ], + "ERC165": [ + 132176 + ], + "ERC721": [ + 72425 + ], + "IERC165": [ + 174457 + ], + "IERC20": [ + 71498 + ], + "IERC721": [ + 131755 + ], + "IERC721Metadata": [ + 131800 + ], + "IERC721Receiver": [ + 131773 + ], + "MLoot": [ + 120386 + ], + "MRandom": [ + 120834 + ], + "Math": [ + 133042 + ], + "SignedMath": [ + 133147 + ], + "Strings": [ + 72654 + ], + "Suit": [ + 120637 + ] + }, + "nodeType": "SourceUnit", + "src": "32:8695:171", + "nodes": [ + { + "id": 119405, + "nodeType": "PragmaDirective", + "src": "32:24:171", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 119406, + "nodeType": "ImportDirective", + "src": "57:24:171", + "nodes": [], + "absolutePath": "src/other/LootSuit.sol", + "file": "./LootSuit.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 120638, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119407, + "nodeType": "ImportDirective", + "src": "82:22:171", + "nodes": [], + "absolutePath": "src/other/Base64.sol", + "file": "./Base64.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 119404, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119408, + "nodeType": "ImportDirective", + "src": "105:23:171", + "nodes": [], + "absolutePath": "src/other/MRandom.sol", + "file": "./MRandom.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 120835, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119409, + "nodeType": "ImportDirective", + "src": "129:51:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/utils/Strings.sol", + "file": "@openzeppelin/contracts/utils/Strings.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 72655, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119410, + "nodeType": "ImportDirective", + "src": "181:57:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 72426, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 119411, + "nodeType": "ImportDirective", + "src": "239:56:171", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 120387, + "sourceUnit": 71499, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 120386, + "nodeType": "ContractDefinition", + "src": "297:8429:171", + "nodes": [ + { + "id": 119420, + "nodeType": "UsingForDirective", + "src": "342:26:171", + "nodes": [], + "global": false, + "libraryName": { + "id": 119418, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72654, + "src": "348:7:171" + }, + "typeName": { + "id": 119419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "360:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 119455, + "nodeType": "FunctionDefinition", + "src": "374:342:171", + "nodes": [], + "body": { + "id": 119454, + "nodeType": "Block", + "src": "573:143:171", + "nodes": [], + "statements": [ + { + "expression": { + "id": 119439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119437, + "name": "desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119487, + "src": "583:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119438, + "name": "_desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119422, + "src": "590:5:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "583:12:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119440, + "nodeType": "ExpressionStatement", + "src": "583:12:171" + }, + { + "expression": { + "id": 119444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119441, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119485, + "src": "605:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119442, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "613:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 119443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "613:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "605:18:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 119445, + "nodeType": "ExpressionStatement", + "src": "605:18:171" + }, + { + "expression": { + "id": 119448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119446, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119483, + "src": "633:14:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119447, + "name": "_waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119430, + "src": "650:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "633:32:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119449, + "nodeType": "ExpressionStatement", + "src": "633:32:171" + }, + { + "expression": { + "id": 119452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119450, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119489, + "src": "675:15:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 119451, + "name": "_notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119428, + "src": "693:16:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "675:34:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119453, + "nodeType": "ExpressionStatement", + "src": "675:34:171" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 119433, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119424, + "src": "559:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 119434, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119426, + "src": "567:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 119435, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 119432, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "552:6:171" + }, + "nodeType": "ModifierInvocation", + "src": "552:20:171" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 119431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119422, + "mutability": "mutable", + "name": "_desc", + "nameLocation": "409:5:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "395:19:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119421, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119424, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "438:6:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "424:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "424:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119426, + "mutability": "mutable", + "name": "name", + "nameLocation": "468:4:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "454:18:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119425, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "454:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119428, + "mutability": "mutable", + "name": "_notRevealedInfo", + "nameLocation": "496:16:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "482:30:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119427, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "482:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119430, + "mutability": "mutable", + "name": "_waitBlockCount", + "nameLocation": "530:15:171", + "nodeType": "VariableDeclaration", + "scope": 119455, + "src": "522:23:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "522:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "385:166:171" + }, + "returnParameters": { + "id": 119436, + "nodeType": "ParameterList", + "parameters": [], + "src": "573:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 119479, + "nodeType": "StructDefinition", + "src": "732:267:171", + "nodes": [], + "canonicalName": "MLoot.Loot", + "members": [ + { + "constant": false, + "id": 119457, + "mutability": "mutable", + "name": "randomId", + "nameLocation": "762:8:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "754:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "754:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119459, + "mutability": "mutable", + "name": "owner", + "nameLocation": "788:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "780:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119458, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119461, + "mutability": "mutable", + "name": "Weapon", + "nameLocation": "810:6:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "803:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "803:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119463, + "mutability": "mutable", + "name": "Chest", + "nameLocation": "833:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "826:12:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "826:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119465, + "mutability": "mutable", + "name": "Head", + "nameLocation": "855:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "848:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "848:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119467, + "mutability": "mutable", + "name": "Waist", + "nameLocation": "876:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "869:12:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119466, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "869:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119469, + "mutability": "mutable", + "name": "Foot", + "nameLocation": "898:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "891:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "891:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119471, + "mutability": "mutable", + "name": "Hand", + "nameLocation": "919:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "912:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119470, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "912:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119473, + "mutability": "mutable", + "name": "Neck", + "nameLocation": "940:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "933:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119472, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "933:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119475, + "mutability": "mutable", + "name": "Ring", + "nameLocation": "961:4:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "954:11:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119474, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "954:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119478, + "mutability": "mutable", + "name": "state", + "nameLocation": "987:5:171", + "nodeType": "VariableDeclaration", + "scope": 119479, + "src": "975:17:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "typeName": { + "id": 119477, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119476, + "name": "RandomState", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120643, + "src": "975:11:171" + }, + "referencedDeclaration": 120643, + "src": "975:11:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "visibility": "internal" + } + ], + "name": "Loot", + "nameLocation": "739:4:171", + "scope": 120386, + "visibility": "public" + }, + { + "id": 119481, + "nodeType": "VariableDeclaration", + "src": "1005:22:171", + "nodes": [], + "constant": false, + "functionSelector": "17d70f7c", + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1020:7:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119480, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1005:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 119483, + "nodeType": "VariableDeclaration", + "src": "1033:29:171", + "nodes": [], + "constant": false, + "functionSelector": "3e8474ca", + "mutability": "mutable", + "name": "waitBlockCount", + "nameLocation": "1048:14:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1033:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 119485, + "nodeType": "VariableDeclaration", + "src": "1070:13:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1078:5:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 119484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1070:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "id": 119487, + "nodeType": "VariableDeclaration", + "src": "1089:11:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "desc", + "nameLocation": "1096:4:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 119486, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1089:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 119489, + "nodeType": "VariableDeclaration", + "src": "1106:22:171", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "notRevealedInfo", + "nameLocation": "1113:15:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 119488, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1106:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 119494, + "nodeType": "VariableDeclaration", + "src": "1135:40:171", + "nodes": [], + "constant": false, + "functionSelector": "9b8a3237", + "mutability": "mutable", + "name": "lootList", + "nameLocation": "1167:8:171", + "scope": 120386, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot)" + }, + "typeName": { + "id": 119493, + "keyType": { + "id": 119490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1135:24:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot)" + }, + "valueType": { + "id": 119492, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119491, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "1154:4:171" + }, + "referencedDeclaration": 119479, + "src": "1154:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + } + }, + "visibility": "public" + }, + { + "id": 119505, + "nodeType": "ModifierDefinition", + "src": "1182:77:171", + "nodes": [], + "body": { + "id": 119504, + "nodeType": "Block", + "src": "1203:56:171", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 119500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119497, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1221:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 119498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1221:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 119499, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119485, + "src": "1235:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1221:19:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 119496, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1213:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 119501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1213:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 119502, + "nodeType": "ExpressionStatement", + "src": "1213:28:171" + }, + { + "id": 119503, + "nodeType": "PlaceholderStatement", + "src": "1251:1:171" + } + ] + }, + "name": "onlyOwner", + "nameLocation": "1191:9:171", + "parameters": { + "id": 119495, + "nodeType": "ParameterList", + "parameters": [], + "src": "1200:2:171" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 119780, + "nodeType": "FunctionDefinition", + "src": "1266:2832:171", + "nodes": [], + "body": { + "id": 119779, + "nodeType": "Block", + "src": "1361:2737:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119518 + ], + "declarations": [ + { + "constant": false, + "id": 119518, + "mutability": "mutable", + "name": "parts", + "nameLocation": "1389:5:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "1371:23:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string[17]" + }, + "typeName": { + "baseType": { + "id": 119516, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1371:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119517, + "length": { + "hexValue": "3137", + "id": 119515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1378:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "nodeType": "ArrayTypeName", + "src": "1371:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$17_storage_ptr", + "typeString": "string[17]" + } + }, + "visibility": "internal" + } + ], + "id": 119519, + "nodeType": "VariableDeclarationStatement", + "src": "1371:23:171" + }, + { + "assignments": [ + 119522 + ], + "declarations": [ + { + "constant": false, + "id": 119522, + "mutability": "mutable", + "name": "loot", + "nameLocation": "1416:4:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "1404:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 119521, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119520, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "1404:4:171" + }, + "referencedDeclaration": 119479, + "src": "1404:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 119526, + "initialValue": { + "baseExpression": { + "id": 119523, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "1423:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 119525, + "indexExpression": { + "id": 119524, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119507, + "src": "1432:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1423:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1404:37:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 119531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119527, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "1454:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "1454:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 119529, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "1468:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 119530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "1468:19:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1454:33:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119546, + "nodeType": "IfStatement", + "src": "1451:244:171", + "trueBody": { + "id": 119545, + "nodeType": "Block", + "src": "1488:207:171", + "statements": [ + { + "assignments": [ + 119533 + ], + "declarations": [ + { + "constant": false, + "id": 119533, + "mutability": "mutable", + "name": "r", + "nameLocation": "1516:1:171", + "nodeType": "VariableDeclaration", + "scope": 119545, + "src": "1502:15:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119532, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1502:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119542, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 119538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1574:31:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 119539, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119489, + "src": "1623:15:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 119536, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1540:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1540:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1540:112:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1520:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119534, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1520:6:171", + "typeDescriptions": {} + } + }, + "id": 119541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:142:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1502:160:171" + }, + { + "expression": { + "id": 119543, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119533, + "src": "1683:1:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119512, + "id": 119544, + "nodeType": "Return", + "src": "1676:8:171" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 119552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 119548, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "1712:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119549, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "1712:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 119550, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "1726:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 119551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Inited", + "nodeType": "MemberAccess", + "referencedDeclaration": 120640, + "src": "1726:18:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1712:32:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "426f78206e6f742065786973746564", + "id": 119553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1746:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + }, + "value": "Box not existed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + } + ], + "id": 119547, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1704:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 119554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:60:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 119555, + "nodeType": "ExpressionStatement", + "src": "1704:60:171" + }, + { + "expression": { + "id": 119560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119556, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "1775:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119558, + "indexExpression": { + "hexValue": "30", + "id": 119557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1794:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1775:30:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", + "id": 119559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1808:255:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "1775:288:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119561, + "nodeType": "ExpressionStatement", + "src": "1775:288:171" + }, + { + "expression": { + "id": 119567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119562, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2074:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119564, + "indexExpression": { + "hexValue": "31", + "id": 119563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2080:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2074:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119565, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2085:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "2085:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2074:22:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119568, + "nodeType": "ExpressionStatement", + "src": "2074:22:171" + }, + { + "expression": { + "id": 119573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119569, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2107:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119571, + "indexExpression": { + "hexValue": "32", + "id": 119570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2113:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2107:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", + "id": 119572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2118:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2107:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119574, + "nodeType": "ExpressionStatement", + "src": "2107:53:171" + }, + { + "expression": { + "id": 119580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119575, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2171:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119577, + "indexExpression": { + "hexValue": "33", + "id": 119576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2177:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2171:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119578, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2182:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "2182:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2171:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119581, + "nodeType": "ExpressionStatement", + "src": "2171:21:171" + }, + { + "expression": { + "id": 119586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119582, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2203:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119584, + "indexExpression": { + "hexValue": "34", + "id": 119583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2209:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2203:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", + "id": 119585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2214:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2203:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119587, + "nodeType": "ExpressionStatement", + "src": "2203:53:171" + }, + { + "expression": { + "id": 119593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119588, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2267:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119590, + "indexExpression": { + "hexValue": "35", + "id": 119589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2273:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2267:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119591, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2278:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "2278:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2267:20:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119594, + "nodeType": "ExpressionStatement", + "src": "2267:20:171" + }, + { + "expression": { + "id": 119599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119595, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2298:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119597, + "indexExpression": { + "hexValue": "36", + "id": 119596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2304:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2298:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", + "id": 119598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2309:42:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2298:53:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119600, + "nodeType": "ExpressionStatement", + "src": "2298:53:171" + }, + { + "expression": { + "id": 119606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119601, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2362:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119603, + "indexExpression": { + "hexValue": "37", + "id": 119602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2368:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2362:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119604, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2373:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119605, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "2373:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2362:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119607, + "nodeType": "ExpressionStatement", + "src": "2362:21:171" + }, + { + "expression": { + "id": 119612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119608, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2394:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119610, + "indexExpression": { + "hexValue": "38", + "id": 119609, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2400:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2394:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", + "id": 119611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2405:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2394:54:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119613, + "nodeType": "ExpressionStatement", + "src": "2394:54:171" + }, + { + "expression": { + "id": 119619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119614, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2459:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119616, + "indexExpression": { + "hexValue": "39", + "id": 119615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2465:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2459:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119617, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2470:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "2470:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2459:20:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119620, + "nodeType": "ExpressionStatement", + "src": "2459:20:171" + }, + { + "expression": { + "id": 119625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119621, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2490:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119623, + "indexExpression": { + "hexValue": "3130", + "id": 119622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2496:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2490:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", + "id": 119624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2502:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2490:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119626, + "nodeType": "ExpressionStatement", + "src": "2490:55:171" + }, + { + "expression": { + "id": 119632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119627, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2556:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119629, + "indexExpression": { + "hexValue": "3131", + "id": 119628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2562:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2556:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119630, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2568:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119631, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "2568:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2556:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119633, + "nodeType": "ExpressionStatement", + "src": "2556:21:171" + }, + { + "expression": { + "id": 119638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119634, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2588:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119636, + "indexExpression": { + "hexValue": "3132", + "id": 119635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2594:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2588:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223134302220636c6173733d2262617365223e", + "id": 119637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2600:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_802d7ac612e3f71ec446a9f274d9a3dd6ee52f8ac958ec0935e9c85bcfda065f", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2588:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119639, + "nodeType": "ExpressionStatement", + "src": "2588:55:171" + }, + { + "expression": { + "id": 119645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119640, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2654:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119642, + "indexExpression": { + "hexValue": "3133", + "id": 119641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2660:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2654:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119643, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2666:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "2666:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2654:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119646, + "nodeType": "ExpressionStatement", + "src": "2654:21:171" + }, + { + "expression": { + "id": 119651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119647, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2686:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119649, + "indexExpression": { + "hexValue": "3134", + "id": 119648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2692:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2686:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223136302220636c6173733d2262617365223e", + "id": 119650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2698:43:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b0df153e66a9089705a59f42f527fc62c50272bbdcc98097fe5334a37452f0f", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2686:55:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119652, + "nodeType": "ExpressionStatement", + "src": "2686:55:171" + }, + { + "expression": { + "id": 119658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119653, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2752:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119655, + "indexExpression": { + "hexValue": "3135", + "id": 119654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2758:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2752:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 119656, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119522, + "src": "2764:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 119657, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "2764:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2752:21:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119659, + "nodeType": "ExpressionStatement", + "src": "2752:21:171" + }, + { + "expression": { + "id": 119664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119660, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2784:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119662, + "indexExpression": { + "hexValue": "3136", + "id": 119661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2790:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2784:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c2f7376673e", + "id": 119663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2796:15:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2784:27:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119665, + "nodeType": "ExpressionStatement", + "src": "2784:27:171" + }, + { + "assignments": [ + 119667 + ], + "declarations": [ + { + "constant": false, + "id": 119667, + "mutability": "mutable", + "name": "output", + "nameLocation": "2836:6:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "2822:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119666, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2822:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119701, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 119672, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2899:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119674, + "indexExpression": { + "hexValue": "30", + "id": 119673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2905:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2899:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119675, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2925:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119677, + "indexExpression": { + "hexValue": "31", + "id": 119676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2931:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2925:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119678, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2951:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119680, + "indexExpression": { + "hexValue": "32", + "id": 119679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2957:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2951:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119681, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "2977:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119683, + "indexExpression": { + "hexValue": "33", + "id": 119682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2983:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2977:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119684, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3003:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119686, + "indexExpression": { + "hexValue": "34", + "id": 119685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3009:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3003:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119687, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3029:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119689, + "indexExpression": { + "hexValue": "35", + "id": 119688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3035:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3029:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119690, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3055:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119692, + "indexExpression": { + "hexValue": "36", + "id": 119691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3061:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3055:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119693, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3081:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119695, + "indexExpression": { + "hexValue": "37", + "id": 119694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3087:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119696, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3107:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119698, + "indexExpression": { + "hexValue": "38", + "id": 119697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3113:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3107:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119670, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2865:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2865:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2865:264:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119669, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2845:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119668, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2845:6:171", + "typeDescriptions": {} + } + }, + "id": 119700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2845:294:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2822:317:171" + }, + { + "expression": { + "id": 119734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119702, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3149:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 119707, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3212:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119708, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3236:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119710, + "indexExpression": { + "hexValue": "39", + "id": 119709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3242:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3236:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119711, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3262:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119713, + "indexExpression": { + "hexValue": "3130", + "id": 119712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3268:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3262:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119714, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3289:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119716, + "indexExpression": { + "hexValue": "3131", + "id": 119715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3295:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3289:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119717, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3316:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119719, + "indexExpression": { + "hexValue": "3132", + "id": 119718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3322:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3316:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119720, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3343:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119722, + "indexExpression": { + "hexValue": "3133", + "id": 119721, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3349:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3343:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119723, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3370:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119725, + "indexExpression": { + "hexValue": "3134", + "id": 119724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3376:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3370:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119726, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3397:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119728, + "indexExpression": { + "hexValue": "3135", + "id": 119727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3403:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3397:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 119729, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119518, + "src": "3424:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$17_memory_ptr", + "typeString": "string memory[17] memory" + } + }, + "id": 119731, + "indexExpression": { + "hexValue": "3136", + "id": 119730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3430:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3424:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119705, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3178:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3178:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3178:269:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3158:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119703, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3158:6:171", + "typeDescriptions": {} + } + }, + "id": 119733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3158:299:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3149:308:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119735, + "nodeType": "ExpressionStatement", + "src": "3149:308:171" + }, + { + "assignments": [ + 119737 + ], + "declarations": [ + { + "constant": false, + "id": 119737, + "mutability": "mutable", + "name": "json", + "nameLocation": "3482:4:171", + "nodeType": "VariableDeclaration", + "scope": 119779, + "src": "3468:18:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119736, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3468:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119765, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7b226e616d65223a20224d4c6f6f742023", + "id": 119746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3609:19:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", + "typeString": "literal_string \"{\"name\": \"MLoot #\"" + }, + "value": "{\"name\": \"MLoot #" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 119747, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119507, + "src": "3654:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 119748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3654:17:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 119749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3654:19:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "222c20226465736372697074696f6e223a22", + "id": 119750, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3699:20:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + "value": "\", \"description\":\"" + }, + { + "id": 119751, + "name": "desc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119487, + "src": "3745:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", + "id": 119752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3775:40:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + "value": "\",\"image\": \"data:image/svg+xml;base64," + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 119757, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3861:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 119756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3855:5:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 119755, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3855:5:171", + "typeDescriptions": {} + } + }, + "id": 119758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3855:13:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 119753, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "3841:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 119754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "3841:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 119759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3841:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "227d", + "id": 119760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3895:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + }, + "value": "\"}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a8ab34da86faf0305ab793504a4a2a99b5978a66c1204985dc9b10a2e290f75a", + "typeString": "literal_string \"{\"name\": \"MLoot #\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + } + ], + "expression": { + "id": 119744, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3567:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3567:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3567:354:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3539:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119742, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3539:6:171", + "typeDescriptions": {} + } + }, + "id": 119762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3539:400:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 119741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3516:5:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 119740, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3516:5:171", + "typeDescriptions": {} + } + }, + "id": 119763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3516:437:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 119738, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "3489:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 119739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "3489:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 119764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3489:474:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3468:495:171" + }, + { + "expression": { + "id": 119775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119766, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "3973:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 119771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4019:31:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 119772, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119737, + "src": "4052:4:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119769, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4002:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4002:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:55:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3982:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119767, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3982:6:171", + "typeDescriptions": {} + } + }, + "id": 119774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3982:85:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3973:94:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119776, + "nodeType": "ExpressionStatement", + "src": "3973:94:171" + }, + { + "expression": { + "id": 119777, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119667, + "src": "4085:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119512, + "id": 119778, + "nodeType": "Return", + "src": "4078:13:171" + } + ] + }, + "baseFunctions": [ + 71703 + ], + "functionSelector": "c87b56dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1275:8:171", + "overrides": { + "id": 119509, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1328:8:171" + }, + "parameters": { + "id": 119508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119507, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1301:8:171", + "nodeType": "VariableDeclaration", + "scope": 119780, + "src": "1293:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1293:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1283:32:171" + }, + "returnParameters": { + "id": 119512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119780, + "src": "1346:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1346:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1345:15:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 119909, + "nodeType": "FunctionDefinition", + "src": "4104:1153:171", + "nodes": [], + "body": { + "id": 119908, + "nodeType": "Block", + "src": "4219:1038:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119791 + ], + "declarations": [ + { + "constant": false, + "id": 119791, + "mutability": "mutable", + "name": "output", + "nameLocation": "4243:6:171", + "nodeType": "VariableDeclaration", + "scope": 119908, + "src": "4229:20:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119790, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4229:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 119798, + "initialValue": { + "baseExpression": { + "id": 119792, + "name": "sourceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119785, + "src": "4252:11:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 119797, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119793, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4264:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119794, + "name": "sourceArray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119785, + "src": "4271:11:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 119795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4271:18:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4264:25:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4252:38:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4229:61:171" + }, + { + "assignments": [ + 119800 + ], + "declarations": [ + { + "constant": false, + "id": 119800, + "mutability": "mutable", + "name": "greatness", + "nameLocation": "4309:9:171", + "nodeType": "VariableDeclaration", + "scope": 119908, + "src": "4301:17:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4301:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 119804, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 119803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119801, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4321:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3231", + "id": 119802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4328:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "src": "4321:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4301:29:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119805, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4344:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "3134", + "id": 119806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4356:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "src": "4344:14:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119826, + "nodeType": "IfStatement", + "src": "4340:155:171", + "trueBody": { + "id": 119825, + "nodeType": "Block", + "src": "4360:135:171", + "statements": [ + { + "expression": { + "id": 119823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119808, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4374:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 119813, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4424:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4432:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119815, + "name": "suffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120541, + "src": "4437:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119820, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119816, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4446:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119817, + "name": "suffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120541, + "src": "4453:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4453:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4446:22:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4437:32:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 119811, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4407:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4407:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4407:63:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4383:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119809, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4383:6:171", + "typeDescriptions": {} + } + }, + "id": 119822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4383:101:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4374:110:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119824, + "nodeType": "ExpressionStatement", + "src": "4374:110:171" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119827, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4508:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "3139", + "id": 119828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4521:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "src": "4508:15:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 119905, + "nodeType": "IfStatement", + "src": "4504:724:171", + "trueBody": { + "id": 119904, + "nodeType": "Block", + "src": "4525:703:171", + "statements": [ + { + "assignments": [ + 119835 + ], + "declarations": [ + { + "constant": false, + "id": 119835, + "mutability": "mutable", + "name": "name", + "nameLocation": "4556:4:171", + "nodeType": "VariableDeclaration", + "scope": 119904, + "src": "4539:21:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string[2]" + }, + "typeName": { + "baseType": { + "id": 119833, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4539:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119834, + "length": { + "hexValue": "32", + "id": 119832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4546:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "ArrayTypeName", + "src": "4539:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$2_storage_ptr", + "typeString": "string[2]" + } + }, + "visibility": "internal" + } + ], + "id": 119836, + "nodeType": "VariableDeclarationStatement", + "src": "4539:21:171" + }, + { + "expression": { + "id": 119846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119837, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4574:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119839, + "indexExpression": { + "hexValue": "30", + "id": 119838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4579:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4574:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 119840, + "name": "namePrefixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120614, + "src": "4584:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119845, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119841, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4597:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119842, + "name": "namePrefixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120614, + "src": "4604:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4604:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4597:26:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4584:40:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "4574:50:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119847, + "nodeType": "ExpressionStatement", + "src": "4574:50:171" + }, + { + "expression": { + "id": 119857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 119848, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4638:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119850, + "indexExpression": { + "hexValue": "31", + "id": 119849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4643:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4638:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 119851, + "name": "nameSuffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120636, + "src": "4648:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119856, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119852, + "name": "rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119782, + "src": "4661:4:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "expression": { + "id": 119853, + "name": "nameSuffixes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120636, + "src": "4668:12:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + "id": 119854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4668:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4661:26:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4648:40:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "4638:50:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119858, + "nodeType": "ExpressionStatement", + "src": "4638:50:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 119861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 119859, + "name": "greatness", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119800, + "src": "4706:9:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3139", + "id": 119860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4719:2:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "src": "4706:15:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 119902, + "nodeType": "Block", + "src": "4875:343:171", + "statements": [ + { + "expression": { + "id": 119900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119882, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4893:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "22", + "id": 119887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4972:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + "value": "\"" + }, + { + "baseExpression": { + "id": 119888, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "5001:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119890, + "indexExpression": { + "hexValue": "30", + "id": 119889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5006:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5001:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5034:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119892, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "5063:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119894, + "indexExpression": { + "hexValue": "31", + "id": 119893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5068:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5063:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2220", + "id": 119895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5096:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + "value": "\" " + }, + { + "id": 119896, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "5126:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "202b31", + "id": 119897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5158:5:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", + "typeString": "literal_string \" +1\"" + }, + "value": " +1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_c804373f7c7dce61e530a692868a2ab39e73356fe87ff04c31493f59b715e55e", + "typeString": "literal_string \" +1\"" + } + ], + "expression": { + "id": 119885, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4930:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4930:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4930:255:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4902:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119883, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4902:6:171", + "typeDescriptions": {} + } + }, + "id": 119899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4902:301:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4893:310:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119901, + "nodeType": "ExpressionStatement", + "src": "4893:310:171" + } + ] + }, + "id": 119903, + "nodeType": "IfStatement", + "src": "4702:516:171", + "trueBody": { + "id": 119881, + "nodeType": "Block", + "src": "4723:146:171", + "statements": [ + { + "expression": { + "id": 119879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 119862, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4741:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "22", + "id": 119867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4795:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + "value": "\"" + }, + { + "baseExpression": { + "id": 119868, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4800:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119870, + "indexExpression": { + "hexValue": "30", + "id": 119869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4805:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4800:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "20", + "id": 119871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4809:3:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + "value": " " + }, + { + "baseExpression": { + "id": 119872, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119835, + "src": "4814:4:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$2_memory_ptr", + "typeString": "string memory[2] memory" + } + }, + "id": 119874, + "indexExpression": { + "hexValue": "31", + "id": 119873, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4819:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4814:7:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "2220", + "id": 119875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4823:4:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + "value": "\" " + }, + { + "id": 119876, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "4829:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e9f33448a4153023cdaf3eb759f1afdc24aba433a3e18b683f8c04a6eaa69f0", + "typeString": "literal_string \"\"\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a", + "typeString": "literal_string \" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_4ec42811b4dac9e2ea55da3bb9d625670279d1ff3470f1e4c0608a7623e082c2", + "typeString": "literal_string \"\" \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 119865, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4778:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 119866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4778:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 119877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4778:58:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 119864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4750:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 119863, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4750:6:171", + "typeDescriptions": {} + } + }, + "id": 119878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4750:104:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4741:113:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 119880, + "nodeType": "ExpressionStatement", + "src": "4741:113:171" + } + ] + } + } + ] + } + }, + { + "expression": { + "id": 119906, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119791, + "src": "5244:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 119789, + "id": 119907, + "nodeType": "Return", + "src": "5237:13:171" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "luck", + "nameLocation": "4113:4:171", + "parameters": { + "id": 119786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119782, + "mutability": "mutable", + "name": "rand", + "nameLocation": "4133:4:171", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4127:10:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 119781, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4127:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 119785, + "mutability": "mutable", + "name": "sourceArray", + "nameLocation": "4163:11:171", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4147:27:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 119783, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4147:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 119784, + "nodeType": "ArrayTypeName", + "src": "4147:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + } + ], + "src": "4117:63:171" + }, + "returnParameters": { + "id": 119789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119788, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 119909, + "src": "4204:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 119787, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4204:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4203:15:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "id": 120029, + "nodeType": "FunctionDefinition", + "src": "5263:677:171", + "nodes": [], + "body": { + "id": 120028, + "nodeType": "Block", + "src": "5309:631:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 119916 + ], + "declarations": [ + { + "constant": false, + "id": 119916, + "mutability": "mutable", + "name": "loot", + "nameLocation": "5332:4:171", + "nodeType": "VariableDeclaration", + "scope": 120028, + "src": "5319:17:171", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 119915, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 119914, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "5319:4:171" + }, + "referencedDeclaration": 119479, + "src": "5319:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 119920, + "initialValue": { + "baseExpression": { + "id": 119917, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "5339:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 119919, + "indexExpression": { + "id": 119918, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119911, + "src": "5348:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5339:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5319:38:171" + }, + { + "assignments": [ + 119925 + ], + "declarations": [ + { + "constant": false, + "id": 119925, + "mutability": "mutable", + "name": "random_numbers", + "nameLocation": "5382:14:171", + "nodeType": "VariableDeclaration", + "scope": 120028, + "src": "5367:29:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[]" + }, + "typeName": { + "baseType": { + "id": 119923, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5367:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 119924, + "nodeType": "ArrayTypeName", + "src": "5367:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", + "typeString": "uint8[]" + } + }, + "visibility": "internal" + } + ], + "id": 119932, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 119927, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5409:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 119457, + "src": "5409:13:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "38", + "id": 119929, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5424:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 119930, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119483, + "src": "5426:14:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 119926, + "name": "getRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120811, + "src": "5399:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" + } + }, + "id": 119931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5399:42:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5367:74:171" + }, + { + "expression": { + "id": 119942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119933, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5451:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "5451:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119937, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5470:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119939, + "indexExpression": { + "hexValue": "30", + "id": 119938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5485:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5470:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119940, + "name": "weapons", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120410, + "src": "5489:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119936, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5465:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5465:32:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5451:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119943, + "nodeType": "ExpressionStatement", + "src": "5451:46:171" + }, + { + "expression": { + "id": 119953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119944, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5507:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "5507:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119948, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5525:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119950, + "indexExpression": { + "hexValue": "31", + "id": 119949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5540:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5525:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119951, + "name": "chestArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120429, + "src": "5544:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119947, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5520:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5520:35:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5507:48:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119954, + "nodeType": "ExpressionStatement", + "src": "5507:48:171" + }, + { + "expression": { + "id": 119964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119955, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5565:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119957, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "5565:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119959, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5582:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119961, + "indexExpression": { + "hexValue": "32", + "id": 119960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5597:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5582:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119962, + "name": "headArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120448, + "src": "5601:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119958, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5577:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5577:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5565:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119965, + "nodeType": "ExpressionStatement", + "src": "5565:46:171" + }, + { + "expression": { + "id": 119975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119966, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5621:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "5621:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119970, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5639:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119972, + "indexExpression": { + "hexValue": "33", + "id": 119971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5654:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5639:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119973, + "name": "waistArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120467, + "src": "5658:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119969, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5634:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5634:35:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5621:48:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119976, + "nodeType": "ExpressionStatement", + "src": "5621:48:171" + }, + { + "expression": { + "id": 119986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119977, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5679:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119979, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "5679:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119981, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5696:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119983, + "indexExpression": { + "hexValue": "34", + "id": 119982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5696:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119984, + "name": "footArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120486, + "src": "5715:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119980, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5691:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5691:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5679:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119987, + "nodeType": "ExpressionStatement", + "src": "5679:46:171" + }, + { + "expression": { + "id": 119997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119988, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5735:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 119990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "5735:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 119992, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5752:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 119994, + "indexExpression": { + "hexValue": "35", + "id": 119993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5767:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5752:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 119995, + "name": "handArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120505, + "src": "5771:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 119991, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5747:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 119996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5747:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5735:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 119998, + "nodeType": "ExpressionStatement", + "src": "5735:46:171" + }, + { + "expression": { + "id": 120008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 119999, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5791:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "5791:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 120003, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5808:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 120005, + "indexExpression": { + "hexValue": "36", + "id": 120004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5823:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5808:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 120006, + "name": "necklaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120512, + "src": "5827:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 120002, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5803:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 120007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5791:46:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 120009, + "nodeType": "ExpressionStatement", + "src": "5791:46:171" + }, + { + "expression": { + "id": 120019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120010, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5847:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120012, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "5847:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 120014, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119925, + "src": "5864:14:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 120016, + "indexExpression": { + "hexValue": "37", + "id": 120015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5879:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5864:17:171", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 120017, + "name": "rings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120521, + "src": "5883:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + ], + "id": 120013, + "name": "luck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119909, + "src": "5859:4:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint8_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint8,string memory[] memory) view returns (string memory)" + } + }, + "id": 120018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5859:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5847:42:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 120020, + "nodeType": "ExpressionStatement", + "src": "5847:42:171" + }, + { + "expression": { + "id": 120026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120021, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119916, + "src": "5899:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "5899:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 120024, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "5912:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "5912:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "5899:34:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 120027, + "nodeType": "ExpressionStatement", + "src": "5899:34:171" + } + ] + }, + "functionSelector": "d5608f9a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revealNFT", + "nameLocation": "5272:9:171", + "parameters": { + "id": 119912, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 119911, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "5290:8:171", + "nodeType": "VariableDeclaration", + "scope": 120029, + "src": "5282:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 119910, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5282:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5281:18:171" + }, + "returnParameters": { + "id": 119913, + "nodeType": "ParameterList", + "parameters": [], + "src": "5309:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120076, + "nodeType": "FunctionDefinition", + "src": "5946:324:171", + "nodes": [], + "body": { + "id": 120075, + "nodeType": "Block", + "src": "5984:286:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120036 + ], + "declarations": [ + { + "constant": false, + "id": 120036, + "mutability": "mutable", + "name": "loot", + "nameLocation": "6032:4:171", + "nodeType": "VariableDeclaration", + "scope": 120075, + "src": "6019:17:171", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120035, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120034, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "6019:4:171" + }, + "referencedDeclaration": 119479, + "src": "6019:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120040, + "initialValue": { + "baseExpression": { + "id": 120037, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "6039:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120039, + "indexExpression": { + "id": 120038, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6048:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6039:17:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6019:37:171" + }, + { + "expression": { + "id": 120045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120041, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6066:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 119459, + "src": "6066:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120044, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120031, + "src": "6079:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6066:18:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120046, + "nodeType": "ExpressionStatement", + "src": "6066:18:171" + }, + { + "expression": { + "id": 120052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120047, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6094:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "6094:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 120050, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "6107:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "6107:19:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "6094:32:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 120053, + "nodeType": "ExpressionStatement", + "src": "6094:32:171" + }, + { + "expression": { + "id": 120058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 120054, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120036, + "src": "6136:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot storage pointer" + } + }, + "id": 120056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 119457, + "src": "6136:13:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120057, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6152:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6136:24:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120059, + "nodeType": "ExpressionStatement", + "src": "6136:24:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120061, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6184:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120060, + "name": "requestRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120694, + "src": "6170:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 120062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6170:23:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120063, + "nodeType": "ExpressionStatement", + "src": "6170:23:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120065, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120031, + "src": "6209:5:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 120066, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6216:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120064, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72099, + "src": "6203:5:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 120067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6203:21:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120068, + "nodeType": "ExpressionStatement", + "src": "6203:21:171" + }, + { + "expression": { + "id": 120070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6234:9:171", + "subExpression": { + "id": 120069, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "6234:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120071, + "nodeType": "ExpressionStatement", + "src": "6234:9:171" + }, + { + "expression": { + "id": 120073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6253:10:171", + "subExpression": { + "id": 120072, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "6253:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120074, + "nodeType": "ExpressionStatement", + "src": "6253:10:171" + } + ] + }, + "functionSelector": "6a627842", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "5955:4:171", + "parameters": { + "id": 120032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120031, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "5968:5:171", + "nodeType": "VariableDeclaration", + "scope": 120076, + "src": "5960:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120030, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5960:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5959:15:171" + }, + "returnParameters": { + "id": 120033, + "nodeType": "ParameterList", + "parameters": [], + "src": "5984:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120107, + "nodeType": "FunctionDefinition", + "src": "6282:192:171", + "nodes": [], + "body": { + "id": 120106, + "nodeType": "Block", + "src": "6329:145:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120084 + ], + "declarations": [ + { + "constant": false, + "id": 120084, + "mutability": "mutable", + "name": "balance", + "nameLocation": "6347:7:171", + "nodeType": "VariableDeclaration", + "scope": 120106, + "src": "6339:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120083, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6339:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120090, + "initialValue": { + "expression": { + "arguments": [ + { + "id": 120087, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6365:4:171", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MLoot_$120386", + "typeString": "contract MLoot" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MLoot_$120386", + "typeString": "contract MLoot" + } + ], + "id": 120086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6357:7:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 120085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6357:7:171", + "typeDescriptions": {} + } + }, + "id": 120088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6357:13:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "6357:21:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6339:39:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120092, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120084, + "src": "6396:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 120093, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6406:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6396:11:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "73756666696369656e742066756e6473", + "id": 120095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6409:18:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", + "typeString": "literal_string \"sufficient funds\"" + }, + "value": "sufficient funds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f965ece85fdd401719bbe213863cd3b59dcfeda454fe56f2e3639d6c2bd5c98b", + "typeString": "literal_string \"sufficient funds\"" + } + ], + "id": 120091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6388:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6388:40:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120097, + "nodeType": "ExpressionStatement", + "src": "6388:40:171" + }, + { + "expression": { + "arguments": [ + { + "id": 120103, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120084, + "src": "6459:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 120100, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120078, + "src": "6446:2:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6438:8:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 120098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6438:8:171", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 120101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:11:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 120102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "6438:20:171", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 120104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6438:29:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120105, + "nodeType": "ExpressionStatement", + "src": "6438:29:171" + } + ] + }, + "functionSelector": "51cff8d9", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 120081, + "kind": "modifierInvocation", + "modifierName": { + "id": 120080, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119505, + "src": "6319:9:171" + }, + "nodeType": "ModifierInvocation", + "src": "6319:9:171" + } + ], + "name": "withdraw", + "nameLocation": "6291:8:171", + "parameters": { + "id": 120079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120078, + "mutability": "mutable", + "name": "to", + "nameLocation": "6308:2:171", + "nodeType": "VariableDeclaration", + "scope": 120107, + "src": "6300:10:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6300:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6299:12:171" + }, + "returnParameters": { + "id": 120082, + "nodeType": "ParameterList", + "parameters": [], + "src": "6329:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 120127, + "nodeType": "FunctionDefinition", + "src": "6480:214:171", + "nodes": [], + "body": { + "id": 120126, + "nodeType": "Block", + "src": "6619:75:171", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 120122, + "name": "_targetAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120109, + "src": "6663:14:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 120123, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120113, + "src": "6679:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 120119, + "name": "_contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120111, + "src": "6636:16:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120118, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71498, + "src": "6629:6:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$71498_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 120120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6629:24:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$71498", + "typeString": "contract IERC20" + } + }, + "id": 120121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 71465, + "src": "6629:33:171", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 120124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6629:58:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120125, + "nodeType": "ExpressionStatement", + "src": "6629:58:171" + } + ] + }, + "functionSelector": "1593dee1", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 120116, + "kind": "modifierInvocation", + "modifierName": { + "id": 120115, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119505, + "src": "6609:9:171" + }, + "nodeType": "ModifierInvocation", + "src": "6609:9:171" + } + ], + "name": "withdrawErc20", + "nameLocation": "6489:13:171", + "parameters": { + "id": 120114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120109, + "mutability": "mutable", + "name": "_targetAddress", + "nameLocation": "6520:14:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6512:22:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6512:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120111, + "mutability": "mutable", + "name": "_contractAddress", + "nameLocation": "6552:16:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6544:24:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6544:7:171", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120113, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "6586:7:171", + "nodeType": "VariableDeclaration", + "scope": 120127, + "src": "6578:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6578:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6502:97:171" + }, + "returnParameters": { + "id": 120117, + "nodeType": "ParameterList", + "parameters": [], + "src": "6619:0:171" + }, + "scope": 120386, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120183, + "nodeType": "FunctionDefinition", + "src": "6699:515:171", + "nodes": [], + "body": { + "id": 120182, + "nodeType": "Block", + "src": "6874:340:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120150 + ], + "declarations": [ + { + "constant": false, + "id": 120150, + "mutability": "mutable", + "name": "loot", + "nameLocation": "6896:4:171", + "nodeType": "VariableDeclaration", + "scope": 120182, + "src": "6884:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120149, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120148, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "6884:4:171" + }, + "referencedDeclaration": 119479, + "src": "6884:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120154, + "initialValue": { + "baseExpression": { + "id": 120151, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "6903:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120153, + "indexExpression": { + "id": 120152, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120129, + "src": "6912:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6903:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6884:37:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 120160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120156, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "6939:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "6939:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120158, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "6953:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "6953:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "6939:35:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 120161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6975:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 120155, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6931:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6931:62:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120163, + "nodeType": "ExpressionStatement", + "src": "6931:62:171" + }, + { + "expression": { + "components": [ + { + "expression": { + "id": 120164, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7023:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "7023:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120166, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7048:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "7048:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120168, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7072:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "7072:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120170, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7095:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "7095:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120172, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7119:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "7119:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120174, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7142:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120175, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "7142:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120176, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7165:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "7165:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 120178, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120150, + "src": "7188:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "7188:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 120180, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7009:198:171", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$", + "typeString": "tuple(string memory,string memory,string memory,string memory,string memory,string memory,string memory,string memory)" + } + }, + "functionReturnParameters": 120147, + "id": 120181, + "nodeType": "Return", + "src": "7003:204:171" + } + ] + }, + "functionSelector": "53bbd6a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructInfo", + "nameLocation": "6708:13:171", + "parameters": { + "id": 120130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120129, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "6730:8:171", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6722:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6722:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6721:18:171" + }, + "returnParameters": { + "id": 120147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120132, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6762:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120131, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6762:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120134, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6776:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120133, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6776:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120136, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6790:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6790:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120138, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6804:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6804:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120140, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6818:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120139, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6818:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120142, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6832:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120141, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6832:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120144, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6846:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120143, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6846:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120146, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120183, + "src": "6860:13:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6860:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6761:113:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120263, + "nodeType": "FunctionDefinition", + "src": "7219:620:171", + "nodes": [], + "body": { + "id": 120262, + "nodeType": "Block", + "src": "7351:488:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120206 + ], + "declarations": [ + { + "constant": false, + "id": 120206, + "mutability": "mutable", + "name": "loot", + "nameLocation": "7373:4:171", + "nodeType": "VariableDeclaration", + "scope": 120262, + "src": "7361:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot" + }, + "typeName": { + "id": 120205, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120204, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 119479, + "src": "7361:4:171" + }, + "referencedDeclaration": 119479, + "src": "7361:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage_ptr", + "typeString": "struct MLoot.Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120210, + "initialValue": { + "baseExpression": { + "id": 120207, + "name": "lootList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119494, + "src": "7380:8:171", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Loot_$119479_storage_$", + "typeString": "mapping(uint256 => struct MLoot.Loot storage ref)" + } + }, + "id": 120209, + "indexExpression": { + "id": 120208, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120185, + "src": "7389:8:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7380:18:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_storage", + "typeString": "struct MLoot.Loot storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7361:37:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 120216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120212, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7416:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 119478, + "src": "7416:10:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120214, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "7430:11:171", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 120215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "7430:21:171", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "7416:35:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 120217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7452:17:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 120211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7408:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7408:62:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120219, + "nodeType": "ExpressionStatement", + "src": "7408:62:171" + }, + { + "expression": { + "components": [ + { + "arguments": [ + { + "id": 120221, + "name": "weapons", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120410, + "src": "7508:7:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120222, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7516:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120223, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Weapon", + "nodeType": "MemberAccess", + "referencedDeclaration": 119461, + "src": "7516:11:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120220, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7500:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7500:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120226, + "name": "chestArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120429, + "src": "7550:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120227, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7561:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Chest", + "nodeType": "MemberAccess", + "referencedDeclaration": 119463, + "src": "7561:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120225, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7542:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7542:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120231, + "name": "headArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120448, + "src": "7594:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120232, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7604:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Head", + "nodeType": "MemberAccess", + "referencedDeclaration": 119465, + "src": "7604:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120230, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7586:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7586:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120236, + "name": "waistArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120467, + "src": "7636:10:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120237, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7647:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Waist", + "nodeType": "MemberAccess", + "referencedDeclaration": 119467, + "src": "7647:10:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120235, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7628:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7628:30:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120241, + "name": "footArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120486, + "src": "7680:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120242, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7690:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Foot", + "nodeType": "MemberAccess", + "referencedDeclaration": 119469, + "src": "7690:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120240, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7672:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7672:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120246, + "name": "handArmor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120505, + "src": "7722:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120247, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7732:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Hand", + "nodeType": "MemberAccess", + "referencedDeclaration": 119471, + "src": "7732:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120245, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7714:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7714:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120251, + "name": "necklaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120512, + "src": "7764:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120252, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7774:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Neck", + "nodeType": "MemberAccess", + "referencedDeclaration": 119473, + "src": "7774:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120250, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7756:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7756:28:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "id": 120256, + "name": "rings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120521, + "src": "7806:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + } + }, + { + "expression": { + "id": 120257, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120206, + "src": "7812:4:171", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Loot_$119479_memory_ptr", + "typeString": "struct MLoot.Loot memory" + } + }, + "id": 120258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Ring", + "nodeType": "MemberAccess", + "referencedDeclaration": 119475, + "src": "7812:9:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage", + "typeString": "string storage ref[] storage ref" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 120255, + "name": "indexOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120385, + "src": "7798:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (string memory[] memory,string memory) pure returns (uint256)" + } + }, + "id": 120259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7798:24:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 120260, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7486:346:171", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 120203, + "id": 120261, + "nodeType": "Return", + "src": "7480:352:171" + } + ] + }, + "functionSelector": "3c41d28c", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructIndexInfo", + "nameLocation": "7228:18:171", + "parameters": { + "id": 120186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120185, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7255:8:171", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7247:16:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7247:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7246:18:171" + }, + "returnParameters": { + "id": 120203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120188, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7287:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7287:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120190, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7295:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7295:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120192, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7303:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7303:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120194, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7311:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7311:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120196, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7319:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7319:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7327:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7327:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120200, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7335:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120199, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7335:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120202, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120263, + "src": "7343:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7343:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7286:65:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120327, + "nodeType": "FunctionDefinition", + "src": "7845:482:171", + "nodes": [], + "body": { + "id": 120326, + "nodeType": "Block", + "src": "7914:413:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120270 + ], + "declarations": [ + { + "constant": false, + "id": 120270, + "mutability": "mutable", + "name": "balance", + "nameLocation": "7932:7:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "7924:15:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7924:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120275, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 120272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7952:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7952:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120271, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71616, + "src": "7942:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 120274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7942:21:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7924:39:171" + }, + { + "assignments": [ + 120280 + ], + "declarations": [ + { + "constant": false, + "id": 120280, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "7990:8:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "7973:25:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 120278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7973:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120279, + "nodeType": "ArrayTypeName", + "src": "7973:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 120286, + "initialValue": { + "arguments": [ + { + "id": 120284, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120270, + "src": "8015:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120283, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "8001:13:171", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 120281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8005:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120282, + "nodeType": "ArrayTypeName", + "src": "8005:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 120285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8001:22:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7973:50:171" + }, + { + "assignments": [ + 120288 + ], + "declarations": [ + { + "constant": false, + "id": 120288, + "mutability": "mutable", + "name": "index", + "nameLocation": "8041:5:171", + "nodeType": "VariableDeclaration", + "scope": 120326, + "src": "8033:13:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8033:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120289, + "nodeType": "VariableDeclarationStatement", + "src": "8033:13:171" + }, + { + "body": { + "id": 120322, + "nodeType": "Block", + "src": "8084:212:171", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 120304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 120300, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8109:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 120299, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71644, + "src": "8101:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 120301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8101:10:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 120302, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8115:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8115:10:171", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8101:24:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120321, + "nodeType": "IfStatement", + "src": "8098:188:171", + "trueBody": { + "id": 120320, + "nodeType": "Block", + "src": "8126:160:171", + "statements": [ + { + "expression": { + "id": 120309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 120305, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120280, + "src": "8144:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 120307, + "indexExpression": { + "id": 120306, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8153:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8144:15:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120308, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8162:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8144:19:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120310, + "nodeType": "ExpressionStatement", + "src": "8144:19:171" + }, + { + "expression": { + "id": 120312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8181:7:171", + "subExpression": { + "id": 120311, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8181:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120313, + "nodeType": "ExpressionStatement", + "src": "8181:7:171" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120314, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120288, + "src": "8209:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 120315, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120270, + "src": "8218:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8209:16:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120319, + "nodeType": "IfStatement", + "src": "8206:66:171", + "trueBody": { + "id": 120318, + "nodeType": "Block", + "src": "8226:46:171", + "statements": [ + { + "id": 120317, + "nodeType": "Break", + "src": "8248:5:171" + } + ] + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120293, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8070:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 120294, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119481, + "src": "8072:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8070:9:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120323, + "initializationExpression": { + "assignments": [ + 120291 + ], + "declarations": [ + { + "constant": false, + "id": 120291, + "mutability": "mutable", + "name": "i", + "nameLocation": "8068:1:171", + "nodeType": "VariableDeclaration", + "scope": 120323, + "src": "8060:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8060:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120292, + "nodeType": "VariableDeclarationStatement", + "src": "8060:9:171" + }, + "loopExpression": { + "expression": { + "id": 120297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8080:3:171", + "subExpression": { + "id": 120296, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120291, + "src": "8080:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120298, + "nodeType": "ExpressionStatement", + "src": "8080:3:171" + }, + "nodeType": "ForStatement", + "src": "8056:240:171" + }, + { + "expression": { + "id": 120324, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120280, + "src": "8312:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 120268, + "id": 120325, + "nodeType": "Return", + "src": "8305:15:171" + } + ] + }, + "functionSelector": "43a47162", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUserTokenIdList", + "nameLocation": "7854:18:171", + "parameters": { + "id": 120264, + "nodeType": "ParameterList", + "parameters": [], + "src": "7872:2:171" + }, + "returnParameters": { + "id": 120268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120267, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120327, + "src": "7897:16:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 120265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7897:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120266, + "nodeType": "ArrayTypeName", + "src": "7897:9:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7896:18:171" + }, + "scope": 120386, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 120385, + "nodeType": "FunctionDefinition", + "src": "8333:391:171", + "nodes": [], + "body": { + "id": 120384, + "nodeType": "Block", + "src": "8423:301:171", + "nodes": [], + "statements": [ + { + "assignments": [ + 120338 + ], + "declarations": [ + { + "constant": false, + "id": 120338, + "mutability": "mutable", + "name": "r", + "nameLocation": "8441:1:171", + "nodeType": "VariableDeclaration", + "scope": 120384, + "src": "8433:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8433:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120339, + "nodeType": "VariableDeclarationStatement", + "src": "8433:9:171" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 120341, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8460:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8460:12:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 120343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8475:1:171", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8460:16:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6c69737420697320656d707479", + "id": 120345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8477:15:171", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", + "typeString": "literal_string \"list is empty\"" + }, + "value": "list is empty" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_69f8bf9f924fe2c53fce5a9d9d94936f23fbc3635052bf51b81e67892bc8920a", + "typeString": "literal_string \"list is empty\"" + } + ], + "id": 120340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8452:7:171", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 120346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8452:41:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120347, + "nodeType": "ExpressionStatement", + "src": "8452:41:171" + }, + { + "body": { + "id": 120380, + "nodeType": "Block", + "src": "8536:164:171", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 120372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "arguments": [ + { + "baseExpression": { + "id": 120361, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8580:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120363, + "indexExpression": { + "id": 120362, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8586:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8580:8:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 120359, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8563:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 120360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8563:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 120364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8563:26:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 120358, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "8553:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 120365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8553:37:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 120369, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120332, + "src": "8621:5:171", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 120367, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8604:3:171", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 120368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "8604:16:171", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 120370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8604:23:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 120366, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "8594:9:171", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 120371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8594:34:171", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8553:75:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120379, + "nodeType": "IfStatement", + "src": "8550:140:171", + "trueBody": { + "id": 120378, + "nodeType": "Block", + "src": "8629:61:171", + "statements": [ + { + "expression": { + "id": 120375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120373, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120338, + "src": "8647:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120374, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8651:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8647:5:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120376, + "nodeType": "ExpressionStatement", + "src": "8647:5:171" + }, + { + "id": 120377, + "nodeType": "Break", + "src": "8670:5:171" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 120354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 120351, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8517:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 120352, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120330, + "src": "8519:5:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string memory[] memory" + } + }, + "id": 120353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "8519:12:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8517:14:171", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120381, + "initializationExpression": { + "assignments": [ + 120349 + ], + "declarations": [ + { + "constant": false, + "id": 120349, + "mutability": "mutable", + "name": "i", + "nameLocation": "8515:1:171", + "nodeType": "VariableDeclaration", + "scope": 120381, + "src": "8507:9:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120348, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8507:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 120350, + "nodeType": "VariableDeclarationStatement", + "src": "8507:9:171" + }, + "loopExpression": { + "expression": { + "id": 120356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8532:3:171", + "subExpression": { + "id": 120355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120349, + "src": "8532:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120357, + "nodeType": "ExpressionStatement", + "src": "8532:3:171" + }, + "nodeType": "ForStatement", + "src": "8503:197:171" + }, + { + "expression": { + "id": 120382, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120338, + "src": "8716:1:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 120336, + "id": 120383, + "nodeType": "Return", + "src": "8709:8:171" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "indexOf", + "nameLocation": "8342:7:171", + "parameters": { + "id": 120333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120330, + "mutability": "mutable", + "name": "_list", + "nameLocation": "8366:5:171", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8350:21:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", + "typeString": "string[]" + }, + "typeName": { + "baseType": { + "id": 120328, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8350:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 120329, + "nodeType": "ArrayTypeName", + "src": "8350:8:171", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", + "typeString": "string[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120332, + "mutability": "mutable", + "name": "_name", + "nameLocation": "8386:5:171", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8372:19:171", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120331, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8372:6:171", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8349:43:171" + }, + "returnParameters": { + "id": 120336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120335, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 120385, + "src": "8415:7:171", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8415:7:171", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8414:9:171" + }, + "scope": 120386, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 119412, + "name": "Suit", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120637, + "src": "315:4:171" + }, + "id": 119413, + "nodeType": "InheritanceSpecifier", + "src": "315:4:171" + }, + { + "baseName": { + "id": 119414, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "321:6:171" + }, + "id": 119415, + "nodeType": "InheritanceSpecifier", + "src": "321:6:171" + }, + { + "baseName": { + "id": 119416, + "name": "MRandom", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120834, + "src": "328:7:171" + }, + "id": 119417, + "nodeType": "InheritanceSpecifier", + "src": "328:7:171" + } + ], + "canonicalName": "MLoot", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 120386, + 120834, + 72425, + 131800, + 131755, + 132176, + 174457, + 132152, + 120637 + ], + "name": "MLoot", + "nameLocation": "306:5:171", + "scope": 120387, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 171 +} \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.abi.json b/packages/contracts/out/Plugin.sol/MPlugin.abi.json new file mode 100644 index 00000000..23133797 --- /dev/null +++ b/packages/contracts/out/Plugin.sol/MPlugin.abi.json @@ -0,0 +1,69 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "multMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "name": "multRevealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/Plugin.sol/MPlugin.json b/packages/contracts/out/Plugin.sol/MPlugin.json new file mode 100644 index 00000000..4fc3c2de --- /dev/null +++ b/packages/contracts/out/Plugin.sol/MPlugin.json @@ -0,0 +1,1375 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "multMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "name": "multRevealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x608060405234801561001057600080fd5b5060405161041538038061041583398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610357806100be6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", + "sourceMap": "121:676:174:-:0;;;209:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;274:11;:26;;-1:-1:-1;;;;;274:26:174;;;-1:-1:-1;;;;;;274:26:174;;;;;;;;310;;;;;;;;;;;121:676;;14:177:194;93:13;;-1:-1:-1;;;;;135:31:194;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;121:676:174;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630e439326146100515780631b9cb7e81461009a578063d6f0dafc146100af578063e4128fb3146100b7575b600080fd5b6000546100719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100ad6100a83660046102ff565b6100d7565b005b6100ad6101ea565b6001546100719073ffffffffffffffffffffffffffffffffffffffff1681565b6001546000546040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9283169290911690819063d5608f9a90602401600060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b50506040517fd5608f9a0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8516925063d5608f9a9150602401600060405180830381600087803b1580156101cc57600080fd5b505af11580156101e0573d6000803e3d6000fd5b5050505050505050565b6001546000546040517f6a627842000000000000000000000000000000000000000000000000000000008152336004820181905273ffffffffffffffffffffffffffffffffffffffff9384169390921691908390636a62784290602401600060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b50506040517f6a62784200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015285169250636a6278429150602401600060405180830381600087803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b50505050505050565b6000806040838503121561031257600080fd5b5050803592602090910135915056fea26469706673582212201a5dada106ccc41498df7e8686caea58737043668e522281be891839d2f50f7764736f6c634300080d0033", + "sourceMap": "121:676:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;144:26;;;;;;;;;;;;190:42:194;178:55;;;160:74;;148:2;133:18;144:26:174;;;;;;;558:236;;;;;;:::i;:::-;;:::i;:::-;;350:202;;;:::i;176:26::-;;;;;;;;;558:236;660:11;;643:9;699:11;721:28;;;;;;;;644:25:194;;;660:11:174;;;;;699;;;;;;721:14;;617:18:194;;721:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;759:28:174;;;;;;;;644:25:194;;;759:14:174;;;;-1:-1:-1;759:14:174;;-1:-1:-1;617:18:194;;759:28:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;633:161;;558:236;;:::o;350:202::-;406:11;;389:9;445:11;503:16;;;;;483:10;503:16;;;160:74:194;;;406:11:174;;;;;445;;;;483:10;406:11;;503:9;;133:18:194;;503:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;529:16:174;;;;;:9;178:55:194;;;529:16:174;;;160:74:194;529:9:174;;;-1:-1:-1;529:9:174;;-1:-1:-1;133:18:194;;529:16:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:173;;;350:202::o;245:248:194:-;313:6;321;374:2;362:9;353:7;349:23;345:32;342:52;;;390:1;387;380:12;342:52;-1:-1:-1;;413:23:194;;;483:2;468:18;;;455:32;;-1:-1:-1;245:248:194:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "lootAddress()": "0e439326", + "multMint()": "d6f0dafc", + "multRevealNFT(uint256,uint256)": "1b9cb7e8", + "userAddress()": "e4128fb3" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lootAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_userAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"lootAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"multMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_lootTokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_userTokenId\",\"type\":\"uint256\"}],\"name\":\"multRevealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/Plugin.sol\":\"MPlugin\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"src/other/Plugin.sol\":{\"keccak256\":\"0x97abb338aefc1d78621c1b9cb72ea8fad986a64d8f84067b52b5198e3d815c5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57b18625c00036db38b6015a44024415da14a4f8c37ab0dacc7b292ff53c3fb5\",\"dweb:/ipfs/QmTNfWtySH1Yv2sWknZ4txSGrDg6QpQHqFBPbz2sH8k7nh\"]},\"src/systems/library/Interface.sol\":{\"keccak256\":\"0x575834f9bd85b515de6dfd855d93393cfdf29c67a9195b0dae9c1c4d483d2c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e42a8328248642f46b67fdcf7d3f2caf5c8abd859cea97df8fba7ad270b19009\",\"dweb:/ipfs/QmUXaFVJStEyTG4mKf4u8ezC7EZtJCX57etePkWrSWiqMR\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_lootAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "lootAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "multMint" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_lootTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_userTokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "multRevealNFT" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "userAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/Plugin.sol": "MPlugin" + }, + "libraries": {} + }, + "sources": { + "src/other/Plugin.sol": { + "keccak256": "0x97abb338aefc1d78621c1b9cb72ea8fad986a64d8f84067b52b5198e3d815c5c", + "urls": [ + "bzz-raw://57b18625c00036db38b6015a44024415da14a4f8c37ab0dacc7b292ff53c3fb5", + "dweb:/ipfs/QmTNfWtySH1Yv2sWknZ4txSGrDg6QpQHqFBPbz2sH8k7nh" + ], + "license": "MIT" + }, + "src/systems/library/Interface.sol": { + "keccak256": "0x575834f9bd85b515de6dfd855d93393cfdf29c67a9195b0dae9c1c4d483d2c1d", + "urls": [ + "bzz-raw://e42a8328248642f46b67fdcf7d3f2caf5c8abd859cea97df8fba7ad270b19009", + "dweb:/ipfs/QmUXaFVJStEyTG4mKf4u8ezC7EZtJCX57etePkWrSWiqMR" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/Plugin.sol", + "id": 120930, + "exportedSymbols": { + "Loot": [ + 125423 + ], + "MPlugin": [ + 120929 + ], + "User": [ + 125384 + ] + }, + "nodeType": "SourceUnit", + "src": "32:765:174", + "nodes": [ + { + "id": 120836, + "nodeType": "PragmaDirective", + "src": "32:24:174", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 120839, + "nodeType": "ImportDirective", + "src": "57:61:174", + "nodes": [], + "absolutePath": "src/systems/library/Interface.sol", + "file": "@systems/library/Interface.sol", + "nameLocation": "-1:-1:-1", + "scope": 120930, + "sourceUnit": 125424, + "symbolAliases": [ + { + "foreign": { + "id": 120837, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125384, + "src": "66:4:174", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 120838, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125423, + "src": "72:4:174", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 120929, + "nodeType": "ContractDefinition", + "src": "121:676:174", + "nodes": [ + { + "id": 120841, + "nodeType": "VariableDeclaration", + "src": "144:26:174", + "nodes": [], + "constant": false, + "functionSelector": "0e439326", + "mutability": "mutable", + "name": "lootAddress", + "nameLocation": "159:11:174", + "scope": 120929, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 120843, + "nodeType": "VariableDeclaration", + "src": "176:26:174", + "nodes": [], + "constant": false, + "functionSelector": "e4128fb3", + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "191:11:174", + "scope": 120929, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120842, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "176:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 120859, + "nodeType": "FunctionDefinition", + "src": "209:134:174", + "nodes": [], + "body": { + "id": 120858, + "nodeType": "Block", + "src": "264:79:174", + "nodes": [], + "statements": [ + { + "expression": { + "id": 120852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120850, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "274:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120851, + "name": "_lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120845, + "src": "288:12:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "274:26:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120853, + "nodeType": "ExpressionStatement", + "src": "274:26:174" + }, + { + "expression": { + "id": 120856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120854, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "310:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120855, + "name": "_userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120847, + "src": "324:12:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "310:26:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120857, + "nodeType": "ExpressionStatement", + "src": "310:26:174" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 120848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120845, + "mutability": "mutable", + "name": "_lootAddress", + "nameLocation": "229:12:174", + "nodeType": "VariableDeclaration", + "scope": 120859, + "src": "221:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "221:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120847, + "mutability": "mutable", + "name": "_userAddress", + "nameLocation": "250:12:174", + "nodeType": "VariableDeclaration", + "scope": 120859, + "src": "242:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "242:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "220:43:174" + }, + "returnParameters": { + "id": 120849, + "nodeType": "ParameterList", + "parameters": [], + "src": "264:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 120894, + "nodeType": "FunctionDefinition", + "src": "350:202:174", + "nodes": [], + "body": { + "id": 120893, + "nodeType": "Block", + "src": "379:173:174", + "nodes": [], + "statements": [ + { + "assignments": [ + 120864 + ], + "declarations": [ + { + "constant": false, + "id": 120864, + "mutability": "mutable", + "name": "user", + "nameLocation": "394:4:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "389:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + }, + "typeName": { + "id": 120863, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120862, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125384, + "src": "389:4:174" + }, + "referencedDeclaration": 125384, + "src": "389:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "visibility": "internal" + } + ], + "id": 120868, + "initialValue": { + "arguments": [ + { + "id": 120866, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "406:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120865, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125384, + "src": "401:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_User_$125384_$", + "typeString": "type(contract User)" + } + }, + "id": 120867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "401:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "389:29:174" + }, + { + "assignments": [ + 120871 + ], + "declarations": [ + { + "constant": false, + "id": 120871, + "mutability": "mutable", + "name": "loot", + "nameLocation": "433:4:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "428:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + }, + "typeName": { + "id": 120870, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120869, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125423, + "src": "428:4:174" + }, + "referencedDeclaration": 125423, + "src": "428:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120875, + "initialValue": { + "arguments": [ + { + "id": 120873, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "445:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120872, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125423, + "src": "440:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Loot_$125423_$", + "typeString": "type(contract Loot)" + } + }, + "id": 120874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "440:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "428:29:174" + }, + { + "assignments": [ + 120877 + ], + "declarations": [ + { + "constant": false, + "id": 120877, + "mutability": "mutable", + "name": "_user", + "nameLocation": "475:5:174", + "nodeType": "VariableDeclaration", + "scope": 120893, + "src": "467:13:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "467:7:174", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 120880, + "initialValue": { + "expression": { + "id": 120878, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "483:3:174", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "483:10:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "467:26:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120884, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120877, + "src": "513:5:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 120881, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120864, + "src": "503:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "id": 120883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 125378, + "src": "503:9:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 120885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "503:16:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120886, + "nodeType": "ExpressionStatement", + "src": "503:16:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120890, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120877, + "src": "539:5:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 120887, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120871, + "src": "529:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "id": 120889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 125417, + "src": "529:9:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 120891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:16:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120892, + "nodeType": "ExpressionStatement", + "src": "529:16:174" + } + ] + }, + "functionSelector": "d6f0dafc", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multMint", + "nameLocation": "359:8:174", + "parameters": { + "id": 120860, + "nodeType": "ParameterList", + "parameters": [], + "src": "367:2:174" + }, + "returnParameters": { + "id": 120861, + "nodeType": "ParameterList", + "parameters": [], + "src": "379:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 120928, + "nodeType": "FunctionDefinition", + "src": "558:236:174", + "nodes": [], + "body": { + "id": 120927, + "nodeType": "Block", + "src": "633:161:174", + "nodes": [], + "statements": [ + { + "assignments": [ + 120903 + ], + "declarations": [ + { + "constant": false, + "id": 120903, + "mutability": "mutable", + "name": "user", + "nameLocation": "648:4:174", + "nodeType": "VariableDeclaration", + "scope": 120927, + "src": "643:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + }, + "typeName": { + "id": 120902, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120901, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125384, + "src": "643:4:174" + }, + "referencedDeclaration": 125384, + "src": "643:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "visibility": "internal" + } + ], + "id": 120907, + "initialValue": { + "arguments": [ + { + "id": 120905, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120843, + "src": "660:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120904, + "name": "User", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125384, + "src": "655:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_User_$125384_$", + "typeString": "type(contract User)" + } + }, + "id": 120906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "655:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "643:29:174" + }, + { + "assignments": [ + 120910 + ], + "declarations": [ + { + "constant": false, + "id": 120910, + "mutability": "mutable", + "name": "loot", + "nameLocation": "687:4:174", + "nodeType": "VariableDeclaration", + "scope": 120927, + "src": "682:9:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + }, + "typeName": { + "id": 120909, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120908, + "name": "Loot", + "nodeType": "IdentifierPath", + "referencedDeclaration": 125423, + "src": "682:4:174" + }, + "referencedDeclaration": 125423, + "src": "682:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "visibility": "internal" + } + ], + "id": 120914, + "initialValue": { + "arguments": [ + { + "id": 120912, + "name": "lootAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120841, + "src": "699:11:174", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 120911, + "name": "Loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125423, + "src": "694:4:174", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Loot_$125423_$", + "typeString": "type(contract Loot)" + } + }, + "id": 120913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "694:17:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "682:29:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120918, + "name": "_lootTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120896, + "src": "736:12:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 120915, + "name": "loot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120910, + "src": "721:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Loot_$125423", + "typeString": "contract Loot" + } + }, + "id": 120917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealNFT", + "nodeType": "MemberAccess", + "referencedDeclaration": 125422, + "src": "721:14:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 120919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "721:28:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120920, + "nodeType": "ExpressionStatement", + "src": "721:28:174" + }, + { + "expression": { + "arguments": [ + { + "id": 120924, + "name": "_userTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120898, + "src": "774:12:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 120921, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120903, + "src": "759:4:174", + "typeDescriptions": { + "typeIdentifier": "t_contract$_User_$125384", + "typeString": "contract User" + } + }, + "id": 120923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealNFT", + "nodeType": "MemberAccess", + "referencedDeclaration": 125383, + "src": "759:14:174", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 120925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "759:28:174", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120926, + "nodeType": "ExpressionStatement", + "src": "759:28:174" + } + ] + }, + "functionSelector": "1b9cb7e8", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "multRevealNFT", + "nameLocation": "567:13:174", + "parameters": { + "id": 120899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120896, + "mutability": "mutable", + "name": "_lootTokenId", + "nameLocation": "589:12:174", + "nodeType": "VariableDeclaration", + "scope": 120928, + "src": "581:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "581:7:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120898, + "mutability": "mutable", + "name": "_userTokenId", + "nameLocation": "610:12:174", + "nodeType": "VariableDeclaration", + "scope": 120928, + "src": "602:20:174", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120897, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "602:7:174", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "580:43:174" + }, + "returnParameters": { + "id": 120900, + "nodeType": "ParameterList", + "parameters": [], + "src": "633:0:174" + }, + "scope": 120929, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [], + "canonicalName": "MPlugin", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 120929 + ], + "name": "MPlugin", + "nameLocation": "130:7:174", + "scope": 120930, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 174 +} \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.abi.json b/packages/contracts/out/User.sol/MUser.abi.json new file mode 100644 index 00000000..6a8af3cb --- /dev/null +++ b/packages/contracts/out/User.sol/MUser.abi.json @@ -0,0 +1,600 @@ +[ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } +] \ No newline at end of file diff --git a/packages/contracts/out/User.sol/MUser.json b/packages/contracts/out/User.sol/MUser.json new file mode 100644 index 00000000..acc55188 --- /dev/null +++ b/packages/contracts/out/User.sol/MUser.json @@ -0,0 +1,9937 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "name": "NewRandom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revealNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": { + "object": "0x60806040523480156200001157600080fd5b5060405162002e7b38038062002e7b833981016040819052620000349162000227565b8351849084906200004d906000906020850190620000b4565b50805162000063906001906020840190620000b4565b5050600a80546001600160a01b0319163317905550600985905581516200009290600b906020850190620000b4565b508051620000a890600c906020840190620000b4565b50505050505062000327565b828054620000c290620002eb565b90600052602060002090601f016020900481019282620000e6576000855562000131565b82601f106200010157805160ff191683800117855562000131565b8280016001018555821562000131579182015b828111156200013157825182559160200191906001019062000114565b506200013f92915062000143565b5090565b5b808211156200013f576000815560010162000144565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018257600080fd5b81516001600160401b03808211156200019f576200019f6200015a565b604051601f8301601f19908116603f01168101908282118183101715620001ca57620001ca6200015a565b81604052838152602092508683858801011115620001e757600080fd5b600091505b838210156200020b5785820183015181830184015290820190620001ec565b838211156200021d5760008385830101525b9695505050505050565b600080600080600060a086880312156200024057600080fd5b855160208701519095506001600160401b03808211156200026057600080fd5b6200026e89838a0162000170565b955060408801519150808211156200028557600080fd5b6200029389838a0162000170565b94506060880151915080821115620002aa57600080fd5b620002b889838a0162000170565b93506080880151915080821115620002cf57600080fd5b50620002de8882890162000170565b9150509295509295909350565b600181811c908216806200030057607f821691505b6020821081036200032157634e487b7160e01b600052602260045260246000fd5b50919050565b612b4480620003376000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", + "sourceMap": "163:5874:175:-:0;;;624:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:13:105;;819:7:175;;828:5;;1456:13:105;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;1479:17:105;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;845:5:175::1;:18:::0;;-1:-1:-1;;;;;;845:18:175::1;853:10;845:18;::::0;;-1:-1:-1;873:14:175::1;:32:::0;;;915:34;;::::1;::::0;:15:::1;::::0;:34:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;959:28:175;;::::1;::::0;:12:::1;::::0;:28:::1;::::0;::::1;::::0;::::1;:::i;:::-;;624:370:::0;;;;;163:5874;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;163:5874:175;;;-1:-1:-1;163:5874:175;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:194;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:194;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:194;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:194:o;1036:1033::-;1182:6;1190;1198;1206;1214;1267:3;1255:9;1246:7;1242:23;1238:33;1235:53;;;1284:1;1281;1274:12;1235:53;1307:16;;1367:2;1352:18;;1346:25;1307:16;;-1:-1:-1;;;;;;1420:14:194;;;1417:34;;;1447:1;1444;1437:12;1417:34;1470:61;1523:7;1514:6;1503:9;1499:22;1470:61;:::i;:::-;1460:71;;1577:2;1566:9;1562:18;1556:25;1540:41;;1606:2;1596:8;1593:16;1590:36;;;1622:1;1619;1612:12;1590:36;1645:63;1700:7;1689:8;1678:9;1674:24;1645:63;:::i;:::-;1635:73;;1754:2;1743:9;1739:18;1733:25;1717:41;;1783:2;1773:8;1770:16;1767:36;;;1799:1;1796;1789:12;1767:36;1822:63;1877:7;1866:8;1855:9;1851:24;1822:63;:::i;:::-;1812:73;;1931:3;1920:9;1916:19;1910:26;1894:42;;1961:2;1951:8;1948:16;1945:36;;;1977:1;1974;1967:12;1945:36;;2000:63;2055:7;2044:8;2033:9;2029:24;2000:63;:::i;:::-;1990:73;;;1036:1033;;;;;;;;:::o;2074:380::-;2153:1;2149:12;;;;2196;;;2217:61;;2271:4;2263:6;2259:17;2249:27;;2217:61;2324:2;2316:6;2313:14;2293:18;2290:38;2287:161;;2370:10;2365:3;2361:20;2358:1;2351:31;2405:4;2402:1;2395:15;2433:4;2430:1;2423:15;2287:161;;2074:380;;;:::o;:::-;163:5874:175;;;;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x608060405234801561001057600080fd5b506004361061018d5760003560e01c80636352211e116100e3578063a22cb4651161008c578063cba86e2311610066578063cba86e23146103bb578063d5608f9a14610408578063e985e9c51461041b57600080fd5b8063a22cb46514610382578063b88d4fde14610395578063c87b56dd146103a857600080fd5b80638da5cb5b116100bd5780638da5cb5b146102ec57806395d89b41146102ff5780639f4216e81461030757600080fd5b80636352211e146102b35780636a627842146102c657806370a08231146102d957600080fd5b806317d70f7c1161014557806342842e0e1161011f57806342842e0e1461024b57806343a471621461025e57806353bbd6a71461027357600080fd5b806317d70f7c1461022657806323b872dd1461022f5780633e8474ca1461024257600080fd5b8063081812fc11610176578063081812fc146101cf578063095ea7b3146101fa5780630ab14d8a1461020f57600080fd5b806301ffc9a71461019257806306fdde03146101ba575b600080fd5b6101a56101a0366004612178565b610457565b60405190151581526020015b60405180910390f35b6101c261053c565b6040516101b191906121f4565b6101e26101dd366004612207565b6105ce565b6040516001600160a01b0390911681526020016101b1565b61020d61020836600461223c565b6105f5565b005b61021860065481565b6040519081526020016101b1565b61021860085481565b61020d61023d366004612266565b61072b565b61021860095481565b61020d610259366004612266565b6107b2565b6102666107cd565b6040516101b191906122a2565b610286610281366004612207565b610897565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016101b1565b6101e26102c1366004612207565b6109e7565b61020d6102d43660046122e6565b610a4c565b6102186102e73660046122e6565b610ae1565b600a546101e2906001600160a01b031681565b6101c2610b7b565b61036d610315366004612207565b600d6020526000908152604090208054600182015460028301546003840154600485015460058601546006870154600788015460089098015496976001600160a01b0390961696949593949293919290919060ff1689565b6040516101b199989796959493929190612317565b61020d610390366004612389565b610b8a565b61020d6103a33660046123db565b610b99565b6101c26103b6366004612207565b610c27565b6103eb6103c9366004612207565b600760205260009081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b039091166020830152016101b1565b61020d610416366004612207565b610e03565b6101a56104293660046124b7565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806104ea57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061053657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606000805461054b906124ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610577906124ea565b80156105c45780601f10610599576101008083540402835291602001916105c4565b820191906000526020600020905b8154815290600101906020018083116105a757829003601f168201915b5050505050905090565b60006105d982610f5d565b506000908152600460205260409020546001600160a01b031690565b6000610600826109e7565b9050806001600160a01b0316836001600160a01b03160361068e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b03821614806106aa57506106aa8133610429565b61071c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610685565b6107268383610fc4565b505050565b610735338261103f565b6107a75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b6107268383836110be565b61072683838360405180602001604052806000815250610b99565b606060006107da33610ae1565b905060008167ffffffffffffffff8111156107f7576107f76123c5565b604051908082528060200260200182016040528015610820578160200160208202803683370190505b5090506000805b60085481101561088e573361083b826109e7565b6001600160a01b03160361087c578083838151811061085c5761085c61251e565b6020908102919091010152816108718161254a565b92505083821461088e575b806108868161254a565b915050610827565b50909392505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b031693810193909352600280820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e0840152600881015484938493849384938493849390929161010084019160ff9091169081111561093857610938612301565b600281111561094957610949612301565b90525090506002816101000151600281111561096757610967612301565b146109b45760405162461bcd60e51b815260206004820152600f60248201527f55736572206e6f742065786973747300000000000000000000000000000000006044820152606401610685565b60408101516060820151608083015160a084015160c085015160e090950151939c929b5090995097509195509350915050565b6000818152600260205260408120546001600160a01b0316806105365760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b600880546000908152600d602052604090206001808201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616179055918101805460ff1916909217909155600654808255610aa7906112f4565b610ab382600854611369565b60088054906000610ac38361254a565b909155505060068054906000610ad88361254a565b91905055505050565b60006001600160a01b038216610b5f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610685565b506001600160a01b031660009081526003602052604090205490565b60606001805461054b906124ea565b610b95338383611501565b5050565b610ba3338361103f565b610c155760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610685565b610c21848484846115cf565b50505050565b6000818152600d602090815260408083208151610120810183528154815260018201546001600160a01b03169381019390935260028082015492840192909252600381015460608481019190915260048201546080850152600582015460a0850152600682015460c0850152600782015460e085015260088201549094939261010084019160ff1690811115610cbf57610cbf612301565b6002811115610cd057610cd0612301565b905250905060018161010001516002811115610cee57610cee612301565b03610d1f576000600b604051602001610d0791906125fd565b60408051601f19818403018152919052949350505050565b60008161010001516002811115610d3857610d38612301565b03610d855760405162461bcd60e51b815260206004820152600f60248201527f426f78206e6f74206578697374656400000000000000000000000000000000006044820152606401610685565b6000610d9082611658565b90506000610dd1610da08661198e565b600c610dab85611a2e565b604051602001610dbd9392919061262f565b604051602081830303815290604052611a2e565b905080604051602001610de49190612733565b60408051601f1981840301815291905295945050505050565b50919050565b6000818152600d602052604081208054600954919291610e269190600890611bed565b9050610e5181600081518110610e3e57610e3e61251e565b60200260200101516064600a6005611e3a565b8260020181905550610e8281600181518110610e6f57610e6f61251e565b6020026020010151601e600a6002611e3a565b8260030181905550610eb381600281518110610ea057610ea061251e565b6020026020010151600360326001611e3a565b8260040181905550610ee481600381518110610ed157610ed161251e565b60200260200101516004601e6001611e3a565b8260050181905550610f1581600481518110610f0257610f0261251e565b60200260200101516014600a6003611e3a565b8260060181905550610f4681600581518110610f3357610f3361251e565b6020026020010151600260326001611e3a565b600783015550600801805460ff1916600217905550565b6000818152600260205260409020546001600160a01b0316610fc15760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610685565b50565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190611006826109e7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061104b836109e7565b9050806001600160a01b0316846001600160a01b0316148061109257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806110b65750836001600160a01b03166110ab846105ce565b6001600160a01b0316145b949350505050565b826001600160a01b03166110d1826109e7565b6001600160a01b03161461114d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6001600160a01b0382166111c85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610685565b826001600160a01b03166111db826109e7565b6001600160a01b0316146112575760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610685565b6000818152600460209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60008181526007602090815260409182902060018101805473ffffffffffffffffffffffffffffffffffffffff191633908117909155438255600654845190815292830152917f42139093fd7ac15b45c666156888a691a366ed9d327f76e6b9f4ea4f3e82471c910160405180910390a15050565b6001600160a01b0382166113bf5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114245760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6000818152600260205260409020546001600160a01b0316156114895760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610685565b6001600160a01b0382166000818152600360209081526040808320805460010190558483526002909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b0316036115625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610685565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115da8484846110be565b6115e684848484611e76565b610c215760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b6060611662612122565b60405180610120016040528060fd81526020016129aa60fd91398152604080518082018252600281527f48500000000000000000000000000000000000000000000000000000000000006020820152908401516116c891906116c39061198e565b612014565b8160016020020181905250604051806060016040528060288152602001612ae760289139816002602002018190525061173d6040518060400160405280600681526020017f41747461636b00000000000000000000000000000000000000000000000000008152506116c3856060015161198e565b6060808301919091526040805191820190526028808252612908602083013981600460200201819052506117ad6040518060400160405280600b81526020017f41747461636b52616e67650000000000000000000000000000000000000000008152506116c3856080015161198e565b60a082015260408051606081019091526028808252612959602083013960c082015260408051808201909152600581527f5370656564000000000000000000000000000000000000000000000000000000602082015260a084015161181691906116c39061198e565b60e082015260408051606081019091526029808252612981602083013961010082015260408051808201909152600881527f537472656e677468000000000000000000000000000000000000000000000000602082015260c084015161188091906116c39061198e565b61012082015260408051606081019091526029808252612930602083013961014082015260408051808201909152600581527f5370616365000000000000000000000000000000000000000000000000000000602082015260e08401516118eb91906116c39061198e565b61016082015260408051808201909152600d81527f3c2f746578743e3c2f7376673e000000000000000000000000000000000000006020820152610180820152606060005b600d81101561198657818382600d811061194c5761194c61251e565b6020020151604051602001611962929190612778565b6040516020818303038152906040529150808061197e9061254a565b915050611930565b509392505050565b6060600061199b83612040565b600101905060008167ffffffffffffffff8111156119bb576119bb6123c5565b6040519080825280601f01601f1916602001820160405280156119e5576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846119ef57509392505050565b80516060906000819003611a52575050604080516020810190915260008152919050565b60006003611a618360026127bd565b611a6b91906127d5565b611a769060046127e9565b90506000611a858260206127bd565b67ffffffffffffffff811115611a9d57611a9d6123c5565b6040519080825280601f01601f191660200182016040528015611ac7576020820181803683370190505b5090506000604051806060016040528060408152602001612aa7604091399050600181016020830160005b86811015611b53576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611af2565b506003860660018114611b6d5760028114611bb757611bdf565b7f3d3d0000000000000000000000000000000000000000000000000000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe830152611bdf565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b60606006548410611c405760405162461bcd60e51b815260206004820152601660248201527f72616e646f6d20646f6573206e6f7420657869737473000000000000000000006044820152606401610685565b600084815260076020908152604091829020825180840190935280548352600101546001600160a01b03169082018190523314611ce55760405162461bcd60e51b815260206004820152602260248201527f6f6e6c792072616e646f6d2063726561746f722063616e206765742072616e6460448201527f6f6d0000000000000000000000000000000000000000000000000000000000006064820152608401610685565b60008467ffffffffffffffff811115611d0057611d006123c5565b604051908082528060200260200182016040528015611d29578160200160208202803683370190505b508251909150611d3a9085906127bd565b431015611d895760405162461bcd60e51b815260206004820152601c60248201527f746f6f206561726c7920746f206765742072616e646f6d2073656564000000006044820152606401610685565b8151600090611d999060026127bd565b604080519140602083018190529250600091016040516020818303038152906040528051906020012060001c905060005b878160ff161015611e2d576000611de2606484612808565b905080858360ff1681518110611dfa57611dfa61251e565b60ff90921660209283029190910190910152611e176064846127d5565b9250508080611e259061281c565b915050611dca565b5091979650505050505050565b60008083611e4987600161283b565b60ff16611e5691906127d5565b9050611e6283826127e9565b611e6c90866127bd565b9695505050505050565b60006001600160a01b0384163b1561200c576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290611ed3903390899088908890600401612860565b6020604051808303816000875af1925050508015611f0e575060408051601f3d908101601f19168201909252611f0b91810190612892565b60015b611fc1573d808015611f3c576040519150601f19603f3d011682016040523d82523d6000602084013e611f41565b606091505b508051600003611fb95760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610685565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490506110b6565b5060016110b6565b606082826040516020016120299291906128af565b604051602081830303815290604052905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612089577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106120b5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106120d357662386f26fc10000830492506010015b6305f5e10083106120eb576305f5e100830492506008015b61271083106120ff57612710830492506004015b60648310612111576064830492506002015b600a83106105365760010192915050565b604051806101a00160405280600d905b60608152602001906001900390816121325790505090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610fc157600080fd5b60006020828403121561218a57600080fd5b81356121958161214a565b9392505050565b60005b838110156121b757818101518382015260200161219f565b83811115610c215750506000910152565b600081518084526121e081602086016020860161219c565b601f01601f19169290920160200192915050565b60208152600061219560208301846121c8565b60006020828403121561221957600080fd5b5035919050565b80356001600160a01b038116811461223757600080fd5b919050565b6000806040838503121561224f57600080fd5b61225883612220565b946020939093013593505050565b60008060006060848603121561227b57600080fd5b61228484612220565b925061229260208501612220565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156122da578351835292840192918401916001016122be565b50909695505050505050565b6000602082840312156122f857600080fd5b61219582612220565b634e487b7160e01b600052602160045260246000fd5b6000610120820190508a82526001600160a01b038a1660208301528860408301528760608301528660808301528560a08301528460c08301528360e08301526003831061237457634e487b7160e01b600052602160045260246000fd5b826101008301529a9950505050505050505050565b6000806040838503121561239c57600080fd5b6123a583612220565b9150602083013580151581146123ba57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080608085870312156123f157600080fd5b6123fa85612220565b935061240860208601612220565b925060408501359150606085013567ffffffffffffffff8082111561242c57600080fd5b818701915087601f83011261244057600080fd5b813581811115612452576124526123c5565b604051601f8201601f19908116603f0116810190838211818310171561247a5761247a6123c5565b816040528281528a602084870101111561249357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080604083850312156124ca57600080fd5b6124d383612220565b91506124e160208401612220565b90509250929050565b600181811c908216806124fe57607f821691505b602082108103610dfd57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019820361255d5761255d612534565b5060010190565b8054600090600181811c908083168061257e57607f831692505b6020808410820361259f57634e487b7160e01b600052602260045260246000fd5b8180156125b357600181146125c4576125f1565b60ff198616895284890196506125f1565b60008881526020902060005b868110156125e95781548b8201529085019083016125d0565b505084890196505b50505050505092915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000612195601d830184612564565b7f7b226e616d65223a20224d55736572202300000000000000000000000000000081526000845161266781601185016020890161219c565b7f222c20226465736372697074696f6e223a22000000000000000000000000000060119184019182015261269e6023820186612564565b90507f222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6281527f61736536342c0000000000000000000000000000000000000000000000000000602082015283516126fc81602684016020880161219c565b7f227d0000000000000000000000000000000000000000000000000000000000006026929091019182015260280195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161276b81601d85016020870161219c565b91909101601d0192915050565b6000835161278a81846020880161219c565b83519083019061279e81836020880161219c565b01949350505050565b634e487b7160e01b600052601260045260246000fd5b600082198211156127d0576127d0612534565b500190565b6000826127e4576127e46127a7565b500490565b600081600019048311821515161561280357612803612534565b500290565b600082612817576128176127a7565b500690565b600060ff821660ff810361283257612832612534565b60010192915050565b600060ff821660ff84168060ff0382111561285857612858612534565b019392505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611e6c60808301846121c8565b6000602082840312156128a457600080fd5b81516121958161214a565b600083516128c181846020880161219c565b7f203a20000000000000000000000000000000000000000000000000000000000090830190815283516128fb81600384016020880161219c565b0160030194935050505056fe3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223ea2646970667358221220ae1e48dae28ea9da289ec47dcdddeee19287cc1671b40f501e2f4963349866e264736f6c634300080d0033", + "sourceMap": "163:5874:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300:105;;;;;;:::i;:::-;;:::i;:::-;;;611:14:194;;604:22;586:41;;574:2;559:18;1570:300:105;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1797:55:194;;;1779:74;;1767:2;1752:18;3935:167:105;1633:226:194;3468:406:105;;;;;;:::i;:::-;;:::i;:::-;;241:23:173;;;;;;;;;2470:25:194;;;2458:2;2443:18;241:23:173;2324:177:194;481:22:175;;;;;;4612:296:105;;;;;;:::i;:::-;;:::i;509:29:175:-;;;;;;4974:149:105;;;;;;:::i;:::-;;:::i;5547:482:175:-;;;:::i;:::-;;;;;;;:::i;5169:372::-;;;;;;:::i;:::-;;:::i;:::-;;;;3763:25:194;;;3819:2;3804:18;;3797:34;;;;3847:18;;;3840:34;;;;3905:2;3890:18;;3883:34;3948:3;3933:19;;3926:35;3992:3;3977:19;;3970:35;3750:3;3735:19;5169:372:175;3476:535:194;2190:219:105;;;;;;:::i;:::-;;:::i;1047:324:175:-;;;;;;:::i;:::-;;:::i;1929:204:105:-;;;;;;:::i;:::-;;:::i;544:20:175:-;;;;;-1:-1:-1;;;;;544:20:175;;;2633:102:105;;;:::i;1000:40:175:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1000:40:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4169:153:105:-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;3875:1284:175:-;;;;;;:::i;:::-;;:::i;270:44:173:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;270:44:173;;;;;;;7344:25:194;;;-1:-1:-1;;;;;7405:55:194;;;7400:2;7385:18;;7378:83;7317:18;270:44:173;7170:297:194;1377:680:175;;;;;;:::i;:::-;;:::i;4388:162:105:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;1707:40;;;1722:25;1707:40;;:104;;-1:-1:-1;1763:48:105;;;1778:33;1763:48;1707:104;:156;;;-1:-1:-1;952:25:113;937:40;;;;1827:36:105;1688:175;1570:300;-1:-1:-1;;1570:300:105:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:105;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:105;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:105;:2;-1:-1:-1;;;;;3605:11:105;;3597:57;;;;-1:-1:-1;;;3597:57:105;;8381:2:194;3597:57:105;;;8363:21:194;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;8530:3;8510:18;;;8503:31;8551:19;;3597:57:105;;;;;;;;;719:10:110;-1:-1:-1;;;;;3686:21:105;;;;:62;;-1:-1:-1;3711:37:105;3728:5;719:10:110;4388:162:105;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:105;;8783:2:194;3665:170:105;;;8765:21:194;8822:2;8802:18;;;8795:30;8861:34;8841:18;;;8834:62;8932:31;8912:18;;;8905:59;8981:19;;3665:170:105;8581:425:194;3665:170:105;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:110;4804:7:105;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:105;;9213:2:194;4763:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;4763:99:105;9011:409:194;4763:99:105;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;5547:482:175:-;5599:16;5626:15;5644:21;5654:10;5644:9;:21::i;:::-;5626:39;;5675:25;5717:7;5703:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5703:22:175;;5675:50;;5735:13;5762:9;5758:240;5774:7;;5772:1;:9;5758:240;;;5817:10;5803;5811:1;5803:7;:10::i;:::-;-1:-1:-1;;;;;5803:24:175;;5800:188;;5864:1;5846:8;5855:5;5846:15;;;;;;;;:::i;:::-;;;;;;;;;;:19;5883:7;;;;:::i;:::-;;-1:-1:-1;;5908:66:175;;;5950:5;5908:66;;5782:3;;;;:::i;:::-;;;;5758:240;;;-1:-1:-1;6014:8:175;;5547:482;-1:-1:-1;;;5547:482:175:o;5169:372::-;5232:7;5309:18;;;:8;:18;;;;;;;;5290:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;5290:37:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:7;;;;;;;;;;;;5290:37;;5309:18;5290:37;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;5290:37:175;-1:-1:-1;5359:21:175;5345:4;:10;;;:35;;;;;;;;:::i;:::-;;5337:62;;;;-1:-1:-1;;;5337:62:175;;10205:2:194;5337:62:175;;;10187:21:194;10244:2;10224:18;;;10217:30;10283:17;10263:18;;;10256:45;10318:18;;5337:62:175;10003:339:194;5337:62:175;5416:7;;;;5433:11;;;;5454:16;;;;5480:10;;;;5500:13;;;;5523:10;;;;;5416:7;;5433:11;;-1:-1:-1;5454:16:175;;-1:-1:-1;5480:10:175;-1:-1:-1;5500:13:175;;-1:-1:-1;5523:10:175;-1:-1:-1;5169:372:175;-1:-1:-1;;5169:372:175:o;2190:219:105:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;;2324:56;;;;-1:-1:-1;;;2324:56:105;;10549:2:194;2324:56:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;2324:56:105;10347:348:194;1047:324:175;1149:7;;;1120:17;1140;;;:8;:17;;;;;1167:10;;;;:18;;-1:-1:-1;;1167:18:175;-1:-1:-1;;;;;1167:18:175;;;;;1195:10;;;:32;;-1:-1:-1;;1195:32:175;;;;;;;1253:8;;1237:24;;;1271:23;;:13;:23::i;:::-;1304:21;1310:5;1317:7;;1304:5;:21::i;:::-;1335:7;:9;;;:7;:9;;;:::i;:::-;;;;-1:-1:-1;;1354:8:175;:10;;;:8;:10;;;:::i;:::-;;;;;;1085:286;1047:324;:::o;1929:204:105:-;2001:7;-1:-1:-1;;;;;2028:19:105;;2020:73;;;;-1:-1:-1;;;2020:73:105;;10902:2:194;2020:73:105;;;10884:21:194;10941:2;10921:18;;;10914:30;10980:34;10960:18;;;10953:62;11051:11;11031:18;;;11024:39;11080:19;;2020:73:105;10700:405:194;2020:73:105;-1:-1:-1;;;;;;2110:16:105;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:110;4296:8:105;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:110;5352:7:105;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:105;;9213:2:194;5311:99:105;;;9195:21:194;9252:2;9232:18;;;9225:30;9291:34;9271:18;;;9264:62;9362:15;9342:18;;;9335:43;9395:19;;5311:99:105;9011:409:194;5311:99:105;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;3875:1284:175:-;3980:16;3999:18;;;:8;:18;;;;;;;;3980:37;;;;;;;;;;;;;;;-1:-1:-1;;;;;3980:37:175;;;;;;;;;;;;;;;;;;;;;;;;3955:13;3980:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3955:13;;3980:16;:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;3980:37:175;-1:-1:-1;4045:19:175;4031:4;:10;;;:33;;;;;;;;:::i;:::-;;4027:1126;;4080:15;4213;4122:124;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4122:124:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;3875:1284:175:o;4027:1126::-;4335:18;4321:4;:10;;;:32;;;;;;;;:::i;:::-;;4313:60;;;;-1:-1:-1;;;4313:60:175;;12896:2:194;4313:60:175;;;12878:21:194;12935:2;12915:18;;;12908:30;12974:17;12954:18;;;12947:45;13009:18;;4313:60:175;12694:339:194;4313:60:175;4387:20;4410:15;4420:4;4410:9;:15::i;:::-;4387:38;;4439:18;4460:538;4645:19;:8;:17;:19::i;:::-;4744:12;4856:28;4876:6;4856:13;:28::i;:::-;4550:394;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4460:13;:538::i;:::-;4439:559;;5095:4;5045:55;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5045:55:175;;;;;;;;;;3875:1284;-1:-1:-1;;;;;3875:1284:175:o;4027:1126::-;3970:1189;3875:1284;;;:::o;1377:680::-;1433:17;1453:18;;;:8;:18;;;;;1536:13;;1578:14;;1453:18;;1433:17;1513:89;;1536:13;1563:1;;1513:9;:89::i;:::-;1481:121;;1623:39;1632:14;1647:1;1632:17;;;;;;;;:::i;:::-;;;;;;;1651:3;1656:2;1660:1;1623:8;:39::i;:::-;1613:4;:7;;:49;;;;1686:38;1695:14;1710:1;1695:17;;;;;;;;:::i;:::-;;;;;;;1714:2;1718;1722:1;1686:8;:38::i;:::-;1672:4;:11;;:52;;;;1753:37;1762:14;1777:1;1762:17;;;;;;;;:::i;:::-;;;;;;;1781:1;1784:2;1788:1;1753:8;:37::i;:::-;1734:4;:16;;:56;;;;1832:37;1841:14;1856:1;1841:17;;;;;;;;:::i;:::-;;;;;;;1860:1;1863:2;1867:1;1832:8;:37::i;:::-;1819:4;:10;;:50;;;;1907:38;1916:14;1931:1;1916:17;;;;;;;;:::i;:::-;;;;;;;1935:2;1939;1943:1;1907:8;:38::i;:::-;1891:4;:13;;:54;;;;1968:37;1977:14;1992:1;1977:17;;;;;;;;:::i;:::-;;;;;;;1996:1;1999:2;2003:1;1968:8;:37::i;:::-;1955:10;;;:50;-1:-1:-1;2015:10:175;;:34;;-1:-1:-1;;2015:34:175;2028:21;2015:34;;;-1:-1:-1;1377:680:175:o;13240:133:105:-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;13313:53;;;;-1:-1:-1;;;13313:53:105;;10549:2:194;13313:53:105;;;10531:21:194;10588:2;10568:18;;;10561:30;10627:26;10607:18;;;10600:54;10671:18;;13313:53:105;10347:348:194;13313:53:105;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;12646:29:105;-1:-1:-1;;;;;12646:29:105;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:105;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:105;:7;-1:-1:-1;;;;;7570:16:105;;:52;;;-1:-1:-1;;;;;;4508:25:105;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:105;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:105;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:105:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:105;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:105;;11346:81;;;;-1:-1:-1;;;11346:81:105;;15128:2:194;11346:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11346:81:105;14926:401:194;11346:81:105;-1:-1:-1;;;;;11445:16:105;;11437:65;;;;-1:-1:-1;;;11437:65:105;;15534:2:194;11437:65:105;;;15516:21:194;15573:2;15553:18;;;15546:30;15612:34;15592:18;;;15585:62;15683:6;15663:18;;;15656:34;15707:19;;11437:65:105;15332:400:194;11437:65:105;11682:4;-1:-1:-1;;;;;11655:31:105;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:105;;11647:81;;;;-1:-1:-1;;;11647:81:105;;15128:2:194;11647:81:105;;;15110:21:194;15167:2;15147:18;;;15140:30;15206:34;15186:18;;;15179:62;15277:7;15257:18;;;15250:35;15302:19;;11647:81:105;14926:401:194;11647:81:105;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;11790:31:105;;;;;;-1:-1:-1;;;;;12265:15:105;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:105;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;378:223:173:-;439:16;458:21;;;:10;:21;;;;;;;;;489:8;;;:21;;-1:-1:-1;;489:21:173;500:10;489:21;;;;;;536:12;520:28;;573:8;;563:31;;7344:25:194;;;7385:18;;;7378:83;458:21:173;563:31;;7317:18:194;563:31:173;;;;;;;429:172;378:223;:::o;8925:920:105:-;-1:-1:-1;;;;;9004:16:105;;8996:61;;;;-1:-1:-1;;;8996:61:105;;15939:2:194;8996:61:105;;;15921:21:194;;;15958:18;;;15951:30;16017:34;15997:18;;;15990:62;16069:18;;8996:61:105;15737:356:194;8996:61:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:105;;16300:2:194;9067:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9067:58:105;16098:352:194;9067:58:105;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:105;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:105;;16300:2:194;9271:58:105;;;16282:21:194;16339:2;16319:18;;;16312:30;16378;16358:18;;;16351:58;16426:18;;9271:58:105;16098:352:194;9271:58:105;-1:-1:-1;;;;;9671:13:105;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;9710:21:105;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;4169:153;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:105;:5;-1:-1:-1;;;;;12990:17:105;;12982:55;;;;-1:-1:-1;;;12982:55:105;;16657:2:194;12982:55:105;;;16639:21:194;16696:2;16676:18;;;16669:30;16735:27;16715:18;;;16708:55;16780:18;;12982:55:105;16455:349:194;12982:55:105;-1:-1:-1;;;;;13047:25:105;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:105;;;;;;;;;;13108:41;;586::194;;;13108::105;;559:18:194;13108:41:105;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:105;;17011:2:194;6476:110:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;6476:110:105;16809:414:194;2521:1348:175;2581:13;2606:23;;:::i;:::-;2640:288;;;;;;;;;;;;;;;;;;;2950:32;;;;;;;;;;;;2640:30;2950:32;;;2963:7;;;;2950:32;;;2963:18;;:16;:18::i;:::-;2950:6;:32::i;:::-;2939:5;2945:1;2939:8;;;:43;;;;2993:53;;;;;;;;;;;;;;;;;:5;2999:1;2993:8;;;:53;;;;3068:40;;;;;;;;;;;;;;;;;;3085:22;:4;:11;;;:20;:22::i;3068:40::-;3057:8;;;;:51;;;;3119:53;;;;;;;;;;;;;3057:8;3119:53;;;:5;3125:1;3119:8;;;:53;;;;3194:50;;;;;;;;;;;;;;;;;;3216:27;:4;:16;;;:25;:27::i;3194:50::-;3183:8;;;:61;3255:53;;;;;;;;;;;;;;3183:8;3255:53;;;:8;;;:53;3330:37;;;;;;;;;;;;;3255:8;3330:37;;;3345:10;;;;3330:37;;;3345:21;;:19;:21::i;3330:37::-;3319:8;;;:48;3378:54;;;;;;;;;;;;;;3319:8;3378:54;;;:8;;;:54;3454:44;;;;;;;;;3384:1;3454:44;;;3378:8;3454:44;;;-1:-1:-1;3473:13:175;;;3454:44;;;3473:24;;:22;:24::i;3454:44::-;3443:8;;;:55;3509;;;;;;;;;;;;;;3443:8;3509:55;;;:9;;;:55;3587:38;;;;;;;;;;;;;3509:9;3587:38;;;3603:10;;;;3587:38;;;3603:21;;:19;:21::i;3587:38::-;3575:9;;;:50;3636:27;;;;;;;;;;;;;3575:9;3636:27;;;:9;;;:27;3674:20;-1:-1:-1;3705:135:175;3721:12;3719:1;:14;3705:135;;;3798:6;3806:5;3812:1;3806:8;;;;;;;:::i;:::-;;;;;3781:34;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3752:77;;3734:3;;;;;:::i;:::-;;;;3705:135;;;-1:-1:-1;3856:6:175;2521:1348;-1:-1:-1;;;2521:1348:175:o;447:696:111:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:111;-1:-1:-1;604:41:111;-1:-1:-1;765:28:111;;;781:2;765:28;820:280;-1:-1:-1;;851:5:111;990:8;985:2;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:111;820:280;1064:21;-1:-1:-1;1120:6:111;447:696;-1:-1:-1;;;447:696:111:o;396:1557:170:-;493:11;;454:13;;479:11;518:8;;;514:23;;-1:-1:-1;;528:9:170;;;;;;;;;-1:-1:-1;528:9:170;;;396:1557;-1:-1:-1;396:1557:170:o;514:23::-;586:18;624:1;613:7;:3;619:1;613:7;:::i;:::-;612:13;;;;:::i;:::-;607:19;;:1;:19;:::i;:::-;586:40;-1:-1:-1;681:19:170;713:15;586:40;726:2;713:15;:::i;:::-;703:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;703:26:170;;681:48;;740:18;761:5;;;;;;;;;;;;;;;;;740:26;;827:1;820:5;816:13;871:2;863:6;859:15;919:1;888:757;941:3;938:1;935:10;888:757;;;993:1;1035:12;;;;;1029:19;1128:4;1116:2;1112:14;;;;;1094:40;;1088:47;1235:2;1231:14;;;1227:25;;1213:40;;1207:47;1362:1;1358:13;;;1354:24;;1340:39;;1334:46;1480:16;;;;1466:31;;1460:38;1163:1;1159:11;;;1256:4;1203:58;;;1194:68;1286:11;;1330:57;;;1321:67;;;;1412:11;;1456:49;;1447:59;1534:3;1530:13;1561:22;;1629:1;1614:17;;;;986:9;888:757;;;892:42;1675:1;1670:3;1666:11;1695:1;1690:82;;;;1790:1;1785:80;;;;1659:206;;1690:82;1741:16;1722:17;;;1715:43;1690:82;;1785:80;1836:14;-1:-1:-1;;1817:17:170;;1810:41;1659:206;-1:-1:-1;;;1879:26:170;;;1886:6;396:1557;-1:-1:-1;;;;396:1557:170:o;607:996:173:-;739:14;785:8;;773:9;:20;765:55;;;;-1:-1:-1;;;765:55:173;;18585:2:194;765:55:173;;;18567:21:194;18624:2;18604:18;;;18597:30;18663:24;18643:18;;;18636:52;18705:18;;765:55:173;18383:346:194;765:55:173;830:15;848:21;;;:10;:21;;;;;;;;;830:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;830:39:173;;;;;;;888:10;:22;880:69;;;;-1:-1:-1;;;880:69:173;;18936:2:194;880:69:173;;;18918:21:194;18975:2;18955:18;;;18948:30;19014:34;18994:18;;;18987:62;19085:4;19065:18;;;19058:32;19107:19;;880:69:173;18734:398:194;880:69:173;959:31;1005:6;993:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;993:19:173;-1:-1:-1;1059:13:173;;959:53;;-1:-1:-1;1059:31:173;;1075:15;;1059:31;:::i;:::-;1043:12;:47;;1022:122;;;;-1:-1:-1;;;1022:122:173;;19339:2:194;1022:122:173;;;19321:21:194;19378:2;19358:18;;;19351:30;19417;19397:18;;;19390:58;19465:18;;1022:122:173;19137:352:194;1022:122:173;1187:13;;1154:12;;1187:17;;1203:1;1187:17;:::i;:::-;1303:22;;;1177:28;;1303:22;;;19623:19:194;;;1177:28:173;-1:-1:-1;1169:37:173;;19658:12:194;1303:22:173;;;;;;;;;;;;1293:33;;;;;;1285:42;;1262:65;;1382:7;1377:187;1399:6;1395:1;:10;;;1377:187;;;1426:11;1446:18;1461:3;1446:12;:18;:::i;:::-;1426:39;;1501:5;1479:16;1496:1;1479:19;;;;;;;;;;:::i;:::-;:27;;;;:19;;;;;;;;;;;:27;1535:18;1550:3;1535:12;:18;:::i;:::-;1520:33;;1412:152;1407:3;;;;;:::i;:::-;;;;1377:187;;;-1:-1:-1;1580:16:173;;607:996;-1:-1:-1;;;;;;;607:996:173:o;2063:259:175:-;2207:7;;2264:5;2251:9;:5;2259:1;2251:9;:::i;:::-;2250:19;;;;;;:::i;:::-;2226:44;-1:-1:-1;2296:19:175;2304:11;2226:44;2296:19;:::i;:::-;2287:28;;:6;:28;:::i;:::-;2280:35;2063:259;-1:-1:-1;;;;;;2063:259:175:o;13925:831:105:-;14074:4;-1:-1:-1;;;;;14094:13:105;;1702:19:109;:23;14090:660:105;;14129:71;;;;;-1:-1:-1;;;;;14129:36:105;;;;;:71;;719:10:110;;14180:4:105;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:105;;;;;;;;-1:-1:-1;;14129:71:105;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:105;;17011:2:194;14409:60:105;;;16993:21:194;17050:2;17030:18;;;17023:30;17089:34;17069:18;;;17062:62;17160:20;17140:18;;;17133:48;17198:19;;14409:60:105;16809:414:194;14363:321:105;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14250:51;;14260:41;14250:51;;-1:-1:-1;14243:58:105;;14090:660;-1:-1:-1;14735:4:105;14728:11;;2328:187:175;2431:13;2487:4;2500:6;2470:37;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2456:52;;2328:187;;;;:::o;10139:916:115:-;10192:7;;10276:8;10267:17;;10263:103;;10313:8;10304:17;;;-1:-1:-1;10349:2:115;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:115;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:115;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:115;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:115;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:115;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:115:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:177:194:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;196:245;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:194:o;638:258::-;710:1;720:113;734:6;731:1;728:13;720:113;;;810:11;;;804:18;791:11;;;784:39;756:2;749:10;720:113;;;851:6;848:1;845:13;842:48;;;-1:-1:-1;;886:1:194;868:16;;861:27;638:258::o;901:317::-;943:3;981:5;975:12;1008:6;1003:3;996:19;1024:63;1080:6;1073:4;1068:3;1064:14;1057:4;1050:5;1046:16;1024:63;:::i;:::-;1132:2;1120:15;-1:-1:-1;;1116:88:194;1107:98;;;;1207:4;1103:109;;901:317;-1:-1:-1;;901:317:194:o;1223:220::-;1372:2;1361:9;1354:21;1335:4;1392:45;1433:2;1422:9;1418:18;1410:6;1392:45;:::i;1448:180::-;1507:6;1560:2;1548:9;1539:7;1535:23;1531:32;1528:52;;;1576:1;1573;1566:12;1528:52;-1:-1:-1;1599:23:194;;1448:180;-1:-1:-1;1448:180:194:o;1864:196::-;1932:20;;-1:-1:-1;;;;;1981:54:194;;1971:65;;1961:93;;2050:1;2047;2040:12;1961:93;1864:196;;;:::o;2065:254::-;2133:6;2141;2194:2;2182:9;2173:7;2169:23;2165:32;2162:52;;;2210:1;2207;2200:12;2162:52;2233:29;2252:9;2233:29;:::i;:::-;2223:39;2309:2;2294:18;;;;2281:32;;-1:-1:-1;;;2065:254:194:o;2506:328::-;2583:6;2591;2599;2652:2;2640:9;2631:7;2627:23;2623:32;2620:52;;;2668:1;2665;2658:12;2620:52;2691:29;2710:9;2691:29;:::i;:::-;2681:39;;2739:38;2773:2;2762:9;2758:18;2739:38;:::i;:::-;2729:48;;2824:2;2813:9;2809:18;2796:32;2786:42;;2506:328;;;;;:::o;2839:632::-;3010:2;3062:21;;;3132:13;;3035:18;;;3154:22;;;2981:4;;3010:2;3233:15;;;;3207:2;3192:18;;;2981:4;3276:169;3290:6;3287:1;3284:13;3276:169;;;3351:13;;3339:26;;3420:15;;;;3385:12;;;;3312:1;3305:9;3276:169;;;-1:-1:-1;3462:3:194;;2839:632;-1:-1:-1;;;;;;2839:632:194:o;4016:186::-;4075:6;4128:2;4116:9;4107:7;4103:23;4099:32;4096:52;;;4144:1;4141;4134:12;4096:52;4167:29;4186:9;4167:29;:::i;4207:184::-;-1:-1:-1;;;4256:1:194;4249:88;4356:4;4353:1;4346:15;4380:4;4377:1;4370:15;4396:1026;4728:4;4770:3;4759:9;4755:19;4747:27;;4801:6;4790:9;4783:25;-1:-1:-1;;;;;4848:6:194;4844:55;4839:2;4828:9;4824:18;4817:83;4936:6;4931:2;4920:9;4916:18;4909:34;4979:6;4974:2;4963:9;4959:18;4952:34;5023:6;5017:3;5006:9;5002:19;4995:35;5067:6;5061:3;5050:9;5046:19;5039:35;5111:6;5105:3;5094:9;5090:19;5083:35;5155:6;5149:3;5138:9;5134:19;5127:35;5192:1;5184:6;5181:13;5171:201;;-1:-1:-1;;;5225:1:194;5218:88;5329:4;5326:1;5319:15;5357:4;5354:1;5347:15;5171:201;5409:6;5403:3;5392:9;5388:19;5381:35;4396:1026;;;;;;;;;;;;:::o;5427:347::-;5492:6;5500;5553:2;5541:9;5532:7;5528:23;5524:32;5521:52;;;5569:1;5566;5559:12;5521:52;5592:29;5611:9;5592:29;:::i;:::-;5582:39;;5671:2;5660:9;5656:18;5643:32;5718:5;5711:13;5704:21;5697:5;5694:32;5684:60;;5740:1;5737;5730:12;5684:60;5763:5;5753:15;;;5427:347;;;;;:::o;5779:184::-;-1:-1:-1;;;5828:1:194;5821:88;5928:4;5925:1;5918:15;5952:4;5949:1;5942:15;5968:1197;6063:6;6071;6079;6087;6140:3;6128:9;6119:7;6115:23;6111:33;6108:53;;;6157:1;6154;6147:12;6108:53;6180:29;6199:9;6180:29;:::i;:::-;6170:39;;6228:38;6262:2;6251:9;6247:18;6228:38;:::i;:::-;6218:48;;6313:2;6302:9;6298:18;6285:32;6275:42;;6368:2;6357:9;6353:18;6340:32;6391:18;6432:2;6424:6;6421:14;6418:34;;;6448:1;6445;6438:12;6418:34;6486:6;6475:9;6471:22;6461:32;;6531:7;6524:4;6520:2;6516:13;6512:27;6502:55;;6553:1;6550;6543:12;6502:55;6589:2;6576:16;6611:2;6607;6604:10;6601:36;;;6617:18;;:::i;:::-;6751:2;6745:9;6813:4;6805:13;;-1:-1:-1;;6801:22:194;;;6825:2;6797:31;6793:40;6781:53;;;6849:18;;;6869:22;;;6846:46;6843:72;;;6895:18;;:::i;:::-;6935:10;6931:2;6924:22;6970:2;6962:6;6955:18;7010:7;7005:2;7000;6996;6992:11;6988:20;6985:33;6982:53;;;7031:1;7028;7021:12;6982:53;7087:2;7082;7078;7074:11;7069:2;7061:6;7057:15;7044:46;7132:1;7127:2;7122;7114:6;7110:15;7106:24;7099:35;7153:6;7143:16;;;;;;;5968:1197;;;;;;;:::o;7472:260::-;7540:6;7548;7601:2;7589:9;7580:7;7576:23;7572:32;7569:52;;;7617:1;7614;7607:12;7569:52;7640:29;7659:9;7640:29;:::i;:::-;7630:39;;7688:38;7722:2;7711:9;7707:18;7688:38;:::i;:::-;7678:48;;7472:260;;;;;:::o;7737:437::-;7816:1;7812:12;;;;7859;;;7880:61;;7934:4;7926:6;7922:17;7912:27;;7880:61;7987:2;7979:6;7976:14;7956:18;7953:38;7950:218;;-1:-1:-1;;;8021:1:194;8014:88;8125:4;8122:1;8115:15;8153:4;8150:1;8143:15;9425:184;-1:-1:-1;;;9474:1:194;9467:88;9574:4;9571:1;9564:15;9598:4;9595:1;9588:15;9614:184;-1:-1:-1;;;9663:1:194;9656:88;9763:4;9760:1;9753:15;9787:4;9784:1;9777:15;9803:195;9842:3;-1:-1:-1;;9866:5:194;9863:77;9860:103;;9943:18;;:::i;:::-;-1:-1:-1;9990:1:194;9979:13;;9803:195::o;11236:1088::-;11321:12;;11286:3;;11376:1;11396:18;;;;11449;;;;11476:61;;11530:4;11522:6;11518:17;11508:27;;11476:61;11556:2;11604;11596:6;11593:14;11573:18;11570:38;11567:218;;-1:-1:-1;;;11638:1:194;11631:88;11742:4;11739:1;11732:15;11770:4;11767:1;11760:15;11567:218;11801:18;11828:162;;;;12004:1;11999:319;;;;11794:524;;11828:162;-1:-1:-1;;11865:9:194;11861:82;11856:3;11849:95;11973:6;11968:3;11964:16;11957:23;;11828:162;;11999:319;11183:1;11176:14;;;11220:4;11207:18;;12093:1;12107:165;12121:6;12118:1;12115:13;12107:165;;;12199:14;;12186:11;;;12179:35;12242:16;;;;12136:10;;12107:165;;;12111:3;;12301:6;12296:3;12292:16;12285:23;;11794:524;;;;;;;11236:1088;;;;:::o;12329:360::-;12588:31;12583:3;12576:44;12558:3;12636:47;12679:2;12674:3;12670:12;12662:6;12636:47;:::i;13038:1430::-;13696:66;13691:3;13684:79;13666:3;13792:6;13786:13;13808:62;13863:6;13858:2;13853:3;13849:12;13842:4;13834:6;13830:17;13808:62;:::i;:::-;13934:66;13929:2;13889:16;;;13921:11;;;13914:87;14020:46;14062:2;14054:11;;14046:6;14020:46;:::i;:::-;14010:56;;14086:66;14082:2;14075:78;14184:8;14177:4;14173:2;14169:13;14162:31;14224:6;14218:13;14240:63;14294:8;14289:2;14285;14281:11;14274:4;14266:6;14262:17;14240:63;:::i;:::-;14368:66;14363:2;14322:17;;;;14355:11;;;14348:87;14459:2;14451:11;;13038:1430;-1:-1:-1;;;;;13038:1430:194:o;14473:448::-;14735:31;14730:3;14723:44;14705:3;14796:6;14790:13;14812:62;14867:6;14862:2;14857:3;14853:12;14846:4;14838:6;14834:17;14812:62;:::i;:::-;14894:16;;;;14912:2;14890:25;;14473:448;-1:-1:-1;;14473:448:194:o;17228:470::-;17407:3;17445:6;17439:13;17461:53;17507:6;17502:3;17495:4;17487:6;17483:17;17461:53;:::i;:::-;17577:13;;17536:16;;;;17599:57;17577:13;17536:16;17633:4;17621:17;;17599:57;:::i;:::-;17672:20;;17228:470;-1:-1:-1;;;;17228:470:194:o;17703:184::-;-1:-1:-1;;;17752:1:194;17745:88;17852:4;17849:1;17842:15;17876:4;17873:1;17866:15;17892:128;17932:3;17963:1;17959:6;17956:1;17953:13;17950:39;;;17969:18;;:::i;:::-;-1:-1:-1;18005:9:194;;17892:128::o;18025:120::-;18065:1;18091;18081:35;;18096:18;;:::i;:::-;-1:-1:-1;18130:9:194;;18025:120::o;18150:228::-;18190:7;18316:1;-1:-1:-1;;18244:74:194;18241:1;18238:81;18233:1;18226:9;18219:17;18215:105;18212:131;;;18323:18;;:::i;:::-;-1:-1:-1;18363:9:194;;18150:228::o;19681:112::-;19713:1;19739;19729:35;;19744:18;;:::i;:::-;-1:-1:-1;19778:9:194;;19681:112::o;19798:175::-;19835:3;19879:4;19872:5;19868:16;19908:4;19899:7;19896:17;19893:43;;19916:18;;:::i;:::-;19965:1;19952:15;;19798:175;-1:-1:-1;;19798:175:194:o;19978:204::-;20016:3;20052:4;20049:1;20045:12;20084:4;20081:1;20077:12;20119:3;20113:4;20109:14;20104:3;20101:23;20098:49;;;20127:18;;:::i;:::-;20163:13;;19978:204;-1:-1:-1;;;19978:204:194:o;20187:512::-;20381:4;-1:-1:-1;;;;;20491:2:194;20483:6;20479:15;20468:9;20461:34;20543:2;20535:6;20531:15;20526:2;20515:9;20511:18;20504:43;;20583:6;20578:2;20567:9;20563:18;20556:34;20626:3;20621:2;20610:9;20606:18;20599:31;20647:46;20688:3;20677:9;20673:19;20665:6;20647:46;:::i;20704:249::-;20773:6;20826:2;20814:9;20805:7;20801:23;20797:32;20794:52;;;20842:1;20839;20832:12;20794:52;20874:9;20868:16;20893:30;20917:5;20893:30;:::i;20958:616::-;21238:3;21276:6;21270:13;21292:53;21338:6;21333:3;21326:4;21318:6;21314:17;21292:53;:::i;:::-;21406:5;21367:16;;;21392:20;;;21437:13;;21459:65;21437:13;21511:1;21500:13;;21493:4;21481:17;;21459:65;:::i;:::-;21544:20;21566:1;21540:28;;20958:616;-1:-1:-1;;;;20958:616:194:o", + "linkReferences": {} + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "getStructInfo(uint256)": "53bbd6a7", + "getUserTokenIdList()": "43a47162", + "isApprovedForAll(address,address)": "e985e9c5", + "mint(address)": "6a627842", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "ownerOf(uint256)": "6352211e", + "randomId()": "0ab14d8a", + "randomList(uint256)": "cba86e23", + "revealNFT(uint256)": "d5608f9a", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "symbol()": "95d89b41", + "tokenId()": "17d70f7c", + "tokenURI(uint256)": "c87b56dd", + "transferFrom(address,address,uint256)": "23b872dd", + "userList(uint256)": "9f4216e8", + "waitBlockCount()": "3e8474ca" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_waitBlockCount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_notRevealedInfo\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_revealedDesc\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"name\":\"NewRandom\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getStructInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUserTokenIdList\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"randomList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"author\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"revealNFT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"randomId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"HP\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Attack\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"AttackRange\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Speed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"Space\",\"type\":\"uint256\"},{\"internalType\":\"enum MRandom.RandomState\",\"name\":\"state\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"waitBlockCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/other/User.sol\":\"MUser\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@library/=src/systems/library/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@src/=src/\",\":@systems/=src/systems/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/other/Base64.sol\":{\"keccak256\":\"0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2\",\"dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt\"]},\"src/other/MRandom.sol\":{\"keccak256\":\"0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3\",\"dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT\"]},\"src/other/User.sol\":{\"keccak256\":\"0x53646fef60184786ca4e6ea5ba0eb43e678fcba3876d8c242e541254267500e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a1404ed20b3ecf45534cacbb6f9e4d0942be743f825e097ad96197b9d0aaf2\",\"dweb:/ipfs/QmepCVzMNwuRP8PbBG1oLn3AVUef9jyzvjnbNCrRmyDuDN\"]}},\"version\":1}", + "metadata": { + "compiler": { + "version": "0.8.13+commit.abaa5c0e" + }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_waitBlockCount", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_notRevealedInfo", + "type": "string" + }, + { + "internalType": "string", + "name": "_revealedDesc", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "approved", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "operator", + "type": "address", + "indexed": true + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool", + "indexed": false + } + ], + "type": "event", + "name": "ApprovalForAll", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256", + "indexed": false + }, + { + "internalType": "address", + "name": "author", + "type": "address", + "indexed": false + } + ], + "type": "event", + "name": "NewRandom", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "to", + "type": "address", + "indexed": true + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256", + "indexed": true + } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "getStructInfo", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getUserTokenIdList", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "mint" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "randomId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "randomList", + "outputs": [ + { + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "author", + "type": "address" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "revealNFT" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "safeTransferFrom" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "setApprovalForAll" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ] + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "name": "userList", + "outputs": [ + { + "internalType": "uint256", + "name": "randomId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "HP", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Attack", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "AttackRange", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Speed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Strength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "Space", + "type": "uint256" + }, + { + "internalType": "enum MRandom.RandomState", + "name": "state", + "type": "uint8" + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "waitBlockCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@codegen/=src/codegen/", + "@latticexyz/=node_modules/@latticexyz/", + "@library/=src/systems/library/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@src/=src/", + "@systems/=src/systems/", + "ds-test/=node_modules/ds-test/src/", + "forge-std/=node_modules/forge-std/src/" + ], + "optimizer": { + "enabled": true, + "runs": 3000 + }, + "metadata": { + "bytecodeHash": "ipfs" + }, + "compilationTarget": { + "src/other/User.sol": "MUser" + }, + "libraries": {} + }, + "sources": { + "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff", + "urls": [ + "bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005", + "dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266", + "urls": [ + "bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4", + "dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", + "urls": [ + "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", + "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", + "urls": [ + "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", + "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", + "urls": [ + "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", + "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", + "urls": [ + "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", + "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" + ], + "license": "MIT" + }, + "src/other/Base64.sol": { + "keccak256": "0xbdcb80ee065eb92a6998a7c7694ef376695e2dd5d86c71e17c9e7b281d500675", + "urls": [ + "bzz-raw://eeb7b18875e89c3a29b991552955bb52b11587a41366cd46560a1efd6daa2aa2", + "dweb:/ipfs/QmYndJRH6mSv6Kvh49tm8RbPQBBd7SKNL4GMenASN4uSwt" + ], + "license": "MIT" + }, + "src/other/MRandom.sol": { + "keccak256": "0x99fc41438ee428108b9c340930e0f11acf905069fb0ca527a86e455421afa1e5", + "urls": [ + "bzz-raw://7b5a5c47cf3328a6ab3a98b0c11271a7ac52ffecb8600a63dafb29a5c5bd4fd3", + "dweb:/ipfs/QmRgdqVGY1QwK8dBkPmYfR2TuDz3xegDEmY54FU2cAB5rT" + ], + "license": "MIT" + }, + "src/other/User.sol": { + "keccak256": "0x53646fef60184786ca4e6ea5ba0eb43e678fcba3876d8c242e541254267500e8", + "urls": [ + "bzz-raw://b4a1404ed20b3ecf45534cacbb6f9e4d0942be743f825e097ad96197b9d0aaf2", + "dweb:/ipfs/QmepCVzMNwuRP8PbBG1oLn3AVUef9jyzvjnbNCrRmyDuDN" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "ast": { + "absolutePath": "src/other/User.sol", + "id": 121589, + "exportedSymbols": { + "Address": [ + 132130 + ], + "Base64": [ + 119403 + ], + "Context": [ + 132152 + ], + "ERC165": [ + 132176 + ], + "ERC721": [ + 72425 + ], + "IERC165": [ + 174457 + ], + "IERC721": [ + 131755 + ], + "IERC721Metadata": [ + 131800 + ], + "IERC721Receiver": [ + 131773 + ], + "MRandom": [ + 120834 + ], + "MUser": [ + 121588 + ], + "Math": [ + 133042 + ], + "SignedMath": [ + 133147 + ], + "Strings": [ + 72654 + ] + }, + "nodeType": "SourceUnit", + "src": "32:6006:175", + "nodes": [ + { + "id": 120931, + "nodeType": "PragmaDirective", + "src": "32:24:175", + "nodes": [], + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ] + }, + { + "id": 120932, + "nodeType": "ImportDirective", + "src": "57:57:175", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "nameLocation": "-1:-1:-1", + "scope": 121589, + "sourceUnit": 72426, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 120933, + "nodeType": "ImportDirective", + "src": "115:23:175", + "nodes": [], + "absolutePath": "src/other/MRandom.sol", + "file": "./MRandom.sol", + "nameLocation": "-1:-1:-1", + "scope": 121589, + "sourceUnit": 120835, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 120934, + "nodeType": "ImportDirective", + "src": "139:22:175", + "nodes": [], + "absolutePath": "src/other/Base64.sol", + "file": "./Base64.sol", + "nameLocation": "-1:-1:-1", + "scope": 121589, + "sourceUnit": 119404, + "symbolAliases": [], + "unitAlias": "" + }, + { + "id": 121588, + "nodeType": "ContractDefinition", + "src": "163:5874:175", + "nodes": [ + { + "id": 120941, + "nodeType": "UsingForDirective", + "src": "203:26:175", + "nodes": [], + "global": false, + "libraryName": { + "id": 120939, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72654, + "src": "209:7:175" + }, + "typeName": { + "id": 120940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "221:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 120961, + "nodeType": "StructDefinition", + "src": "235:240:175", + "nodes": [], + "canonicalName": "MUser.User", + "members": [ + { + "constant": false, + "id": 120943, + "mutability": "mutable", + "name": "randomId", + "nameLocation": "265:8:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "257:16:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "257:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120945, + "mutability": "mutable", + "name": "owner", + "nameLocation": "291:5:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "283:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "283:7:175", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120947, + "mutability": "mutable", + "name": "HP", + "nameLocation": "314:2:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "306:10:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "306:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120949, + "mutability": "mutable", + "name": "Attack", + "nameLocation": "334:6:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "326:14:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120951, + "mutability": "mutable", + "name": "AttackRange", + "nameLocation": "358:11:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "350:19:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "350:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120953, + "mutability": "mutable", + "name": "Speed", + "nameLocation": "387:5:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "379:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "379:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120955, + "mutability": "mutable", + "name": "Strength", + "nameLocation": "410:8:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "402:16:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120957, + "mutability": "mutable", + "name": "Space", + "nameLocation": "436:5:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "428:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120956, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "428:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120960, + "mutability": "mutable", + "name": "state", + "nameLocation": "463:5:175", + "nodeType": "VariableDeclaration", + "scope": 120961, + "src": "451:17:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "typeName": { + "id": 120959, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 120958, + "name": "RandomState", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120643, + "src": "451:11:175" + }, + "referencedDeclaration": 120643, + "src": "451:11:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "visibility": "internal" + } + ], + "name": "User", + "nameLocation": "242:4:175", + "scope": 121588, + "visibility": "public" + }, + { + "id": 120963, + "nodeType": "VariableDeclaration", + "src": "481:22:175", + "nodes": [], + "constant": false, + "functionSelector": "17d70f7c", + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "496:7:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "481:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 120965, + "nodeType": "VariableDeclaration", + "src": "509:29:175", + "nodes": [], + "constant": false, + "functionSelector": "3e8474ca", + "mutability": "mutable", + "name": "waitBlockCount", + "nameLocation": "524:14:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120964, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "509:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "id": 120967, + "nodeType": "VariableDeclaration", + "src": "544:20:175", + "nodes": [], + "constant": false, + "functionSelector": "8da5cb5b", + "mutability": "mutable", + "name": "owner", + "nameLocation": "559:5:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 120966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:175", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "id": 120969, + "nodeType": "VariableDeclaration", + "src": "570:22:175", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "notRevealedInfo", + "nameLocation": "577:15:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 120968, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "570:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 120971, + "nodeType": "VariableDeclaration", + "src": "598:19:175", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "revealedDesc", + "nameLocation": "605:12:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 120970, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "598:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "id": 121006, + "nodeType": "FunctionDefinition", + "src": "624:370:175", + "nodes": [], + "body": { + "id": 121005, + "nodeType": "Block", + "src": "835:159:175", + "nodes": [], + "statements": [ + { + "expression": { + "id": 120991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120988, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120967, + "src": "845:5:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 120989, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "853:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 120990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "853:10:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "845:18:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 120992, + "nodeType": "ExpressionStatement", + "src": "845:18:175" + }, + { + "expression": { + "id": 120995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120993, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120965, + "src": "873:14:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120994, + "name": "_waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120973, + "src": "890:15:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "873:32:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 120996, + "nodeType": "ExpressionStatement", + "src": "873:32:175" + }, + { + "expression": { + "id": 120999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 120997, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120969, + "src": "915:15:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 120998, + "name": "_notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120979, + "src": "933:16:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "915:34:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 121000, + "nodeType": "ExpressionStatement", + "src": "915:34:175" + }, + { + "expression": { + "id": 121003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 121001, + "name": "revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120971, + "src": "959:12:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 121002, + "name": "_revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120981, + "src": "974:13:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "959:28:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 121004, + "nodeType": "ExpressionStatement", + "src": "959:28:175" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 120984, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120975, + "src": "819:7:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 120985, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120977, + "src": "828:5:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 120986, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 120983, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "812:6:175" + }, + "nodeType": "ModifierInvocation", + "src": "812:22:175" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 120982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120973, + "mutability": "mutable", + "name": "_waitBlockCount", + "nameLocation": "653:15:175", + "nodeType": "VariableDeclaration", + "scope": 121006, + "src": "645:23:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "645:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120975, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "692:7:175", + "nodeType": "VariableDeclaration", + "scope": 121006, + "src": "678:21:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120974, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "678:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120977, + "mutability": "mutable", + "name": "_name", + "nameLocation": "723:5:175", + "nodeType": "VariableDeclaration", + "scope": 121006, + "src": "709:19:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120976, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "709:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120979, + "mutability": "mutable", + "name": "_notRevealedInfo", + "nameLocation": "752:16:175", + "nodeType": "VariableDeclaration", + "scope": 121006, + "src": "738:30:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120978, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "738:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 120981, + "mutability": "mutable", + "name": "_revealedDesc", + "nameLocation": "792:13:175", + "nodeType": "VariableDeclaration", + "scope": 121006, + "src": "778:27:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 120980, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "778:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "635:176:175" + }, + "returnParameters": { + "id": 120987, + "nodeType": "ParameterList", + "parameters": [], + "src": "835:0:175" + }, + "scope": 121588, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 121011, + "nodeType": "VariableDeclaration", + "src": "1000:40:175", + "nodes": [], + "constant": false, + "functionSelector": "9f4216e8", + "mutability": "mutable", + "name": "userList", + "nameLocation": "1032:8:175", + "scope": 121588, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User)" + }, + "typeName": { + "id": 121010, + "keyType": { + "id": 121007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1008:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1000:24:175", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User)" + }, + "valueType": { + "id": 121009, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121008, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "1019:4:175" + }, + "referencedDeclaration": 120961, + "src": "1019:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + } + }, + "visibility": "public" + }, + { + "id": 121058, + "nodeType": "FunctionDefinition", + "src": "1047:324:175", + "nodes": [], + "body": { + "id": 121057, + "nodeType": "Block", + "src": "1085:286:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121018 + ], + "declarations": [ + { + "constant": false, + "id": 121018, + "mutability": "mutable", + "name": "user", + "nameLocation": "1133:4:175", + "nodeType": "VariableDeclaration", + "scope": 121057, + "src": "1120:17:175", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 121017, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121016, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "1120:4:175" + }, + "referencedDeclaration": 120961, + "src": "1120:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 121022, + "initialValue": { + "baseExpression": { + "id": 121019, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121011, + "src": "1140:8:175", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 121021, + "indexExpression": { + "id": 121020, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120963, + "src": "1149:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1140:17:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1120:37:175" + }, + { + "expression": { + "id": 121027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121023, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121018, + "src": "1167:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121025, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 120945, + "src": "1167:10:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 121026, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121013, + "src": "1180:5:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1167:18:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 121028, + "nodeType": "ExpressionStatement", + "src": "1167:18:175" + }, + { + "expression": { + "id": 121034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121029, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121018, + "src": "1195:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 120960, + "src": "1195:10:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 121032, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "1208:11:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 121033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "1208:19:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "1195:32:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 121035, + "nodeType": "ExpressionStatement", + "src": "1195:32:175" + }, + { + "expression": { + "id": 121040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121036, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121018, + "src": "1237:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 120943, + "src": "1237:13:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 121039, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "1253:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1237:24:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121041, + "nodeType": "ExpressionStatement", + "src": "1237:24:175" + }, + { + "expression": { + "arguments": [ + { + "id": 121043, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "1285:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121042, + "name": "requestRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120694, + "src": "1271:13:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 121044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1271:23:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121045, + "nodeType": "ExpressionStatement", + "src": "1271:23:175" + }, + { + "expression": { + "arguments": [ + { + "id": 121047, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121013, + "src": "1310:5:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 121048, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120963, + "src": "1317:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121046, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72099, + "src": "1304:5:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 121049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1304:21:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121050, + "nodeType": "ExpressionStatement", + "src": "1304:21:175" + }, + { + "expression": { + "id": 121052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1335:9:175", + "subExpression": { + "id": 121051, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120963, + "src": "1335:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121053, + "nodeType": "ExpressionStatement", + "src": "1335:9:175" + }, + { + "expression": { + "id": 121055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1354:10:175", + "subExpression": { + "id": 121054, + "name": "randomId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120650, + "src": "1354:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121056, + "nodeType": "ExpressionStatement", + "src": "1354:10:175" + } + ] + }, + "functionSelector": "6a627842", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "1056:4:175", + "parameters": { + "id": 121014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121013, + "mutability": "mutable", + "name": "_addr", + "nameLocation": "1069:5:175", + "nodeType": "VariableDeclaration", + "scope": 121058, + "src": "1061:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 121012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1061:7:175", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1060:15:175" + }, + "returnParameters": { + "id": 121015, + "nodeType": "ParameterList", + "parameters": [], + "src": "1085:0:175" + }, + "scope": 121588, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 121168, + "nodeType": "FunctionDefinition", + "src": "1377:680:175", + "nodes": [], + "body": { + "id": 121167, + "nodeType": "Block", + "src": "1423:634:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121065 + ], + "declarations": [ + { + "constant": false, + "id": 121065, + "mutability": "mutable", + "name": "user", + "nameLocation": "1446:4:175", + "nodeType": "VariableDeclaration", + "scope": 121167, + "src": "1433:17:175", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 121064, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121063, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "1433:4:175" + }, + "referencedDeclaration": 120961, + "src": "1433:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 121069, + "initialValue": { + "baseExpression": { + "id": 121066, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121011, + "src": "1453:8:175", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 121068, + "indexExpression": { + "id": 121067, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121060, + "src": "1462:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1453:18:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1433:38:175" + }, + { + "assignments": [ + 121074 + ], + "declarations": [ + { + "constant": false, + "id": 121074, + "mutability": "mutable", + "name": "random_numbers", + "nameLocation": "1496:14:175", + "nodeType": "VariableDeclaration", + "scope": 121167, + "src": "1481:29:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[]" + }, + "typeName": { + "baseType": { + "id": 121072, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1481:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 121073, + "nodeType": "ArrayTypeName", + "src": "1481:7:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_storage_ptr", + "typeString": "uint8[]" + } + }, + "visibility": "internal" + } + ], + "id": 121081, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 121076, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1536:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121077, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "randomId", + "nodeType": "MemberAccess", + "referencedDeclaration": 120943, + "src": "1536:13:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "38", + "id": 121078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1563:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + { + "id": 121079, + "name": "waitBlockCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120965, + "src": "1578:14:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121075, + "name": "getRandom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120811, + "src": "1513:9:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$", + "typeString": "function (uint256,uint256,uint256) view returns (uint8[] memory)" + } + }, + "id": 121080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1513:89:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1481:121:175" + }, + { + "expression": { + "id": 121093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121082, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1613:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121084, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 120947, + "src": "1613:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121086, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1632:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121088, + "indexExpression": { + "hexValue": "30", + "id": 121087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1632:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "313030", + "id": 121089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1651:3:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + { + "hexValue": "3130", + "id": 121090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1656:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "35", + "id": 121091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1660:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + } + ], + "id": 121085, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1623:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1623:39:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1613:49:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121094, + "nodeType": "ExpressionStatement", + "src": "1613:49:175" + }, + { + "expression": { + "id": 121106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121095, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1672:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121097, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 120949, + "src": "1672:11:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121099, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1695:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121101, + "indexExpression": { + "hexValue": "31", + "id": 121100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1710:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1695:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "3330", + "id": 121102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1714:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "3130", + "id": 121103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "32", + "id": 121104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "id": 121098, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1686:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:38:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1672:52:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121107, + "nodeType": "ExpressionStatement", + "src": "1672:52:175" + }, + { + "expression": { + "id": 121119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121108, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1734:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 120951, + "src": "1734:16:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121112, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1762:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121114, + "indexExpression": { + "hexValue": "32", + "id": 121113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1762:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "33", + "id": 121115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + { + "hexValue": "3530", + "id": 121116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1784:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "31", + "id": 121117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1788:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 121111, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1753:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1753:37:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1734:56:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121120, + "nodeType": "ExpressionStatement", + "src": "1734:56:175" + }, + { + "expression": { + "id": 121132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121121, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1819:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120953, + "src": "1819:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121125, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1841:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121127, + "indexExpression": { + "hexValue": "33", + "id": 121126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1856:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "34", + "id": 121128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1860:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + { + "hexValue": "3330", + "id": 121129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1863:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + { + "hexValue": "31", + "id": 121130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1867:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 121124, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1832:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1832:37:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1819:50:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121133, + "nodeType": "ExpressionStatement", + "src": "1819:50:175" + }, + { + "expression": { + "id": 121145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121134, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1891:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 120955, + "src": "1891:13:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121138, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1916:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121140, + "indexExpression": { + "hexValue": "34", + "id": 121139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1931:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1916:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "3230", + "id": 121141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1935:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + { + "hexValue": "3130", + "id": 121142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1939:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + { + "hexValue": "33", + "id": 121143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1943:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "id": 121137, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1907:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1907:38:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1891:54:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121146, + "nodeType": "ExpressionStatement", + "src": "1891:54:175" + }, + { + "expression": { + "id": 121158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121147, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "1955:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121149, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 120957, + "src": "1955:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "baseExpression": { + "id": 121151, + "name": "random_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121074, + "src": "1977:14:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint8_$dyn_memory_ptr", + "typeString": "uint8[] memory" + } + }, + "id": 121153, + "indexExpression": { + "hexValue": "35", + "id": 121152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1992:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1977:17:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "hexValue": "32", + "id": 121154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1996:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + { + "hexValue": "3530", + "id": 121155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1999:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + { + "hexValue": "31", + "id": 121156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2003:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 121150, + "name": "getRange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121200, + "src": "1968:8:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint8_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint8,uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 121157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1968:37:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1955:50:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121159, + "nodeType": "ExpressionStatement", + "src": "1955:50:175" + }, + { + "expression": { + "id": 121165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 121160, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121065, + "src": "2015:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User storage pointer" + } + }, + "id": 121162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 120960, + "src": "2015:10:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 121163, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "2028:11:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 121164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "2028:21:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "2015:34:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "id": 121166, + "nodeType": "ExpressionStatement", + "src": "2015:34:175" + } + ] + }, + "functionSelector": "d5608f9a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revealNFT", + "nameLocation": "1386:9:175", + "parameters": { + "id": 121061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121060, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1404:8:175", + "nodeType": "VariableDeclaration", + "scope": 121168, + "src": "1396:16:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121059, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1396:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1395:18:175" + }, + "returnParameters": { + "id": 121062, + "nodeType": "ParameterList", + "parameters": [], + "src": "1423:0:175" + }, + "scope": 121588, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 121200, + "nodeType": "FunctionDefinition", + "src": "2063:259:175", + "nodes": [], + "body": { + "id": 121199, + "nodeType": "Block", + "src": "2216:106:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121182 + ], + "declarations": [ + { + "constant": false, + "id": 121182, + "mutability": "mutable", + "name": "times", + "nameLocation": "2234:5:175", + "nodeType": "VariableDeclaration", + "scope": 121199, + "src": "2226:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121181, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2226:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 121192, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 121187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121185, + "name": "_rand", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121170, + "src": "2251:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 121186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2259:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2251:9:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 121188, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2250:11:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 121189, + "name": "_step", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121174, + "src": "2264:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2250:19:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2242:7:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 121183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2242:7:175", + "typeDescriptions": {} + } + }, + "id": 121191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:28:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2226:44:175" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121193, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121172, + "src": "2287:6:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121194, + "name": "times", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121182, + "src": "2296:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 121195, + "name": "_stepLength", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121176, + "src": "2304:11:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2296:19:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2287:28:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 121180, + "id": 121198, + "nodeType": "Return", + "src": "2280:35:175" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRange", + "nameLocation": "2072:8:175", + "parameters": { + "id": 121177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121170, + "mutability": "mutable", + "name": "_rand", + "nameLocation": "2096:5:175", + "nodeType": "VariableDeclaration", + "scope": 121200, + "src": "2090:11:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 121169, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2090:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121172, + "mutability": "mutable", + "name": "_start", + "nameLocation": "2119:6:175", + "nodeType": "VariableDeclaration", + "scope": 121200, + "src": "2111:14:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2111:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121174, + "mutability": "mutable", + "name": "_step", + "nameLocation": "2143:5:175", + "nodeType": "VariableDeclaration", + "scope": 121200, + "src": "2135:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121173, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2135:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121176, + "mutability": "mutable", + "name": "_stepLength", + "nameLocation": "2166:11:175", + "nodeType": "VariableDeclaration", + "scope": 121200, + "src": "2158:19:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2158:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2080:103:175" + }, + "returnParameters": { + "id": 121180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121179, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121200, + "src": "2207:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121178, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2207:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2206:9:175" + }, + "scope": 121588, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 121220, + "nodeType": "FunctionDefinition", + "src": "2328:187:175", + "nodes": [], + "body": { + "id": 121219, + "nodeType": "Block", + "src": "2446:69:175", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 121213, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121202, + "src": "2487:4:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "203a20", + "id": 121214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2493:5:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", + "typeString": "literal_string \" : \"" + }, + "value": " : " + }, + { + "id": 121215, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121204, + "src": "2500:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_f6e2d4828d2255673c37a4b6bc2f5f9a13ca3e9717109b77618ca529041a3363", + "typeString": "literal_string \" : \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 121211, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2470:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 121212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "2470:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 121216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2470:37:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2463:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 121209, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2463:6:175", + "typeDescriptions": {} + } + }, + "id": 121217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2463:45:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 121208, + "id": 121218, + "nodeType": "Return", + "src": "2456:52:175" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "concat", + "nameLocation": "2337:6:175", + "parameters": { + "id": 121205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121202, + "mutability": "mutable", + "name": "_key", + "nameLocation": "2367:4:175", + "nodeType": "VariableDeclaration", + "scope": 121220, + "src": "2353:18:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121201, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2353:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121204, + "mutability": "mutable", + "name": "_value", + "nameLocation": "2395:6:175", + "nodeType": "VariableDeclaration", + "scope": 121220, + "src": "2381:20:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121203, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2381:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2343:64:175" + }, + "returnParameters": { + "id": 121208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121207, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121220, + "src": "2431:13:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121206, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2431:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2430:15:175" + }, + "scope": 121588, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 121380, + "nodeType": "FunctionDefinition", + "src": "2521:1348:175", + "nodes": [], + "body": { + "id": 121379, + "nodeType": "Block", + "src": "2596:1273:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121233 + ], + "declarations": [ + { + "constant": false, + "id": 121233, + "mutability": "mutable", + "name": "parts", + "nameLocation": "2624:5:175", + "nodeType": "VariableDeclaration", + "scope": 121379, + "src": "2606:23:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string[13]" + }, + "typeName": { + "baseType": { + "id": 121231, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2606:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "id": 121232, + "length": { + "hexValue": "3133", + "id": 121230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2613:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "nodeType": "ArrayTypeName", + "src": "2606:10:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_storage_$13_storage_ptr", + "typeString": "string[13]" + } + }, + "visibility": "internal" + } + ], + "id": 121234, + "nodeType": "VariableDeclarationStatement", + "src": "2606:23:175" + }, + { + "expression": { + "id": 121239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121235, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "2640:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121237, + "indexExpression": { + "hexValue": "30", + "id": 121236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2659:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2640:30:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c73766720786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f73766722207072657365727665417370656374526174696f3d22784d696e594d696e206d656574222076696577426f783d223020302033353020333530223e3c7374796c653e2e62617365207b2066696c6c3a2077686974653b20666f6e742d66616d696c793a2073657269663b20666f6e742d73697a653a20313470783b207d3c2f7374796c653e3c726563742077696474683d223130302522206865696768743d2231303025222066696c6c3d22626c61636b22202f3e3c7465787420783d2231302220793d2232302220636c6173733d2262617365223e", + "id": 121238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2673:255:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ffd9090561a6f9339739d1063be92bc73a3e1b8fb8de576bd37c9bdc62aeb8e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2640:288:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121240, + "nodeType": "ExpressionStatement", + "src": "2640:288:175" + }, + { + "expression": { + "id": 121251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121241, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "2939:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121243, + "indexExpression": { + "hexValue": "31", + "id": 121242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2945:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2939:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "4850", + "id": 121245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2957:4:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", + "typeString": "literal_string \"HP\"" + }, + "value": "HP" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121246, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "2963:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 120947, + "src": "2963:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "2963:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2963:18:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a3b26fd170457b532f6b1a50a94e6c19413ca9d8e71b5b17acf8cafc843385d7", + "typeString": "literal_string \"HP\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121244, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "2950:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2950:32:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2939:43:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121252, + "nodeType": "ExpressionStatement", + "src": "2939:43:175" + }, + { + "expression": { + "id": 121257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121253, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "2993:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121255, + "indexExpression": { + "hexValue": "32", + "id": 121254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2999:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2993:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2234302220636c6173733d2262617365223e", + "id": 121256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3004:42:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e35d2866f33ccc138e02d17d003d49129ede3b5bc0c0980fbc6107fcfb93f38e", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2993:53:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121258, + "nodeType": "ExpressionStatement", + "src": "2993:53:175" + }, + { + "expression": { + "id": 121269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121259, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3057:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121261, + "indexExpression": { + "hexValue": "33", + "id": 121260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3063:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3057:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "41747461636b", + "id": 121263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3075:8:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", + "typeString": "literal_string \"Attack\"" + }, + "value": "Attack" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121264, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "3085:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 120949, + "src": "3085:11:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3085:20:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3085:22:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ea50f83f2365231571f91f0649c14039ca8563fe4ecdf12dbe3ce4c731719151", + "typeString": "literal_string \"Attack\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121262, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "3068:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3068:40:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3057:51:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121270, + "nodeType": "ExpressionStatement", + "src": "3057:51:175" + }, + { + "expression": { + "id": 121275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121271, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3119:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121273, + "indexExpression": { + "hexValue": "34", + "id": 121272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3125:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3119:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2236302220636c6173733d2262617365223e", + "id": 121274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3130:42:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ba80158cd545d967d181f9b03796a717a134462801ef304897f77d721992a5b", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3119:53:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121276, + "nodeType": "ExpressionStatement", + "src": "3119:53:175" + }, + { + "expression": { + "id": 121287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121277, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3183:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121279, + "indexExpression": { + "hexValue": "35", + "id": 121278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3189:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3183:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "41747461636b52616e6765", + "id": 121281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3201:13:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", + "typeString": "literal_string \"AttackRange\"" + }, + "value": "AttackRange" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121282, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "3216:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 120951, + "src": "3216:16:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3216:25:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3216:27:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f2c9c62999e52efb0045472ac97a76cfe6b6bac8185188f28cba6670be688fac", + "typeString": "literal_string \"AttackRange\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121280, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "3194:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3194:50:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3183:61:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121288, + "nodeType": "ExpressionStatement", + "src": "3183:61:175" + }, + { + "expression": { + "id": 121293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121289, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3255:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121291, + "indexExpression": { + "hexValue": "36", + "id": 121290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3261:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3255:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d2238302220636c6173733d2262617365223e", + "id": 121292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3266:42:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a3bd2625abe0a71ab0c4948880fbd5fee6e07ffdf97406f7b4c9f9840a883dc", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3255:53:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121294, + "nodeType": "ExpressionStatement", + "src": "3255:53:175" + }, + { + "expression": { + "id": 121305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121295, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3319:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121297, + "indexExpression": { + "hexValue": "37", + "id": 121296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3325:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3319:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5370656564", + "id": 121299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3337:7:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", + "typeString": "literal_string \"Speed\"" + }, + "value": "Speed" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121300, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "3345:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120953, + "src": "3345:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3345:19:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3345:21:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_38c080e2f080733c009b17a60577cc056c6fe873d3b0562c5b2a7ac8ab39a64a", + "typeString": "literal_string \"Speed\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121298, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "3330:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3330:37:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3319:48:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121306, + "nodeType": "ExpressionStatement", + "src": "3319:48:175" + }, + { + "expression": { + "id": 121311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121307, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3378:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121309, + "indexExpression": { + "hexValue": "38", + "id": 121308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3384:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3378:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223130302220636c6173733d2262617365223e", + "id": 121310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3389:43:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_605c59118c80699f7fdaefd44b8187aaf1554d48b46653147fb60fa1964b89b6", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3378:54:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121312, + "nodeType": "ExpressionStatement", + "src": "3378:54:175" + }, + { + "expression": { + "id": 121323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121313, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3443:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121315, + "indexExpression": { + "hexValue": "39", + "id": 121314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3449:1:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3443:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "537472656e677468", + "id": 121317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3461:10:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", + "typeString": "literal_string \"Strength\"" + }, + "value": "Strength" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121318, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "3473:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 120955, + "src": "3473:13:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3473:22:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:24:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7e65bde0b45889019391f4c2ef0df8c2553df1cc893301264645780b17d4a846", + "typeString": "literal_string \"Strength\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121316, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "3454:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3454:44:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3443:55:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121324, + "nodeType": "ExpressionStatement", + "src": "3443:55:175" + }, + { + "expression": { + "id": 121329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121325, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3509:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121327, + "indexExpression": { + "hexValue": "3130", + "id": 121326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3515:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3509:9:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c7465787420783d2231302220793d223132302220636c6173733d2262617365223e", + "id": 121328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3521:43:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c09a92786dd81bab5d1486bde64ca352c93880cede29fbaf3352275b25a89e4", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3509:55:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121330, + "nodeType": "ExpressionStatement", + "src": "3509:55:175" + }, + { + "expression": { + "id": 121341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121331, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3575:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121333, + "indexExpression": { + "hexValue": "3131", + "id": 121332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3581:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3575:9:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "hexValue": "5370616365", + "id": 121335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3594:7:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", + "typeString": "literal_string \"Space\"" + }, + "value": "Space" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "expression": { + "id": 121336, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121223, + "src": "3603:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 120957, + "src": "3603:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "3603:19:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3603:21:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_425a952c2df6ff0d278b7b9a0bd7c706b385323ee80bcfbb846e47f8dc8bbad2", + "typeString": "literal_string \"Space\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121334, + "name": "concat", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121220, + "src": "3587:6:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (string memory,string memory) pure returns (string memory)" + } + }, + "id": 121340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3587:38:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3575:50:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121342, + "nodeType": "ExpressionStatement", + "src": "3575:50:175" + }, + { + "expression": { + "id": 121347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121343, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3636:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121345, + "indexExpression": { + "hexValue": "3132", + "id": 121344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3642:2:175", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3636:9:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "3c2f746578743e3c2f7376673e", + "id": 121346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3648:15:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5df2eac721c34a044fddade0db4a2fa0a23894f242f8b8ab9056c3dcb3736e8a", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3636:27:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121348, + "nodeType": "ExpressionStatement", + "src": "3636:27:175" + }, + { + "assignments": [ + 121350 + ], + "declarations": [ + { + "constant": false, + "id": 121350, + "mutability": "mutable", + "name": "output", + "nameLocation": "3688:6:175", + "nodeType": "VariableDeclaration", + "scope": 121379, + "src": "3674:20:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121349, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3674:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 121351, + "nodeType": "VariableDeclarationStatement", + "src": "3674:20:175" + }, + { + "body": { + "id": 121375, + "nodeType": "Block", + "src": "3738:102:175", + "statements": [ + { + "expression": { + "id": 121373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 121362, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121350, + "src": "3752:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "id": 121367, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121350, + "src": "3798:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 121368, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3806:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121370, + "indexExpression": { + "id": 121369, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121353, + "src": "3812:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3806:8:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 121365, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3781:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 121366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3781:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 121371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3781:34:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3761:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 121363, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3761:6:175", + "typeDescriptions": {} + } + }, + "id": 121372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3761:68:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3752:77:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121374, + "nodeType": "ExpressionStatement", + "src": "3752:77:175" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121353, + "src": "3719:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 121356, + "name": "parts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121233, + "src": "3721:5:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_string_memory_ptr_$13_memory_ptr", + "typeString": "string memory[13] memory" + } + }, + "id": 121357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3721:12:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3719:14:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 121376, + "initializationExpression": { + "assignments": [ + 121353 + ], + "declarations": [ + { + "constant": false, + "id": 121353, + "mutability": "mutable", + "name": "i", + "nameLocation": "3717:1:175", + "nodeType": "VariableDeclaration", + "scope": 121376, + "src": "3709:9:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3709:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 121354, + "nodeType": "VariableDeclarationStatement", + "src": "3709:9:175" + }, + "loopExpression": { + "expression": { + "id": 121360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3734:3:175", + "subExpression": { + "id": 121359, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121353, + "src": "3734:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121361, + "nodeType": "ExpressionStatement", + "src": "3734:3:175" + }, + "nodeType": "ForStatement", + "src": "3705:135:175" + }, + { + "expression": { + "id": 121377, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121350, + "src": "3856:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 121227, + "id": 121378, + "nodeType": "Return", + "src": "3849:13:175" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createSVG", + "nameLocation": "2530:9:175", + "parameters": { + "id": 121224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121223, + "mutability": "mutable", + "name": "user", + "nameLocation": "2552:4:175", + "nodeType": "VariableDeclaration", + "scope": 121380, + "src": "2540:16:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 121222, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121221, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "2540:4:175" + }, + "referencedDeclaration": 120961, + "src": "2540:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "src": "2539:18:175" + }, + "returnParameters": { + "id": 121227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121226, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121380, + "src": "2581:13:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121225, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2581:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2580:15:175" + }, + "scope": 121588, + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "id": 121475, + "nodeType": "FunctionDefinition", + "src": "3875:1284:175", + "nodes": [], + "body": { + "id": 121474, + "nodeType": "Block", + "src": "3970:1189:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121390 + ], + "declarations": [ + { + "constant": false, + "id": 121390, + "mutability": "mutable", + "name": "user", + "nameLocation": "3992:4:175", + "nodeType": "VariableDeclaration", + "scope": 121474, + "src": "3980:16:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 121389, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121388, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "3980:4:175" + }, + "referencedDeclaration": 120961, + "src": "3980:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 121394, + "initialValue": { + "baseExpression": { + "id": 121391, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121011, + "src": "3999:8:175", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 121393, + "indexExpression": { + "id": 121392, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121382, + "src": "4008:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3999:18:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3980:37:175" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 121399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 121395, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121390, + "src": "4031:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 120960, + "src": "4031:10:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 121397, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "4045:11:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 121398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Pending", + "nodeType": "MemberAccess", + "referencedDeclaration": 120641, + "src": "4045:19:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "4031:33:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 121472, + "nodeType": "Block", + "src": "4299:854:175", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 121419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 121415, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121390, + "src": "4321:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 120960, + "src": "4321:10:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 121417, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "4335:11:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 121418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Inited", + "nodeType": "MemberAccess", + "referencedDeclaration": 120640, + "src": "4335:18:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "4321:32:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "426f78206e6f742065786973746564", + "id": 121420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4355:17:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + }, + "value": "Box not existed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_97373d696f1e46dd59315aed03cab4cebdcea40947cf3dd23fb0903346491829", + "typeString": "literal_string \"Box not existed\"" + } + ], + "id": 121414, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4313:7:175", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 121421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4313:60:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121422, + "nodeType": "ExpressionStatement", + "src": "4313:60:175" + }, + { + "assignments": [ + 121424 + ], + "declarations": [ + { + "constant": false, + "id": 121424, + "mutability": "mutable", + "name": "output", + "nameLocation": "4401:6:175", + "nodeType": "VariableDeclaration", + "scope": 121472, + "src": "4387:20:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121423, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4387:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 121428, + "initialValue": { + "arguments": [ + { + "id": 121426, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121390, + "src": "4420:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + ], + "id": 121425, + "name": "createSVG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121380, + "src": "4410:9:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_User_$120961_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (struct MUser.User memory) pure returns (string memory)" + } + }, + "id": 121427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4410:15:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4387:38:175" + }, + { + "assignments": [ + 121430 + ], + "declarations": [ + { + "constant": false, + "id": 121430, + "mutability": "mutable", + "name": "json", + "nameLocation": "4453:4:175", + "nodeType": "VariableDeclaration", + "scope": 121472, + "src": "4439:18:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121429, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4439:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 121458, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "7b226e616d65223a20224d557365722023", + "id": 121439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4596:19:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", + "typeString": "literal_string \"{\"name\": \"MUser #\"" + }, + "value": "{\"name\": \"MUser #" + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 121440, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121382, + "src": "4645:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 72484, + "src": "4645:17:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 121442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4645:19:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "222c20226465736372697074696f6e223a22", + "id": 121443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4694:20:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + "value": "\", \"description\":\"" + }, + { + "id": 121444, + "name": "revealedDesc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120971, + "src": "4744:12:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + { + "hexValue": "222c22696d616765223a2022646174613a696d6167652f7376672b786d6c3b6261736536342c", + "id": 121445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4786:40:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + "value": "\",\"image\": \"data:image/svg+xml;base64," + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 121450, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121424, + "src": "4876:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4870:5:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 121448, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4870:5:175", + "typeDescriptions": {} + } + }, + "id": 121451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4870:13:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 121446, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "4856:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 121447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "4856:13:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 121452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4856:28:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "227d", + "id": 121453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4914:4:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + }, + "value": "\"}" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aefbae0e8289642b03239ab3b6055ea0e316620dd0d55275c2f81ff2b71fbaa0", + "typeString": "literal_string \"{\"name\": \"MUser #\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_9780691b4087a1893a28b24020f5f6d0c7583060bd6cfeb54b8284a5bf55f11f", + "typeString": "literal_string \"\", \"description\":\"\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + }, + { + "typeIdentifier": "t_stringliteral_4a6bd9669a2722c4b505d1742f3cf5f0d88f9fc468923d962f2552335773ecb7", + "typeString": "literal_string \"\",\"image\": \"data:image/svg+xml;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_835b459273672627bbafc3a2eded65187a632f4128bdc79e126c7ef579a27475", + "typeString": "literal_string \"\"}\"" + } + ], + "expression": { + "id": 121437, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4550:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 121438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4550:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 121454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4550:394:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4518:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 121435, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4518:6:175", + "typeDescriptions": {} + } + }, + "id": 121455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4518:448:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 121434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4491:5:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 121433, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4491:5:175", + "typeDescriptions": {} + } + }, + "id": 121456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4491:493:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 121431, + "name": "Base64", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 119403, + "src": "4460:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Base64_$119403_$", + "typeString": "type(library Base64)" + } + }, + "id": 121432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "encode", + "nodeType": "MemberAccess", + "referencedDeclaration": 119402, + "src": "4460:13:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$", + "typeString": "function (bytes memory) pure returns (string memory)" + } + }, + "id": 121457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4460:538:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4439:559:175" + }, + { + "expression": { + "id": 121468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 121459, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121424, + "src": "5012:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 121464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5062:31:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 121465, + "name": "json", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121430, + "src": "5095:4:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 121462, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5045:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 121463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "5045:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 121466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5045:55:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5021:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 121460, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5021:6:175", + "typeDescriptions": {} + } + }, + "id": 121467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5021:93:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "5012:102:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 121469, + "nodeType": "ExpressionStatement", + "src": "5012:102:175" + }, + { + "expression": { + "id": 121470, + "name": "output", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121424, + "src": "5136:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 121387, + "id": 121471, + "nodeType": "Return", + "src": "5129:13:175" + } + ] + }, + "id": 121473, + "nodeType": "IfStatement", + "src": "4027:1126:175", + "trueBody": { + "id": 121413, + "nodeType": "Block", + "src": "4066:227:175", + "statements": [ + { + "assignments": [ + 121401 + ], + "declarations": [ + { + "constant": false, + "id": 121401, + "mutability": "mutable", + "name": "r", + "nameLocation": "4094:1:175", + "nodeType": "VariableDeclaration", + "scope": 121413, + "src": "4080:15:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121400, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4080:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 121410, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c", + "id": 121406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4160:31:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + "value": "data:application/json;base64," + }, + { + "id": 121407, + "name": "notRevealedInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120969, + "src": "4213:15:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bccab2d885f86fda81bfd84dd4248d31f8073b473d187111d36536db073076fa", + "typeString": "literal_string \"data:application/json;base64,\"" + }, + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "expression": { + "id": 121404, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4122:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 121405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4122:16:175", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 121408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4122:124:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4098:6:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 121402, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4098:6:175", + "typeDescriptions": {} + } + }, + "id": 121409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4098:162:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4080:180:175" + }, + { + "expression": { + "id": 121411, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121401, + "src": "4281:1:175", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 121387, + "id": 121412, + "nodeType": "Return", + "src": "4274:8:175" + } + ] + } + } + ] + }, + "baseFunctions": [ + 71703 + ], + "functionSelector": "c87b56dd", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "3884:8:175", + "overrides": { + "id": 121384, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3937:8:175" + }, + "parameters": { + "id": 121383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121382, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "3910:8:175", + "nodeType": "VariableDeclaration", + "scope": 121475, + "src": "3902:16:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3902:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3892:32:175" + }, + "returnParameters": { + "id": 121387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121386, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121475, + "src": "3955:13:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 121385, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3955:6:175", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3954:15:175" + }, + "scope": 121588, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 121523, + "nodeType": "FunctionDefinition", + "src": "5169:372:175", + "nodes": [], + "body": { + "id": 121522, + "nodeType": "Block", + "src": "5280:261:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121494 + ], + "declarations": [ + { + "constant": false, + "id": 121494, + "mutability": "mutable", + "name": "user", + "nameLocation": "5302:4:175", + "nodeType": "VariableDeclaration", + "scope": 121522, + "src": "5290:16:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User" + }, + "typeName": { + "id": 121493, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 121492, + "name": "User", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120961, + "src": "5290:4:175" + }, + "referencedDeclaration": 120961, + "src": "5290:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage_ptr", + "typeString": "struct MUser.User" + } + }, + "visibility": "internal" + } + ], + "id": 121498, + "initialValue": { + "baseExpression": { + "id": 121495, + "name": "userList", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121011, + "src": "5309:8:175", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_User_$120961_storage_$", + "typeString": "mapping(uint256 => struct MUser.User storage ref)" + } + }, + "id": 121497, + "indexExpression": { + "id": 121496, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121477, + "src": "5318:8:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5309:18:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_storage", + "typeString": "struct MUser.User storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5290:37:175" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + }, + "id": 121504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 121500, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5345:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121501, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "state", + "nodeType": "MemberAccess", + "referencedDeclaration": 120960, + "src": "5345:10:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 121502, + "name": "RandomState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120643, + "src": "5359:11:175", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RandomState_$120643_$", + "typeString": "type(enum MRandom.RandomState)" + } + }, + "id": 121503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "Confirmed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120642, + "src": "5359:21:175", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RandomState_$120643", + "typeString": "enum MRandom.RandomState" + } + }, + "src": "5345:35:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55736572206e6f7420657869737473", + "id": 121505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5381:17:175", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + }, + "value": "User not exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6628c6189196b0ff05f6a2f7f4810a3d72890c1c779bde4818fec3156ad1ed5e", + "typeString": "literal_string \"User not exists\"" + } + ], + "id": 121499, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5337:7:175", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 121506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5337:62:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121507, + "nodeType": "ExpressionStatement", + "src": "5337:62:175" + }, + { + "expression": { + "components": [ + { + "expression": { + "id": 121508, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5416:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121509, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "HP", + "nodeType": "MemberAccess", + "referencedDeclaration": 120947, + "src": "5416:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 121510, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5433:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Attack", + "nodeType": "MemberAccess", + "referencedDeclaration": 120949, + "src": "5433:11:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 121512, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5454:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "AttackRange", + "nodeType": "MemberAccess", + "referencedDeclaration": 120951, + "src": "5454:16:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 121514, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5480:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121515, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Speed", + "nodeType": "MemberAccess", + "referencedDeclaration": 120953, + "src": "5480:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 121516, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5500:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Strength", + "nodeType": "MemberAccess", + "referencedDeclaration": 120955, + "src": "5500:13:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 121518, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121494, + "src": "5523:4:175", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$120961_memory_ptr", + "typeString": "struct MUser.User memory" + } + }, + "id": 121519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "Space", + "nodeType": "MemberAccess", + "referencedDeclaration": 120957, + "src": "5523:10:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 121520, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5415:119:175", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" + } + }, + "functionReturnParameters": 121491, + "id": 121521, + "nodeType": "Return", + "src": "5409:125:175" + } + ] + }, + "functionSelector": "53bbd6a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStructInfo", + "nameLocation": "5178:13:175", + "parameters": { + "id": 121478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121477, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "5200:8:175", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5192:16:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5192:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5191:18:175" + }, + "returnParameters": { + "id": 121491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121480, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5232:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5232:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121482, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5240:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121481, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5240:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121484, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5248:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121483, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5248:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121486, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5256:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121488, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5264:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5264:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 121490, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121523, + "src": "5272:7:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5272:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5231:49:175" + }, + "scope": 121588, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 121587, + "nodeType": "FunctionDefinition", + "src": "5547:482:175", + "nodes": [], + "body": { + "id": 121586, + "nodeType": "Block", + "src": "5616:413:175", + "nodes": [], + "statements": [ + { + "assignments": [ + 121530 + ], + "declarations": [ + { + "constant": false, + "id": 121530, + "mutability": "mutable", + "name": "balance", + "nameLocation": "5634:7:175", + "nodeType": "VariableDeclaration", + "scope": 121586, + "src": "5626:15:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5626:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 121535, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 121532, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5654:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 121533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5654:10:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 121531, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71616, + "src": "5644:9:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 121534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5644:21:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5626:39:175" + }, + { + "assignments": [ + 121540 + ], + "declarations": [ + { + "constant": false, + "id": 121540, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "5692:8:175", + "nodeType": "VariableDeclaration", + "scope": 121586, + "src": "5675:25:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 121538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5675:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121539, + "nodeType": "ArrayTypeName", + "src": "5675:9:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 121546, + "initialValue": { + "arguments": [ + { + "id": 121544, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121530, + "src": "5717:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5703:13:175", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 121541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5707:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121542, + "nodeType": "ArrayTypeName", + "src": "5707:9:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 121545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:22:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5675:50:175" + }, + { + "assignments": [ + 121548 + ], + "declarations": [ + { + "constant": false, + "id": 121548, + "mutability": "mutable", + "name": "index", + "nameLocation": "5743:5:175", + "nodeType": "VariableDeclaration", + "scope": 121586, + "src": "5735:13:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5735:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 121549, + "nodeType": "VariableDeclarationStatement", + "src": "5735:13:175" + }, + { + "body": { + "id": 121582, + "nodeType": "Block", + "src": "5786:212:175", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 121564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 121560, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121551, + "src": "5811:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 121559, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71644, + "src": "5803:7:175", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 121561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5803:10:175", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 121562, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5817:3:175", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 121563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5817:10:175", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5803:24:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 121581, + "nodeType": "IfStatement", + "src": "5800:188:175", + "trueBody": { + "id": 121580, + "nodeType": "Block", + "src": "5828:160:175", + "statements": [ + { + "expression": { + "id": 121569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 121565, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121540, + "src": "5846:8:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 121567, + "indexExpression": { + "id": 121566, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121548, + "src": "5855:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5846:15:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 121568, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121551, + "src": "5864:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5846:19:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121570, + "nodeType": "ExpressionStatement", + "src": "5846:19:175" + }, + { + "expression": { + "id": 121572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5883:7:175", + "subExpression": { + "id": 121571, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121548, + "src": "5883:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121573, + "nodeType": "ExpressionStatement", + "src": "5883:7:175" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121574, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121548, + "src": "5911:5:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 121575, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121530, + "src": "5920:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5911:16:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 121579, + "nodeType": "IfStatement", + "src": "5908:66:175", + "trueBody": { + "id": 121578, + "nodeType": "Block", + "src": "5928:46:175", + "statements": [ + { + "id": 121577, + "nodeType": "Break", + "src": "5950:5:175" + } + ] + } + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 121555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 121553, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121551, + "src": "5772:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 121554, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120963, + "src": "5774:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5772:9:175", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 121583, + "initializationExpression": { + "assignments": [ + 121551 + ], + "declarations": [ + { + "constant": false, + "id": 121551, + "mutability": "mutable", + "name": "i", + "nameLocation": "5770:1:175", + "nodeType": "VariableDeclaration", + "scope": 121583, + "src": "5762:9:175", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 121550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5762:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 121552, + "nodeType": "VariableDeclarationStatement", + "src": "5762:9:175" + }, + "loopExpression": { + "expression": { + "id": 121557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5782:3:175", + "subExpression": { + "id": 121556, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121551, + "src": "5782:1:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121558, + "nodeType": "ExpressionStatement", + "src": "5782:3:175" + }, + "nodeType": "ForStatement", + "src": "5758:240:175" + }, + { + "expression": { + "id": 121584, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 121540, + "src": "6014:8:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 121528, + "id": 121585, + "nodeType": "Return", + "src": "6007:15:175" + } + ] + }, + "functionSelector": "43a47162", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUserTokenIdList", + "nameLocation": "5556:18:175", + "parameters": { + "id": 121524, + "nodeType": "ParameterList", + "parameters": [], + "src": "5574:2:175" + }, + "returnParameters": { + "id": 121528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 121527, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 121587, + "src": "5599:16:175", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 121525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5599:7:175", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121526, + "nodeType": "ArrayTypeName", + "src": "5599:9:175", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "5598:18:175" + }, + "scope": 121588, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 120935, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 72425, + "src": "181:6:175" + }, + "id": 120936, + "nodeType": "InheritanceSpecifier", + "src": "181:6:175" + }, + { + "baseName": { + "id": 120937, + "name": "MRandom", + "nodeType": "IdentifierPath", + "referencedDeclaration": 120834, + "src": "189:7:175" + }, + "id": 120938, + "nodeType": "InheritanceSpecifier", + "src": "189:7:175" + } + ], + "canonicalName": "MUser", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 121588, + 120834, + 72425, + 131800, + 131755, + 132176, + 174457, + 132152 + ], + "name": "MUser", + "nameLocation": "172:5:175", + "scope": 121589, + "usedErrors": [] + } + ], + "license": "MIT" + }, + "id": 175 +} \ No newline at end of file diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json index b508b8fe..dfd3fb7a 100644 --- a/packages/contracts/worlds.json +++ b/packages/contracts/worlds.json @@ -7,8 +7,8 @@ "address": "0x60b886a32B2dC612532a6E0ADF62ACd9093D0EDF" }, "33784": { - "address": "0x2a810409872AfC346F9B5b26571Fd6eC42EA4849", - "blockNumber": 191547 + "address": "0xc256edB99bC494771bB3C6B819C65d3B03E5891e", + "blockNumber": 198141 }, "421613": { "address": "0x2Bc1034975c3df48D6f3026802f372677844b85d", From bb11917b80720cba563f44e16ff6fcff8c553080 Mon Sep 17 00:00:00 2001 From: LidamaoHub Date: Fri, 10 Nov 2023 00:22:52 +0800 Subject: [PATCH 24/48] update dist --- .github/workflows/cf-preview.yml | 32 +- packages/client/.gitignore | 2 +- .../client/dist/assets/Button1-7c37c156.png | Bin 0 -> 5278 bytes .../client/dist/assets/Button2-b77e8a6c.png | Bin 0 -> 6043 bytes .../client/dist/assets/Button3-70cd1281.png | Bin 0 -> 7227 bytes .../client/dist/assets/Button4-9a6886e3.png | Bin 0 -> 7555 bytes .../client/dist/assets/Button5-5e68841d.png | Bin 0 -> 7471 bytes .../dist/assets/PressStart2P-566bb63d.woff | Bin 0 -> 19648 bytes packages/client/dist/assets/bg-4e25658d.jpg | Bin 0 -> 100226 bytes packages/client/dist/assets/bg-76e77546.jpg | Bin 0 -> 22944 bytes .../client/dist/assets/browser-3852a342.js | 2 + .../dist/assets/browser-3852a342.js.map | 1 + .../client/dist/assets/btn-bg-0b59e8f6.svg | 48 +++ .../client/dist/assets/btn_5-377b24f9.png | Bin 0 -> 15446 bytes packages/client/dist/assets/ccip-456d0e35.js | 2 + .../client/dist/assets/ccip-456d0e35.js.map | 1 + .../client/dist/assets/delivery-96624733.png | Bin 0 -> 18045 bytes .../client/dist/assets/dialog-a8050dd3.png | Bin 0 -> 14823 bytes .../dist/assets/duck_index-627ed778.svg | 168 +++++++++ .../client/dist/assets/elephant-6d8f2afb.png | Bin 0 -> 9742 bytes packages/client/dist/assets/gem-71e0d154.png | Bin 0 -> 41191 bytes .../client/dist/assets/giraffe-07ffa2bd.png | Bin 0 -> 10489 bytes .../client/dist/assets/hippo-4d315718.png | Bin 0 -> 7479 bytes .../assets/img/duck/Clothes/Chain Mail.png | Bin 0 -> 19173 bytes .../assets/img/duck/Clothes/Demon Husk.png | Bin 0 -> 22053 bytes .../assets/img/duck/Clothes/Divine Robe.png | Bin 0 -> 20861 bytes .../img/duck/Clothes/Dragonskin Armor.png | Bin 0 -> 18544 bytes .../img/duck/Clothes/Hard Leather Armor.png | Bin 0 -> 26096 bytes .../img/duck/Clothes/Holy Chestplate.png | Bin 0 -> 20306 bytes .../assets/img/duck/Clothes/Leather Armor.png | Bin 0 -> 20283 bytes .../assets/img/duck/Clothes/Linen Robe.png | Bin 0 -> 19294 bytes .../img/duck/Clothes/Ornate Chestplate.png | Bin 0 -> 23764 bytes .../assets/img/duck/Clothes/Plate Mail.png | Bin 0 -> 15882 bytes .../assets/img/duck/Clothes/Ring Mail.png | Bin 0 -> 18936 bytes .../dist/assets/img/duck/Clothes/Robe.png | Bin 0 -> 22595 bytes .../dist/assets/img/duck/Clothes/Shirt.png | Bin 0 -> 18326 bytes .../assets/img/duck/Clothes/Silk Robe.png | Bin 0 -> 21406 bytes .../duck/Clothes/Studded Leather Armor.png | Bin 0 -> 20663 bytes .../assets/img/duck/Handheld/Bone Wand.png | Bin 0 -> 24365 bytes .../dist/assets/img/duck/Handheld/Book.png | Bin 0 -> 19720 bytes .../assets/img/duck/Handheld/Chronicle.png | Bin 0 -> 24365 bytes .../dist/assets/img/duck/Handheld/Club.png | Bin 0 -> 19692 bytes .../assets/img/duck/Handheld/Falchion.png | Bin 0 -> 17194 bytes .../assets/img/duck/Handheld/Ghost Wand.png | Bin 0 -> 20700 bytes .../assets/img/duck/Handheld/Grave Wand.png | Bin 0 -> 20365 bytes .../assets/img/duck/Handheld/Grimoire.png | Bin 0 -> 19906 bytes .../dist/assets/img/duck/Handheld/Katana.png | Bin 0 -> 19475 bytes .../assets/img/duck/Handheld/Long Sword.png | Bin 0 -> 20267 bytes .../dist/assets/img/duck/Handheld/Mace.png | Bin 0 -> 19710 bytes .../dist/assets/img/duck/Handheld/Maul.png | Bin 0 -> 19590 bytes .../assets/img/duck/Handheld/Quarterstaff.png | Bin 0 -> 24126 bytes .../assets/img/duck/Handheld/Scimitar.png | Bin 0 -> 20215 bytes .../assets/img/duck/Handheld/Short Sword.png | Bin 0 -> 15976 bytes .../dist/assets/img/duck/Handheld/Tome.png | Bin 0 -> 26467 bytes .../dist/assets/img/duck/Handheld/Wand.png | Bin 0 -> 19906 bytes .../assets/img/duck/Handheld/Warhammer.png | Bin 0 -> 27057 bytes .../assets/img/duck/Head/Ancient Helm.png | Bin 0 -> 19029 bytes .../client/dist/assets/img/duck/Head/Cap.png | Bin 0 -> 18297 bytes .../dist/assets/img/duck/Head/Crown.png | Bin 0 -> 20063 bytes .../dist/assets/img/duck/Head/Demon Crown.png | Bin 0 -> 21335 bytes .../dist/assets/img/duck/Head/Divine Hood.png | Bin 0 -> 18890 bytes .../assets/img/duck/Head/Dragon's Crown.png | Bin 0 -> 19691 bytes .../dist/assets/img/duck/Head/Full Helm.png | Bin 0 -> 15517 bytes .../dist/assets/img/duck/Head/Great Helm.png | Bin 0 -> 15486 bytes .../client/dist/assets/img/duck/Head/Helm.png | Bin 0 -> 16111 bytes .../client/dist/assets/img/duck/Head/Hood.png | Bin 0 -> 15695 bytes .../dist/assets/img/duck/Head/Leather Cap.png | Bin 0 -> 15314 bytes .../dist/assets/img/duck/Head/Linen Hood.png | Bin 0 -> 16144 bytes .../dist/assets/img/duck/Head/Ornate Helm.png | Bin 0 -> 18414 bytes .../dist/assets/img/duck/Head/Silk Hood.png | Bin 0 -> 15600 bytes .../dist/assets/img/duck/Head/War Cap.png | Bin 0 -> 15906 bytes .../client/dist/assets/img/duck/default.png | Bin 0 -> 7066 bytes packages/client/dist/assets/index-02eecd08.js | 333 ++++++++++++++++++ .../client/dist/assets/index-02eecd08.js.map | 1 + .../client/dist/assets/index-3d23f9c8.css | 1 + packages/client/dist/assets/index-b2153673.js | 178 ++++++++++ .../client/dist/assets/index-b2153673.js.map | 1 + packages/client/dist/assets/logo-4ce51cd9.png | Bin 0 -> 4725 bytes .../client/dist/assets/monkey-db84835f.png | Bin 0 -> 8864 bytes .../client/dist/assets/panda-4cb7a0ff.png | Bin 0 -> 7501 bytes .../client/dist/assets/parrot-789beaf6.png | Bin 0 -> 8075 bytes .../client/dist/assets/penguin-a7346f15.png | Bin 0 -> 7233 bytes packages/client/dist/assets/pig-b27b0c0f.png | Bin 0 -> 7352 bytes .../client/dist/assets/rabbit-61a42949.png | Bin 0 -> 9004 bytes .../client/dist/assets/snake-fa3dbad5.png | Bin 0 -> 8053 bytes .../client/dist/assets/user_bg-7a1ed0db.png | Bin 0 -> 5361 bytes .../client/dist/assets/wall_22-d66cf3dc.png | Bin 0 -> 17701 bytes .../client/dist/assets/wall_26-bbde22bc.png | Bin 0 -> 17735 bytes .../client/dist/assets/wall_27-04507ed5.png | Bin 0 -> 17806 bytes .../client/dist/assets/wall_28-7a1135fa.png | Bin 0 -> 17682 bytes packages/client/dist/index.html | 15 + packages/client/dist/logo.png | Bin 0 -> 1688 bytes 92 files changed, 768 insertions(+), 17 deletions(-) create mode 100644 packages/client/dist/assets/Button1-7c37c156.png create mode 100644 packages/client/dist/assets/Button2-b77e8a6c.png create mode 100644 packages/client/dist/assets/Button3-70cd1281.png create mode 100644 packages/client/dist/assets/Button4-9a6886e3.png create mode 100644 packages/client/dist/assets/Button5-5e68841d.png create mode 100644 packages/client/dist/assets/PressStart2P-566bb63d.woff create mode 100644 packages/client/dist/assets/bg-4e25658d.jpg create mode 100644 packages/client/dist/assets/bg-76e77546.jpg create mode 100644 packages/client/dist/assets/browser-3852a342.js create mode 100644 packages/client/dist/assets/browser-3852a342.js.map create mode 100644 packages/client/dist/assets/btn-bg-0b59e8f6.svg create mode 100644 packages/client/dist/assets/btn_5-377b24f9.png create mode 100644 packages/client/dist/assets/ccip-456d0e35.js create mode 100644 packages/client/dist/assets/ccip-456d0e35.js.map create mode 100644 packages/client/dist/assets/delivery-96624733.png create mode 100644 packages/client/dist/assets/dialog-a8050dd3.png create mode 100644 packages/client/dist/assets/duck_index-627ed778.svg create mode 100644 packages/client/dist/assets/elephant-6d8f2afb.png create mode 100644 packages/client/dist/assets/gem-71e0d154.png create mode 100644 packages/client/dist/assets/giraffe-07ffa2bd.png create mode 100644 packages/client/dist/assets/hippo-4d315718.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Chain Mail.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Demon Husk.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Divine Robe.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Dragonskin Armor.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Hard Leather Armor.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Holy Chestplate.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Leather Armor.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Linen Robe.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Ornate Chestplate.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Plate Mail.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Ring Mail.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Robe.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Shirt.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Silk Robe.png create mode 100644 packages/client/dist/assets/img/duck/Clothes/Studded Leather Armor.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Bone Wand.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Book.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Chronicle.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Club.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Falchion.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Ghost Wand.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Grave Wand.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Grimoire.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Katana.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Long Sword.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Mace.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Maul.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Quarterstaff.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Scimitar.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Short Sword.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Tome.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Wand.png create mode 100644 packages/client/dist/assets/img/duck/Handheld/Warhammer.png create mode 100644 packages/client/dist/assets/img/duck/Head/Ancient Helm.png create mode 100644 packages/client/dist/assets/img/duck/Head/Cap.png create mode 100644 packages/client/dist/assets/img/duck/Head/Crown.png create mode 100644 packages/client/dist/assets/img/duck/Head/Demon Crown.png create mode 100644 packages/client/dist/assets/img/duck/Head/Divine Hood.png create mode 100644 packages/client/dist/assets/img/duck/Head/Dragon's Crown.png create mode 100644 packages/client/dist/assets/img/duck/Head/Full Helm.png create mode 100644 packages/client/dist/assets/img/duck/Head/Great Helm.png create mode 100644 packages/client/dist/assets/img/duck/Head/Helm.png create mode 100644 packages/client/dist/assets/img/duck/Head/Hood.png create mode 100644 packages/client/dist/assets/img/duck/Head/Leather Cap.png create mode 100644 packages/client/dist/assets/img/duck/Head/Linen Hood.png create mode 100644 packages/client/dist/assets/img/duck/Head/Ornate Helm.png create mode 100644 packages/client/dist/assets/img/duck/Head/Silk Hood.png create mode 100644 packages/client/dist/assets/img/duck/Head/War Cap.png create mode 100644 packages/client/dist/assets/img/duck/default.png create mode 100644 packages/client/dist/assets/index-02eecd08.js create mode 100644 packages/client/dist/assets/index-02eecd08.js.map create mode 100644 packages/client/dist/assets/index-3d23f9c8.css create mode 100644 packages/client/dist/assets/index-b2153673.js create mode 100644 packages/client/dist/assets/index-b2153673.js.map create mode 100644 packages/client/dist/assets/logo-4ce51cd9.png create mode 100644 packages/client/dist/assets/monkey-db84835f.png create mode 100644 packages/client/dist/assets/panda-4cb7a0ff.png create mode 100644 packages/client/dist/assets/parrot-789beaf6.png create mode 100644 packages/client/dist/assets/penguin-a7346f15.png create mode 100644 packages/client/dist/assets/pig-b27b0c0f.png create mode 100644 packages/client/dist/assets/rabbit-61a42949.png create mode 100644 packages/client/dist/assets/snake-fa3dbad5.png create mode 100644 packages/client/dist/assets/user_bg-7a1ed0db.png create mode 100644 packages/client/dist/assets/wall_22-d66cf3dc.png create mode 100644 packages/client/dist/assets/wall_26-bbde22bc.png create mode 100644 packages/client/dist/assets/wall_27-04507ed5.png create mode 100644 packages/client/dist/assets/wall_28-7a1135fa.png create mode 100644 packages/client/dist/index.html create mode 100644 packages/client/dist/logo.png diff --git a/.github/workflows/cf-preview.yml b/.github/workflows/cf-preview.yml index 11a01771..36bd6a6a 100644 --- a/.github/workflows/cf-preview.yml +++ b/.github/workflows/cf-preview.yml @@ -23,28 +23,28 @@ jobs: with: submodules: recursive - - name: Use Node.js 18 - uses: actions/setup-node@v2 - with: - node-version: 18 + # - name: Use Node.js 18 + # uses: actions/setup-node@v2 + # with: + # node-version: 18 - - name: Install pnpm - run: npm install -g pnpm + # - name: Install pnpm + # run: npm install -g pnpm - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly + # - name: Install Foundry + # uses: foundry-rs/foundry-toolchain@v1 + # with: + # version: nightly - - name: Install dependencies - run: pnpm install --loglevel verbose --no-frozen-lockfile + # - name: Install dependencies + # run: pnpm install --loglevel verbose --no-frozen-lockfile - # - name: deploy on lattice testnet - # run: cd packages/contracts; pnpm run deploy:testnet + # # - name: deploy on lattice testnet + # # run: cd packages/contracts; pnpm run deploy:testnet - - name: build - run: pnpm build + # - name: build + # run: pnpm build - name: Cloudflare Pages GitHub Action diff --git a/packages/client/.gitignore b/packages/client/.gitignore index 0ca39c00..df178976 100644 --- a/packages/client/.gitignore +++ b/packages/client/.gitignore @@ -1,3 +1,3 @@ node_modules -dist +# dist .DS_Store diff --git a/packages/client/dist/assets/Button1-7c37c156.png b/packages/client/dist/assets/Button1-7c37c156.png new file mode 100644 index 0000000000000000000000000000000000000000..4db415ef905cead38587aba3ff38f8edcbb4b0db GIT binary patch literal 5278 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/Button3-70cd1281.png b/packages/client/dist/assets/Button3-70cd1281.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb4cdb181a7520fefaa12174f17309fe8899833 GIT binary patch literal 7227 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 HzWV$>qGHjn literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/Button4-9a6886e3.png b/packages/client/dist/assets/Button4-9a6886e3.png new file mode 100644 index 0000000000000000000000000000000000000000..eb2d7ea4e3a4b797397edd0a24a8844be5add63b GIT binary patch literal 7555 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/Button5-5e68841d.png b/packages/client/dist/assets/Button5-5e68841d.png new file mode 100644 index 0000000000000000000000000000000000000000..bba4f7d87108470930b3000be8dfb898dc9cbc8b GIT binary patch literal 7471 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/bg-76e77546.jpg b/packages/client/dist/assets/bg-76e77546.jpg new file mode 100644 index 0000000000000000000000000000000000000000..428ce04dad89b27a66b701ee020f76609d9b1236 GIT binary patch literal 22944 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/browser-3852a342.js b/packages/client/dist/assets/browser-3852a342.js new file mode 100644 index 00000000..17f4d115 --- /dev/null +++ b/packages/client/dist/assets/browser-3852a342.js @@ -0,0 +1,2 @@ +var e=null;typeof WebSocket<"u"?e=WebSocket:typeof MozWebSocket<"u"?e=MozWebSocket:typeof global<"u"?e=global.WebSocket||global.MozWebSocket:typeof window<"u"?e=window.WebSocket||window.MozWebSocket:typeof self<"u"&&(e=self.WebSocket||self.MozWebSocket);const o=e;export{o as default}; +//# sourceMappingURL=browser-3852a342.js.map diff --git a/packages/client/dist/assets/browser-3852a342.js.map b/packages/client/dist/assets/browser-3852a342.js.map new file mode 100644 index 00000000..533b6a60 --- /dev/null +++ b/packages/client/dist/assets/browser-3852a342.js.map @@ -0,0 +1 @@ +{"version":3,"file":"browser-3852a342.js","sources":["../../../../node_modules/.pnpm/isomorphic-ws@5.0.0_ws@8.12.0/node_modules/isomorphic-ws/browser.js"],"sourcesContent":["// https://github.com/maxogden/websocket-stream/blob/48dc3ddf943e5ada668c31ccd94e9186f02fafbd/ws-fallback.js\n\nvar ws = null\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else if (typeof MozWebSocket !== 'undefined') {\n ws = MozWebSocket\n} else if (typeof global !== 'undefined') {\n ws = global.WebSocket || global.MozWebSocket\n} else if (typeof window !== 'undefined') {\n ws = window.WebSocket || window.MozWebSocket\n} else if (typeof self !== 'undefined') {\n ws = self.WebSocket || self.MozWebSocket\n}\n\nexport default ws\n"],"names":["ws","ws$1"],"mappings":"AAEA,IAAIA,EAAK,KAEL,OAAO,UAAc,IACvBA,EAAK,UACI,OAAO,aAAiB,IACjCA,EAAK,aACI,OAAO,OAAW,IAC3BA,EAAK,OAAO,WAAa,OAAO,aACvB,OAAO,OAAW,IAC3BA,EAAK,OAAO,WAAa,OAAO,aACvB,OAAO,KAAS,MACzBA,EAAK,KAAK,WAAa,KAAK,cAG9B,MAAeC,EAAAD","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/packages/client/dist/assets/btn-bg-0b59e8f6.svg b/packages/client/dist/assets/btn-bg-0b59e8f6.svg new file mode 100644 index 00000000..19b38166 --- /dev/null +++ b/packages/client/dist/assets/btn-bg-0b59e8f6.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/client/dist/assets/btn_5-377b24f9.png b/packages/client/dist/assets/btn_5-377b24f9.png new file mode 100644 index 0000000000000000000000000000000000000000..bdeccdd7f6b873764f2d9a71a15ed1d50c48ece1 GIT binary patch literal 15446 zcmeI3du$X%9LJXc#+E=3Pze6Px&~6w>)zg@*ITcLr3bdkmC_byd5GKHxpv`h_t@QX z*G7y%swEKvM4||Yh{QU3&+YU&;w%0$o3wYo z*LP+=Grzh0XIE5JJ~%XgY(7O%Lo3Py)$nt%`FHCr@c-GzryYVHdC~HEouY<}H2(%r z>pI3zl=rY)TW8b-r}3g1DHJ5N0Tjj~QJ76pzDe<@AT9z1-2fV8rG)u$*B*wJr4nYg zJ7^C^%RrM{-l~C`*2-G3b&=?mm`VP8Uz~>m5nu>(JQ7xPK3>8kbb0vQbh8YdNHG?b zFs0^zbX~BDE>kr?y9?bm(eB`AkGGI>ySyBCAMLPnPL{K?4zG>lc$bIgis;nE`19d6 zpC*O)>cG_0aL_7YnhYb#vurFDD~ve{RjrZbyk0MBcd!nJ4QAN%7R3v#$nF;qhFkF*hFf(?}`9>l+ht`cLOCW+2(wvogZA%oe z)j(I9H4#i%0&nH+Tz7BCq3q)HQZgg`&K<<%e#*>9vMjL`k}Kqc_sW-PKrmFTR#n6P zrMFbTAKXeqzvcyZGr?}Yd7Hy&8B4Be! zF2N=gNlu&B!4-?{kSF9Qg6e(B`$z{=vDs{tl(Yn;1+Ry56ag1h^>}UWkV~{RG=PxJ zRqT`mNfbeYS4>M=%KJ!9*JOCe31Lf)Is3mlL=KrgLzT-q+?p+xEekhp;uxy|i+g+1 zfv}u7j-rC51GCvmm~^*g&acezWY#2_mKQ|xAoGi6F96BM_VQ+@m8ndX$$b~_<|rri zE#>`>5o-bpuA!1riLCxbbTwqe1Pzon!aeaPZJreDU4bh5So6#e%m2X|=)#hJwgNZT zLVtG!avVqh%L-)ouGl0fjX?6V>1~^K+}xrim$G+1rH_HW{pT}(e|Xrta32YYp5c6K zA76IlWPY95gW={xzQ~nBZC`TfST55PA#X|cRINKvih zDe8$QDeBiA`1u`0HQOob{G$}bzd%u=)#ny`GL@nR^i%{&Yvac+oZudEmQqg%$6je~ z+caZa&BYN#YnW4$2Mu9`bK~zD^wS;8nxaQ0AF6Z}%=wskd)B8bE=VKxeR|;1?wL2f za$UBce#y1}lJBL5kItK4KIxU}^UXW!&#!IS>-w$q_0j_~CUpIBW%ayw zmsVdGzIK-9aL3jW9?uP9?D|7>uXcCjt^9rTj&1eVwj2$*I=6moQ@ZAg!Oasdbu%v{ za0El#U9tFDqzYb}Mww7=9OY<};?VbUAbuw42VfzhT3|XD?M< zdw%A)9c<+rR~|pOt9$#o3F~T*Y^$_Y#p-Y0s` ${w(d)}`)],` Sender: ${s}`,` Data: ${o}`,` Callback selector: ${e}`,` Extra data: ${c}`].flat()}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupError"})}}class M extends l{constructor({result:e,url:t}){super("Offchain gateway response is malformed. Response data must be a hex value.",{metaMessages:[`Gateway URL: ${w(t)}`,`Response: ${y(e)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupResponseMalformedError"})}}class R extends l{constructor({sender:e,to:t}){super("Reverted sender address does not match target contract address (`to`).",{metaMessages:[`Contract address: ${t}`,`OffchainLookup sender address: ${e}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"OffchainLookupSenderMismatchError"})}}function $(a,e){if(!p(a))throw new h({address:a});if(!p(e))throw new h({address:e});return a.toLowerCase()===e.toLowerCase()}const v="0x556f1830",S={name:"OffchainLookup",type:"error",inputs:[{name:"sender",type:"address"},{name:"urls",type:"string[]"},{name:"callData",type:"bytes"},{name:"callbackFunction",type:"bytes4"},{name:"extraData",type:"bytes"}]};async function C(a,{blockNumber:e,blockTag:t,data:o,to:c}){const{args:s}=g({data:o,abi:[S]}),[n,d,r,i,f]=s;try{if(!$(c,n))throw new R({sender:n,to:c});const u=await A({data:r,sender:n,urls:d}),{data:b}=await k(a,{blockNumber:e,blockTag:t,data:O([i,L([{type:"bytes"},{type:"bytes"}],[u,f])]),to:c});return b}catch(u){throw new x({callbackSelector:i,cause:u,data:o,extraData:f,sender:n,urls:d})}}async function A({data:a,sender:e,urls:t}){let o=new Error("An unknown error occurred.");for(let c=0;c ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupError'\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupResponseMalformedError'\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffchainLookupSenderMismatchError'\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { isAddress } from './isAddress.js';\nexport function isAddressEqual(a, b) {\n if (!isAddress(a))\n throw new InvalidAddressError({ address: a });\n if (!isAddress(b))\n throw new InvalidAddressError({ address: b });\n return a.toLowerCase() === b.toLowerCase();\n}\n//# sourceMappingURL=isAddressEqual.js.map","import { call } from '../actions/public/call.js';\nimport {} from '../errors/base.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError } from '../errors/request.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = await ccipFetch({ data: callData, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipFetch({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{sender}') || url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n try {\n const response = await fetch(url.replace('{sender}', sender).replace('{data}', data), {\n body: JSON.stringify(body),\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: stringify(result.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":["OffchainLookupError","BaseError","callbackSelector","cause","data","extraData","sender","urls","url","getUrl","OffchainLookupResponseMalformedError","result","stringify","OffchainLookupSenderMismatchError","to","isAddressEqual","b","isAddress","InvalidAddressError","offchainLookupSignature","offchainLookupAbiItem","offchainLookup","client","blockNumber","blockTag","args","decodeErrorResult","callData","ccipFetch","data_","call","concat","encodeAbiParameters","err","error","i","method","body","response","HttpRequestError","isHex"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/packages/client/dist/assets/delivery-96624733.png b/packages/client/dist/assets/delivery-96624733.png new file mode 100644 index 0000000000000000000000000000000000000000..316302f8c28d2fec701743aa06a3230186663ff2 GIT binary patch literal 18045 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/dialog-a8050dd3.png b/packages/client/dist/assets/dialog-a8050dd3.png new file mode 100644 index 0000000000000000000000000000000000000000..674fa920e8b8d996c0d470b888dba17a462aa111 GIT binary patch literal 14823 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 Vr{0gO2I(Hg+;kuD)(+<%{|js*%+de= literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/duck_index-627ed778.svg b/packages/client/dist/assets/duck_index-627ed778.svg new file mode 100644 index 00000000..c8c65780 --- /dev/null +++ b/packages/client/dist/assets/duck_index-627ed778.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/client/dist/assets/elephant-6d8f2afb.png b/packages/client/dist/assets/elephant-6d8f2afb.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4fdcc730b045c73caa49be14f289cd51b39866 GIT binary patch literal 9742 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/gem-71e0d154.png b/packages/client/dist/assets/gem-71e0d154.png new file mode 100644 index 0000000000000000000000000000000000000000..0844494e8dbdd6f1c90a17ab9721a3a3a2c4515d GIT binary patch literal 41191 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/giraffe-07ffa2bd.png b/packages/client/dist/assets/giraffe-07ffa2bd.png new file mode 100644 index 0000000000000000000000000000000000000000..f1802c2195561dce2a41200d58099ff2e2277078 GIT binary patch literal 10489 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/hippo-4d315718.png b/packages/client/dist/assets/hippo-4d315718.png new file mode 100644 index 0000000000000000000000000000000000000000..c72481a238da17875502fcf49766df3f912d8fc2 GIT binary patch literal 7479 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 BdEx*7 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Chain Mail.png b/packages/client/dist/assets/img/duck/Clothes/Chain Mail.png new file mode 100644 index 0000000000000000000000000000000000000000..c0560323f284993177922af5f827a4e0fc70f289 GIT binary patch literal 19173 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 m|0|mDe|fj^v}F29@S=`<)Q@ufI(O1 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 C7Z3LU literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Dragonskin Armor.png b/packages/client/dist/assets/img/duck/Clothes/Dragonskin Armor.png new file mode 100644 index 0000000000000000000000000000000000000000..4b68532866e5dc225cef2cb4569d58765980ff1d GIT binary patch literal 18544 zcmeI3c|4SB`@kQ&EKw@b<{)(nv)IR&NhGRCAxR5kW-v8dGozU#MyI_~(k7xhl^iFE zq>Q~qj*vJHCOj@UDy3Q-)p(A`QtgTYUNUO z6^zK=d*~UEflVvA0>dwu+tZ3<>~8D$#(i{EeJ>g%YhO|bq;1z z+=Ewokb<|6Y{>d}oC=nY0S@RCE>Vw9r!hDfzMcMt_ zo&4p;k-{OdsVpv)$qQP`S@IP)~AgaoR91PMFgM7LZD2Mi0>JZ zNuO+3L2TOCt&vFx3XMXiFt{9Ghx)D^E0D=$asrt@*z(imA8rg{LLhwF`@8o`r+;^A z4tL2mfZ!w2?^<#^wzDV*HwuRt#3oUeYy*#C@V%$!QvE*%=L=7xSAKZ!6h8F_W}{ce z&Bjt;JVIFTtQZG2g~(;HJ(x@yZam9Y{e@7^!C^G3tn}uur83A&9_ME);%k%7@&4?M z;z;CDaA+jj%mjrrL8ClSNDK-E{wzdVV~|LglX1)6;pP8kJrIj_(gk)uIZeoMBMwyU_NVK1s zpEb&#Vlf7hK!BTn&G?>ol-T${+e8_ zecbDpW?#FFsNJ{`r~e2EyJuvJMVZ~a0f#I1!rkt zVFs%A>*cR4R#EvBnwKLL)Guc=E72B~AC11g@?FbyKeU8h`Di&FEZBiQ7R&KfFfM>e z1@UQA`7+F(O5q=^D&x(S?yL|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYU zA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg z6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^ zL|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYU zA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^L|KYUA|kkg6c?O^MEP%VseFF< zkHP?N{PDo6eRYe4M&PwTJ(9B<0fK_(LXhAW2V?G5= z5TtR>#nIk_U)fT`t6V@4InykK_w0c5Q%+1G_^)XWk zJEJdO4NE$1NhtrrGwzQZ=E=+`%lC8ERnoRBJ>|S6^PtgB6PD@8&Hc^f(Q|pFnOYf=e8()ID7ulYp&&sTD@aGVtG)CYCw{*beNsm_?V%R=Gy)_yH5 zEpscYnloh$c$|gB5_fm4M2~}Bv~9&H?czNP*QI;MdtO1AnceN`G6#n3?OUCeE}cGS zP6N2>r~xe>+2IL&(^!>IhQ^|`&gQ!DtL7gquCwOUt2J?Byo~Qh8Z31-oD5iaCV6cQ zFpV1I8&A7<<;oUDf$0>LYr@3}_KP&-4UfBcdwcIMtaZHjSUCUJhzK(qo1#Sb1nZ!8 zQ-oDjxpy{+io2We;bk&+bG;Q8F-uf@r?PaEedzIdEcr=$e@gZGHPC#SX;f{|ymMrK z|GhVF-n^RCn%SI7M)y1QYHjFRxjxwwF;ESZcs#3|oE%!k^*uDp;->Nho2~znM`X9j z*0F`{Pa~cu;FX5&L_H@!Im1TzwfQF9%GumEzuc{AKZP`3JP-S#ujT4GauA&-G|@m&(eCj0C1_ z!}kyO=Jw`@U*Dw9aCdi~a%hRl9@&i>H@;=tY)-FSVoz3gEuzlV?3jgN zwc`0Fm&MxcI2CCA;4w(ks}># zcQraYiV;?`Lr+(@pIFF{wU+gIfXi<=f*%+d2&B_D3WK}f<#`L)b4^T4uIcnx?fnqx zOx~I3G2qGJbf#Xud^!2q=I)sF{WAKI%607M$jC|F>(^JLZ_&1@VmZ{lv5mI#@x6FR zU?7Oc%J%8DHF+#3xVkY5r15T|vv31WKEwndK&oAgcl&wPp#lbkn;cPSg}CwJCQA2D zGI}P4yFX_~@58V@vwXa*ED~C70v#C05_OcGu}UKqP6W8>Csvn+4b{(in8gYZEnYn* z=TUWasYs-!fo;qGz){Mb5b^}dn2>UUrgTbg@g4*9`gz<+R!c<#W?MUcQ^~S?9Kv`W2 zjt%?S(U;3TVX@^oYw-Q8varVHl1)jDioTBrphZTF6(}`bm%g}&Td)VrFQ1kQq z)mKj21$im@uC9bWVDc-|w@~Tyc(+93is;o>o}E5@T2z0AX%x58s&&||K2G06F6HzG zMy->N&zwDriACxo4XV2Y(b3Zb1`&1K=1-{?s|qS2G)GQx3L)cZ zd6j&+?zygVgrx$g@zK8VGUd0ez5b%$h9fdwYQfu=Ipb$1Tz*_=L_tGakx zLCdpaWN2EpNq&}0<*Qdz24kB%>%i(oVPRpl`}507HqBeD=zIHB<;!6vmHJbpbH>of zf(0j4l9Q9WdVAe{`V(RoD*B?lRJ$O<$rJP=_seA5n}2?T>G2}+&H zf^lNmT-~S+w7fP`b~o|QmoHx$)Uo^5#6)pjXTPv?u5dz%&Ie`w z?3dsb$pUaaxre@~mUA~rQ=0-YOyQ}42Xm=M0?`Ku^^;uU}SD#h4 zb{#tSXIYY0>c8?2PF+|f69`Rv(V>og-bV}!+|SGHjN46Y+_lN4|1J`AzS^^|UvJ_a z$<**&jq$9}&Id(NK|96Awm$HQ@Lh0nU^{m9h?8)G|FGdw=ui<)P!^E3PEk?uWoFRA zhKF(MJG2!J6!@)JxiYk=B--rAesDKE1W}owF_l!9F+9*5)kVEc)Oqsc$(^T9pS~Fy z?5)w>`&)oZ=7f~r<78VEbY{=?XR(exeE4wg3;{S)l08Yjz9Ls}E`vj_r>AG_3N&=6 zwCa{R0JVj;CA)}n_p*D@_J-aq!leXBfCI?R3C8*Bg zl|O!b``*2K7w`^9H3z>`aN5kmc0F>qrLLydvLl%{;FsDc`&QZav5jg-YU<*a>Z~Yd z!^I0udQTpd!(cGh{5DYoVAFHEMd^~MMG<7|8Acd-dp>GY@PVascAj|naOH)^jTa7s zbNWVldizs%*P-U&p}`@=^9%3Y6{r?6&33R?z342%yDnX-WL3@8LganuxL~_H#XI@Q z)2EJ1rg%i&zHJc1n7eJ;K=>TFluL)78MNu-Yq?_W!L+gd7Nf4EBJJts^d*zR@7s=u zM544ZyWT3L=gI4ry1HtdTvkv!yw)!?ORKGNz09VC>kZ3l2_Ityi|!ly}shbU7hmr)CiYAKO58FC9 zIq^l|N`0-oyyA+qfTnlvE`WNWYuMMWdJW1wDy@QsXFcH!-->9EF*dD%hE+2(`Ut0U zE<6H71g4zq20QU@*RDl?9I-qT?`6E{+1#t8&tO5-eEY;^(?vW!AZ~|!@HYblvh_1;@yZ~7V}HxSCq{MM-d;pQd8bz!O2cD zGqW(Ls;2L{)^up24PM?7vK3r=$~41bOWN9yN)uue4}DvY%)x^Vlf2Up zf+GyXJ$l97Q>UhZ@&L25o-!D-!9+1S3e~LEJXD~(YqX9v<;iL5RQB9iCt40>CZEze zc2`#yp91>ct?iC&4!#C$!@-)kr#gR}!|jYIPjHn>n^y-$YH&UVZrO4X%wr&D(9vKx zFWEW8Mp<@qx-J;X*}@Xg2<7(hS)N$CcqL?o1w7*I+|KjQ+ z0RV&)K>+3@@`2PM;tkIh70mu$3*Pq}0?NLY<*b525z7@={W? z_Kr|LEdzn?G-G*heLNAXs|SMzwF{{Whut1M_^>O4 zjM4MiR)C;-kg(7YO{A*ahxR%c3bEW28ZE(mN0SA5GXSiidbs;KmxvvLUPA#C!2Syx z17YjelfW7^Mje1Q8knLZT)+WEsRM0nnr&BsHZq_@qudM|cm@DA9^R64Kp`%$vL!Ey z4h$8GK<9N*wEm`AedeSmn;gb4jpif z(2c?uHwIuyk}RD7tpExjMNQO&N~?sL$HV1w9d&OWwY zgVKp!U!Od#4M#x(2vm9yBSv#`1E}_`pc0n`>jHgXL>qWGxo5~dij{dE`;+Hhn1{fj zICXlKTAMHxB{mMu>J8JZI*yqz(G%{k(5W!rZDjB9sOK8skSw0`3Z4^q@!^!SQt#1LIK zCTUUx8l8z8PYmoi?c(FB_vo729G{~UNLoc3%F%DII$jlgY9PKJHQGkY6?zz2E6e%J zzw93BXA~Fl>U^4Op)HwCz0N%NhOqc->)vZ`s6}8E*?GN+-&~vlpU?;}td|qdJbc*1 zAUs6I_=)Z{##R#WoG!0+Brljsm*16`0-kPyz+^xPgAuJ@K6pgXWD^h-C9A8XE0up^ zh5ij;4W6`29Nd_4FGLZsHLc#mX_@wa3h= zU|+ux#U+m;Z!I?}$NF63xo97OWvUY6a+GcR#4KhRtcW%tx-tqsN;T%7{rzm^RiWm` z(@I#`4C>FH5i0OP#OBamWN=9)WftD+DoFo~S@>8ek4y56t`rif zj_0g7Up^&UT3GHpWM6cy!5R;wmPz=O&}aP(V{u_IaLes7ZZK|OtDNaAa%*xg@;tIi za`q&pT=f2gq&7{CK`x3Ui$wfHsFp6%Hj_7T^hd%tp*Zb0-?)WBO)V!au`eElIGQiD z@LxXA_Q}1gRjxKufc2T=<(C2~t#<`{#og*|>XB+a_l$DtjgA8L!MJ6?L3cBQ<#IH^ zl`Z5?uamTJLDqF82OPCgmszY6l}+`__EwZ!(GMtG*}arBq?`)Pi_D|V)8-wzKzJ>s zQ)`05sS4fKyK%d{SW#KUSW5@2UYWo0eZ@cGIZ{7jy6U(}vbsEiaIsGlPh&~@A!IAG zsAklqXGydlyzH@v_2c6Yyv6Ze*&nuBIX_635Ce!_8h#EQOui^`8%_c6 zT4xman{}dPRqxuPulZLx9@a#Ec$m{GpL4T{@q38H46i$>sCf~T(zJ+Y0y1VTY+`E3 zHTwL+^XA$5+g;DBlg(>--}F0ocDAvM6%7@&uS5ubNwrQlsUNN#J$xGULMF9YA&f7q zHGU-Cy8}I5Iew=oQCn2oL;HvJV3GWQ!7|IT?SPJr8ih{EbhWXsU4H(R z=Y7G4g7=F$78Dj)PHCIGq`8Vw9fS$438Wgfd7*iB8J-<+bJxDt^u6u>k(2T+W$e|k z?dS1Mk!GKl2g+^A5{E(X8HqMP0;tWI=fKol&a_M^}p?D;sqi@JdP*tg5ie-#uhkW<7z> znTP>v^~vmqp${TYW}HwKY?8TCXOlJKox#O(W7*ZD^NZab>2AV$yn0dI0zrv{31wn) zfwYop>}0BQd3MTFL>rG%f>dSdv!7<)E3K?j5RREo(~jE~7{B8qwf`_!^{z_`HOXYkfW)4?D`@kJP4h)wMRPJjOO6)C2ooypUoJ z(BX+Ic-G!wSG;w<8cb{wXQqX)O8BC$?Z-qKXH;ZglwZ7Ca<^)JT1Um`i}w!?+mVq8 zh02es%W})lm+gvn^cr3()LBV<`4qf{`-)=y=^TZTt-^$JmZ#N^h^{wXAG=U_O?X%J zJ1dGtH?sJ0wmsAQ3_G-sUcIcWA7&gGXc%|%+QbW_BEB<$c(zjemf2m$x=zODhh5+I zfbqy{rW7>|^S5*P9yfC(95X)B1P@A#W4Gm>jw(5LOspW+1=TczMk(AYB zx3~89nedt<<{EEK=6ZY0sC~=oen0lUYck2N@(1R!oCkBCP=iYmYmRNENLC%^Xcnu?gn=cF-@9i_u0Yr}hnbrw=R z>0+eL-<2wjcG@>579tJTYVEh^c1%ZaR4Tp_DHf6SwLkhQ_gWvi4B6>e)e$as-cnw^ z(~Ic$+qZ&$aT?qmWHZe0s6(`@P*mD6j#F0MsQIz$y1h#3hW%Y>%+NE^{qZ(`aZYaIe*En03c~ z%`3|z>iOuaed4j~^m1YHX!=00NB3}O4QDT`r=i%RVAB!tvf#B)D}5_XZMTQWdhX$? z?ol5^6{2RcwT>p~)}i>Z+Gg)QxHa#S>W=7w_wgb7&ZEtP8+{qv03bMPsj2I%tE?mh zhT5{3m_bb;Z0@%9$ZaS92#dMfn}Dq$&a|cw3rjl@I>fsMI$BFJ5jq`SWe#O~Dab=h zIZsE3hNp@q*wY#;XhtU{iY@FegmhpFaWxVdre(&T8jG|I5kmexxBzU`I=PXG^FZ?WtcAQ>crx2p!$&Kz}@bi_6yjkAdu* zeq)EE$nI`p&(6ul!Tv8s%F6$4JuJLi9NWd{DkkG+ed%}>x~V0MTN#1?7dgrvavkFnVQej)RR z`Cks>kM4iP=xk~JFDy=b{?!cPZuu`}r#-*Se&*D#sTM{ivXGP`#Kalus0oGIi2h2~ zKQF_OS7FHXH+iKNIIqZxCq{XNV{l2NyRhCkHDRrzR(d5GN<{ zkC{V2h=b#dlV6&D^Pvnivo!bk4}-~nW z@!zaOzr6m{?BCskADY-%K+Hthe<$~Q!{1GW*-xj=#`3Q-_p9}<6Z(4+{$~ORn}LPQ zp^mmD&Z3sKCKeEOdpiqZ_CFi{98>s@bAgZ))CTH^T+tw++`{bt)clWD$WO}Detl3T z>ZC3!Nh>cS#m6bg$H&UW#(CDw8ND-pPR}N%b%I20@-w-RHviG~cYWQ{Rm8^Sr#?Ry z2lBzrdHVl1)3e=wH`V)}P0x1!-SkgOEjvqRQLf)c`&;uFtJ727FQ^*GZ5~7v8QR~Q z{;sWN=?<~cm9|7K%1)=H#>LC`o6+BU{?StJUoFq{{AT$pq0Vf_e&*Y+R^(<6xzA+( zW25=kRQ#jD{|^g)hV*~f@mY5lgPf&tu6%*(TtsITE^wWtajtxU>s&-<6)td{rE#u& zf$LmEXB94RouzTEe1Yp+L}wK)aGj-bu6%*(TtsITE^wWtajtxU>s&-<6)td{rE#u& zf$LmEXB94RouzTEe1Yp+L}wK)aGj-bu6%*(TtsITE^wWtajtxU>s&-<6)td{rE#u& zf$LmEXB94RouzTEe1Yp+L}wK)aGj-bu6%*(TtsITE^wWtajtxU>s&-<6)td{rE#u& zf$LmEXB94RouzTEe1Yp+L}wK)aGj-bu6%*(TtsITE^wWtajtxU>s&-<6)td{rE#u& zf$LmEXB94RouzTE{6FHt{`0Gw5If}eHQkV3%w)lKCq#a!lNKzet_%R4Hvj+@2mpI0 z$k#;xaNz)eC1U^(N(2B>XpB+wT>!YwDlaXe={~ZO=9NgPm9`_M^+iNvr;|0-%rSxB z^7ThBoDXPGv=1-8ep1AO!d4Sn^R6bjF7uL}?v9@Jun%#Z&jS(}Lup)QIs%3^kum6e zy0|2vW0HXdR|12G$he`Q%Y;~AO^qiPTR@3s!NfZJ}IY1H1FmF<3VWMC zJw@;dml6#Rc#V<*qY_V0Ssre0~1>or-UPC1&sMdqUkntLq+O0lCN+IWmCGY)k#_$eTRA*XOgtLQe*b2%p<` zgH7#Hmt}3I_qhCt8Y+Si4)R0HL?&c#HFfpC_a`ot_+&dmt#{x?z{^Xnwd~$saUf~V z>(kAUNH-Ukq{_gX8Qy)~(?l6$N@yqD`W(zJ_!vN!bwHZISx&Y6HW<0M0&Jj8^m_Ca z@}b`DI|$)&)8^1JmA$vGeO|33Vo zag-=PvR-4Q4at}{E-o%Gs25TxAIq53!QLZ?lU(MU2F4 z(x)zrRC>g2Oq*_S#jm zTk}-X?hiCl`|g@JZ4X-{h_qHY%ygFbh+0S7@ZB!Yz@?n_HbllS(T=j)5QsG;cCsnf z^?m$ZS2#I$XAtRwhu>>ARglgy_Bt)H!KZIF!;B7_I@9j#PxbnbzWgw6EjyM$hy83&~ayDLXUmw>)jFT4rdXrq0G|$gHJpwbA zoknddld>Km4$QY#hSz)6*$LtLZvFRRU_Vy4n?L&l`$lx(-Kju8c>M#>>C?b%+$B)7 z)wXiHW&g*r$CN)tB0rScBGus%4k_F7iVD}Z^aQl zpXqy{xHr@)N^}w6joGz0X0L8CO-Y zqLUN%=0Xn**TRi76>f)V>6&-%!o-BAhnPV5&W-~3AU06A?dW`4G`(z4t71HhAX8@s z7bKLkB~g*Bde&tb&8~L6#lQe=B5N{GBaS9xZ8G^fpPdU+1@!*UL5V}#*d)N&9B`vc)` zpdR7P%YcTyEO%BxQpkg0aUC7fgB?WPt5;8LM=N@VhT39oD9SO$3Pd35eSUxWb>8dO zk?%wB@vCDu)+7B=GfoZ{gxBDxfDx)MUTx7l9q2MY8|a~><=3L}ZlR?{$t;2!%_`J) zA~af5rm}SSkZW6#QZSMj&=Nt_p`~M}wf#2Cp7LE3GL_Uznm1$RCr*xc@IB#6UtZ>%sM3hU=jw(aR#w7= zLS_W!{Om^~s1@`2&A5`Tdj!O^Gw3|=2=X=;zcfoi(cC(v#qE1&?7KIE?iE-C8eV42<965Wkf-rL1naonGQHO_x1y5V{NDZCu zIUnXKr|7&EgxiDlaqTWqDz z?>Vu4d!6;twI%njPlK1N28>Rq><(uwaxf6c<&jY-5q`8Y*+Z;jAYo`|s3&kZ9mdXO z`r)yOU(7aQvWMIvm9wO;S7*}${E!u1nuNLr)Nqm86SCB=D0JWPy{7oRKJdWr00l7G z`>2y&TpUrhtC6d8`z0<}xA4i~CbB9@iY6pb)Clc|WPl{^beGpQ0Do(EtjgS=(eX{{ zcl#N8Ym4O|#Zqo6P^j z6-{X1m^Pl5X7>(lKB&UB-tnt!mH9E9RjUfn5nv!}8Zy}xTPG<6JQ%F11|sA>AoX7Bje!v;@I(C!-8tV5BA!U8D7{y zI46xZa|{q%2C!kGuleuxq%1G*g`m@X4O>W6br}^Xv1wcQW;5AH_42`NL_+$^unr%k zNQ)waz-A}62f}NzW7s02t4Oc>p|v#y;R5p9PJFnL&|tRM_hS7O9H`pPj$Ho{X@sR4 zzV}&ncybig{xzq0^!;cwj%Vl`>{sCdp=L3)h`kaB8=fawqq$ahrD<4;1O8dT+F+`tC1wCUOP_2M3GoTTGT);4^C% zO_jD%&qT{on+z5k%2GKs>upwsxMm7w%I7*L|iK$ACcOMApH!_ zXMS}EwhA}OThuk3WaVnF+)25cg$N`-eTB^ps*1MLjE)O&$xMV6C|Gx~hxo;_^oqxEry2iwOF5I5r#ddJ3; zz+n2PPoMJe^Y@R8C}?RB|M>Ca^T5DeYZ8`@rV87QJ>lZzn07O{ynbglH)OU-SXkV| zz^8s*UcTv~bG?F(Z#^qkbx!JLw{dTKxm-F26`}mlA=jkecPu;aZ-X`?2xwW`uP9KOq{z^i#TwEj`ZcWW$mY!{VG-L$c!yj zG`2i4X zE!x>wFIv+lJF#_%PP-}VMMZkA%a1n$U$~1)pIGLM3e>ysv_{&@J?{mV-oJYZC#A6P zs~Wo@`|BD06h6mRXvV_e%LkZNN2cC3-GZHD<1JznN0Tz3=U==TU?w+!L3Zem3gTyW zyDf>#V&0`La|fhr-$o`k>JAX*!yic%vEFv$9a}fk9}b4f%4unDG%j)r9z3$FMN}1} zj`5{SD=QPIzw>BYXe=Wi=L+q$B?`z2oPi?11u|iD`Gvh;6Rc;V98G*ur zByL94ud0kH=JP}AseODA>rcBlvahHY^p#{yT|(iwL`clT_vX`(aOg}-J8g1F(U2Do zf{wfv%$Q>N=Z&oHpbYW3sbR z@~eaG`?zmi4BYoAzX`Q*k9O2k=IeAJ&-_cX9cXH|(9)PGu{9rAPj05`96HJhltdQS zJ3q^9@ZL5kuA6omTc7e7D|fx2YBwS$YeRh`?nc^C^G=rp8#HR}?SymlX$rguD^?&2 za&_h|&nG@pG_Wj>x{ekuF>xbnG^UV!>1OMVsRN0Sog?+FsGjJ>o=+2_@6(YvM*629w+iQH`|97>?ej792S4*EL40SO?hM6v4gk6m=?@f z(^1JM_I#cmbonJFt;;<6iBa!Es~I>~_Tg zqGld(SZ9c#Y%P@|(TF9s`V+!w# z{@wed$8)2uWwyd*PWH2pzf6qU!X&w(ODJ1GGfr!5Cdi98GHq#!0JJMGir|4p0(iyh zEfjm7NKGP1v$lqHGqKAgip3tYeGE3gZmB17Dl5@vHJX* zyTLA75R8oYJ25Iw3`g6u154Ic0=~`^<#|eT0YnxX>9;kyvJt-hwYy7`H9`xorBlv#1=_dWdfJ|?Wh?|UA5d~IG4 z`rOgs<<>vZ-&LP(x9#RejIj+3E$w0rw7HkStBh0x&A^uXVs8_PN1hg1Z49hlXUUU=>G^rkidto>v z0`2vp_gkJWjJlmvdi5ywjKa#N6^$StZ~LLV%GvGSskcN1G>q~vUrvG#2V)z(9P|WD zv;})2Op7qX7Hp89B)SYdkC9K2ZfbH_T#C%SA(AO|T6}o&a04?`F_sfv2|U_3%wsd; zQnj#m&o{HFOwRZoW(Y>2F3E(vF7nq3aibgz!ycM9!k}~oTh$((Ziwe5()3#v#?tgZ z+Mfs6-f^eakbPRwEwbP}RCy}XK8NEBL+2!^0~Ipv_>c_0WUnUb z)Hk+a&d5E(Z~%o2A;x~6QY6GbL(Qm=HpB}{dnL!~Xdi&j;dO$x4@<&a4;7v@6@Cx~N9{U^qq%UKLN#f#W z@m3(JZf{z$xWiFCP>53mP^OsCQ#|W>qAy@_ouK~uLe1CO8da|7aH|c&N`iSH^!gha zrsxu2-%0P~WEVy=|5qn%fhTKkvCWQ#icqsK!)ZEX6K`>;>guXgDcnlw(3kEF&8jaH zA{2M45WB^~rIx1j3N3 zD_EIXM47H)Yv1PCaj+R>B4L~};J+%q=DWnqoWnmpo`LlU?9HSRccWttd<8J(xZ1R! zDxGjb8xq~V5b%gr&F~(mKw-q|<2I(+E<5NlMRuolF~R6oU&Y7mP5ycsLx$K2nWnNF zX2E*W%lI6|!sTK0J1=}p9dyGrXP*S(|g zM0V0b8shS~+^bKPg_0sXi;2&07~uuU=wf!ihZbd@S^_XV2KG%;{IqWdWPmf6_=nyJa?}>m5W27JxvH0a1>!VRe?uFF4)+ zX+DQnEXpM)A0RZ#qk&+Ydp_2D6N@$}HD>a_q5jiRj~FYNDzt3G@3!(( zTZ%tcPk%NY>UgEQ9&K?r6e=7D9`21|KoAG)Tv1URXr+sL-%R`nm5HR>&StR`a*xAT zpa_c|cI(OFCn9Fe!k0y8HybD3LxTLgKHDI-IHaJh1qHAXY-#9=5XI9$R1iZ`#8Qo2 z$#uDPY=x2lwopp!IYF4_p`g>8W69-vJYUJByrUymhXl51?}Z>ROg!&t4j+FjHCw6f z2nOP18h36#x+g8;fQd|8&m+3 zD2St)82WN*?s$vwHJjhNvg|H6Nq=paLW+xo>e(w%mX`hIH%5&(JG7Un-Ad>ptAaQX z1m>GBO%dFy^Vvy{p07T;2@2~gVHuOO#8fjGhP-k+6iobRDT%CwU(`G@#+*u!0ov`!qPiCXzR@aa z$4`XlkBGr5+V-e@tJW=L7zj{X>~B?Y%IS||3V1(0dO-=d+j=Dq#nwWhPN{+$p^AZq zM*F++?2hpw?Q|6tZEbHW-RjQ4n5);+(ndGErM=Z$ys@s59u`^WBjuuX8=S$eh!W33 zV6Zh)j&o_WEc@|uwNB8ZE8-9?c`dFdDIIZW#y8~zTvy&oX6Z_xMKRlnqBKUm(7il+ zKpA=i)H)bBW$$*=&hn(m$BGLHVP>1-%@GL))s%&*$OBjSvk;IqqKsGnAH=jgyyjPY`kOIV%wC~>|EMbb9wioJ(HsI4;Pf&o zgZN_mnaJFwYsZHvgX^k08}&yP^9Dp z>RT@diu~|;7f3iZRO{{MjW_|#Rom$~8)FtXma2#uL%*BKA;|G(4s`J(xHzJp^MwOk zdz9q-s%bK`mq$^09yuMqpv!X>)h853UW9nIGYIe*ex2}3+4*k1IWfLoxmF1`=f#%+ z5LX9)1QaL#xfh@6;KhA9W)2-rs!@tG0qe1uFXCDX3uA!kerU@xEv)&v$uuSQ<$V*h zC`=1dWaL4T&3ag^PeT36>_nOFJF+leOLq4yE&GJhdVSo8P~1lb`|jJud`{tdUtWF%0I1q=MDio#r}MMq#vl%i-90$Q>*{4ZM(=eE@AY^Jy~=%=YqH^w>osUeX%;A? zK9Z}^6F_O>gG9dB8RrUPOdYuU4l86Cf1!@*c_%Rpb@x7W%SM-uC+;M96iy=;qf9Yq z-~K~~8=*fqlK>_5C9)S@%TM+X1`y8axKJaEW9nU}Ozg~@%7heOCmQ~vc~QpjYgD%Q zQ=aG#DKPBTj{Mho_t&Kj+->o!K@t0=)FnmvZwC1p^NDV$D2}+QUA{U`US_iD4;~$= zc#7fPyx69BBb;2(mgSyDmxx>0Onl0vgCZlmxtmu(kI7!6WS}yl7@>UJ-kESQ_OowB z_ubvXKK^dh&~n5sqU<-1X{*fIxOArpO0A%E_euanPq%qGEguganhOfk^Xb`XlFTyQ zD>c-{OT~?a6-aZ*p`rYU)8a5^sSfDaI6zEe^ax*}YM6l^?~WQ_84%vRvve2=d^i!m zxmLHvN3n~xb|v$zI~=)PwyQA(E`!7f?Kg@rb$LJ$4;wZex z5a5D!G|bVfBSA+gx=WzBcY{zZI-th$zLixr|CfPJm_#@GKaCQX1;;l*A^MGPZ|!LRIc4g zC%Rk7SzpRIl83P8Q=C`B|FYYt^O%=M%`gdD11tDrAya;FfK9LxlwY>VQlz77cOM!b z?Y+dQZ975c)A%h{UHtg-mxpe=c!Y!1L_4q--^r|IjXh86(>CRf#5qJIQ!3dlI_qh`$Du zOylp_TlJjYJ8B`rN>$=`B@mdoVUPWcRoI((kv@M+AGH<`#;-lp7O5U7N8a{2{2GqZ z5<=%r%E5M3hUgQ@XVfp^GPkgaazVlYb(cM1cE)0jzDHg#)~|8Cq|h0+-2xFs0C|^4 zRcdIDLK4IS@QOo}0P4oUs{{tr8_6iENF@ zlH5pA$!@49YDThTeJ|Brb9Z+?^S;mLd7r;#KA7K}^INX-{r%3l&Y92W5@BPtO~E)1ce3PgvMaNEi~S3TmiQ{5`1{KUGi4 z>Tgc|^kagfV7&-rDuLt)o%f45MDnH@C@IYc`tkZcE+Y9yAWzD7b|6KVABGG=sKH^s zGjhTHupxVUd3?Pz7c30tfg|EPsT9x-@mo8x8;MGyxRL%L68+R*iT37#$_U&;m)>{pYY z`Tpq*XM&;P&`3B^T@?XWMIvkwa6JS9{MiK8(SyS|oP5*##fK%yh2ZM{Hy>b4YwKwu zIelx+ak^UKHH?j5ARBbISc##D1(%^EO{+ zt{w(EznY=3^AiH+f`a{}_2*^%u>5XD_;(Zd%|D0vKgaNO!+HLz3H8m@SFL|`LLs?Q zeKB4*BRp6W|C_n~&Ff#yeszz6&9D9*guf=@TkBu*^Jm5WJ)fxgMNJQ^1@O8sUvq#! z!T#3vGx9fm`}v%Dcz@N`M#8}t3^D)ryD4Y)ucrI{wJB%!uckjO?K}xoH1d12Uz$0r z=2zZt%ffDOlYm2OX=bgOojij@N-E2VaJ^ActJR6aFuzuxFX_I;Njw= z!Bytr;);kgT!xVR$XRN&#_q`_6@ z;o^#jQ-OzzlLl9rhl?vBP6Zw=P8wWg9xkqkI2CxfIB9T|dAPVD;#A<_;-tY<=HcRs zh*N=wi<1UdnTLxjB2EP!E>0R;WgafBh&UB^xHxHWm3g?hBH~ow;o_vhRp#O1iilHz zhl`U2SDA;4D9xhHATxA|Eu824lc(^!eaFuzuxFX_I;Njw=!Bytr;);kgVkFBKqkY?#K_jKZK%^fzQY?+Gd#|U4|Mg#vsSmR zIiBQYqWbWflAz%ET{*`@>d{N%rKuYX#evpwn0=XZAphV=VJLKjG# z-yM^AW3vfFYLVb(lO@2Soq)-I>%)IH+Rst_e+*QY;9($`e+DC)`=~NR&>k2PoTM#f z6mOPz%;)(z7~#A^_6#~j*oS|Hq2?@1o_G;7dkp#%8lc-}Y5i)0B5mZTu+=lxr=v3r zEF+-jqIDIvek(`)0-KCyUfdh}!IO zMlz!^prk+un(r>|EPrQXX;ECWTJb3tl_=tYDwQ+#s3=VQ^I0Xs1?(WnmLr)L%`cuY z%~*HF!qNh+M?Uq(!!VopfXtdU;SQmog|aW?Xnat^8^Ei=2G#o=TSz3>i7m{5I70LF z;^GABpk8TK_Z>`S9PrX`R+fautFEnCMQER6bu$GacHK96i!T~PpYBH@bZZ~Z@~;@` zZglPr@j;DhbWe4S%gW2^cV$%Q_4F|)A~Y??>#8KkvD5?$r8~bxgP$xi47OT zb)8<_muwlisV9-s&-{W8=`jYv7tIo5377rIi{U zP7M#rIjSD3nr6@fY%Xwkt3OD8Sl$(|X)yH_b*P&n%ofh2HgE3R2Z_&x44f^z8sVgB z9V#d}V$>r;YgP*qbs|ZIO-*iJ8)F}Pln~D>EXN#gpA(WYDdh_T!1VAdc1yB@6&oe7 z%m4)=Ddz;`Se$geiX3wJr{WdaXDyRvF1N5_DUH<|mK2W*8}@|K=~46tfzdPVU6RwK zd{=<=z_zIdtW4y=Xs7CfIa%(8EoFz6?|=o%zZqV5jQnEyy5~t@Bbs#fPTQo7>EYCkaM->-X6QGqBoyl(*t3BIszGH*g$#D;)<)5)?NbE@FsTPfqw z@o1FB$N{>bLmDt0G_apm%>2MW(o(cj>MBOM?Mr8@Y2(R^#?b49?3!mAVh?)j`fU7i z3pS0pV-Zw?Im{+6$;cw;V@LCt0XD{)Av%{F<<-gv7rvlWH^nuV95($xhw;bFT}*Z7 z`^Y~l2Tf_X^Qk0jyO!oI1^Lhy%Vx1H4jZMVi_#bG=$hRlbC3#oZf(?S$@m~AB*MsC zFFq}|x$lB$6=k3K>a@>JpJncLIu@|LC@{N55@wgk@~HujeSGsKC*33Zy)JI8aeYy7 zFq%f_wYy~@Dc&?(l5g+-;gbFEr2j&eAU%V51xPxq#bZB1r@N&xSX)JB4HqX5y!bMydAsD}MzOlf-nr8?`((fGDk$-N&6I zgN%%O*PuJw2*~zFb7y?`Lgb5(FOu+IzfO7a z$DST>bGUcz(<=d|7Z2fQbw?Zo=+?K=6P`U@-C;PXw(-b!WZ36L)IoZJ%4!pAL@xQonX>XovtL^D` zhfiGDpRR#4M|3lY-3~Q<2U3{6p0kvU5pi4Pb(t1RDx|%xsgFjDGmF&hY92}++v~pN zLR<$7Zh+cS+3O^8Fo;=SI=i~fP$`$DCUm*8OXA#Nf^vIv!|PW%OKX^kp`$G-AK&+0 zNSr;Dcjzb;c|w2Rnq`u?-LR|E{OQ)59XnY$vO z(4^;;I(NzGy$dhP%eNK<%coAfkK15jdER`DYfCwarXIqxnKVb!x`!uS8O9EWck?$PQeQnos z#*_YWxc2~brYXGufQd=K?~oM3T2(S#E?7{D>PLgb7?MG;)D!(8Lj!|-!qI38W96{H zz$UvOG-6ZIbYI)S;&VYckd_gAQmA^Job%<2HIE4P9XmqaEq;{JElSoR3$h)>mkT=6 z-J*rGhR3vy*+-TaF%7_kDI>5IQPEu!?H99_Zj7qLzYI>!^xDu-B^h)K@Tj|fqhKX% zu5&_Gdxps}vX+d9-Q!ieCUzy3%u+a2T{MtX@R}lSv1A>-Gm4QW0HOCirN6zs9{^@; zAU43;m=T%)!&bSrZRw^jb>p*d&(PmJ+5yW7ovos@FOSUV5;;br(TY~CPL$AIJ}D`F zXY7xx;y!HX4z){43TK+)Yd<}WZ3yZ~^?W#9=C)hkd5@xshS;qbQ!mlL$EhK5*wXRM zI%a^O&jpEEe`wnmZA@&^v{Xku!^_$? z5z0l|^(WdSS#Mhmz0{*UJNX!R*8UpZa?0vbiOe_`8^(WBHH}dGD`uk zcN%HJlf|ssbp)aZ-<4I#%mlm^|8rx+UV)q)D#_O{M!p|1>=^sx&>{?n`%4ByT7YM= zg=eL+Q=+Y9mMbXUC`=6bQsHzr(>C~OZuX-Zk5W1edijJlYW86ECz4`W0!~zhk4@hJ z>zmw^<61+15I+jkpKm@P&fk5cmg-YqHY)zr_1;u`dt~(;v6#xHCl5@MS9T0Hm0#T; zPY-NdhW?Cssd7MJ_8e|!1fSG>tZeuq`uT15%Atu?MjIPK4X2?-_ww%ekEVB*DJ5bg`wS?6wT$&v_QZwpv7wTL!;;0G0C~5mD18o zmPXnJT0hV|k|#Z!5GR_NxpU;x0K7*f2$LnrzGb|PB6{H9t4e+J#J1b}3XfTAtWBkl z2kV>mCmS8|?zSf2 z;M0}pM)Y`nw88p?wx~*_OOAu}vLZDfJ4lqRy`wx46cleF~2wb{G%f(kFfeo9BkcrEA>T|*~zDB5aQA;zRQ!vx@B&| z4XVAD(J$#6&ialDA0~PTFpeZonwb<58xx2$=mI!Vv~*TEV~u9e5?ZmR@Eu_{?;AV( zqQb2GnAYH0f|0dN+cX-`-ey)%c-}I7cxKhS`rf982OR^@%3HI(vf(X)hEd9vkmxMW+kimeE+1=mGrCU z4-xeA%%#W=FSi`&N?iCq~&;{&U zQQ*$3ULMU%r19CHbT-$$Un=#Wzl)k)|MEd#aZf?+4Mbvg>SwH+kTf$2zF+?GQF!f^>}`WAZBJ<_Py9h#L>$DYuc8%+y*bq}j=kWCyN5q4E? z))?N1yS1%r#?NFv-7t5^0h;={u~DXl3<8S?YDv#ZKatxt!oNRJ?#oO5@tDRpaIvs> zqWYc%z7qv+6WzAsWj9znZR)5G&u;V@$3`#C|KK*JDB27@tG{3Yzs;?SwRp`*Gn|6LG7LtgL9?6LgIi6CerT3}9 z*72k*>Y+0gW21Ne`l=X=GgY>6{GA8kYJU0&=zbj9r`Mtq4o@4I>#x`p8Z6F;V#aPA zPMTC^D2pe?eOd8-Lwo^Ujwk`Y>#a{8blxu$HF&{H*}s8s<9y?rn3OSof|yYm;kS>33^D6X;PaTw89)6Y&p4zcTvD4a9nH{V$ zHF1E5XwQJ#-BuiDeHggz<-(dMldikIK|;axZn*;OBxIZMR!F?H!n%M>w|g0@!c#h} zklobJRf>!1G&aPV59w1E(3%5foDYnQbju4se2}$%I`U8JgO#rV_4}d+NASzuxrj85zioeJjf%<8Kvg__`Jv!|FXUj04VZ{DNKYR? z@6ThclXPy=@=+STMj0d4^)lE}fMa&HhAUDhN1K&$&R)5pCnj+?dT3_uUU&pJu;2>= z!EEIz$!ETE#%n$`d9&4(z#Bp<1>T|T^z4NtX&XLx@{a#-FKcSeh^56)d*jpm_QTpN z2s(Eac)h+Y(oSn1GaC-b`gura7RtaI0tCQ&Mx){YUP({=NFA#oz(KbtQYYZCUVmHhykK z^1Mea_Qq~mhI%7QsAnj>ZotzWU$QHuRJ5EJ<4I&PR?F+MANQ%Vg0;BZ4{pOdi*V)a=_G@Ue3-omo@ee>*)teQhM; z_Q5_$aH3NKXl_9b>>-0EIpm(A*rk_`PLp-&fG+&3!urPV1jhH;;^!(IE{7&YI& zPr0PDWFn?9IJTW$9Cb-F5dT5qA#}m^*IxFu0>+IVI51s3D9RzM0p6^}_jzWfZ zS^nr;ynp2l!!P4y!=LIVI$>Q~i|wnZ9qh8Bt#{3&1gemPL#-;i`NM`n*^5Mir|=;) z`HTY#bH|Lqt=tk?+)D-1o|OgiGWYJsIF%fC#%Nm_7)<1ZscW8PmE^W%Js|7@k1MxL zj`dzOk|1?eJbu|9Qx9R73gfm9S z;GHN(ls-psREMjG>YrbL*UhnA|9MosgreP7I^Gl5m6to&B5idh{OhsYu(X9g6(QDV zsXo_|XK}gXm;!j%11n4Bfn3e-EeWUMW2};z2SXEY;HskP3YF%{2r+)&5)*%FWbG_} z|Z2?0#95E%dl#ug%)DXRd;T;VVQvno|z`;HrG*le>}fhxnxZ7%HjvY zOhn;gr(wTkO&V@r&;CiTyO+=8F5}k*S|Iq9tf_4KNE3R5Ek!~9Ji~nLotO=WYS*|T zqb_ZKuDyXBT;?U1`@ZL*c~LrH`m}Mn{dEnLx%b`8J&L}OmXJB|phXk4wH@V9&@;Q4 zAKt9g^M_k@Ps8T1;~}a3pWm&9VRv8M;B{OW(vJZ-=lTfzVrEA*YErLYv#h-&bjaRIp=lmbDs0eb)GzCjtPh=3V)P0GE>a0f5Z{ZD?p^<%J{S2wph6n3)g-PwTi0DuV&GmrpoZ~&vz zW;#s3o9wuDKH$xj4cRQf83>RlWwMb$uLRg{7iqnXf&2(a&(V{RV@NA~`-ulGk(qYF@_<0D^N350}(+V+Z#+tr|?M2Ak zsbKX*J(1MQR+U=98`xH_9^2%0xlEzwl+Lo!J6zYP@Q+~aQd`IbaNv?&VlMe=)TaXo z-+)`z(F4_t1~6aBfaFrek%&*x(hc3pcU-ouJ2~liqR>jhq9VA+`mB-o^9$WPLlKIT zq8C50#szW!IY%wYyY8?0ry4^Je-B|e#p(Dm0MHAcl07ZB`YgchsjL`G0f4yjxfnee z2v8e;tp@-~2l-vH&hwc+V*vo8^vJDw`m5L99rwM5Fm;ZBE*_W25j-FBe*V-){G~@(8TBh!coE|8 z<7?ca-$>N4@FhkwN+3*?&ylW)4IN**TjFV@-!+D81Mjo0rjj3I{nl!nanYNPZL1Vh zJh^zX)C6`uGJiMpHG{uiQI@FS$!F<=2BI>TE9v4Dp9aBuBHE<;S27!R4*C;;gD0br zqy`wL$LSV?%jsjr`%gFuZmw95>~mDHk5NGiJE{e&6C$S~##uHpoFeg#vg|#~{Rnd? zHrB+^+|e*=)2QSFUTm|@cctmJKu zW%DZgU)ofgwBE4#n(Woa7njhUXo{Eo5V4r`ZIp;{{EPUPK7*@<28N=h1KBx_azs^_ zx=9K62!sk`@)romCz@YpdKI5oX{*qzD3s`#z?FcrbKLrIYuLK8RXi8q7wj*DUl_Py zYe%rtZ4AD#+V-X$*Ui252d{6pyKB{x&H8%%&BknDyOM0xTXoif)-hJ~yZ2pvucs0f>Oy6qvbwT&n!Iy8a>H}gT0>eNw7QM?jjbOW zX&v{+r|6|@OPPUV;S_(?V%6f^#Yc+U{OgBxULi+3SeOB$cdU*##Zyh2gLK)U^7o<`lf|cU+5Ej zU;Of)S2I_WN|M@hTd=R+)@VOHcyqx*E=lOQ>tpS4{pkscWA}lYo|Md_%tuqP1M+(V z_B!odC=;=~o4h%-Nda5g_QbiXtU7c*Tt^!4^)&fkuhVH3ey>;5@vaJoplE6 ztQ=0FesMT5-v^;Nq*A-*wo47`s#sFi?Gc(+sM%~T(zGV}Xgy0OcR23)ocU1AeU{^0 zCYa-eqG*9czPW>IrMD{HkQ?58&xUw_NZHnu)9bY0Sr$DRlYP2Kv(5XyUw~(hH^v%+ z98D@D72YU}3_3PzJQ>eJ{sW`=ksUJz;iO<*VixM-ilIOSV%k;Gn=KXLu>4>HAgDYpQ?7mY_xI^n)e~SHu zkLqtV4;s#U9ktx<|4fP1(po0?tiZV<$teqaqo$6W`j!JNvKr@;&nI8C=0IP(C)2D@ zAXQ-LAtMvV(Hq>4trChmRz>NRoFh!Nt-~BKZ@7BT`j!>vdUN?KnILC==b%E*F+kNm3ZvPN%9rZFJ!%*gsgYt#!^Ute&Z%ywhLaswxaJL)xj&F3fkJ!q0VP6hD zC+pU1-uA-&Ziij_8pCFSv8}BgI|{1CModSpjritJoXT(SDD&2Dd~tMwBUfnhOrOv` z?2ZoNpM7%XN?2AJ=v!Mik7j zjF<+?yo8tg=g3~grfXj=8y`G57NIvCB`8&Jw-};a<2DKTu-KZ zW@^eVUG3M2?ZFiD#Y7+1-L7SxhV`kse8l(W1^Xz^r#c2=TqjEL(-IW7woL^)bG2`2 zn}p*(y)(V-j2l5ws>d9(ZV{&~Ml>77Uq#G&lN$-mv(0j@X~AXV&qjp`d^f+{P`Igh zW;WpC7+)aUd-HbJkeHy`iw{~q4X>K#8jiTPbO%MocFpc5@2`LC#5K;zdMtJ6{PL?~ z?_QeJm^4ammpl`bA}T7xAz1doy)N!uW_~7beO0*qa_|V@=0NAC?uDK8j*D+5R?nTP zFTWL>J>@rkGy68YLb5`%v@TeC^7>+KUE9I&!tvtHiZanesYSgdtEq;0WJTr+ON!1w z*wUgrU{OSbSP&ND zOMnMyOMKRagZ4_XyoA_i7ov~0g#Jo{VvZJ8VumeY4jX7``MG<*t&O&SZ4UfTTf&P-#KYy~0|Nu) z0+r-&exC9$4Gj%>1x0y9MOn~8mJsYqL=!wMI~97f~+FU z7N!7)!N4CG1$DTB0+q-Y&tEhwaPDZ2;NLXB#i0gQ)}Yp)^88f;T!`)nBH~}EQ2YL@ zV_^X|^Cb`wzDSgrkq$U^IW*cGuA&UnP*8VMl~seeE6F06o3s%Q>A#XlU!~naX+uLbWtg&>`gUVOV;IcXP~S*jZ97a~QC}Uj74!|h z$x?;>E{pO*2cX=y`{A&k*Ek;GM?kGC9c_tkYv=o>@HG)WFFrW>_n{i987mv;!;Jsl zpWi}%^am8z`cm!w*O98yQl<+1q5K`gkD>mO*C2XJKk(MV7lEN-wK9YM8_a)@py~vu z1~y}gCV=ZFn5zAiaj$HyHmCzXmwv0jp#SB>e4ie0OM@ejE8DgX0Rc{~mi*^!?pxW9 zPJM}3Y3Pf?ALjJmrSEUye{Unu3+4OMa{pziev$g@^>+~h&Vv|;@I&c)f-B_lHw ze-8V*Jkkr{>xpvLk^e^STfwg(TJkGXhe7{5b6-k-p3rYe_TLC>?NUzZU)KZG{d(VH}On;HFGi zS!#+Zs$YYCt@&f5(_bU0YQ9E(Nhqr0*ynuvQVJgSz;mYj_k-rosrY?`{~sGahV*|d zOf5%mgqj9Tn~sYnB5DUZE@~PyZ8|QRh^QUtxTtB+wCT8LBBFMnP zj*FTGO`DF3CL(GFIxcD&G;KOAnuw?!=(wn9(6s5eXdP>E}Dp_9q72IY0$LkxM(7xcA(>;ra{xD9}YjqIRI;qNYL9rsJZCh}waUi<$;an~sYn zB5DUZE@~PyZ8|QRh^QUtxTtB+wCT8LBBFMnnHt))oK|vIzi4Q2;Qv489KmfWHC&4DSa3cme?M;m+-Qx*dGzNRXM4zHLzJ z=-Y!ByFLhMa-gFldXKa##0;rF=T+S-HpZ=*KiJ=Xv6BDPMR8v;@nNAl>&SRiIa(nE5w?4*rQvFCuPB5>}%WkO=zfsF!y8MEHG|DO44 z=cQ#b+L?xL8%dlUT0UG&s)yhh${}!w0ZSclZJPtzBFpTi34Xk2Y#L!reMakZ0X>Wq zo}E8+N5)>plO-i3)g+JodnzyMzhl=c8eFqqJuf{k5ASVe_I$9kw6r8Ln@mZ8n6_v_ z`8i9^rKK&qD<+o0&YD`exR`If&^b8Gi;1)xc$H|~qpJ10jm%5&VgTrndZoKii z`?=Iqkq;j}m~M^});p^NNSAm3YJer+5<2$J^z`(^=-qk-1^3EW|KQ-@o0^)Mx*W<3 z9O8#>^8?bF3=_utoz2WxO9IC|KJ-2ZHmKuC89U?iah*CO&MVL;EV-BakpNT-6%IUu z9$US7HQL7qSs5$791yim#y-!ZR*>WnDMR9H2K)6+fYjgb0f)n-WMxrHi*p;af+og< zUN<(v0^hrI3y>$0+YH4S)e6F~QSDKBUf$lrU@y)}nlN{bVc$JEaycVo6Zou;k7I4G zI?H96pB+{LP*)Sl1;BO7w2qnCo*2T%Q71t`L3O`gmYo;3y=yQL&B)I`cScA}(YL*D z`qTFQ_G;7Vh)V?CWO{=&>+@Bm@1H5i-zKg7gwsLT&xQ}g1P)1ujJ_rj2 zyl}Y8%*<6?xh`!^%z7;zEiWz`X6NSiRmt4mcvvquSi{cFuI$X2Gs5O!?oM=E*Lq-RO(dC}a^pzrJ~RPZ*y`AT7-`fhvs z?Z(DTB>`h>CNUxw%Brf02j{1!4?2S>l9-!ORFnwz3zFwqFY@fPz~iP|XI>5tj(hj+ zDTK{VOiaJBgyx0K`T3U3G!={|5kjjA?zZQTV#)ge#G5<>V!WeF9Q*hv$K~|&E>|2= z)9crVtE#G|o8RgoZk=I`h<%$c3q(No#$-+*8gJNLzCAxbk8iYdIP&xq-!X23!O>Cn z6Gjq1M9tGJ#w*U!fV9{~o)gD-PCT*N&&9nxMnrgcWaM$EQ%L|egc%sW{vS9?q3Rr0Ls&4}OYR&`#Q==F_xo^RDE|*V#5h!@~@Pi5py?z%54GfLh=> zu&R5@{c=DTA|e5w8wl)f3)?WOIG#N31Iz1s1nmJ=Yt58|6)T3><4Kfgmvz^N*{N~{ z)Z{>*i~8&eUrp$s3{!Id+w$%bwuH5oa}Est2u{O zW(6|7q^xJR!Rea9g#Lj=1Q zXh8=V=!rGJ8|rV?q=3!!hHf8)iP$RjetLS{Y%!^wO+d;1MODuZg`Y z&d75qm@`3zn`_W|zchj21@n1s*A|K>GdUip5>D!QxC}lNWbpxGEb}sZI&&dc77)%A z79b|7760t81GDvYX{g|QSXra18=$OyTC7;z^W-2rGzOv#T?|}YJapT#q>Y2bd<+Lr zD09W<2M;F`j$iD5&rd4vDb`8DtxClgP|{XGRAQ@6ojmE~<&|Dqy5Y*y_(5JT2Jj&z ziKm>iru5S410l^N)u2p_%(F8>CKeVP85tSCQ}V#gn>U?`iPA=%1BtKdD<1F_#tnX2 zLX%aD%BSR^>H1gP9vx-{Ht2*U%(jHT8Ev`iROE-6SCw3tETr(JG*DO?f|vH<9YWdl zqDEUp6BI%}Vt`#KaHff^__?gzSG}-Ui_Z5ml*xp6?y_cG(IAo8wa^Hw1_6>Xa0{BC zh7(!%I2JW{&t(fqX6x3iUOqe165?%^2YPBDyPidrugPNQz^e%X9J`vK=E>@3XGWSc zJ>v_Y@!%G4Ct^ALc!%KP{_dTwC_41>-N;-UKB_Z?ivNYzmhj6sBlhnOxG z6sR368hb?+%C_A~36MX&?2cO0onF;~ z1sL+!Sr#bcTwJ<~_z<9zU8@|^l8=AiUNlXqn-S9zT!U^0>b?3EE(g&cvrxeN3IfpX`!OcDe(>S0@85%sIO< ztS^_9X=7UNNo!{f0HK){N$U+*5U;a#M|wT&7@n;kKd#%+Q{BxKI3<=Y_l&2jq^BY# zGduf)vv1LnAU0irgqhbimUqyvHrFL&h8!E;4?1>K}oY@EP>tB8WcmWJA9C&8oR;$;palPRac)j){;mFQN zl@}qACf(@p-Pbvml1~+a*UG>-Inw{jaiT=;zj!42c3Szb9*MqTq8djPWLXff+AjN0 Viu=X<%2Px=*Z literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Linen Robe.png b/packages/client/dist/assets/img/duck/Clothes/Linen Robe.png new file mode 100644 index 0000000000000000000000000000000000000000..a85185ad48b4c7e9ec6f96f8888d156933960a79 GIT binary patch literal 19294 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 I>$2zn04Sy8F8}}l literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Ornate Chestplate.png b/packages/client/dist/assets/img/duck/Clothes/Ornate Chestplate.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1485eee4fcab7c730103ae84993a007866d675 GIT binary patch literal 23764 zcmeI4cT`hL`|o$?MXDeOQbYxm5_$<;y3#v>LI|Nq=m7!<1QA7%VgW>&f=H33RH;z} zM4BL|6agtB(gH|tccbSVbK1*$*ZTeL{f8_yk2BBnote*+Ju_=%UpLUxq@iM?0sw$U zTT9Id03e_V0Vv48FKe%C2k?v1L(9?|0H_b{{)GVdlUV_PO4nIc)xf~X9qsPzwU(LX8ptXQ3YeRj+4!(gJ&`=I+3w## zhh<>oz4ayiA|PuNE)V<26{D~9s<{SB#H=+;!cG6B<)tHO0|4NO{V~DlBBf18p*uhX zc=QM#XKebs6IN-!YYuSV0)}}QC#WH@M!;)flh;hZYgVAhxY(WwxC;O%|4XNNfLt12 z`n$FwDey7p&HxMWG5tsm1rP-R68SZc6Dd~#wx*#*f<(BNz=J$x9$^w(0R(GVCZM$D~4{6M6uZaBxrBfLTj0^nNW+7ixoi8EEi zy=C)Tzz>fc9eIg*dK%7hlHP%Gj3+rE>DWQ731Xf00|3Cb*7;&vMk#jU%h=~H4il)k z?+xkOE_iny#iR2>+toLTNC0}hj=4UY@$vV>9!-!UpE{QuE1=H|a2i@WFWyi2;2hQ4 zfVD_}nN4NR)Q1MIal#!IBtF!UNZmxQ%_pJsH7d$kXuJ>k(1T>5I3{YaLq<@?w&WvQ}P??SIWJ zc4PBKwWjFZ&}W9k-9$dh&$GGMZZtmd?nFz_oyW$fyL7UZa4KNS(z80xe)T~EK{uii z*iKPehnu}{>zmiqZLeFf@irYoj9W;W#YiGJETnyz*>S1xIf~;%k=TRN6c?`0zeHV* zjn%Z!u~5xEF@3Crv68}^GVF@zOFo`E+4?0X0vOj`VeDW}V=XlDcxR7t9!))Qfsgi} z%^j`dw9U82^r()Wh!xYO)^^eA*AjYU{7A8j-Z@!^cPiGkd2o#488(kQ;Z}JpU9A4? zjpq8Xawb?q#E1@M`f;O2cNxz}B9+ETGSkFPCqBqEY|BaQrpS$erJd7uec)>VHNKW} zP{QZ_iMFIesx6O%GJ4+LcXo7Mae_{wD=9yPajGZ0P3Us@NO3ZWmyr0{MC5}Qd!pk#x_j=X7N?d^U1GlVhA|EnXBHP6H<4>% z>TRmj2FRjF;_AKGS}*ou)ldh*(HT=;`~5`40KP`OeYJgdGhQ=?W~Tb) zd^}Q=Qv_3%V6LzgAIeIpO2f+V%6^}YZ;I~_Q~r~bOK+BFCqH#+F1dcsSYr7$_kOOE zOIk#NLMrw!N>m1cZ;eHKb-CwU(TTtEIh&!ysq)q6d|&*f7Sed#_?5hSW{PJ1W=m!t^0ePuPYF)BzBfl1u$w0xNP;D` zlx629<-hVxavfqCVTw7~b#lqrtxt4%bDC=U{xsQ)>@s}$#Ioyh2S@7>MvnJ#Xt_&X zXrESJlt=Z{qt6ocIj?f+C(Rw%9Upq9EK0IGJ{#M@nBbehV(glABg-ubRKDX^EJi$AM^mzrvR*F6PCzgCUa-8d zQNyWUoXng0Uc~iv|0}EEnwCIYn4$u5y?v5cu~CsIEgg}i`_Lux|VLW_xAh`C4-NixYLNux-s$e;%lnNJ^}q_O1k zy5o*xSzup7hz~dl-tT07Ly^LKj(uIEl~;%JJwx=>4vHcAVE4ysI+Lws6cNLksE7(K z=fjCCYe7sWPl@FUe={sGMth=H1mEY4S#CJiM9;_M+!R$_Ry+PO89G zwui?`uPN{Ds;D77z?dQi9bjElw@Z;q;5WoD`hTsD`8%emX!;#Tne+;apoJkH*9?qWiZm08FsmN=U{kG$-H)gq0G zFC*r9Ha(Y?{9XI{2G5kgnVHg>dNk#hw_;gWc&6r}O3&M?c$$3n`KWPr8`m>~=!XFp zm!jKB+TOGgOTr~*tXj+R`WGHbWh@7zgq&|N+sc1ZUfavt_rC6vU*IBb7zeZ5;N0Em z>QVuWxl4_D(2`r%?B!1}YAb{W(JZktIthcM7yH~3hU~gQMwvQ zMR97uJjRo-?tMu!_x(ye&YhxtsWSe8Z|L!*z)^#*58LYp>f44AL&}#ZrnLM8x?pua zc|sYk4-_8O%zeF?k-~9-L$kJgCwNYD6yeh(8DpOMAcbFHer@dXozX1&tke`eC57(9 z0sj@9%|w^;hUaS>RXb9ZSkSXN==h(#_FQUQ6A+yYuea=Pu1w&7NZ# z$D(3VxVYG9*lHH++wXkNdX{yt<4v&Hj{lVRlZm0Nk&Uw*7MmaO)N7F)bp`%8i(Ye2 zatdKh$C|jR+x->hA8+Qj_Xo{Y%vBCG)o>;9Zz^vaEOxFVnzG*NuP9Dj+TMh&Tv^;W z(Um3+0J3AwCKhN5T^$(0-BlQF?{0?_#<+Tb+fV?ISHgI}5iUqHw;j^a*-e3GuBwiQ z+u2@$$6QiZMAt(V>Ex^x;Ds~}&@({%F#bvmqWram0Wo5)91i8gTM5Ul2 zvQSY8ArVoSh%8J*l>4_2k0KRl$$Qy5z>L&1ek%_Ap8}5)8tnmtLjC;wg#E;Y-Mt*4 zqO!8GP!Tbxn3xdgA>{4vhK6H=+`Nzd6!~384e5>Wa`r$wySs7k>cZ{Zeb5R#Ji7(` z@%gP?t{#6B9w~4<85^99> zcK7i@AVK$I|5OEUw7M_Yq~8$z7eea3NH_F9O4%d+(DCr`Lj3@3kANakNLMh#8>Arm zk8Sbz{UGy4_@AorNA|yBL_0hD3ya;He+@%ooc|?kH|J;Ak1_SLtL4Fg3{&+&!qM(t zChqPi#h=6V*D(w{g@MCUnw#I;+0EYF&-u≫Qu!baB@h)B*h6e2t5C)0Zv4FI2!(6sSx`9 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 P;5B{9Onu4ZMW6l;p~IJ@ literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Ring Mail.png b/packages/client/dist/assets/img/duck/Clothes/Ring Mail.png new file mode 100644 index 0000000000000000000000000000000000000000..cc24e9af952464aa5fc85ed8ab27d6fa301ca8bf GIT binary patch literal 18936 zcmeI3cT|%}_s5^mlxk%GQ9u-FLJBo86eS`pl+Y|7#1J3?2_~U;6qL1qib`9+0tyze zARtwW3L>HyQHr!6D@c_l^%vCDM^`uR`#byommDCMneV-K<}-JO3Fka9mgYNz1=a`v z03d8^guwv-gk?g2rF^V62kI49)*HXK(JmSQ2(DWEh5$(^;sBt%iDa{rz7uPPB2c_k z@h+5oL{)z;Z7%7%lLbFl4&S^9obKDQ7n7087eFDNkaF~k=?qOP-Z9A zQpSKnCCX^1YN`<6YT7bdNL9E7QX8SZSq1@vYeHd2C|q3y21mh=C>UJk%S%>QfMubn zF0LpX#_&rz)^9qp?sU303JUe}^HcRxQ>9Sdpl~D-356k`2!sktp+XBF)A9Z)WZH($ zLH>$^A<_s`k~f`1AG7ZZJbeVLb+_t!*Z+81^#ico*NHx#Z4gZ|9P zh49tK+lT7;X=pA4DAAMXMI_T{EI;^9{k+{NbPCO#@{5#TyMLLOwI*2X*W5oHub0

Zo+il^@9Dzp3xp^SmSVpVC$DA<$8E)+kSA{zRm%eVFZ z7LAC((}}tW7(z`24pTwEZQw8z9M1YuhH0ZfiYgM5PD4rB5Ygj~G zH8k{R%^QX1VMx7Lex-k(b9ygAhpyrRkXDc+A8Y% z2>ambcx^mf1O5pj77KR&TWAc0;Ip_}zJzx9FGGXe{}$SUN@AUKcu$aKarFOfil2n} zTPh#OG%H`4!i0YAqFx&JzcpF5HKPaEoUs86b22cc11>3(=B zajP4vCjOJX{yFORZa;=cLl;kfPtx}b@wxT;_4%t}|Gu8+#X}9nss+}#@SoOzRo;JV z`>-~!WNYjbe1MFbXbaDi#CwK=%hA_5CIxWF{n+8kVL z5rG99Twoe(Z4NHBh`<64E-($YHU}45L|_327nlZHn}drjBCvpi3rvHp&B4VM5m>;% z1*XB){zqH_-yZ%Wl37pu`LQ1DdtT$t#d<7IhG2xl0zjY~0E8a|fR78T_jdr`0|S6Q zX8=GY0Du_flvA}K0IV=G#%#6mZ+_qAagFHa_;6%sVVB2H$PG2O@cOaPZ1^^JDh)y2Cc35Wdo`Jo%PZB$Ug1ze64JF*EULn;t$7KnswZs>pY zyfEeQn;@N7=*#Bbltf?G`uN7g5LCOxEgIFe9!Yb}8J|sE_;AflN7+Qt2(?A7ovQ|j za{-JHz(xt+ln`Ld7rv2O{}e>#UvK^&g#5*D|D{Z%B1S2%+g^-krA1b{mSBJc6_BX4 zyBB_+f!TFwSJ7M@ed`>Sf{7N2PoL|dP4;Ru==V)uHHuSXT1^HpLPKf>W^&&JnJT6_ z^Oe8e-706E#1-SGU&pQ28T59!z6C$gfXJJ0P$&N}qO0Abr|+>7(xa znb2L3KNT7Cf|mqvLzu%0_k7%B9fikN#vF9M^1M46{cV9xp z9>lGGzBQXiF7Il4mw#nUjZ+o+WUBEcX}O137cv*$K;OOTCj4xwmt^K6pdrf+*dr0c z8)x7A*!P_swbh_T8M7-R*Cf|aF%ic-b|m3)?zxK4KON2SF)J~m4!4Tl7S6c(y9d;{ z&HMG3;1;@>=anJCz#oYM&UdQu{_kbwagHS$d7%y%&djBKJO`B$`sLmR#e_2EC9h&#eQewX>c%4zQBw_$ho=T7 z4dX_O9$jolj;t+j*0k4qBjm!HuA&}4{TtPRTAeC2b8Z@as~OgQb!p_0Y;q`hv}6eVD8it-J+sd(sk0@x@;acdBC20S7GE2VD;rF5 zOewOYxhLfJwAb_cKHX@D?Hn3JRYg=1uG9v(N9XT^r0~xDPPs2)Ild5as^6nNx$}93 z)RO$H5eub=9rkK-O8#>iMFq}T(a}yDgmq1-%C*{o1_`g(l6GR9@Q2%?&>|OdOW-`g zpd;vN;_BgMw}GxD^%DB3S_TVboX^~Y@@;(K<_GVEWXxZ6e=faZSkPYO`PJqFL1+p2 zZRPj#>aHlx&e|R=9(#^dcrS0Cwt+EpNPPHGd?VjcNcux0qQu@hyX1~;DX8=4-9Y@9aQ2v_XV9!obh!j`V~6_MLj-w< z^@5n<$O@CUnaaNfjPTw@d%FZTho;p?jND1A+RdF-;ui&dQ}%#rogTl3^dP70Y*ZS{8~5i(Yc>;pM#86bIaF*%@D>;nByv0X?=y2Wn0g zh9=Lac^y=JO$d!%lANT(pq%V{F!!O=``PA6DXG(fRT5KJT)Bdn$aNxBk-5?`sipb) zgVLv=^4LLVp=E^-@4J)J$;#dSm0iKrv`Gs* zU@>5%UmUkBY{+5zAN#VKO%!3Or-Ow0&s@)A0uO>0?1fwaG^0l->z+tt$OlnuYU*3P zca<$piil%|l3N7R-fwwYwQzCger=vtq#f(itHxj4f1bWC;c`EZDm_`)YSh?%kjKqA zv+NGhDg zS3-Zkw}8!_Zp7#}7Du{H+2O{6aSMhPs@%@gw&TmVXh%yh>tJ4!Iq}DD`Une(Zl;cT zoWSY~k<2pth&FR!B&hkYP*SIIjfeC_W^7*P@|o0YeYh1?g#%v<#ygd)em{oo< z?0R8Z&d8Dx#t03Ha2*p%br6C08uG?PhKe#3iw~{S&zq0GNmsi>UUj1QiDOuzSvb$h z8}baw<-RsU6DRp>Js#CJ1s7pbnXG4oi>Djog|en^Pt?@#3Jl5hN?%ZKA8x(Hl@MBp z)(MP3Rlg91Y+BJ^+Q#F=STHpS&|&V08M7$o?$;rwY%|bnZah*TlHF@norfu2U64D_ zS(FodV~s-3ilkYxNq|-c@=+kN0)a_O&m;}X$CmyX! zk>n%vRri-q$wuYG^%bQDi*?~UU?=U?Kd`(PQkDSm&5M=Gnb_ta;$TuMw#|nZ)@1ja zr|0ThQqhpY;5DO%Yo4^@YA+6KXt+>x8nH%UlKz?+9v_;vGHhGb@4aUsxvQdq+qOK4 zk%}sSxXr_j+h&3$BE*&#hue6Ky#yE?+Jxy5_6`k?2`1lW`}nDdzE$ z9yOAB`OK#)85+#D7FmH|W;T@cW9_|*%XTO$0j1FB&ztM@dm+sFva!XiuDkAz>^Do% zlCMfi9fq$MmgpKcMHx2z*`zg#?jt}3A@j)F@rcD>O0ETlN0 zVn@u_CfPK>)}fC?z^o{*rZI#d@HjkkwQHZdUu*q4lPmHhAD-HQI0{A2!ZD{+#eM(F z^uE0Q!$}8Pj@oxm+)>8*DZv}G@qFO~>}mR*`6u1l(iSAkQSEm7=yDhZg3qjeHk?5Duh*AmtiW^UaRedwJv)%a+OB{unt)L z974svVjdUuv%UnB@En~RZ|tc!UUt6i*_En0t&hgejF0oM4ueA#5QWXLwKjG@gKnAk zO})Y;Wq!mW9_L17zZt-6`_clrS9SrS&Prn<h40A=F(lnM`0(|} z<@0}xgw@H)u&#wXc4fi?7YiT9PwcJC%vHBuQ4(IER^-TaBEUy5%%nSu2)Ot2wTJKA zCFPc+Sh8BXE~@QdRcazn)%Yd#g;x&&`Ul|2(j;3=yXhLBfuHXcV|_&zNhyM;sUPVPGE+PwZ`9_g8VI9}GRtft2{d`3h>jdc~#xvs^#TANZ@q^!WuitC#= z=_DU`MyRm!#czT&fc91O<-s9D8*N1G3+q5dXJQJHa(>gel6#jcwQ*uhKCtIN{`M(f zij*vON7e-{+{ZP9o$K;vxXdmxGQH~^stW~0E%#!Ek9FtNZE-y#6*W;CVH*xfCz$l_ zN)LmoqfvF6CmL7UexfLBQ4*Il37m+!>C@gokDWB~Mv5kcFk``s7l5li-OW zdGC)Z&{&r(D|^eXCl;HHH+|sRxk4P+Ka}lQa#~>sU4WbFI49L} zV#&)_8b&Et5B(-KtB3xVSs6g$+SV5}l$eX3eVSb#x}6Ni1?@igtvsrj$7;SR>V2BG3{NAZkWp{=30=jD|tYoGK&Kz>R9z;nGiRzH|B+{!IU2u6BP`C*7N zkYWpgd2-88XD}yPxw}4MJ|L1tsU07e3j#iRBV&nGgIlXpUspYsx!K^6hA3`W=GuqJ z>4IxX5SyJ7*3MJudS;mXim=94#SL#(dAlbd@4OstpjOJ4-L5F$KQb#tr9GYyR@W3> zl0=q-bC(0!MO^80h^1en26o1cSd8i9yOO#irgvN6Z?)U|S9v}gR4Z;U-Rv6yvtDvg z=}+6OWs!R)H(o$hXC4mo?X+xei!l_wrZF(eWE{W~9sKDkABOi=_U+Hly=)TK<(u@Z zMd9P=7TxaL(w1D&aMtYTtjXEu>;CH50N@Frn1s$(-b0OR^DoGQ*0X3<1F8oF#G*F&+mWC)C4p&US@l=N*s|8 zFvaY?px%ocMOqGQs^)^3s%l(NU?lV)2az5U%G`@2AGOMmF%)BM*b&PC0B#*F|oe~DP^`Dz}Znyu}KdJxfV|B+Kng8+s2>#0aU;H;hJ!3u$IJBTjJ_kLy7ht`N Mx0_>bY;%tMKho8`3;+NC literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Robe.png b/packages/client/dist/assets/img/duck/Clothes/Robe.png new file mode 100644 index 0000000000000000000000000000000000000000..b45a496b2cc6392125109368b552c64975d5d2fb GIT binary patch literal 22595 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Silk Robe.png b/packages/client/dist/assets/img/duck/Clothes/Silk Robe.png new file mode 100644 index 0000000000000000000000000000000000000000..f31b97c5899fb77126260aecf183367a3007c7e9 GIT binary patch literal 21406 zcmeI4cT|(hw!pto6_6q#MVcr`5fXZU(4;GfU;{;32%RJndJPuvNK@%uv7l6Gg3Ud{2GbMxL?ciq3p0yOQWoxJH<%~M*b@B|- z%K<58#iy)9gYb|C9XO#}EOnR@ zyOV$UQAgpB&URQAI}Dn4+pmQs#??iUk8iu7pRXU|a>D*>2#x!}4x|Y6u)spa#bD6C zGqOVdw86SMJAUh$6%vYaL^+|*E;!Im{BP~Bwip)-&KC0zP5!L@$A-Z<(bN0c_TTo` z$?0#K#<^&?fe3ye{aZ`i8BZ(e?<}MgK<>)9%ZNgg^*WGZ9A%Dc?Hkgp{+3PI3Wb| zcavZ9{mUCl-NFT>Bmt9<6cvYwN{F8khsleJgFhlLxI7F-&ME%#o~YEg;cWMPAXV$n7T=&wQ|&7V;v zuZD5NID_3nDM=!re^*Ro^)1rmb-lV)MVaR>vS+w^z##*H-^W*F@%jajoxc2kvwh zjzl`!z5l;9@i%V%(v-Fx4vbGvqPPX4_uF1}8g=>4rT?mMwEMOvVJ)0-sO=S}$oH=$ z_j42bxkqi=d|SEl7Rc@0ObNNYAW&8a=$}e|b?c|)4>P;}?*xALPh|ejZMfT_(En~h zeRuUu>z|$AFxD>a7S1SD8!#sRH*5X7*FT&6?j8Z%-u)fz{yY)iOaDAS|BBeZ&L?7f zQw>bdA`!8j`TK=wYv^}SeuHW=!C1BtSD!%>qhbeLO@21B8-juldchg^% zXVG>pN)kU>`>mMBYJ2DXzAc;vlLVBKjI^|*Gy?j2@$VL=>^xA8M(TFp`o(QWrG&K1 z52N2}{?^j?A1#S$epr5=ETRYcx4HaY3Z@HSrULz$s{DDHe=ddpu<&b0|6#|(?sgg> zra@BP!9@}gvBC~6Vj3jn9b6<45i9KABBnu7-oZr@5wXG!E@B!a;n@R~P_%HU|LtSO8$f+%c=s1OSdNI_j!tJUS

A`~4q~5^)^WU07;M{Qg3Jst>(p6b}IJfXrH{ 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Clothes/Studded Leather Armor.png b/packages/client/dist/assets/img/duck/Clothes/Studded Leather Armor.png new file mode 100644 index 0000000000000000000000000000000000000000..b47c60ff4b14349577b70d833f012af6d592ef48 GIT binary patch literal 20663 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 Sp{EzF0o0VPDVEAxhW$SuDE^`V literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Book.png b/packages/client/dist/assets/img/duck/Handheld/Book.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9c627eaf3a96799f2c33e4a6f6be520312ab0a GIT binary patch literal 19720 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 Mz5TkG+774w4`cAp`2YX_ literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Chronicle.png b/packages/client/dist/assets/img/duck/Handheld/Chronicle.png new file mode 100644 index 0000000000000000000000000000000000000000..c89cf9fd3a019d123151d48cdd284b7824d02671 GIT binary patch literal 24365 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 Sp{EzF0o0VPDVEAxhW$SuDE^`V literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Club.png b/packages/client/dist/assets/img/duck/Handheld/Club.png new file mode 100644 index 0000000000000000000000000000000000000000..d9350582cadfa98fa423c21d6974c8cfde80f632 GIT binary patch literal 19692 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�sB!>h91TY8hEKo)w zeTOPjG1+kJ{#)}0UrfF`SP>4`TK5aU9A2{dTjQJeO&}^%qR*?}q6x$wzjw}|(b0~R!q(@mElZc#VW#;n@)v13*W?zDgfFAJF? zxPb*28jV)j`y?%@D=t0Y+_k0y7pJHd@-?$JGVBjm#%aG@wle4=(Tz0_=RW2>V`Ty;e#;b~Gxz;q|4H!QIeqJq4tVkKwoL%& X9T(9mui@JRfDf$UHiN5rP6z)FZqKwv literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Falchion.png b/packages/client/dist/assets/img/duck/Handheld/Falchion.png new file mode 100644 index 0000000000000000000000000000000000000000..490b2db6905c26c0957667b65c7e00ea67a5e71e GIT binary patch literal 17194 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Ghost Wand.png b/packages/client/dist/assets/img/duck/Handheld/Ghost Wand.png new file mode 100644 index 0000000000000000000000000000000000000000..e4934cb14476ddad4c685748a6b347793b0babf4 GIT binary patch literal 20700 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 S=4=E29&mjVy?h;q6aNpZ*h{Sd literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Grave Wand.png b/packages/client/dist/assets/img/duck/Handheld/Grave Wand.png new file mode 100644 index 0000000000000000000000000000000000000000..f2547b78c64baad40d3cd2db91c07c13e04f8919 GIT binary patch literal 20365 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�^@?TM?>6P?G+(E z3V*bz`2AV{SI0VIapWBhjgVG^{I2-7QRGj`48MF(hQJ$Xs|o6As>?wY+wX4b6Iw2!ReoiiO%-_m>^|x5tMVvi8`|pKGkzWw#+TX9Cl-0k69{%s4l-0k6 z{)jYn#Sjp%udV%3OcAwq$@>D;n0(AbBgjMhwdhxGLyQ;N*+K(D-jwlcOARI~_ciF( zn%_nq{$nIX&DY2;2}N-n`E~?0HC}~i&X}G8&qI96)qNG99 zrs1NBh|+H|H-RhX`n2uB& zpDr4j-Nr5?INT)jOjD2t&}CA&3<|RacKll=yyw>Z7Ey@`K*^8wP{Y;D|FY2a1;ayr|CGW@!7ue3M7dUwMFpsIJX}luo zGB36;e0r#XUTv>; zJy1!+CZ&CSNV6mxWRbZ~I6?k@IKoNGma6C1%uoy%~;s}1V| z1wgFeB9I|6icT8Hd^{MdDq@~)0V=JI62~|>(OcKW%5GP{_1DmG@tM@7aI~^@OuXF- z>`r&T88Q-~Cx+K@?#z$sEFj|FprhSiTM`eMn^%nIc5{~Yg(@c!?Ph0ZgL3vTZM_y! zuN>%K@DZXa#2~=v-9LpFG%+{h6a z#!PG-skqyqsm~KMy%KZGdwni&;ebf#Db`ImrsCDb(Xq~g=m!sA{9ZkQwUfFLVpBaq z>*-#!wZR?iL`6l9`OY@SL=P?aH9mQwOux@^`8{3gz1x6{j7Bxg-$El2L3#v4D`E+$;;$#7^yHL#N z^#^-w&h#r|1JLBV&MASEMext%SDH?O7M*Z zj6KPdM}ZPR4UI;BT%K-FXAvq~{!jyAIj*F0(vf+`xf$k%U<<)jmg^D zM}c@@*k>Cn3)-ba^9p?gCzK&+mj;36T0X z0A1dr8IaCTS(%yj3Z7gp946-G_JbVTpC1k4p3-qR6wlboa*E6j;@nlJ09?<>kt2WC zP0BUDScOpk#hKwkdthW_gpR9=G?c)l#jqR;?@#n!B?0_?ACbVu^BRMl1=-p77pE#h_>v0>_C4YWFCKwx2}XM|-q^=7Q8-;c zR&_hCazIkWJvF2&yxVWd1rCR&W@HRpKg(ZT*pt)lO5am7-^D94)%*0UF{7^7`HH@n z-ry|~HsrpY;qalf4s&Sy`=2Kb#%#O5zE>Y;2DQc1tlfQp5@%;Zl6{jU#r`Yu&txSUs*{> zNuh6Uyq&r9(d*;;9G;W&+irDv0Vtd-V}G-kN0v_Aas~#RjsnE&*Pp8gYa^alC- zdWIOZKvxw>xGwBu2fhI`+2)jW-*;*5U1c9p$BMLzKB+8*N$*mk-c_l<@?h|g@7h9N zcQcdiB7sQ6&%A4_eYo(dx%oa}*hr1VXYP&tn``Qb=5h$Vp#>_iu`%LZr7t441IG@u z=eX3YYcD!MbUf=HZnXY?Y+Zr(OIuKY6@bU4jWz>6y+AW>0HjOiBL<2+n z=))Q^a=YMeVXx_rjTCNwkc!~`$n4|(*wq1xZFt;IBzGRf!ok6DJtbu)fUFD?>g{-p z2d~@<3keAc(-X^vFoy6SSh37|=Fe=&qR9>DSaP>+%D6e&l2MahX)mf3ub)o}mS<=Xv9Qmn4;4h!}d%LBZX^NwV+(b1N$Y@`hc{ez|IgrKRPo zSFi3_KRFpFzFHFS=q3W^1D)IpPJ2*ZY-?=tsphmmuy1qp>ei1UDvJCmSy`dvi=45U znU-*PWd~>cz(i?QKsPY-DUQAj2J9{dR7Mg54>tMl>!CXch&RP8S&d!{>tHl=Z!;Ll zrbpCDzkfPoR(3V3;6n|N`Y{1C5|}eHZCTm@db)!MT3t^BJ!lSFeA&etSmI;+Nx&aW wKDZD;|Jw102l#(D9+8{)w~l$>`D-BH@xIfqm<14@zt}`q^Ponin)S*506B~i*8l(j literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Grimoire.png b/packages/client/dist/assets/img/duck/Handheld/Grimoire.png new file mode 100644 index 0000000000000000000000000000000000000000..c4109be451a5f96668a994d9dac6be701f7db38e GIT binary patch literal 19906 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

M0kjZsh#QW8fsvpn49pz~!eiaFKtBq9 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Ancient Helm.png b/packages/client/dist/assets/img/duck/Head/Ancient Helm.png new file mode 100644 index 0000000000000000000000000000000000000000..a476a612cb70e54e96a7655ac018cdea4d335d48 GIT binary patch literal 19029 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Cap.png b/packages/client/dist/assets/img/duck/Head/Cap.png new file mode 100644 index 0000000000000000000000000000000000000000..bcde1b63eb95c4f282ab88bc0c72bffeef13de6b GIT binary patch literal 18297 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 S^ffL3SeULhNjKWG^Zx+#t*f>G literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Crown.png b/packages/client/dist/assets/img/duck/Head/Crown.png new file mode 100644 index 0000000000000000000000000000000000000000..b37f192b94d65a47d28ac9e239b13cc3b56bba93 GIT binary patch literal 20063 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 HM^5}7ar2?A literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Demon Crown.png b/packages/client/dist/assets/img/duck/Head/Demon Crown.png new file mode 100644 index 0000000000000000000000000000000000000000..54320e1e0bd0641db642631c41b70e6e339b2983 GIT binary patch literal 21335 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Divine Hood.png b/packages/client/dist/assets/img/duck/Head/Divine Hood.png new file mode 100644 index 0000000000000000000000000000000000000000..158a9a445509ce5f1a7192bd9c6accc6add67b71 GIT binary patch literal 18890 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 R8Os3hfj6}>$uM#~@PCyE`(Xe8 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Dragon's Crown.png b/packages/client/dist/assets/img/duck/Head/Dragon's Crown.png new file mode 100644 index 0000000000000000000000000000000000000000..e54a14643b82424e6a4c13339e269ffa742a51f1 GIT binary patch literal 19691 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 Nn6{BtzJ|l8{{tx@n>YXf literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Full Helm.png b/packages/client/dist/assets/img/duck/Head/Full Helm.png new file mode 100644 index 0000000000000000000000000000000000000000..823cf89b3feadf90adf690894f573782c3cdfd84 GIT binary patch literal 15517 zcmeI3ZERCj7{|}##W6vN8X>+>i=al^+uN6Iy>^{*1-3{B*$N#fvdit=cJ0fpy|=XM zf=v9NBq~Ou!vVpBfLoiP1{+ach9L%Vk*QdND1sW9PGdtXn}ez_Z$)-9S*a&rj)U`B0?tsa0P7#4xzsqpehpt~7frul1DNB~@O zgYsJhy0*>+pnSgIXp|f6iy2PzYFU@KhS!F@ey9e(QW^HMoSTr<-) zSB2VXvg_>rYQ9ydi3IqDNS%X=xH+>+U1=?`gc)eyI%k&6HY| zlF04~b(J!ps?okwRV@a1l}THw;b=p-s?4mVP3CgF@jjJaN0(AMGesLUI-1d$86B<4 zeALzw7+C_YW~Sb@Ff$zdR-tZ{Wj{kvp-@O0GHAs>3q_mFW=f~0^m+|cXrwlu%!V~S zX>QtN#K*=_9##!wyoU!mOX7wK}R$l8ejc z_=5pYYHBWy;yt{V_sJ5>qYLKwTSZxvTE%gO%yy4EFszB)o*ld3e7)X+Lre04wGcrD zX~9g%(dOr=dR`KP0ghj=7T(I-LU%6<&AH-?a#DK6ojV^E#z|9p(rKxskgkvg-YZib z;8|G=I7HE7O|P=0BM4R1)yk?WQ{C+pd@eC0-D9EhQ*!mrx$!nu=B;|2-k_m%8a?fx zbqr0zpL=!Xj82D`q?LIdcF`p?w~g^gt!YC!>VYWpJ>dRvu`>IQTu?3I9)1n+|3|tFvUTmrcw1pbe zmK!;(Z&YgP38wUAdL8^wwDLETigxFxuDEh4+MS=8%UtFYWUD?iT3$1frJTI!W1#^) zB=FW!lgVJRQ2EXI8B2vQ?`gCNaQ{lms??iGGfDY91v6KSn~C&fGSkIE{-LL8nQn!T z3-C#W%08-$E^~G(OmL99r3p4h?Z_Y~4QxzsVG*GMf(xaAjR`I+B2++dp){~D!G%SH z3J5Ng1~w+Ru!v9r!G+Sm#sn7@5h@_KP#V~n;KCw81q2sL0~-@uSVX9R;6iC&V}c8d z2o(@qC=F~(aA6Ul0)h*rfsF|+EFx4uaG^A?F~NmJgbD~Qlm<2?xUh&&0l|gRz{Ug@ z77;2SxKJ9{nBc-9LIngDN&_1cTv$Y?fZ#%DU}J&{iwG4ETqq4}OmJZlp#p*nrGbqJ zE-WHcKyaZnura}fMT80nE|dl~z9O!Y+{=Hw55Dmig0J?~MT&djYk?}Rrrr)fWF7z= zPXX}fFueW*Ku`z3P!j;mW&mc1FRuPzApn!k)!M2Y;gi3dtn5xK1BcEfk5*O}|M8~A z-}Bnkjk^wAefGvX-~Rk2o2~uVDNMXmdZGI{)3mCFXPz-_G%oz^`qI0Lr}P{Z_V(4> zzH4A=8&$der&I0g2WJd^{o8@Q(66^h$2yK2zhM`c3}%7{l(!uxDwq(brkB=sZCK=f z_N`a@&pYNU7w>cbzUq$^!QkOwdu%Y4jGf&&fAiDrm679~cftNQJwL{044mG5?ebaC z!6=v5*Y95K6d!(Qa#Q=1Ge?Jd9&-kJFCKXBuM1~a&)Lx#J)W2o3%<8(ThzMu$Qw_H z$J#!d{{8eO_gBt!^_SoFoL?Qiw|}5B7T=aw#L4l<yr z+e_nnC!M$$0*j(clA({k9Xd37Ro9+5(dxt-iLzMd`j~b1^HgWD`@C~j@4V~!?>MvL zLR;+c{+3skT)HK(J+UY8>Cg{b5(9~y^vW%J`Z;;$WAXR<_Pc*`p6bzdE&sa6(`V>- z?$KWDvqLY_Co5ZiPJBr-mj{?$=U~!wVx<~wZDI>1B)6X%qj(f`l#(E1Cr006_olfb#f8z}wLO+Ub|pmsr>ZTEvs8~z4I!@1o6 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Great Helm.png b/packages/client/dist/assets/img/duck/Head/Great Helm.png new file mode 100644 index 0000000000000000000000000000000000000000..03cea7cf0d18af8d24faec67fe16978862431fe0 GIT binary patch literal 15486 zcmeI3ZERCj7{?E6Di(&#vdvCXH>!mH?3T%PG+{#ws3%k2L?QYigmV0k$ zHwETflpv63BnT+PL_nAfJ}D5x{NNB5F(JVhd_e-Tz(jmO3<%6~+paz9Iu4qBF*)73 zK0W9E{GW4w=VkZHT~)nc?ij;F0{~!5RifDtGh0Y=@5KAu!|_|eDhk;=s?0Heq2 z?-5|*=KBCBe@OCpHLrUB517CZptY znCh)=)*Y#UO;Tm60&80rc*NFb(dIMFbQ8l6+!1ClXbH ziJ|#K1_ogWhBX!CaXIrMO|mAdP4W;W)7?WBMswnJr)%dNZzzav`F_WY+%fl`EB!9~wkHnfTF2g-AWwr;}KR!VdZpsDMVm>~R_sdF1(41082tXzh z4%nGYBc@ERD!xJv$_g45bQas0T+LWkVx{p_VO0~tBCK*bQA3d=`FO#~HNs*`qq(%q z&zh|zC8Ajn1=d_{X%vcmu#B@=ko%zYLDnu=jOx23W$pWy)>!%=>xGJhPC6loY4p+m z+Y&i!29>ImRJ1-@uyu=8Z{jSgg-Zvv_ICuO#F-Qk6cy?_&SC1`a_K`XeMadyiJi*} zqJEk=MSVj+pPd=dni*C)GnFR&*9lDeW9dWJh&93RjW$%$Dxn(MM3wzoOi}%k!&3}Km99q@O;|!Lybpk0gX#Y%mHU-2DN1>C-q)^PJ_{e zzRbd+7sKg)Q>l1&cIx6Ar{dk&shP}0VM%jZQq{7Wu`K=MO&$xi=q3R=ORd&otDVVi z&d#Wo;xOoSNofD7`l_^8OH)bNJvlQM51EPeq%xC}h5bWM%w@6_-7cUz6()VFGH{yH zTVa@k%q0!8F>XhT;53La#YIGf3n(s}1~I0%h=_0j#f8%##uOJ35iX#(a2mvz;vyo# z1r!%fgBVj>L`1lN;=*YVV~UH22p3RXI1OSar$LMH5|7ekNst$(0#4SFolC|1_E0cf2HK-&udT<$}kX90+^ z0Gw+8fZqVXz4B{IKA8hR-q9-8EKmIS&&Ln0zB_P#=gBYfxe@b5Pa6HY*Sq-ZZFP5? ztbFs)U+2Py-`RTm^}Oe%&maHNMMG7yQ1kAmf+$MUj=%EAxUsA9wVLmq`S6vhNgI|I zl>ZP5d~@bN*<^npwz0?7;8@;}Zv<@sj0B^=a0NGX>f0o3ynbHZxb5tj68EMH&X>WS z!Yy?N>rS-aKVwnIbMLNeb6y06U%h)S9{q^7tUX`Q+kI}|*at!PpWUBbzv%s-YyWmW z=o;0jTzh)?%u6qKwRY^Eap}awu_N~cJG!o%{A}-Z@%tSscJE%aWx}y5$6@~JXrz5% z-P)%*)-HN@XGhoGbvwW9nhFXJ9s20ntqr|z^(?4c>FL?E{n)mp?{`RV2Wq`XC-Lq{ z$3Fk<*V)mnt)&H%cl_YFvwq2`m7NZ-{?zI>u6=dtbf2>M;$ORNJ9c8qxVdY(?`fM> z*lTE565Y4|@$cVTvGd5)L-ST_?z!B4c;Co|2?g~%U58gje>&aw{`twbEI)cl&Rh1& zn5)pY8+ec0(|P35ALqXOy07}F_`<7y)qQcMWkpEoJ^TUajyASGalv-E`EUP^L(xD>=%tBfF9DQH1qZW4r-&D+l5!+f~+K=Sau z|L6a__xCQ`FLzsDz{-geW=;SAO!W8jSqp$28QKAd@#I&8_E;SG^&5>}m<|BPX_j9* zurJ3M0RDVMP$&^9eOrj)DmR%NkHy>!Dh;UyK;&i6$k0TLV8mka3bmNoTzsC%P{_s1 z5O*nCs`17)DEv~j*t*n!AT%`*708)hk_jS%kTg(Xgp6TODb+fmLCm!J3dz{gj4&Bi z36UsfF1Hk9gh~S$-nbTHxVw3-wmmNtFF~~Fs$Bm5) zmn28~ax_U=rFCd>6v3333R4q0GLJKCo@N71;JOX?2qpWvM=VUviB#HGd)V=+RKu3m z5x&VJf?lM46!T3cZ)NUqcTXtd`X^_Alci_Gv110s2x*ocTbgw# z*k(vX-mB1Ci^&LF8-(LZiEWhyzCy_G_O`4lPsYL!g<6j5b&EvE;FSLP?svm{WCSMR zvbj7Kht1-0f;em;heQ4>X7hz?He_N`4)T!Vaz$Lq5D)8`<_TaANIBSp+&^*|A^Sxx zuom)>qrx~`tCA5Cg-RBWAsThO2j;?| z#r%CFWP_VRAs2E50#BZR2Rf?kJxp=X(fv9`I(#W(r%(COe%vW2k?-1)dqbxbrohy`~meWjvS~dhG7a;>$`-jz+*_)>LUnkJ! z52cS>L%#u2ziva>tgNb$O>}r1p_gf~D1z=^Q64xFD? zD|YC7iY$kkkX#GoxMbEj;E0eRZT*#P`cTW9DwC{wPcECh5RT=uHx=$4oErA}RJeO^ zYJX<1T0uy-z10RaLs^!S*LEzdBOekliHEy8&s~HJZXTQws4!s4P#*=ke|45s$#wVW zO&Z)YY-ZSqnNUw}rfssIf9Te^w6&6t3*?gu()Xw`aGLwJ!YBv*w=~MeupM0lra>9g zxF`|90vZ=ggEFRZQ6ho`G%lD1WlZCuL<9?HTrdsFn8rnk2o}(|U>cM$jf)ZyETD10 zG$>;l7bPNCK;wdGP{uSaN<^@L#s$-$jA>kyh+qMY3#LIC)3_)R!2%i=OoK9}aZw_I z1vD<024zg+qC^A>Xk0K2%9zGQi3k?ZxL_KTF^!875iFo_!89mi8W$xZSU}@~X;8*A zE=okOfW`&Wpp0o;l!#yfjSHqh8Pm8Z5y1i)7fgdPrg2dsf(0}#mHL-6tiXbp)H>hQ_W6k zu4gZ6Klz|oa$4{?)(RB8HT6s$M^}RVczjc}_6#1K~<}X+bp{$!kU_Ig`L@cF#%p#4~m!-b!;>#Mfzack7SWA3QjF>7n}p5SR|eElay z=G2PsW_({0E)q3Hg6!$uTEgPV<)^}6yj(-)@PD08mag$TT-kB;U) zs|iSdP%nGwYHx3!@AMpN&o(BSm7ittvd_mXFLg=2qv>fa7S!b!t5&+)Sg>GzeL-nL zU3qH9U5^}nZOh(gg$;Id9WF#Q{ma;_ynC~wt2xj2!+reD|2#N1x#@9M$x+ie;@YCZ z3Q2p7&RwrAJ8-W(`#`#T>yxO=JyWNG?w)r;#SuxD9+$bt2bi3Y1Dyvq87obm=hM1h zNQyS4h+BQivO~7I+?=;3^44_oeTk?k@$B=n;}{^VV3jGi_~G9U6t$JlUw=HI%g32mnTJ^%C9o5ueuX@Fw&fBGOK2}>QmZ%Q6F&RXtgOiC{lBA;_%*ea_UG#H)OOR*CQC3ZQPxonEe0s{`ET={hy6H@s z>*f=s`lrW=j+AuSCzn=CCx>l!>Wq`ul`gbBsPNN$o>Yv9% zubmyi%Bx+!8N0UejS$^-#}I&jzBmIl&Na>IDOHpfHq5)|S=gZZsdVINrd@yvHKuRN$qw!6T~xUtc{y}G2cZpRoqXYu_xOKv-lvuCF^ z?bkYL{<)C>4m~QVkIroOwsf=7^SVW$_wVzkWZdB5*ADkYTU)<2hGn)lUVaa3-#vNa z?(@0H&TrVW!zGf??ynY-${!07o;QB%#hx@a=7ftVv^M-@3EyxyZf41epUy5n6WQHn ze9oS7Y8)5~rhsLZx2Q)YSO&I_juAYdQ5xI-sbv(}^Cq~=Y$`cj?kEK0F5r7Q(M*J@44y z*LU0*J4FB%$IHJ_p#GQ30Z3WH=jKcK<{vW_!Kr4g!Y)qjbGo4#0K-O~o3)g1l42KE z#JkdzqwO6^1#eAL=IPC}*=^#A`HTt=ms63IYpE!)q*|35jj;wF0}Y&<#43DFhf8F9 zY07{v17o?FQYr!xsU%IgNghylIpBlSI*} zlqOL{YZy9}p*4!or8LIE$l$Tsm~H7#gocBEr74Rg$<0ud*Xvb#b!x#=L}^k}Qz=?Y zX|*b-P>JO(iS?;m;^RS+NuP91w0L;8#0xHk?91*F%A_=F=fH4H%;xae zv(DG)oONhX+PoVg2qB#{Q_L-QbJR9Y6v{jnZu4$w06El>)<6*9nkWlSE9l>|?&AUKS{D$AZks4$u2s!CS;Adh!h1+SQ3pdwSI)_cm0 zOJ^m{sHL?!m4;SnHMts^(P-e$Iy!}+X~ZO`jPNiER^C=V!y{1BdOhlaC?h@K{;{$W z`;A;sE#hOfFgC&CWF;f-WQ#b;?J6=*Q;mo+Tvd!oa0nhaEzYPjP_s27S%FGpGF_s? zx-48~x)C<0dEUxc5|e0~ZdbA@DOsNaKN4A0iVea{(WcmvZJb7{OJ)NQ&1N)xhIP7N zDU)|g$l7|J)=2sc>#ZIho^-4O(a5vE-yvqPnK4ubFT(mPN9q< zz?tM`Jt8OXxHRSDmJ1(Z;WJ9k3G7^kwaBNL(IRgM&T62hwN6bdoEb{v|JMZ!`XlLc zkKrxmT=&{gL92jjZWB?kNnX~&Z7PB_@lE!6&~^2r-K7INT20%uIp>vehq71+&#x^qm6{`WL*$cq<1pK}VKp72yzYqZCO#qe&uRhoH1OU+undzHyedqpl zu6N(hIna4+w0Y1zXurAmfI?Ll+qL(_!swyX>c`f{)Lr@B4(W=2^$XX}u8KKfU3zHb zfs9v~@2_B@|D14YUv$0IUf0}yVnZKW^v4CO8>EKbMGJ>6yj8xW_p{2&<%hl9FMYyx zPV}`Uz&9SF!BX%;`PIjH3FgD8x#z`%wyN&#?z{Wh<9Ww(pUaJ_HO23LsB@yTr~g;} zKL2a}Z|9uSS0{{jx2;-NGuUMAud^Rxo;q|yy)6v{_SQRFd%s$~q;^qH zqB`o0-#yDBaAvn#NL}1?(W?Z<<6`H>n)EqJ+?i*ukXm5(N1_pL4IIdbH}os36+Qt|ep!_|%N`aeq( zq}zu+-g0rGum=bXQF0^;Xx_!u~sB1@_Wq?#=q;KmE16@}o74 zCH*&Y*VWrAKRC9sr1apwfAPRZ|KLII&xW?Eh89%%kFFY~N|y~+WZfJXIAgEwzx_|^ zap&Mrea|!XRl~p8;T#w^-TsCCeVh4We0-d`C;82fKkw@M?FrvMF59Y^bHnG~&8jSG zd9C(tOYf~6W0%gZJhOH|OXat+$I8cUZ=}y(^LP0>znqYaA3nT$zwjqx=kuzeTN4`| zes7QJ?uy}>tAB_c?r2@mW;i+0)c(vz8(K;~c#UPf2g{`(2P^^GE%@sj|ce{IU?JalLmR@Tcy|%U`6eW@E?zCNccYEw^ zxoab#kzf$t0z~5r1d(W@5@Jv>0b}h4H4Rbx;s=R|(Wr@FqKQUm5bNyS_3r8Q%7D3# zvuW?1&itSM%>JI4>3-Q~I@%suR=K(oA+)TuCDMsd1qmzAlEvg}oAFK``C6K6*=izm zN0t3sfnGbZ3ZdF{T6d4t6MaNd^tek_^Zl7>2GbHTh+|9U((zcrl+qzb##bV--OM|< zjKmrYIU4K%xt?eT*Qgtq^SS&^MfB8iH366C3)H&34{~ln^z%Z17rjnFl!SmJh+OV+ zgeyrDG}Jz+Gt!(Jj{FsJ3|LlD;`vl6OIT?9c6X~|5p zdpL>tPHgH!hJu@Rkz1)Qb@!ImS18UbC%b3fx#P4pPnzA6P0K8WY=wg4UZq9@%a(3* z>v}AlU1c3J2)V{adsWqN_ixb>s-7|*2=c`#g?bmAM?pX ze~>RU0%d+xNsW3;H^{Vb*c0SSHG{0oN|Ra>rX?p7+!_g!2A8I(lBxy-5xYfajp$XJ zH36^3S*v)x&R#6m`h3{eTdNTFIq7q(Bf2tV@0OgkdYjfDeU5dzp^=kLjscB5``aC& zgw33xS~Qca&tb4`$?DCVWnFmZ?ADo%n3g${lCoi9d&h+wGg~fyh~>{HJ14VqC0Vgg zv#?@s2&@MAS*?X>+W#$J)*qzLKSpW*CvLW(vQ`<@{3fQ}XQgBVH}sP=aVvX0 z>pDBF*gnYHr+-YFU5IS!?E1{C*tzu#+J~A%)&iNAoT-5r%M$YPc?3%`gGWr^~ zKrUXiKXa+DyEt|0%~N4_acUuRb3(Ji?%Zfa%^=G@d9%kt7kNm)VZYDk@df$f=HiSF zEsbM65smC$(_WQspFfvW+*2}h>%5tuCzqKm7Wjvrsb#j6JT8zY6+Zu{GP}(Atx)Em za7$%2hIVWaNP`+PTvS9*z;Hnt)R^I-B7y>j3(}y*3>Os<6fj(n1~q25sED9|;es@% zF~dbg1O*Hiq(O}tE-E4@V7MR+YRqs^5kUdN1!+)YhKq^_3K%X(gBmkjR76m~a6uZ> znBk%#f&zvM(xAo+7Zni{FkFxZHDIYL5&$MDk3OgxF8K` z%y3Z=K>@=BX;5Q^i;4&e7%oVI8Z%r}L{PwRK^oMU;i4jf0)`9HpvDXr6%iCLT#yDe zzA3KC!pna+LEiXFkyrbwC*Hb1UJK-umd+?bBljURx)-6TY4ZImLPG*Vm$xG%y@Jq6 z{m>JiH6yfeU2CMFJALW5OXIFZkFNUshpSafKRSM*>iM?go6l7qZEL&`9a!<^&Xqfk zs%w_-+rR0@#X{x#lg&MA_Njjd+t0juW6SRTi~9P*Cr@8l@PRh5q~3m|aS^%;l`ANp z)69%UD^8ASFTON(?$p?cvB$j5zMsEvKlyNL^NpP~laC)#l!?3R*W7vi%eu2W)-I{v zcy|2bPkhT4y>Sm;b@ABYBdeD#`1*xs|4koLH%y*5D7<_5+*d1}ey?M5-EQl!%1?fC zZQ0-f&!|7RHgN2_e>n7~?wsrzpK5<@@3?XAr^!?6zimHr@TbsZ!y%6{;T!dzuGn_< z^=aRv5!SCwz3gj3zwl^dtN;3*8|Ss}KYV)$`eVb&iiYwttuAww>dRK|nJN)O5SDAY kw`n=L=P&Y-?)3CRq#W?1rmpN?fXLO_)D}6tY5P literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Linen Hood.png b/packages/client/dist/assets/img/duck/Head/Linen Hood.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0aec4136fb4056960407f39a03b4db72ed1708 GIT binary patch literal 16144 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/Silk Hood.png b/packages/client/dist/assets/img/duck/Head/Silk Hood.png new file mode 100644 index 0000000000000000000000000000000000000000..f1357b42021cd8dfae3fe9f82a7608e5e9bfd3aa GIT binary patch literal 15600 zcmeI3e{37&8OL9jP)bTf*qGX;Kjs?2hC1i&?AWmn$6XqSCbUkw#92}`WnAsEbEO(m0`mI8&GN7~63MglTa17KSpkvaD+UeWI4 zeS%n`8$15CPAhmybaf^t?Uc*-Mxi1aqL!ObYT^Q=wV!W{ehXv9*vfSuKX5A88FVW2R^; z#T4mjhNZ16&1h4X&YlY+ThQZWs~z{IhJ$~V=o%G8W+^Hh4i|=vg;LN*F;=UUq79V6 zpoa>5s6|w`h+Yicku;h1aquB`P>>Zt61A!?w^M3TN_0APp!AixuYjB$NDQUeL5fs_ zlPRW;*WD|EH?uf1oYbCq=gvojdD7IL zWLlyWk}G6`_sW(9c}|gnE=ls+lU25L8lkqVOs%S7?GNh&(IbUJciX7!l+1c(+;|74 z@OA@jFzOjvZ(v*u%`y!9Sw~w~nnp~L$}A73nMOpJt}3=n@=HNDE#7XlQFApTS&2$xE5(q)iEh5q zVTTQcg5Y62UNg@W8H@BrBhTrLrXs7}%9zc1v)OI7xD6K0>M2S+qF~C?(Eb|X00eFc0+2k ztY#!jJ$aMILJfRK;O%CU$!M}s+0EG*TZIVkuXhM=|Ay46G?>h(r0kwKGq=r~iS(p0 zlZ%D?Lr<(_vK2lqz$XcO7fJ&g6I@tCsDR)?X<%c53yTO95L_q?Y)o)r5upNt3#EaL2`(%mR6uZ{G_Wzj zg++u42riTcHYT{Rh)@B+h0?&r1Q!+&Dj>K}8rYcN!XiQi1Q$vJ8xveuM5ut^LTO-Q zf(wfX6%bq~4QxzsVG*GMf(xaAjR`I+B2++dp)|1ZHF4!;UjE}n_{LutzS?*E@!J{r zTA8`EHNA zl)mSoq4u}WXjUEi#k;jq?XlRh{dt<6Rln&x)HxPw-_m@;m$5A|->+}d^fa71Z0|aE zr1eER{hiahF0TFH#%+)M)7Lh5w0i&d*|+L;bhcW0UwZkik2I&e##lK1dG9+z&ko%= zPzt$%_8-+#a8^ZBBYK*7zHEB1es{c-8h{P@(`^PT-q)js+6 z7xwMjxAEM|Jv|>yO||y_`~>|8y<-@7PcE(9v}sd&?^hif%lMlQt_4q>x^Usb7nff8 z^Dn`v-;H%%y?XV)=DXStzPTsfIxrrIe$@pvuU_gLIvE=o8QEARiej^(xSCwMxrQZu z{;zvK?tY`?ig)G8m8;jRX_n>pCnuxZw{P#zKmE|6)1TI~J$5vIFkW;1z1WAb?uM54 z#|H)mF2DX>$KVmF8N7OVV(4#Q{B_U2KaI=L@x812hDX7g*M73w)%(fb_>C5R_ib%w zZtZ*K2qkLLMRYy&)ONC9g=P`>?-l7WZuw@-@WPg6{(==bvRRPudhQ&Z+I3k@J-Z&h e!W@s^04`SjHhj4Ir^f)iD$A=J-5VbG)&Bq#_ua|> literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Head/War Cap.png b/packages/client/dist/assets/img/duck/Head/War Cap.png new file mode 100644 index 0000000000000000000000000000000000000000..574ac1b9657fcc263a99019c60f72cfca47e3656 GIT binary patch literal 15906 zcmeI3ZB!Fi8pm(cwFa5JE->P*7oQfP;a=D#c+kz${57CKKM2 zms5AQZaKm^t-H0NYkOQ3iKwkT?pCW{TbI+d;5jW(4~p2b>M>YbmqtaD>`W5FC4kdz z{jeWq4kQov{-6K7^Ly^S%$NC7R>qQ<5l=(_0A{AArDg*lVnY#_HkJKaX>TfIzoy&L zmOB85e2n`Qfz4Zf4M5y;l-|e~buVKCZIR(7x`33GTWqWvfcV668%~svjJSX-qO1v$ z?+&+0#FQyPVo>SiI$H`^Or=%Y$z_!pdZMy~(3m8N+KBjaj5V;33@$FWn5_=1JVE03 z#n_l@MkHdtgeggoBy$6bjk+vx3T-FFDp{Ubt#a?dA~bP#sR#!$3X%=zL4w3A7YNVtJQSMa_pw$MOUN01#$5h=%Q z2r82!<0YAhP>#)MH~Xh%A`sF{T1YG7VDr#%^K8X5LpzG;35E=HPdG4J6P+$J_PF!4 zSjHXN!7M6e5d@Kro9WP3*hnOsbkI&aK`ts~Z{?Zs?w+9vM~XAbiR+ng?qoSNK^oT+ zNb@g+K!xJjd&N@hB+k%wJx!anfmN1u51}|Eg

@e2mZYNE>=FUBL`DI@hBaU)Z4 zhSVzL3Z)d4OBJXdm18K%{>+!hVRAWS5>SSD=x7sFSTV-KzouhUum_|J_h9#r31{#h zDpyD~s8U0i;*^R44eE!e)4}OutW#;i z$?cY)wdp5XL+N9zGwl?6(&1)E!_EGu4l$0+n4!`r2fIEipmocxUjJFPj9fjs^E+z3z;(9P9_(zYvRZ3^?>W>v~c@)gggDs)aXJ4T1VIC-ijSt z&v@=o!`QXJ&I|X~fL-2W+D1kW=#5-W%}&2wt&p=9f^wh1RJc1lb@}~M;qLI%k<1(` z#b_15(ZZUcEbinD91F|XhXhg^t5PXd@kn@cct#dgPMVFW6uW;N+^STlVuMNHJ>zCB zpD+{Z31$Y01^q+!*D}z`J}$6NDoE&2WptTCTj2o*Be(Q`jbS@s5SRvUEa2ir1PcUQ zFb&>Vz{QIQ76`at8oaT9ix&|r5OBdXcw+$1=HY-1zfy{ zV1a-OrokHvxOfr40s$9HgEtm%@gjl+0xp;aZ!F;AMFa~3TrdsZSir@L2o?yqU>dx! zfQuIqED&(PGM*>0I1qYNZAGGve zt!<5-@#&U^n@@IrI#jdmX2on}MTe>?RcQ&PA5BS<| z9Amy|@_c@=v3h0Rb6{HA?TEG<_wjkI5|^X-a&w}gAzI!4hs=}RrM=lF@45~e_O)Pl z=smH9=w|Io%kGRPBB#?i&*wJCT2GPg%$?LL3T#^2@XWS9dJcKcH4nJ*b9_%NyoNuI zbX7!pdp&O*7#{A4I`YFeU0?pA=Doo;zD{;O(pTL2Ret;DJ{57fhPc>YU9x#+$%a|3 zk0SP$9@Y1pS^NIp#nXpl>d&_uRwSzXHy!W(zN_n#gS&NScg1dqs>T;g{n!|l8}(}5 z^1DYX3od?Gv#W74BL8blhPrLWs>BXZ9e3k&vuxkB-PYcY$qi>#F1gm!arUxnZJj&Y zndWt`K4e?vydGC&ytvIB)wlQYMs?>V(VipgT=}^xW;b;( z>ejZu>>E7NwKn;C+I_;^*fD3QGkV_b#oi15IniURs>(e7_UgsplnfN*{{86LzWOKY zChaohmsCIP`}3u`s@Lls!#gg`AKviJC#TT%=-ic;=YT1zs-|2x=Q(}&qy8%%@1?q% zjb%rOrQQzDLbu2rIWRZnb;Hg2gsQh6yRB|dy`c7;98z>nYwMnJ;hJZD-^oT-ziY@< z)NZNkm~%ICcjw-Wp22f{OEd@dtx;=kIp?cu4Bl@ad20#~8EZth^v)}1meXg}?b?!c z_uWJLJ=;54=dJDiSG(C&-F-*ldlluJTSQkk^lZiM?6_Uw^scGO|L0thu~*cDZ9nwx zVA&dL$??}(*}c}L{kKo_^S4RZ#uWqYq=!Kg_bT%g@SuVR=MQ0t+HZN=}t^M43ZDas|Nk&~sQQvoVCx$bXq8#;liGQ*GFrRnp$NLyUcVAe2 z3|CA!m?Vb8J!U>4f-}l>HGBRVVf0eg^9jsa#}#U+t)jqVnzOlP~5?cB5kP z0I(QM3kLuq+#bOI0K-jexbgqARKS_0#0>~;;9~f{zl3ccwB0XbAf&ik^xdkv{?f^* z-JfKelTXpO?Dn>ZC0FDw&FQB~{&umdFzr{b*!ayG(>XXf-GtcyuczML;z3utH5L91 zCG8&~j7l087t+|yC;0gIwLI*A*WafmFISWgsY8BLwh%iSR)huy zu2K)${(Np}$(|$S6{Df4xppn^HS0$UsoA}^)s?qgoMMs4S3F<~m6nco#WTHGsQ0RJn0%@x|EQ+tzePzEE^-whQmvh zm6bnc&CE6WdHk9W#b5&Yd3bs;cS+d*p<3Xi|CV{hdbnL)P?~A=Ta(RL-(Ep(?jE-x z$GJccBf^B30POYI=b)?8u9_}VrpO0?D`?9O(n=ljC$RSlz3I`$b>7Vy^7a0`d-mT< ze~p>@F5{PS5lA@ATAQ;-4q6iY_qLjVIMFE7d|mkyMa580LI)Dk_r0{n>i#tB5P*O# zpM105;kPxhU1?=auOtI(>A3ns5v$s1x@c;KTFzr$y&z^M|KlogmBe0@2&wRpp$SJK1cL1Kva zmLME}N#%cM2f7njK4}Uzr3y5kzs?l0d{TG4jSI`S$==82-i^mY((!uctjtj*p#W@l z!~N&*V9pKh6Z6L_6Brhq`In0mi`6zlRxuquZIy8aKw)=$;qT5F+55uPW~!s5HHxYN zN9qn{u!aDhK7a%hV;<6Ej^tcmHLy2J@F0%n7G}f?$q6M zdbdka zmaz8Y3wuH_YMd7G5D^TvExO>xxHPxGCxP9tll_!trJf6rQ z*OCfeMO4JE<3;l%fAh~Z8Rl!%z8dJ|^{TU!`J@C{2(yt_X#d3i<_+` z%ExMH<}0z^eik`|t*Gpexc|`176a=D$hj{ro+jnBWu5J<&k4dowLqBk#63A8(yCF5 zinyelrWY}fwniSL&nm+;XFZH(bS*>foQk%@pshKwpR1`*e0$k2MWuth#hg_1o_dNz zivR>vgx6r)`~>TFk7CRG-okeN+SS06)gmJwH2EgUov)?V9Ut>8^!2Iiw+AD`skyXA zLh%Tp?7)ucz5HG_pw+9#L`t5OREwG3Aoyq)W`_-bi$)WwZgwIPrL)0f@b#e@@s>$R zWU->%av|q~*-!t39?e_HT<_OOeYidMj*`|;1VfjD4S$q@p1E3+I`p*65;(ZY=u$K^ zOdD^p_VldEcGa&^{HX{i3@*!HbdD9v4z97mL7r>PA(iolE`5co@E1K*lpWF18~V$l z&=;T-AA(G8!fK`Qe)_WGH2~mm>mPbA{V&4;9CSEKL0^8hxeA-uG3x%Y~Tw zvy)X~C>ofD{tUMP>v>Xkw<21y5PeT>NihV$xK4e&H zADPx+4btxF!lFIPOK15D=;R~so9<0?&kxSj5Zfn7bO#8;ddiZ*sei(HY>a!x_E3Lf zr@aOdPgS)nR`ZXr_>z*x#d}lj zIIV3+=1$ef8Lfw(VMGspSf?6OE^Gv11MX7zFxRD}ISJmcE3x}Evj1+k%6gYL^GuoG zPi(&yXmjp+1@+jh0&~6;?@6m7SiJ zJng5+&709LGdorbZ8QLoE1~-Y**QYT*bvCsjT0+Jhc@216hHZP;)Agz8T0A60nvEN*>&--U;t|D$G{VYxx(bB!3$ z+lO}}Qn+;bupR1}F)=Z5HK@@ijy5$(xtFUx_aVHg+^s<{z?T`TdU@-T#bM^HK?mwA zf}efk!R15F5lY|`oAt=i5G7$P@p^meo5->n4qtiL*z)^QNU}SUwwZ7xxku?flZ10> zujYAn3OuR#X7u@=AdOp#96_*VQ&s@RVs4|CLWD zoa;{%1*?D~TOh6||3GI@;!An{rTqMS%wpnw^vm#&Q_B~2JI z#^o0yINtJRvC(gA(zxD}2d*F*JRkrroKH)Ck8p{gl>pTeKX^t&dwAUKZFpfYA#0Dz5{^kUcuuK3$ICo zi9%)4#7h(ggRvfcVXnd~KJdIU{Y*NL`z>Q8D;T+ZkkBS6C-m{`RB~lyW!0f=AVYL8 zfZ3KLAX>Ni78uz%-)A9tP+A~>t^4q1yksRRwsBD#Q{Yd$gxQ&ZI;ziPlN~qVZux(d^&j|M=&xY-*u3!N4fp zQF<^E-}Q}K#@SrT)J;x-CS2f$b$xVX5eWiJ1S=I8sJ#d{+uJ>%Lrs~veB_0YkVmD5 zn?b!L!02mm@DTK#QkZCwNf0UtfOS$xuU zRFN?XfJ~&)CgJa{zGqGO?l^Y#kA`>g5E595P=b-Cl~(2@bC$nkstSY4q)HycC~f}9@2m?#{~jgE-?UEF0yZ`_U6!FZA6*@5xe0Kq zUg!l9V{L1jiJwntgiFKT*ZV;tx@p7UjVMiM*1Co^=}*)bobPS;Go6G`>0#$?*&qS! z94VVSFq)^5Ae=#-JEsDyMa9LVUku7!m4_5HG-7B#op+#AxWrUW&=0v2FuRglyxBF~ zB;cMx{U?s$?S=;+x^5&%J@T#G#VR%Gptds4RT+nUkd1~EM`$*PFx75jD5om8302S% zidI*^C51ki>QsdFt9erXYk zMiz13%xcEU5zP+Sd(@}m&Nw%?IuZozT2rY6ag9$&XDnU7S|m3gUl9&}&2Gxi%PVE( zamm!#5Zas!Tg{R8-Z8#JhEp`|amb)Yo>sjXe}M9=t4wrr#QkrPlMeS3aM&m2zN&_6 zI5MU&hs=~GE3tx%r2&yzzxhF+1Mx*_Zv>h&CYI;%;|v@j+&BzDXSp=1pDl&7xMd<# zo^rWK<1{53MJ%Yh^9C|#Wr!#XP-S9XC$7XxEanSab{ep-V~>(-w4S>Bc|ZLN_A%UhyRNEgw@;<>4uV4$n*y@nJ@a?S z(aVn$aNW)P`5g)um7fwY9CX1%U2BEtx-f!yu9YL_hbWuQY%(VC+BH`6s48pkZDc=O zP@=ihZ`7Iclst2;v(f_JW3k$4ZYn9$gL#wMYKPAeSDkQiyQ-R)&>v)(sd32@cbMQF zJiq=Jq-rp5#(MiU$1(Rx^Vj-i4&O8&X^U?^UHZ9_Qp9NwXQDkJIkSBdi-o7@F3#HI zlc!GyS@OyYWwa*Mj>$kU+yTMRh{X)tmK{m%-OpcRzu$D0n+As)?XzHUZcN}9(LMYx z?Rt4BtojW@tPmVhgCw)IBZ3SH!rwT}Rwd`SoNP^+8X6krkRMz4Z{GjrveZl~Ez2Zm z8F$Zsi3+THW!pCNBlCOEmAA&TXP)mYyz(p6+oMQ+W`wlb^aPx2DXXiiA1#ryNa-3I zr)$ckQhWbUt1$VgVk-?SYDtk2sFfA#(iMl!wzjsl-=WhRb-|&oJgZ|Y@}U$gQc9mc ze-^PC#x+Yk($Wn-5|^0?%O`%^ZFpGx=(>XqnCvEmw{9Z`>X=oRM7|_bEKCZ9nVY4k zb9oG-ThM6FH<*cv_md9A`T67J?U(CL_*W^{_Xti5sxe;sup&IhiNT#&O$a+h@~`4q zWJTsOFqFTWJ2(F9XJvtU^erNC3Mpz0P$UX)w`y!xTaT({F@L%iRI}K_!&#!p$+J7l zI_lNq%+y0@GE&i|_DZt}j4k=Tq_(7!zF>&|`2433JGUX};EmV<=9p{b7Eb8w7F&=i zi{SR?b$H?5f~-ucKa&G3^toqmS?q&@1i9qjEy<@-`2Qw+-q$R1>CnJgmWUTDp3j4e zrE^9_)Z*Z|bs$#la`@%9)qzHHw}g>@FTx|<9e zSQ9aPoO>*X?TfUh_W~|1HAx@*-c0c*E-8~`Cpa7hrOu2|Elg*jjYGHCFvORl zte!E%`6?iBQ}hBc%1-7O%by7W16y6w8#HY#Buti`JqC%@pFT^(Dk@l-Tnr(gKyD?| z;-K&umws5qm-P)fj<5Kv7%zLh%U~Y?n>m&?WyE;KApr~k=sIL2)V;*^&Ql^EB@i7J zaJe{XGue9Q7gbm)`4#)yNmxC9paSZsPm4WgF^M1ESM`4j`sKW$;{#>TMj*VuULCiI zh&}JXPloONv4sl+r z+{%%+&Fct;lf>>}hg~eQXR7S+ zK_`?=2Q~yv;uW+nXPc7)XZO{6OG6L?`4l0Kl^OnggrIgMc`3T}#~dm2nekoUh3L=V zMUg&!^NL1R*7VjBcMbbB!|ufpZS70W%v)dp+U>ly&(v+QC8tjFp96@7b||-JFL1AECW6Qk@Mr!AXF7qMu4G>$S_j zbJ2iE^1eNMJ5ol?OA;`aD}i|xoSmJLhr(lajLfmZ+pHV?E>>20aEC-=t+9Rm>BT*{ zao=7EdjVYY$XZ)Su)myVwS_U87@uQK?mh%JV)M8TPrr~aLW#*j5=oQOG)EZd)>O~X ziG@7jS-L{QqVz0_4h8Xq$MNtt5k2xaEk*+jKEWKa(ypECkKbJ{dKXBLP#hNQxrKVF zE)mr~mpNoQTrY?zCoSxE(eb#2^;-{N&BWE1twj11M9B7IjGK9TgW61>Wpxt3+bMBa zN*TiY>-|AWN1!(2*e?UhM`ULyBB=ALBI}UapktiJg9=k@BDY{;V}xO&dA(1W@QGmEQDFY;@aT{}PBt z;UXQZXgn=gV>8}j$o%O|@AoPvBZ0x|6$;bF(+I!hR|%CHZYB$m2{lB9+oq$$yN-~@ zLreQ$1gbF%x}-@;T06~JCT zJl~NikXTCRJ-5^mpxv$`m~ldWm2Zm6o2FA%PWOh9>UN)BT=?n9UQU0M9{GUwv~Y|J zQZXoJG2Vs{5~d8=c4(Q9@!dUulpEDTs~4QRBkj3wp6ODW@DVBEFcJ_TTK|8)&iS8f kBna?-dc!n*j0N8UYT~9-zbtK{aJ~cT%Gyd5PhN%n7YTy9f&c&j literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/index-02eecd08.js b/packages/client/dist/assets/index-02eecd08.js new file mode 100644 index 00000000..80fbaa8b --- /dev/null +++ b/packages/client/dist/assets/index-02eecd08.js @@ -0,0 +1,333 @@ +function _mergeNamespaces(_e,et){for(var tt=0;ttrt[nt]})}}}return Object.freeze(Object.defineProperty(_e,Symbol.toStringTag,{value:"Module"}))}(function(){const et=document.createElement("link").relList;if(et&&et.supports&&et.supports("modulepreload"))return;for(const nt of document.querySelectorAll('link[rel="modulepreload"]'))rt(nt);new MutationObserver(nt=>{for(const it of nt)if(it.type==="childList")for(const at of it.addedNodes)at.tagName==="LINK"&&at.rel==="modulepreload"&&rt(at)}).observe(document,{childList:!0,subtree:!0});function tt(nt){const it={};return nt.integrity&&(it.integrity=nt.integrity),nt.referrerPolicy&&(it.referrerPolicy=nt.referrerPolicy),nt.crossOrigin==="use-credentials"?it.credentials="include":nt.crossOrigin==="anonymous"?it.credentials="omit":it.credentials="same-origin",it}function rt(nt){if(nt.ep)return;nt.ep=!0;const it=tt(nt);fetch(nt.href,it)}})();const scriptRel="modulepreload",assetsURL=function(_e){return"/"+_e},seen={},__vitePreload=function(et,tt,rt){if(!tt||tt.length===0)return et();const nt=document.getElementsByTagName("link");return Promise.all(tt.map(it=>{if(it=assetsURL(it),it in seen)return;seen[it]=!0;const at=it.endsWith(".css"),st=at?'[rel="stylesheet"]':"";if(!!rt)for(let ht=nt.length-1;ht>=0;ht--){const pt=nt[ht];if(pt.href===it&&(!at||pt.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${it}"]${st}`))return;const dt=document.createElement("link");if(dt.rel=at?"stylesheet":scriptRel,at||(dt.as="script",dt.crossOrigin=""),dt.href=it,document.head.appendChild(dt),at)return new Promise((ht,pt)=>{dt.addEventListener("load",ht),dt.addEventListener("error",()=>pt(new Error(`Unable to preload CSS for ${it}`)))})})).then(()=>et()).catch(it=>{const at=new Event("vite:preloadError",{cancelable:!0});if(at.payload=it,window.dispatchEvent(at),!at.defaultPrevented)throw it})};var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(_e){return _e&&_e.__esModule&&Object.prototype.hasOwnProperty.call(_e,"default")?_e.default:_e}function getAugmentedNamespace(_e){if(_e.__esModule)return _e;var et=_e.default;if(typeof et=="function"){var tt=function rt(){return this instanceof rt?Reflect.construct(et,arguments,this.constructor):et.apply(this,arguments)};tt.prototype=et.prototype}else tt={};return Object.defineProperty(tt,"__esModule",{value:!0}),Object.keys(_e).forEach(function(rt){var nt=Object.getOwnPropertyDescriptor(_e,rt);Object.defineProperty(tt,rt,nt.get?nt:{enumerable:!0,get:function(){return _e[rt]}})}),tt}var jsxRuntime={exports:{}},reactJsxRuntime_production_min={},react={exports:{}},react_production_min={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var l$5=Symbol.for("react.element"),n$4=Symbol.for("react.portal"),p$6=Symbol.for("react.fragment"),q$5=Symbol.for("react.strict_mode"),r$6=Symbol.for("react.profiler"),t$5=Symbol.for("react.provider"),u$4=Symbol.for("react.context"),v$7=Symbol.for("react.forward_ref"),w$3=Symbol.for("react.suspense"),x$9=Symbol.for("react.memo"),y$4=Symbol.for("react.lazy"),z$6=Symbol.iterator;function A$6(_e){return _e===null||typeof _e!="object"?null:(_e=z$6&&_e[z$6]||_e["@@iterator"],typeof _e=="function"?_e:null)}var B$5={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$3=Object.assign,D$3={};function E$4(_e,et,tt){this.props=_e,this.context=et,this.refs=D$3,this.updater=tt||B$5}E$4.prototype.isReactComponent={};E$4.prototype.setState=function(_e,et){if(typeof _e!="object"&&typeof _e!="function"&&_e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_e,et,"setState")};E$4.prototype.forceUpdate=function(_e){this.updater.enqueueForceUpdate(this,_e,"forceUpdate")};function F$3(){}F$3.prototype=E$4.prototype;function G$5(_e,et,tt){this.props=_e,this.context=et,this.refs=D$3,this.updater=tt||B$5}var H$2=G$5.prototype=new F$3;H$2.constructor=G$5;C$3(H$2,E$4.prototype);H$2.isPureReactComponent=!0;var I$7=Array.isArray,J$3=Object.prototype.hasOwnProperty,K$4={current:null},L$2={key:!0,ref:!0,__self:!0,__source:!0};function M$8(_e,et,tt){var rt,nt={},it=null,at=null;if(et!=null)for(rt in et.ref!==void 0&&(at=et.ref),et.key!==void 0&&(it=""+et.key),et)J$3.call(et,rt)&&!L$2.hasOwnProperty(rt)&&(nt[rt]=et[rt]);var st=arguments.length-2;if(st===1)nt.children=tt;else if(11?et-1:0),rt=1;rt_e.length)&&(et=_e.length);for(var tt=0,rt=new Array(et);tt=_e.length?{done:!0}:{done:!1,value:_e[rt++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _toPrimitive$1(_e,et){if(typeof _e!="object"||_e===null)return _e;var tt=_e[Symbol.toPrimitive];if(tt!==void 0){var rt=tt.call(_e,et||"default");if(typeof rt!="object")return rt;throw new TypeError("@@toPrimitive must return a primitive value.")}return(et==="string"?String:Number)(_e)}function _toPropertyKey$1(_e){var et=_toPrimitive$1(_e,"string");return typeof et=="symbol"?et:String(et)}var storedAnnotationsSymbol=Symbol("mobx-stored-annotations");function createDecoratorAnnotation(_e){function et(tt,rt){storeAnnotation(tt,rt,_e)}return Object.assign(et,_e)}function storeAnnotation(_e,et,tt){hasProp(_e,storedAnnotationsSymbol)||addHiddenProp(_e,storedAnnotationsSymbol,_extends$4({},_e[storedAnnotationsSymbol])),isOverride(tt)||(_e[storedAnnotationsSymbol][et]=tt)}var $mobx=Symbol("mobx administration"),Atom=function(){function _e(tt){tt===void 0&&(tt="Atom"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.batchId_=void 0,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=IDerivationState_.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=tt,this.batchId_=globalState.inBatch?globalState.batchId:NaN}var et=_e.prototype;return et.onBO=function(){this.onBOL&&this.onBOL.forEach(function(rt){return rt()})},et.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(rt){return rt()})},et.reportObserved=function(){return reportObserved(this)},et.reportChanged=function(){(!globalState.inBatch||this.batchId_!==globalState.batchId)&&(globalState.stateVersion=globalState.stateVersionrt&&(rt=st.dependenciesState_)}for(tt.length=nt,_e.newObserving_=null,it=et.length;it--;){var lt=et[it];lt.diffValue_===0&&removeObserver(lt,_e),lt.diffValue_=0}for(;nt--;){var dt=tt[nt];dt.diffValue_===1&&(dt.diffValue_=0,addObserver(dt,_e))}rt!==IDerivationState_.UP_TO_DATE_&&(_e.dependenciesState_=rt,_e.onBecomeStale_())}function clearObserving(_e){var et=_e.observing_;_e.observing_=[];for(var tt=et.length;tt--;)removeObserver(et[tt],_e);_e.dependenciesState_=IDerivationState_.NOT_TRACKING_}function untracked(_e){var et=untrackedStart();try{return _e()}finally{untrackedEnd(et)}}function untrackedStart(){var _e=globalState.trackingDerivation;return globalState.trackingDerivation=null,_e}function untrackedEnd(_e){globalState.trackingDerivation=_e}function allowStateReadsStart(_e){var et=globalState.allowStateReads;return globalState.allowStateReads=_e,et}function allowStateReadsEnd(_e){globalState.allowStateReads=_e}function changeDependenciesStateTo0(_e){if(_e.dependenciesState_!==IDerivationState_.UP_TO_DATE_){_e.dependenciesState_=IDerivationState_.UP_TO_DATE_;for(var et=_e.observing_,tt=et.length;tt--;)et[tt].lowestObserverState_=IDerivationState_.UP_TO_DATE_}}var MobXGlobals=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.batchId=Number.MIN_SAFE_INTEGER,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0,this.stateVersion=Number.MIN_SAFE_INTEGER},canMergeGlobalState=!0,globalState=function(){var _e=getGlobal$1();return _e.__mobxInstanceCount>0&&!_e.__mobxGlobals&&(canMergeGlobalState=!1),_e.__mobxGlobals&&_e.__mobxGlobals.version!==new MobXGlobals().version&&(canMergeGlobalState=!1),canMergeGlobalState?_e.__mobxGlobals?(_e.__mobxInstanceCount+=1,_e.__mobxGlobals.UNCHANGED||(_e.__mobxGlobals.UNCHANGED={}),_e.__mobxGlobals):(_e.__mobxInstanceCount=1,_e.__mobxGlobals=new MobXGlobals):(setTimeout(function(){die(35)},1),new MobXGlobals)}();function addObserver(_e,et){_e.observers_.add(et),_e.lowestObserverState_>et.dependenciesState_&&(_e.lowestObserverState_=et.dependenciesState_)}function removeObserver(_e,et){_e.observers_.delete(et),_e.observers_.size===0&&queueForUnobservation(_e)}function queueForUnobservation(_e){_e.isPendingUnobservation_===!1&&(_e.isPendingUnobservation_=!0,globalState.pendingUnobservations.push(_e))}function startBatch(){globalState.inBatch===0&&(globalState.batchId=globalState.batchId0&&queueForUnobservation(_e),!1)}function propagateChanged(_e){_e.lowestObserverState_!==IDerivationState_.STALE_&&(_e.lowestObserverState_=IDerivationState_.STALE_,_e.observers_.forEach(function(et){et.dependenciesState_===IDerivationState_.UP_TO_DATE_&&et.onBecomeStale_(),et.dependenciesState_=IDerivationState_.STALE_}))}function propagateChangeConfirmed(_e){_e.lowestObserverState_!==IDerivationState_.STALE_&&(_e.lowestObserverState_=IDerivationState_.STALE_,_e.observers_.forEach(function(et){et.dependenciesState_===IDerivationState_.POSSIBLY_STALE_?et.dependenciesState_=IDerivationState_.STALE_:et.dependenciesState_===IDerivationState_.UP_TO_DATE_&&(_e.lowestObserverState_=IDerivationState_.UP_TO_DATE_)}))}function propagateMaybeChanged(_e){_e.lowestObserverState_===IDerivationState_.UP_TO_DATE_&&(_e.lowestObserverState_=IDerivationState_.POSSIBLY_STALE_,_e.observers_.forEach(function(et){et.dependenciesState_===IDerivationState_.UP_TO_DATE_&&(et.dependenciesState_=IDerivationState_.POSSIBLY_STALE_,et.onBecomeStale_())}))}var Reaction=function(){function _e(tt,rt,nt,it){tt===void 0&&(tt="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=IDerivationState_.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=TraceMode.NONE,this.name_=tt,this.onInvalidate_=rt,this.errorHandler_=nt,this.requiresObservable_=it}var et=_e.prototype;return et.onBecomeStale_=function(){this.schedule_()},et.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,globalState.pendingReactions.push(this),runReactions())},et.isScheduled=function(){return this.isScheduled_},et.runReaction_=function(){if(!this.isDisposed_){startBatch(),this.isScheduled_=!1;var rt=globalState.trackingContext;if(globalState.trackingContext=this,shouldCompute(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(nt){this.reportExceptionInDerivation_(nt)}}globalState.trackingContext=rt,endBatch()}},et.track=function(rt){if(!this.isDisposed_){startBatch(),this.isRunning_=!0;var nt=globalState.trackingContext;globalState.trackingContext=this;var it=trackDerivedFunction(this,rt,void 0);globalState.trackingContext=nt,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&clearObserving(this),isCaughtException(it)&&this.reportExceptionInDerivation_(it.cause),endBatch()}},et.reportExceptionInDerivation_=function(rt){var nt=this;if(this.errorHandler_){this.errorHandler_(rt,this);return}if(globalState.disableErrorBoundaries)throw rt;var it="[mobx] uncaught error in '"+this+"'";globalState.suppressReactionErrors||console.error(it,rt),globalState.globalReactionErrorHandlers.forEach(function(at){return at(rt,nt)})},et.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(startBatch(),clearObserving(this),endBatch()))},et.getDisposer_=function(rt){var nt=this,it=function at(){nt.dispose(),rt==null||rt.removeEventListener==null||rt.removeEventListener("abort",at)};return rt==null||rt.addEventListener==null||rt.addEventListener("abort",it),it[$mobx]=this,it},et.toString=function(){return"Reaction["+this.name_+"]"},et.trace=function(rt){},_e}(),MAX_REACTION_ITERATIONS=100,reactionScheduler=function(et){return et()};function runReactions(){globalState.inBatch>0||globalState.isRunningReactions||reactionScheduler(runReactionsHelper)}function runReactionsHelper(){globalState.isRunningReactions=!0;for(var _e=globalState.pendingReactions,et=0;_e.length>0;){++et===MAX_REACTION_ITERATIONS&&(console.error("[mobx] cycle in reaction: "+_e[0]),_e.splice(0));for(var tt=_e.splice(0),rt=0,nt=tt.length;rt",it=function(){var st=this,lt=arguments,dt=++generatorId,ht=action(nt+" - runid: "+dt+" - init",rt).apply(st,lt),pt,mt=void 0,gt=new Promise(function(vt,bt){var yt=0;pt=bt;function xt(At){mt=void 0;var Tt;try{Tt=action(nt+" - runid: "+dt+" - yield "+yt++,ht.next).call(ht,At)}catch(kt){return bt(kt)}_t(Tt)}function wt(At){mt=void 0;var Tt;try{Tt=action(nt+" - runid: "+dt+" - yield "+yt++,ht.throw).call(ht,At)}catch(kt){return bt(kt)}_t(Tt)}function _t(At){if(isFunction$3(At?.then)){At.then(_t,bt);return}return At.done?vt(At.value):(mt=Promise.resolve(At.value),mt.then(xt,wt))}xt(void 0)});return gt.cancel=action(nt+" - runid: "+dt+" - cancel",function(){try{mt&&cancelPromise(mt);var vt=ht.return(void 0),bt=Promise.resolve(vt.value);bt.then(noop$4,noop$4),cancelPromise(bt),pt(new FlowCancellationError)}catch(yt){pt(yt)}}),gt};return it.isMobXFlow=!0,it},flowAnnotation);flow.bound=createDecoratorAnnotation(flowBoundAnnotation);function cancelPromise(_e){isFunction$3(_e.cancel)&&_e.cancel()}function isFlow(_e){return _e?.isMobXFlow===!0}function _isObservable(_e,et){return _e?et!==void 0?isObservableObject(_e)?_e[$mobx].values_.has(et):!1:isObservableObject(_e)||!!_e[$mobx]||isAtom(_e)||isReaction(_e)||isComputedValue(_e):!1}function isObservable(_e){return _isObservable(_e)}function transaction(_e,et){et===void 0&&(et=void 0),startBatch();try{return _e.apply(et)}finally{endBatch()}}function getAdm(_e){return _e[$mobx]}var objectProxyTraps={has:function(et,tt){return getAdm(et).has_(tt)},get:function(et,tt){return getAdm(et).get_(tt)},set:function(et,tt,rt){var nt;return isStringish(tt)?(nt=getAdm(et).set_(tt,rt,!0))!=null?nt:!0:!1},deleteProperty:function(et,tt){var rt;return isStringish(tt)?(rt=getAdm(et).delete_(tt,!0))!=null?rt:!0:!1},defineProperty:function(et,tt,rt){var nt;return(nt=getAdm(et).defineProperty_(tt,rt))!=null?nt:!0},ownKeys:function(et){return getAdm(et).ownKeys_()},preventExtensions:function(et){die(13)}};function asDynamicObservableObject(_e,et){var tt,rt;return assertProxies(),_e=asObservableObject(_e,et),(rt=(tt=_e[$mobx]).proxy_)!=null?rt:tt.proxy_=new Proxy(_e,objectProxyTraps)}function hasInterceptors(_e){return _e.interceptors_!==void 0&&_e.interceptors_.length>0}function registerInterceptor(_e,et){var tt=_e.interceptors_||(_e.interceptors_=[]);return tt.push(et),once(function(){var rt=tt.indexOf(et);rt!==-1&&tt.splice(rt,1)})}function interceptChange(_e,et){var tt=untrackedStart();try{for(var rt=[].concat(_e.interceptors_||[]),nt=0,it=rt.length;nt0}function registerListener(_e,et){var tt=_e.changeListeners_||(_e.changeListeners_=[]);return tt.push(et),once(function(){var rt=tt.indexOf(et);rt!==-1&&tt.splice(rt,1)})}function notifyListeners(_e,et){var tt=untrackedStart(),rt=_e.changeListeners_;if(rt){rt=rt.slice();for(var nt=0,it=rt.length;nt0?rt.map(this.dehancer):rt},et.intercept_=function(rt){return registerInterceptor(this,rt)},et.observe_=function(rt,nt){return nt===void 0&&(nt=!1),nt&&rt({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),registerListener(this,rt)},et.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},et.setArrayLength_=function(rt){(typeof rt!="number"||isNaN(rt)||rt<0)&&die("Out of range: "+rt);var nt=this.values_.length;if(rt!==nt)if(rt>nt){for(var it=new Array(rt-nt),at=0;at0&&reserveArrayBuffer(rt+nt+1)},et.spliceWithArray_=function(rt,nt,it){var at=this;this.atom_;var st=this.values_.length;if(rt===void 0?rt=0:rt>st?rt=st:rt<0&&(rt=Math.max(0,st+rt)),arguments.length===1?nt=st-rt:nt==null?nt=0:nt=Math.max(0,Math.min(nt,st-rt)),it===void 0&&(it=EMPTY_ARRAY),hasInterceptors(this)){var lt=interceptChange(this,{object:this.proxy_,type:SPLICE,index:rt,removedCount:nt,added:it});if(!lt)return EMPTY_ARRAY;nt=lt.removedCount,it=lt.added}if(it=it.length===0?it:it.map(function(pt){return at.enhancer_(pt,void 0)}),this.legacyMode_){var dt=it.length-nt;this.updateArrayLength_(st,dt)}var ht=this.spliceItemsIntoValues_(rt,nt,it);return(nt!==0||it.length!==0)&&this.notifyArraySplice_(rt,it,ht),this.dehanceValues_(ht)},et.spliceItemsIntoValues_=function(rt,nt,it){if(it.length=this.values_.length){console.warn("[mobx] Out of bounds read: "+rt);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[rt])},et.set_=function(rt,nt){var it=this.values_;if(this.legacyMode_&&rt>it.length&&die(17,rt,it.length),rt2?rt-2:0),it=2;it-1?(this.splice(rt,1),!0):!1}};addArrayExtension("concat",simpleFunc);addArrayExtension("flat",simpleFunc);addArrayExtension("includes",simpleFunc);addArrayExtension("indexOf",simpleFunc);addArrayExtension("join",simpleFunc);addArrayExtension("lastIndexOf",simpleFunc);addArrayExtension("slice",simpleFunc);addArrayExtension("toString",simpleFunc);addArrayExtension("toLocaleString",simpleFunc);addArrayExtension("every",mapLikeFunc);addArrayExtension("filter",mapLikeFunc);addArrayExtension("find",mapLikeFunc);addArrayExtension("findIndex",mapLikeFunc);addArrayExtension("flatMap",mapLikeFunc);addArrayExtension("forEach",mapLikeFunc);addArrayExtension("map",mapLikeFunc);addArrayExtension("some",mapLikeFunc);addArrayExtension("reduce",reduceLikeFunc);addArrayExtension("reduceRight",reduceLikeFunc);function addArrayExtension(_e,et){typeof Array.prototype[_e]=="function"&&(arrayExtensions[_e]=et(_e))}function simpleFunc(_e){return function(){var et=this[$mobx];et.atom_.reportObserved();var tt=et.dehanceValues_(et.values_);return tt[_e].apply(tt,arguments)}}function mapLikeFunc(_e){return function(et,tt){var rt=this,nt=this[$mobx];nt.atom_.reportObserved();var it=nt.dehanceValues_(nt.values_);return it[_e](function(at,st){return et.call(tt,at,st,rt)})}}function reduceLikeFunc(_e){return function(){var et=this,tt=this[$mobx];tt.atom_.reportObserved();var rt=tt.dehanceValues_(tt.values_),nt=arguments[0];return arguments[0]=function(it,at,st){return nt(it,at,st,et)},rt[_e].apply(rt,arguments)}}var isObservableArrayAdministration=createInstanceofPredicate("ObservableArrayAdministration",ObservableArrayAdministration);function isObservableArray(_e){return isObject$2(_e)&&isObservableArrayAdministration(_e[$mobx])}var _Symbol$iterator,_Symbol$toStringTag,ObservableMapMarker={},ADD="add",DELETE="delete";_Symbol$iterator=Symbol.iterator;_Symbol$toStringTag=Symbol.toStringTag;var ObservableMap=function(){function _e(tt,rt,nt){var it=this;rt===void 0&&(rt=deepEnhancer),nt===void 0&&(nt="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[$mobx]=ObservableMapMarker,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=rt,this.name_=nt,isFunction$3(Map)||die(18),initObservable(function(){it.keysAtom_=createAtom("ObservableMap.keys()"),it.data_=new Map,it.hasMap_=new Map,tt&&it.merge(tt)})}var et=_e.prototype;return et.has_=function(rt){return this.data_.has(rt)},et.has=function(rt){var nt=this;if(!globalState.trackingDerivation)return this.has_(rt);var it=this.hasMap_.get(rt);if(!it){var at=it=new ObservableValue(this.has_(rt),referenceEnhancer,"ObservableMap.key?",!1);this.hasMap_.set(rt,at),onBecomeUnobserved(at,function(){return nt.hasMap_.delete(rt)})}return it.get()},et.set=function(rt,nt){var it=this.has_(rt);if(hasInterceptors(this)){var at=interceptChange(this,{type:it?UPDATE:ADD,object:this,newValue:nt,name:rt});if(!at)return this;nt=at.newValue}return it?this.updateValue_(rt,nt):this.addValue_(rt,nt),this},et.delete=function(rt){var nt=this;if(this.keysAtom_,hasInterceptors(this)){var it=interceptChange(this,{type:DELETE,object:this,name:rt});if(!it)return!1}if(this.has_(rt)){var at=isSpyEnabled(),st=hasListeners(this),lt=st||at?{observableKind:"map",debugObjectName:this.name_,type:DELETE,object:this,oldValue:this.data_.get(rt).value_,name:rt}:null;return transaction(function(){var dt;nt.keysAtom_.reportChanged(),(dt=nt.hasMap_.get(rt))==null||dt.setNewValue_(!1);var ht=nt.data_.get(rt);ht.setNewValue_(void 0),nt.data_.delete(rt)}),st&¬ifyListeners(this,lt),!0}return!1},et.updateValue_=function(rt,nt){var it=this.data_.get(rt);if(nt=it.prepareNewValue_(nt),nt!==globalState.UNCHANGED){var at=isSpyEnabled(),st=hasListeners(this),lt=st||at?{observableKind:"map",debugObjectName:this.name_,type:UPDATE,object:this,oldValue:it.value_,name:rt,newValue:nt}:null;it.setNewValue_(nt),st&¬ifyListeners(this,lt)}},et.addValue_=function(rt,nt){var it=this;this.keysAtom_,transaction(function(){var dt,ht=new ObservableValue(nt,it.enhancer_,"ObservableMap.key",!1);it.data_.set(rt,ht),nt=ht.value_,(dt=it.hasMap_.get(rt))==null||dt.setNewValue_(!0),it.keysAtom_.reportChanged()});var at=isSpyEnabled(),st=hasListeners(this),lt=st||at?{observableKind:"map",debugObjectName:this.name_,type:ADD,object:this,name:rt,newValue:nt}:null;st&¬ifyListeners(this,lt)},et.get=function(rt){return this.has(rt)?this.dehanceValue_(this.data_.get(rt).get()):this.dehanceValue_(void 0)},et.dehanceValue_=function(rt){return this.dehancer!==void 0?this.dehancer(rt):rt},et.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},et.values=function(){var rt=this,nt=this.keys();return makeIterable({next:function(){var at=nt.next(),st=at.done,lt=at.value;return{done:st,value:st?void 0:rt.get(lt)}}})},et.entries=function(){var rt=this,nt=this.keys();return makeIterable({next:function(){var at=nt.next(),st=at.done,lt=at.value;return{done:st,value:st?void 0:[lt,rt.get(lt)]}}})},et[_Symbol$iterator]=function(){return this.entries()},et.forEach=function(rt,nt){for(var it=_createForOfIteratorHelperLoose(this),at;!(at=it()).done;){var st=at.value,lt=st[0],dt=st[1];rt.call(nt,dt,lt,this)}},et.merge=function(rt){var nt=this;return isObservableMap(rt)&&(rt=new Map(rt)),transaction(function(){isPlainObject$2(rt)?getPlainObjectKeys(rt).forEach(function(it){return nt.set(it,rt[it])}):Array.isArray(rt)?rt.forEach(function(it){var at=it[0],st=it[1];return nt.set(at,st)}):isES6Map(rt)?(rt.constructor!==Map&&die(19,rt),rt.forEach(function(it,at){return nt.set(at,it)})):rt!=null&&die(20,rt)}),this},et.clear=function(){var rt=this;transaction(function(){untracked(function(){for(var nt=_createForOfIteratorHelperLoose(rt.keys()),it;!(it=nt()).done;){var at=it.value;rt.delete(at)}})})},et.replace=function(rt){var nt=this;return transaction(function(){for(var it=convertToMap(rt),at=new Map,st=!1,lt=_createForOfIteratorHelperLoose(nt.data_.keys()),dt;!(dt=lt()).done;){var ht=dt.value;if(!it.has(ht)){var pt=nt.delete(ht);if(pt)st=!0;else{var mt=nt.data_.get(ht);at.set(ht,mt)}}}for(var gt=_createForOfIteratorHelperLoose(it.entries()),vt;!(vt=gt()).done;){var bt=vt.value,yt=bt[0],xt=bt[1],wt=nt.data_.has(yt);if(nt.set(yt,xt),nt.data_.has(yt)){var _t=nt.data_.get(yt);at.set(yt,_t),wt||(st=!0)}}if(!st)if(nt.data_.size!==at.size)nt.keysAtom_.reportChanged();else for(var At=nt.data_.keys(),Tt=at.keys(),kt=At.next(),jt=Tt.next();!kt.done;){if(kt.value!==jt.value){nt.keysAtom_.reportChanged();break}kt=At.next(),jt=Tt.next()}nt.data_=at}),this},et.toString=function(){return"[object ObservableMap]"},et.toJSON=function(){return Array.from(this)},et.observe_=function(rt,nt){return registerListener(this,rt)},et.intercept_=function(rt){return registerInterceptor(this,rt)},_createClass$2(_e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:_Symbol$toStringTag,get:function(){return"Map"}}]),_e}(),isObservableMap=createInstanceofPredicate("ObservableMap",ObservableMap);function convertToMap(_e){if(isES6Map(_e)||isObservableMap(_e))return _e;if(Array.isArray(_e))return new Map(_e);if(isPlainObject$2(_e)){var et=new Map;for(var tt in _e)et.set(tt,_e[tt]);return et}else return die(21,_e)}var _Symbol$iterator$1,_Symbol$toStringTag$1,ObservableSetMarker={};_Symbol$iterator$1=Symbol.iterator;_Symbol$toStringTag$1=Symbol.toStringTag;var ObservableSet=function(){function _e(tt,rt,nt){var it=this;rt===void 0&&(rt=deepEnhancer),nt===void 0&&(nt="ObservableSet"),this.name_=void 0,this[$mobx]=ObservableSetMarker,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=nt,isFunction$3(Set)||die(22),this.enhancer_=function(at,st){return rt(at,st,nt)},initObservable(function(){it.atom_=createAtom(it.name_),tt&&it.replace(tt)})}var et=_e.prototype;return et.dehanceValue_=function(rt){return this.dehancer!==void 0?this.dehancer(rt):rt},et.clear=function(){var rt=this;transaction(function(){untracked(function(){for(var nt=_createForOfIteratorHelperLoose(rt.data_.values()),it;!(it=nt()).done;){var at=it.value;rt.delete(at)}})})},et.forEach=function(rt,nt){for(var it=_createForOfIteratorHelperLoose(this),at;!(at=it()).done;){var st=at.value;rt.call(nt,st,st,this)}},et.add=function(rt){var nt=this;if(this.atom_,hasInterceptors(this)){var it=interceptChange(this,{type:ADD,object:this,newValue:rt});if(!it)return this}if(!this.has(rt)){transaction(function(){nt.data_.add(nt.enhancer_(rt,void 0)),nt.atom_.reportChanged()});var at=!1,st=hasListeners(this),lt=st||at?{observableKind:"set",debugObjectName:this.name_,type:ADD,object:this,newValue:rt}:null;st&¬ifyListeners(this,lt)}return this},et.delete=function(rt){var nt=this;if(hasInterceptors(this)){var it=interceptChange(this,{type:DELETE,object:this,oldValue:rt});if(!it)return!1}if(this.has(rt)){var at=!1,st=hasListeners(this),lt=st||at?{observableKind:"set",debugObjectName:this.name_,type:DELETE,object:this,oldValue:rt}:null;return transaction(function(){nt.atom_.reportChanged(),nt.data_.delete(rt)}),st&¬ifyListeners(this,lt),!0}return!1},et.has=function(rt){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(rt))},et.entries=function(){var rt=0,nt=Array.from(this.keys()),it=Array.from(this.values());return makeIterable({next:function(){var st=rt;return rt+=1,stOBSERVABLE_ARRAY_BUFFER_SIZE){for(var et=OBSERVABLE_ARRAY_BUFFER_SIZE;et<_e+100;et++)createArrayBufferItem(et);OBSERVABLE_ARRAY_BUFFER_SIZE=_e}}reserveArrayBuffer(1e3);function createLegacyArray(_e,et,tt){return new LegacyObservableArray(_e,et,tt)}function getAtom(_e,et){if(typeof _e=="object"&&_e!==null){if(isObservableArray(_e))return et!==void 0&&die(23),_e[$mobx].atom_;if(isObservableSet(_e))return _e.atom_;if(isObservableMap(_e)){if(et===void 0)return _e.keysAtom_;var tt=_e.data_.get(et)||_e.hasMap_.get(et);return tt||die(25,et,getDebugName(_e)),tt}if(isObservableObject(_e)){if(!et)return die(26);var rt=_e[$mobx].values_.get(et);return rt||die(27,et,getDebugName(_e)),rt}if(isAtom(_e)||isComputedValue(_e)||isReaction(_e))return _e}else if(isFunction$3(_e)&&isReaction(_e[$mobx]))return _e[$mobx];die(28)}function getAdministration(_e,et){if(_e||die(29),et!==void 0)return getAdministration(getAtom(_e,et));if(isAtom(_e)||isComputedValue(_e)||isReaction(_e)||isObservableMap(_e)||isObservableSet(_e))return _e;if(_e[$mobx])return _e[$mobx];die(24,_e)}function getDebugName(_e,et){var tt;if(et!==void 0)tt=getAtom(_e,et);else{if(isAction(_e))return _e.name;isObservableObject(_e)||isObservableMap(_e)||isObservableSet(_e)?tt=getAdministration(_e):tt=getAtom(_e)}return tt.name_}function initObservable(_e){var et=untrackedStart(),tt=allowStateChangesStart(!0);startBatch();try{return _e()}finally{endBatch(),allowStateChangesEnd(tt),untrackedEnd(et)}}var toString=objectPrototype.toString;function deepEqual(_e,et,tt){return tt===void 0&&(tt=-1),eq(_e,et,tt)}function eq(_e,et,tt,rt,nt){if(_e===et)return _e!==0||1/_e===1/et;if(_e==null||et==null)return!1;if(_e!==_e)return et!==et;var it=typeof _e;if(it!=="function"&&it!=="object"&&typeof et!="object")return!1;var at=toString.call(_e);if(at!==toString.call(et))return!1;switch(at){case"[object RegExp]":case"[object String]":return""+_e==""+et;case"[object Number]":return+_e!=+_e?+et!=+et:+_e==0?1/+_e===1/et:+_e==+et;case"[object Date]":case"[object Boolean]":return+_e==+et;case"[object Symbol]":return typeof Symbol<"u"&&Symbol.valueOf.call(_e)===Symbol.valueOf.call(et);case"[object Map]":case"[object Set]":tt>=0&&tt++;break}_e=unwrap(_e),et=unwrap(et);var st=at==="[object Array]";if(!st){if(typeof _e!="object"||typeof et!="object")return!1;var lt=_e.constructor,dt=et.constructor;if(lt!==dt&&!(isFunction$3(lt)&< instanceof lt&&isFunction$3(dt)&&dt instanceof dt)&&"constructor"in _e&&"constructor"in et)return!1}if(tt===0)return!1;tt<0&&(tt=-1),rt=rt||[],nt=nt||[];for(var ht=rt.length;ht--;)if(rt[ht]===_e)return nt[ht]===et;if(rt.push(_e),nt.push(et),st){if(ht=_e.length,ht!==et.length)return!1;for(;ht--;)if(!eq(_e[ht],et[ht],tt-1,rt,nt))return!1}else{var pt=Object.keys(_e),mt;if(ht=pt.length,Object.keys(et).length!==ht)return!1;for(;ht--;)if(mt=pt[ht],!(hasProp(et,mt)&&eq(_e[mt],et[mt],tt-1,rt,nt)))return!1}return rt.pop(),nt.pop(),!0}function unwrap(_e){return isObservableArray(_e)?_e.slice():isES6Map(_e)||isObservableMap(_e)||isES6Set(_e)||isObservableSet(_e)?Array.from(_e.entries()):_e}function makeIterable(_e){return _e[Symbol.iterator]=getSelf,_e}function getSelf(){return this}["Symbol","Map","Set"].forEach(function(_e){var et=getGlobal$1();typeof et[_e]>"u"&&die("MobX requires global '"+_e+"' to be available or polyfilled")});typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__=="object"&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy,extras:{getDebugName},$mobx});var extendStatics=function(_e,et){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(tt,rt){tt.__proto__=rt}||function(tt,rt){for(var nt in rt)Object.prototype.hasOwnProperty.call(rt,nt)&&(tt[nt]=rt[nt])},extendStatics(_e,et)};function __extends$1(_e,et){if(typeof et!="function"&&et!==null)throw new TypeError("Class extends value "+String(et)+" is not a constructor or null");extendStatics(_e,et);function tt(){this.constructor=_e}_e.prototype=et===null?Object.create(et):(tt.prototype=et.prototype,new tt)}function __awaiter$b(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})}function __generator(_e,et){var tt={label:0,sent:function(){if(it[0]&1)throw it[1];return it[1]},trys:[],ops:[]},rt,nt,it,at;return at={next:st(0),throw:st(1),return:st(2)},typeof Symbol=="function"&&(at[Symbol.iterator]=function(){return this}),at;function st(dt){return function(ht){return lt([dt,ht])}}function lt(dt){if(rt)throw new TypeError("Generator is already executing.");for(;at&&(at=0,dt[0]&&(tt=0)),tt;)try{if(rt=1,nt&&(it=dt[0]&2?nt.return:dt[0]?nt.throw||((it=nt.return)&&it.call(nt),0):nt.next)&&!(it=it.call(nt,dt[1])).done)return it;switch(nt=0,it&&(dt=[dt[0]&2,it.value]),dt[0]){case 0:case 1:it=dt;break;case 4:return tt.label++,{value:dt[1],done:!1};case 5:tt.label++,nt=dt[1],dt=[0];continue;case 7:dt=tt.ops.pop(),tt.trys.pop();continue;default:if(it=tt.trys,!(it=it.length>0&&it[it.length-1])&&(dt[0]===6||dt[0]===2)){tt=0;continue}if(dt[0]===3&&(!it||dt[1]>it[0]&&dt[1]=_e.length&&(_e=void 0),{value:_e&&_e[rt++],done:!_e}}};throw new TypeError(et?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$4(_e,et){var tt=typeof Symbol=="function"&&_e[Symbol.iterator];if(!tt)return _e;var rt=tt.call(_e),nt,it=[],at;try{for(;(et===void 0||et-- >0)&&!(nt=rt.next()).done;)it.push(nt.value)}catch(st){at={error:st}}finally{try{nt&&!nt.done&&(tt=rt.return)&&tt.call(rt)}finally{if(at)throw at.error}}return it}function __spreadArray$3(_e,et,tt){if(tt||arguments.length===2)for(var rt=0,nt=et.length,it;rt1||st(mt,gt)})})}function st(mt,gt){try{lt(rt[mt](gt))}catch(vt){pt(it[0][3],vt)}}function lt(mt){mt.value instanceof __await?Promise.resolve(mt.value.v).then(dt,ht):pt(it[0][2],mt)}function dt(mt){st("next",mt)}function ht(mt){st("throw",mt)}function pt(mt,gt){mt(gt),it.shift(),it.length&&st(it[0][0],it[0][1])}}function __asyncValues(_e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var et=_e[Symbol.asyncIterator],tt;return et?et.call(_e):(_e=typeof __values=="function"?__values(_e):_e[Symbol.iterator](),tt={},rt("next"),rt("throw"),rt("return"),tt[Symbol.asyncIterator]=function(){return this},tt);function rt(it){tt[it]=_e[it]&&function(at){return new Promise(function(st,lt){at=_e[it](at),nt(st,lt,at.done,at.value)})}}function nt(it,at,st,lt){Promise.resolve(lt).then(function(dt){it({value:dt,done:st})},at)}}typeof SuppressedError=="function"&&SuppressedError;function isFunction$2(_e){return typeof _e=="function"}function createErrorClass(_e){var et=function(rt){Error.call(rt),rt.stack=new Error().stack},tt=_e(et);return tt.prototype=Object.create(Error.prototype),tt.prototype.constructor=tt,tt}var UnsubscriptionError=createErrorClass(function(_e){return function(tt){_e(this),this.message=tt?tt.length+` errors occurred during unsubscription: +`+tt.map(function(rt,nt){return nt+1+") "+rt.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=tt}});function arrRemove(_e,et){if(_e){var tt=_e.indexOf(et);0<=tt&&_e.splice(tt,1)}}var Subscription=function(){function _e(et){this.initialTeardown=et,this.closed=!1,this._parentage=null,this._finalizers=null}return _e.prototype.unsubscribe=function(){var et,tt,rt,nt,it;if(!this.closed){this.closed=!0;var at=this._parentage;if(at)if(this._parentage=null,Array.isArray(at))try{for(var st=__values(at),lt=st.next();!lt.done;lt=st.next()){var dt=lt.value;dt.remove(this)}}catch(bt){et={error:bt}}finally{try{lt&&!lt.done&&(tt=st.return)&&tt.call(st)}finally{if(et)throw et.error}}else at.remove(this);var ht=this.initialTeardown;if(isFunction$2(ht))try{ht()}catch(bt){it=bt instanceof UnsubscriptionError?bt.errors:[bt]}var pt=this._finalizers;if(pt){this._finalizers=null;try{for(var mt=__values(pt),gt=mt.next();!gt.done;gt=mt.next()){var vt=gt.value;try{execFinalizer(vt)}catch(bt){it=it??[],bt instanceof UnsubscriptionError?it=__spreadArray$3(__spreadArray$3([],__read$4(it)),__read$4(bt.errors)):it.push(bt)}}}catch(bt){rt={error:bt}}finally{try{gt&&!gt.done&&(nt=mt.return)&&nt.call(mt)}finally{if(rt)throw rt.error}}}if(it)throw new UnsubscriptionError(it)}},_e.prototype.add=function(et){var tt;if(et&&et!==this)if(this.closed)execFinalizer(et);else{if(et instanceof _e){if(et.closed||et._hasParent(this))return;et._addParent(this)}(this._finalizers=(tt=this._finalizers)!==null&&tt!==void 0?tt:[]).push(et)}},_e.prototype._hasParent=function(et){var tt=this._parentage;return tt===et||Array.isArray(tt)&&tt.includes(et)},_e.prototype._addParent=function(et){var tt=this._parentage;this._parentage=Array.isArray(tt)?(tt.push(et),tt):tt?[tt,et]:et},_e.prototype._removeParent=function(et){var tt=this._parentage;tt===et?this._parentage=null:Array.isArray(tt)&&arrRemove(tt,et)},_e.prototype.remove=function(et){var tt=this._finalizers;tt&&arrRemove(tt,et),et instanceof _e&&et._removeParent(this)},_e.EMPTY=function(){var et=new _e;return et.closed=!0,et}(),_e}(),EMPTY_SUBSCRIPTION=Subscription.EMPTY;function isSubscription(_e){return _e instanceof Subscription||_e&&"closed"in _e&&isFunction$2(_e.remove)&&isFunction$2(_e.add)&&isFunction$2(_e.unsubscribe)}function execFinalizer(_e){isFunction$2(_e)?_e():_e.unsubscribe()}var config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},timeoutProvider={setTimeout:function(_e,et){for(var tt=[],rt=2;rt0},enumerable:!1,configurable:!0}),et.prototype._trySubscribe=function(tt){return this._throwIfClosed(),_e.prototype._trySubscribe.call(this,tt)},et.prototype._subscribe=function(tt){return this._throwIfClosed(),this._checkFinalizedStatuses(tt),this._innerSubscribe(tt)},et.prototype._innerSubscribe=function(tt){var rt=this,nt=this,it=nt.hasError,at=nt.isStopped,st=nt.observers;return it||at?EMPTY_SUBSCRIPTION:(this.currentObservers=null,st.push(tt),new Subscription(function(){rt.currentObservers=null,arrRemove(st,tt)}))},et.prototype._checkFinalizedStatuses=function(tt){var rt=this,nt=rt.hasError,it=rt.thrownError,at=rt.isStopped;nt?tt.error(it):at&&tt.complete()},et.prototype.asObservable=function(){var tt=new Observable;return tt.source=this,tt},et.create=function(tt,rt){return new AnonymousSubject(tt,rt)},et}(Observable),AnonymousSubject=function(_e){__extends$1(et,_e);function et(tt,rt){var nt=_e.call(this)||this;return nt.destination=tt,nt.source=rt,nt}return et.prototype.next=function(tt){var rt,nt;(nt=(rt=this.destination)===null||rt===void 0?void 0:rt.next)===null||nt===void 0||nt.call(rt,tt)},et.prototype.error=function(tt){var rt,nt;(nt=(rt=this.destination)===null||rt===void 0?void 0:rt.error)===null||nt===void 0||nt.call(rt,tt)},et.prototype.complete=function(){var tt,rt;(rt=(tt=this.destination)===null||tt===void 0?void 0:tt.complete)===null||rt===void 0||rt.call(tt)},et.prototype._subscribe=function(tt){var rt,nt;return(nt=(rt=this.source)===null||rt===void 0?void 0:rt.subscribe(tt))!==null&&nt!==void 0?nt:EMPTY_SUBSCRIPTION},et}(Subject),dateTimestampProvider={now:function(){return(dateTimestampProvider.delegate||Date).now()},delegate:void 0},ReplaySubject=function(_e){__extends$1(et,_e);function et(tt,rt,nt){tt===void 0&&(tt=1/0),rt===void 0&&(rt=1/0),nt===void 0&&(nt=dateTimestampProvider);var it=_e.call(this)||this;return it._bufferSize=tt,it._windowTime=rt,it._timestampProvider=nt,it._buffer=[],it._infiniteTimeWindow=!0,it._infiniteTimeWindow=rt===1/0,it._bufferSize=Math.max(1,tt),it._windowTime=Math.max(1,rt),it}return et.prototype.next=function(tt){var rt=this,nt=rt.isStopped,it=rt._buffer,at=rt._infiniteTimeWindow,st=rt._timestampProvider,lt=rt._windowTime;nt||(it.push(tt),!at&&it.push(st.now()+lt)),this._trimBuffer(),_e.prototype.next.call(this,tt)},et.prototype._subscribe=function(tt){this._throwIfClosed(),this._trimBuffer();for(var rt=this._innerSubscribe(tt),nt=this,it=nt._infiniteTimeWindow,at=nt._buffer,st=at.slice(),lt=0;lt0?Et:Ct},it.min=function(Et,Ct){return Et.cmp(Ct)<0?Et:Ct},it.prototype._init=function(Et,Ct,Pt){if(typeof Et=="number")return this._initNumber(Et,Ct,Pt);if(typeof Et=="object")return this._initArray(Et,Ct,Pt);Ct==="hex"&&(Ct=16),rt(Ct===(Ct|0)&&Ct>=2&&Ct<=36),Et=Et.toString().replace(/\s+/g,"");var Ot=0;Et[0]==="-"&&(Ot++,this.negative=1),Ot=0;Ot-=3)Ut=Et[Ot]|Et[Ot-1]<<8|Et[Ot-2]<<16,this.words[Mt]|=Ut<>>26-Wt&67108863,Wt+=24,Wt>=26&&(Wt-=26,Mt++);else if(Pt==="le")for(Ot=0,Mt=0;Ot>>26-Wt&67108863,Wt+=24,Wt>=26&&(Wt-=26,Mt++);return this._strip()};function st(Bt,Et){var Ct=Bt.charCodeAt(Et);if(Ct>=48&&Ct<=57)return Ct-48;if(Ct>=65&&Ct<=70)return Ct-55;if(Ct>=97&&Ct<=102)return Ct-87;rt(!1,"Invalid character in "+Bt)}function lt(Bt,Et,Ct){var Pt=st(Bt,Ct);return Ct-1>=Et&&(Pt|=st(Bt,Ct-1)<<4),Pt}it.prototype._parseHex=function(Et,Ct,Pt){this.length=Math.ceil((Et.length-Ct)/6),this.words=new Array(this.length);for(var Ot=0;Ot=Ct;Ot-=2)Wt=lt(Et,Ct,Ot)<=18?(Mt-=18,Ut+=1,this.words[Ut]|=Wt>>>26):Mt+=8;else{var $t=Et.length-Ct;for(Ot=$t%2===0?Ct+1:Ct;Ot=18?(Mt-=18,Ut+=1,this.words[Ut]|=Wt>>>26):Mt+=8}this._strip()};function dt(Bt,Et,Ct,Pt){for(var Ot=0,Mt=0,Ut=Math.min(Bt.length,Ct),Wt=Et;Wt=49?Mt=$t-49+10:$t>=17?Mt=$t-17+10:Mt=$t,rt($t>=0&&Mt1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},it.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{it.prototype[Symbol.for("nodejs.util.inspect.custom")]=pt}catch{it.prototype.inspect=pt}else it.prototype.inspect=pt;function pt(){return(this.red?""}var mt=["","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"],gt=[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],vt=[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];it.prototype.toString=function(Et,Ct){Et=Et||10,Ct=Ct|0||1;var Pt;if(Et===16||Et==="hex"){Pt="";for(var Ot=0,Mt=0,Ut=0;Ut>>24-Ot&16777215,Ot+=2,Ot>=26&&(Ot-=26,Ut--),Mt!==0||Ut!==this.length-1?Pt=mt[6-$t.length]+$t+Pt:Pt=$t+Pt}for(Mt!==0&&(Pt=Mt.toString(16)+Pt);Pt.length%Ct!==0;)Pt="0"+Pt;return this.negative!==0&&(Pt="-"+Pt),Pt}if(Et===(Et|0)&&Et>=2&&Et<=36){var St=gt[Et],Ft=vt[Et];Pt="";var Vt=this.clone();for(Vt.negative=0;!Vt.isZero();){var Rt=Vt.modrn(Ft).toString(Et);Vt=Vt.idivn(Ft),Vt.isZero()?Pt=Rt+Pt:Pt=mt[St-Rt.length]+Rt+Pt}for(this.isZero()&&(Pt="0"+Pt);Pt.length%Ct!==0;)Pt="0"+Pt;return this.negative!==0&&(Pt="-"+Pt),Pt}rt(!1,"Base should be between 2 and 36")},it.prototype.toNumber=function(){var Et=this.words[0];return this.length===2?Et+=this.words[1]*67108864:this.length===3&&this.words[2]===1?Et+=4503599627370496+this.words[1]*67108864:this.length>2&&rt(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-Et:Et},it.prototype.toJSON=function(){return this.toString(16,2)},at&&(it.prototype.toBuffer=function(Et,Ct){return this.toArrayLike(at,Et,Ct)}),it.prototype.toArray=function(Et,Ct){return this.toArrayLike(Array,Et,Ct)};var bt=function(Et,Ct){return Et.allocUnsafe?Et.allocUnsafe(Ct):new Et(Ct)};it.prototype.toArrayLike=function(Et,Ct,Pt){this._strip();var Ot=this.byteLength(),Mt=Pt||Math.max(1,Ot);rt(Ot<=Mt,"byte array longer than desired length"),rt(Mt>0,"Requested array length <= 0");var Ut=bt(Et,Mt),Wt=Ct==="le"?"LE":"BE";return this["_toArrayLike"+Wt](Ut,Ot),Ut},it.prototype._toArrayLikeLE=function(Et,Ct){for(var Pt=0,Ot=0,Mt=0,Ut=0;Mt>8&255),Pt>16&255),Ut===6?(Pt>24&255),Ot=0,Ut=0):(Ot=Wt>>>24,Ut+=2)}if(Pt=0&&(Et[Pt--]=Wt>>8&255),Pt>=0&&(Et[Pt--]=Wt>>16&255),Ut===6?(Pt>=0&&(Et[Pt--]=Wt>>24&255),Ot=0,Ut=0):(Ot=Wt>>>24,Ut+=2)}if(Pt>=0)for(Et[Pt--]=Ot;Pt>=0;)Et[Pt--]=0},Math.clz32?it.prototype._countBits=function(Et){return 32-Math.clz32(Et)}:it.prototype._countBits=function(Et){var Ct=Et,Pt=0;return Ct>=4096&&(Pt+=13,Ct>>>=13),Ct>=64&&(Pt+=7,Ct>>>=7),Ct>=8&&(Pt+=4,Ct>>>=4),Ct>=2&&(Pt+=2,Ct>>>=2),Pt+Ct},it.prototype._zeroBits=function(Et){if(Et===0)return 26;var Ct=Et,Pt=0;return Ct&8191||(Pt+=13,Ct>>>=13),Ct&127||(Pt+=7,Ct>>>=7),Ct&15||(Pt+=4,Ct>>>=4),Ct&3||(Pt+=2,Ct>>>=2),Ct&1||Pt++,Pt},it.prototype.bitLength=function(){var Et=this.words[this.length-1],Ct=this._countBits(Et);return(this.length-1)*26+Ct};function yt(Bt){for(var Et=new Array(Bt.bitLength()),Ct=0;Ct>>Ot&1}return Et}it.prototype.zeroBits=function(){if(this.isZero())return 0;for(var Et=0,Ct=0;CtEt.length?this.clone().ior(Et):Et.clone().ior(this)},it.prototype.uor=function(Et){return this.length>Et.length?this.clone().iuor(Et):Et.clone().iuor(this)},it.prototype.iuand=function(Et){var Ct;this.length>Et.length?Ct=Et:Ct=this;for(var Pt=0;PtEt.length?this.clone().iand(Et):Et.clone().iand(this)},it.prototype.uand=function(Et){return this.length>Et.length?this.clone().iuand(Et):Et.clone().iuand(this)},it.prototype.iuxor=function(Et){var Ct,Pt;this.length>Et.length?(Ct=this,Pt=Et):(Ct=Et,Pt=this);for(var Ot=0;OtEt.length?this.clone().ixor(Et):Et.clone().ixor(this)},it.prototype.uxor=function(Et){return this.length>Et.length?this.clone().iuxor(Et):Et.clone().iuxor(this)},it.prototype.inotn=function(Et){rt(typeof Et=="number"&&Et>=0);var Ct=Math.ceil(Et/26)|0,Pt=Et%26;this._expand(Ct),Pt>0&&Ct--;for(var Ot=0;Ot0&&(this.words[Ot]=~this.words[Ot]&67108863>>26-Pt),this._strip()},it.prototype.notn=function(Et){return this.clone().inotn(Et)},it.prototype.setn=function(Et,Ct){rt(typeof Et=="number"&&Et>=0);var Pt=Et/26|0,Ot=Et%26;return this._expand(Pt+1),Ct?this.words[Pt]=this.words[Pt]|1<Et.length?(Pt=this,Ot=Et):(Pt=Et,Ot=this);for(var Mt=0,Ut=0;Ut>>26;for(;Mt!==0&&Ut>>26;if(this.length=Pt.length,Mt!==0)this.words[this.length]=Mt,this.length++;else if(Pt!==this)for(;UtEt.length?this.clone().iadd(Et):Et.clone().iadd(this)},it.prototype.isub=function(Et){if(Et.negative!==0){Et.negative=0;var Ct=this.iadd(Et);return Et.negative=1,Ct._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(Et),this.negative=1,this._normSign();var Pt=this.cmp(Et);if(Pt===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Ot,Mt;Pt>0?(Ot=this,Mt=Et):(Ot=Et,Mt=this);for(var Ut=0,Wt=0;Wt>26,this.words[Wt]=Ct&67108863;for(;Ut!==0&&Wt>26,this.words[Wt]=Ct&67108863;if(Ut===0&&Wt>>26,Vt=$t&67108863,Rt=Math.min(St,Et.length-1),Yt=Math.max(0,St-Bt.length+1);Yt<=Rt;Yt++){var Kt=St-Yt|0;Ot=Bt.words[Kt]|0,Mt=Et.words[Yt]|0,Ut=Ot*Mt+Vt,Ft+=Ut/67108864|0,Vt=Ut&67108863}Ct.words[St]=Vt|0,$t=Ft|0}return $t!==0?Ct.words[St]=$t|0:Ct.length--,Ct._strip()}var wt=function(Et,Ct,Pt){var Ot=Et.words,Mt=Ct.words,Ut=Pt.words,Wt=0,$t,St,Ft,Vt=Ot[0]|0,Rt=Vt&8191,Yt=Vt>>>13,Kt=Ot[1]|0,Xt=Kt&8191,rr=Kt>>>13,or=Ot[2]|0,ar=or&8191,ir=or>>>13,pr=Ot[3]|0,nr=pr&8191,hr=pr>>>13,Ar=Ot[4]|0,ur=Ar&8191,vr=Ar>>>13,wr=Ot[5]|0,gr=wr&8191,yr=wr>>>13,Er=Ot[6]|0,_r=Er&8191,$r=Er>>>13,Dr=Ot[7]|0,kr=Dr&8191,Ht=Dr>>>13,It=Ot[8]|0,Nt=It&8191,Gt=It>>>13,er=Ot[9]|0,Qt=er&8191,tr=er>>>13,dr=Mt[0]|0,xr=dr&8191,Jt=dr>>>13,sr=Mt[1]|0,cr=sr&8191,br=sr>>>13,Sr=Mt[2]|0,Pr=Sr&8191,Nr=Sr>>>13,Or=Mt[3]|0,Tr=Or&8191,Ir=Or>>>13,Ur=Mt[4]|0,Br=Ur&8191,Mr=Ur>>>13,Kr=Mt[5]|0,jr=Kr&8191,Fr=Kr>>>13,Zr=Mt[6]|0,Rr=Zr&8191,Lr=Zr>>>13,Yr=Mt[7]|0,Hr=Yr&8191,zr=Yr>>>13,nn=Mt[8]|0,Vr=nn&8191,qr=nn>>>13,on=Mt[9]|0,Wr=on&8191,Gr=on>>>13;Pt.negative=Et.negative^Ct.negative,Pt.length=19,$t=Math.imul(Rt,xr),St=Math.imul(Rt,Jt),St=St+Math.imul(Yt,xr)|0,Ft=Math.imul(Yt,Jt);var Qr=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,$t=Math.imul(Xt,xr),St=Math.imul(Xt,Jt),St=St+Math.imul(rr,xr)|0,Ft=Math.imul(rr,Jt),$t=$t+Math.imul(Rt,cr)|0,St=St+Math.imul(Rt,br)|0,St=St+Math.imul(Yt,cr)|0,Ft=Ft+Math.imul(Yt,br)|0;var Xr=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,$t=Math.imul(ar,xr),St=Math.imul(ar,Jt),St=St+Math.imul(ir,xr)|0,Ft=Math.imul(ir,Jt),$t=$t+Math.imul(Xt,cr)|0,St=St+Math.imul(Xt,br)|0,St=St+Math.imul(rr,cr)|0,Ft=Ft+Math.imul(rr,br)|0,$t=$t+Math.imul(Rt,Pr)|0,St=St+Math.imul(Rt,Nr)|0,St=St+Math.imul(Yt,Pr)|0,Ft=Ft+Math.imul(Yt,Nr)|0;var en=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(en>>>26)|0,en&=67108863,$t=Math.imul(nr,xr),St=Math.imul(nr,Jt),St=St+Math.imul(hr,xr)|0,Ft=Math.imul(hr,Jt),$t=$t+Math.imul(ar,cr)|0,St=St+Math.imul(ar,br)|0,St=St+Math.imul(ir,cr)|0,Ft=Ft+Math.imul(ir,br)|0,$t=$t+Math.imul(Xt,Pr)|0,St=St+Math.imul(Xt,Nr)|0,St=St+Math.imul(rr,Pr)|0,Ft=Ft+Math.imul(rr,Nr)|0,$t=$t+Math.imul(Rt,Tr)|0,St=St+Math.imul(Rt,Ir)|0,St=St+Math.imul(Yt,Tr)|0,Ft=Ft+Math.imul(Yt,Ir)|0;var tn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(tn>>>26)|0,tn&=67108863,$t=Math.imul(ur,xr),St=Math.imul(ur,Jt),St=St+Math.imul(vr,xr)|0,Ft=Math.imul(vr,Jt),$t=$t+Math.imul(nr,cr)|0,St=St+Math.imul(nr,br)|0,St=St+Math.imul(hr,cr)|0,Ft=Ft+Math.imul(hr,br)|0,$t=$t+Math.imul(ar,Pr)|0,St=St+Math.imul(ar,Nr)|0,St=St+Math.imul(ir,Pr)|0,Ft=Ft+Math.imul(ir,Nr)|0,$t=$t+Math.imul(Xt,Tr)|0,St=St+Math.imul(Xt,Ir)|0,St=St+Math.imul(rr,Tr)|0,Ft=Ft+Math.imul(rr,Ir)|0,$t=$t+Math.imul(Rt,Br)|0,St=St+Math.imul(Rt,Mr)|0,St=St+Math.imul(Yt,Br)|0,Ft=Ft+Math.imul(Yt,Mr)|0;var rn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(rn>>>26)|0,rn&=67108863,$t=Math.imul(gr,xr),St=Math.imul(gr,Jt),St=St+Math.imul(yr,xr)|0,Ft=Math.imul(yr,Jt),$t=$t+Math.imul(ur,cr)|0,St=St+Math.imul(ur,br)|0,St=St+Math.imul(vr,cr)|0,Ft=Ft+Math.imul(vr,br)|0,$t=$t+Math.imul(nr,Pr)|0,St=St+Math.imul(nr,Nr)|0,St=St+Math.imul(hr,Pr)|0,Ft=Ft+Math.imul(hr,Nr)|0,$t=$t+Math.imul(ar,Tr)|0,St=St+Math.imul(ar,Ir)|0,St=St+Math.imul(ir,Tr)|0,Ft=Ft+Math.imul(ir,Ir)|0,$t=$t+Math.imul(Xt,Br)|0,St=St+Math.imul(Xt,Mr)|0,St=St+Math.imul(rr,Br)|0,Ft=Ft+Math.imul(rr,Mr)|0,$t=$t+Math.imul(Rt,jr)|0,St=St+Math.imul(Rt,Fr)|0,St=St+Math.imul(Yt,jr)|0,Ft=Ft+Math.imul(Yt,Fr)|0;var an=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(an>>>26)|0,an&=67108863,$t=Math.imul(_r,xr),St=Math.imul(_r,Jt),St=St+Math.imul($r,xr)|0,Ft=Math.imul($r,Jt),$t=$t+Math.imul(gr,cr)|0,St=St+Math.imul(gr,br)|0,St=St+Math.imul(yr,cr)|0,Ft=Ft+Math.imul(yr,br)|0,$t=$t+Math.imul(ur,Pr)|0,St=St+Math.imul(ur,Nr)|0,St=St+Math.imul(vr,Pr)|0,Ft=Ft+Math.imul(vr,Nr)|0,$t=$t+Math.imul(nr,Tr)|0,St=St+Math.imul(nr,Ir)|0,St=St+Math.imul(hr,Tr)|0,Ft=Ft+Math.imul(hr,Ir)|0,$t=$t+Math.imul(ar,Br)|0,St=St+Math.imul(ar,Mr)|0,St=St+Math.imul(ir,Br)|0,Ft=Ft+Math.imul(ir,Mr)|0,$t=$t+Math.imul(Xt,jr)|0,St=St+Math.imul(Xt,Fr)|0,St=St+Math.imul(rr,jr)|0,Ft=Ft+Math.imul(rr,Fr)|0,$t=$t+Math.imul(Rt,Rr)|0,St=St+Math.imul(Rt,Lr)|0,St=St+Math.imul(Yt,Rr)|0,Ft=Ft+Math.imul(Yt,Lr)|0;var sn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(sn>>>26)|0,sn&=67108863,$t=Math.imul(kr,xr),St=Math.imul(kr,Jt),St=St+Math.imul(Ht,xr)|0,Ft=Math.imul(Ht,Jt),$t=$t+Math.imul(_r,cr)|0,St=St+Math.imul(_r,br)|0,St=St+Math.imul($r,cr)|0,Ft=Ft+Math.imul($r,br)|0,$t=$t+Math.imul(gr,Pr)|0,St=St+Math.imul(gr,Nr)|0,St=St+Math.imul(yr,Pr)|0,Ft=Ft+Math.imul(yr,Nr)|0,$t=$t+Math.imul(ur,Tr)|0,St=St+Math.imul(ur,Ir)|0,St=St+Math.imul(vr,Tr)|0,Ft=Ft+Math.imul(vr,Ir)|0,$t=$t+Math.imul(nr,Br)|0,St=St+Math.imul(nr,Mr)|0,St=St+Math.imul(hr,Br)|0,Ft=Ft+Math.imul(hr,Mr)|0,$t=$t+Math.imul(ar,jr)|0,St=St+Math.imul(ar,Fr)|0,St=St+Math.imul(ir,jr)|0,Ft=Ft+Math.imul(ir,Fr)|0,$t=$t+Math.imul(Xt,Rr)|0,St=St+Math.imul(Xt,Lr)|0,St=St+Math.imul(rr,Rr)|0,Ft=Ft+Math.imul(rr,Lr)|0,$t=$t+Math.imul(Rt,Hr)|0,St=St+Math.imul(Rt,zr)|0,St=St+Math.imul(Yt,Hr)|0,Ft=Ft+Math.imul(Yt,zr)|0;var cn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(cn>>>26)|0,cn&=67108863,$t=Math.imul(Nt,xr),St=Math.imul(Nt,Jt),St=St+Math.imul(Gt,xr)|0,Ft=Math.imul(Gt,Jt),$t=$t+Math.imul(kr,cr)|0,St=St+Math.imul(kr,br)|0,St=St+Math.imul(Ht,cr)|0,Ft=Ft+Math.imul(Ht,br)|0,$t=$t+Math.imul(_r,Pr)|0,St=St+Math.imul(_r,Nr)|0,St=St+Math.imul($r,Pr)|0,Ft=Ft+Math.imul($r,Nr)|0,$t=$t+Math.imul(gr,Tr)|0,St=St+Math.imul(gr,Ir)|0,St=St+Math.imul(yr,Tr)|0,Ft=Ft+Math.imul(yr,Ir)|0,$t=$t+Math.imul(ur,Br)|0,St=St+Math.imul(ur,Mr)|0,St=St+Math.imul(vr,Br)|0,Ft=Ft+Math.imul(vr,Mr)|0,$t=$t+Math.imul(nr,jr)|0,St=St+Math.imul(nr,Fr)|0,St=St+Math.imul(hr,jr)|0,Ft=Ft+Math.imul(hr,Fr)|0,$t=$t+Math.imul(ar,Rr)|0,St=St+Math.imul(ar,Lr)|0,St=St+Math.imul(ir,Rr)|0,Ft=Ft+Math.imul(ir,Lr)|0,$t=$t+Math.imul(Xt,Hr)|0,St=St+Math.imul(Xt,zr)|0,St=St+Math.imul(rr,Hr)|0,Ft=Ft+Math.imul(rr,zr)|0,$t=$t+Math.imul(Rt,Vr)|0,St=St+Math.imul(Rt,qr)|0,St=St+Math.imul(Yt,Vr)|0,Ft=Ft+Math.imul(Yt,qr)|0;var ln=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(ln>>>26)|0,ln&=67108863,$t=Math.imul(Qt,xr),St=Math.imul(Qt,Jt),St=St+Math.imul(tr,xr)|0,Ft=Math.imul(tr,Jt),$t=$t+Math.imul(Nt,cr)|0,St=St+Math.imul(Nt,br)|0,St=St+Math.imul(Gt,cr)|0,Ft=Ft+Math.imul(Gt,br)|0,$t=$t+Math.imul(kr,Pr)|0,St=St+Math.imul(kr,Nr)|0,St=St+Math.imul(Ht,Pr)|0,Ft=Ft+Math.imul(Ht,Nr)|0,$t=$t+Math.imul(_r,Tr)|0,St=St+Math.imul(_r,Ir)|0,St=St+Math.imul($r,Tr)|0,Ft=Ft+Math.imul($r,Ir)|0,$t=$t+Math.imul(gr,Br)|0,St=St+Math.imul(gr,Mr)|0,St=St+Math.imul(yr,Br)|0,Ft=Ft+Math.imul(yr,Mr)|0,$t=$t+Math.imul(ur,jr)|0,St=St+Math.imul(ur,Fr)|0,St=St+Math.imul(vr,jr)|0,Ft=Ft+Math.imul(vr,Fr)|0,$t=$t+Math.imul(nr,Rr)|0,St=St+Math.imul(nr,Lr)|0,St=St+Math.imul(hr,Rr)|0,Ft=Ft+Math.imul(hr,Lr)|0,$t=$t+Math.imul(ar,Hr)|0,St=St+Math.imul(ar,zr)|0,St=St+Math.imul(ir,Hr)|0,Ft=Ft+Math.imul(ir,zr)|0,$t=$t+Math.imul(Xt,Vr)|0,St=St+Math.imul(Xt,qr)|0,St=St+Math.imul(rr,Vr)|0,Ft=Ft+Math.imul(rr,qr)|0,$t=$t+Math.imul(Rt,Wr)|0,St=St+Math.imul(Rt,Gr)|0,St=St+Math.imul(Yt,Wr)|0,Ft=Ft+Math.imul(Yt,Gr)|0;var un=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(un>>>26)|0,un&=67108863,$t=Math.imul(Qt,cr),St=Math.imul(Qt,br),St=St+Math.imul(tr,cr)|0,Ft=Math.imul(tr,br),$t=$t+Math.imul(Nt,Pr)|0,St=St+Math.imul(Nt,Nr)|0,St=St+Math.imul(Gt,Pr)|0,Ft=Ft+Math.imul(Gt,Nr)|0,$t=$t+Math.imul(kr,Tr)|0,St=St+Math.imul(kr,Ir)|0,St=St+Math.imul(Ht,Tr)|0,Ft=Ft+Math.imul(Ht,Ir)|0,$t=$t+Math.imul(_r,Br)|0,St=St+Math.imul(_r,Mr)|0,St=St+Math.imul($r,Br)|0,Ft=Ft+Math.imul($r,Mr)|0,$t=$t+Math.imul(gr,jr)|0,St=St+Math.imul(gr,Fr)|0,St=St+Math.imul(yr,jr)|0,Ft=Ft+Math.imul(yr,Fr)|0,$t=$t+Math.imul(ur,Rr)|0,St=St+Math.imul(ur,Lr)|0,St=St+Math.imul(vr,Rr)|0,Ft=Ft+Math.imul(vr,Lr)|0,$t=$t+Math.imul(nr,Hr)|0,St=St+Math.imul(nr,zr)|0,St=St+Math.imul(hr,Hr)|0,Ft=Ft+Math.imul(hr,zr)|0,$t=$t+Math.imul(ar,Vr)|0,St=St+Math.imul(ar,qr)|0,St=St+Math.imul(ir,Vr)|0,Ft=Ft+Math.imul(ir,qr)|0,$t=$t+Math.imul(Xt,Wr)|0,St=St+Math.imul(Xt,Gr)|0,St=St+Math.imul(rr,Wr)|0,Ft=Ft+Math.imul(rr,Gr)|0;var fn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(fn>>>26)|0,fn&=67108863,$t=Math.imul(Qt,Pr),St=Math.imul(Qt,Nr),St=St+Math.imul(tr,Pr)|0,Ft=Math.imul(tr,Nr),$t=$t+Math.imul(Nt,Tr)|0,St=St+Math.imul(Nt,Ir)|0,St=St+Math.imul(Gt,Tr)|0,Ft=Ft+Math.imul(Gt,Ir)|0,$t=$t+Math.imul(kr,Br)|0,St=St+Math.imul(kr,Mr)|0,St=St+Math.imul(Ht,Br)|0,Ft=Ft+Math.imul(Ht,Mr)|0,$t=$t+Math.imul(_r,jr)|0,St=St+Math.imul(_r,Fr)|0,St=St+Math.imul($r,jr)|0,Ft=Ft+Math.imul($r,Fr)|0,$t=$t+Math.imul(gr,Rr)|0,St=St+Math.imul(gr,Lr)|0,St=St+Math.imul(yr,Rr)|0,Ft=Ft+Math.imul(yr,Lr)|0,$t=$t+Math.imul(ur,Hr)|0,St=St+Math.imul(ur,zr)|0,St=St+Math.imul(vr,Hr)|0,Ft=Ft+Math.imul(vr,zr)|0,$t=$t+Math.imul(nr,Vr)|0,St=St+Math.imul(nr,qr)|0,St=St+Math.imul(hr,Vr)|0,Ft=Ft+Math.imul(hr,qr)|0,$t=$t+Math.imul(ar,Wr)|0,St=St+Math.imul(ar,Gr)|0,St=St+Math.imul(ir,Wr)|0,Ft=Ft+Math.imul(ir,Gr)|0;var dn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(dn>>>26)|0,dn&=67108863,$t=Math.imul(Qt,Tr),St=Math.imul(Qt,Ir),St=St+Math.imul(tr,Tr)|0,Ft=Math.imul(tr,Ir),$t=$t+Math.imul(Nt,Br)|0,St=St+Math.imul(Nt,Mr)|0,St=St+Math.imul(Gt,Br)|0,Ft=Ft+Math.imul(Gt,Mr)|0,$t=$t+Math.imul(kr,jr)|0,St=St+Math.imul(kr,Fr)|0,St=St+Math.imul(Ht,jr)|0,Ft=Ft+Math.imul(Ht,Fr)|0,$t=$t+Math.imul(_r,Rr)|0,St=St+Math.imul(_r,Lr)|0,St=St+Math.imul($r,Rr)|0,Ft=Ft+Math.imul($r,Lr)|0,$t=$t+Math.imul(gr,Hr)|0,St=St+Math.imul(gr,zr)|0,St=St+Math.imul(yr,Hr)|0,Ft=Ft+Math.imul(yr,zr)|0,$t=$t+Math.imul(ur,Vr)|0,St=St+Math.imul(ur,qr)|0,St=St+Math.imul(vr,Vr)|0,Ft=Ft+Math.imul(vr,qr)|0,$t=$t+Math.imul(nr,Wr)|0,St=St+Math.imul(nr,Gr)|0,St=St+Math.imul(hr,Wr)|0,Ft=Ft+Math.imul(hr,Gr)|0;var hn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(hn>>>26)|0,hn&=67108863,$t=Math.imul(Qt,Br),St=Math.imul(Qt,Mr),St=St+Math.imul(tr,Br)|0,Ft=Math.imul(tr,Mr),$t=$t+Math.imul(Nt,jr)|0,St=St+Math.imul(Nt,Fr)|0,St=St+Math.imul(Gt,jr)|0,Ft=Ft+Math.imul(Gt,Fr)|0,$t=$t+Math.imul(kr,Rr)|0,St=St+Math.imul(kr,Lr)|0,St=St+Math.imul(Ht,Rr)|0,Ft=Ft+Math.imul(Ht,Lr)|0,$t=$t+Math.imul(_r,Hr)|0,St=St+Math.imul(_r,zr)|0,St=St+Math.imul($r,Hr)|0,Ft=Ft+Math.imul($r,zr)|0,$t=$t+Math.imul(gr,Vr)|0,St=St+Math.imul(gr,qr)|0,St=St+Math.imul(yr,Vr)|0,Ft=Ft+Math.imul(yr,qr)|0,$t=$t+Math.imul(ur,Wr)|0,St=St+Math.imul(ur,Gr)|0,St=St+Math.imul(vr,Wr)|0,Ft=Ft+Math.imul(vr,Gr)|0;var pn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(pn>>>26)|0,pn&=67108863,$t=Math.imul(Qt,jr),St=Math.imul(Qt,Fr),St=St+Math.imul(tr,jr)|0,Ft=Math.imul(tr,Fr),$t=$t+Math.imul(Nt,Rr)|0,St=St+Math.imul(Nt,Lr)|0,St=St+Math.imul(Gt,Rr)|0,Ft=Ft+Math.imul(Gt,Lr)|0,$t=$t+Math.imul(kr,Hr)|0,St=St+Math.imul(kr,zr)|0,St=St+Math.imul(Ht,Hr)|0,Ft=Ft+Math.imul(Ht,zr)|0,$t=$t+Math.imul(_r,Vr)|0,St=St+Math.imul(_r,qr)|0,St=St+Math.imul($r,Vr)|0,Ft=Ft+Math.imul($r,qr)|0,$t=$t+Math.imul(gr,Wr)|0,St=St+Math.imul(gr,Gr)|0,St=St+Math.imul(yr,Wr)|0,Ft=Ft+Math.imul(yr,Gr)|0;var mn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(mn>>>26)|0,mn&=67108863,$t=Math.imul(Qt,Rr),St=Math.imul(Qt,Lr),St=St+Math.imul(tr,Rr)|0,Ft=Math.imul(tr,Lr),$t=$t+Math.imul(Nt,Hr)|0,St=St+Math.imul(Nt,zr)|0,St=St+Math.imul(Gt,Hr)|0,Ft=Ft+Math.imul(Gt,zr)|0,$t=$t+Math.imul(kr,Vr)|0,St=St+Math.imul(kr,qr)|0,St=St+Math.imul(Ht,Vr)|0,Ft=Ft+Math.imul(Ht,qr)|0,$t=$t+Math.imul(_r,Wr)|0,St=St+Math.imul(_r,Gr)|0,St=St+Math.imul($r,Wr)|0,Ft=Ft+Math.imul($r,Gr)|0;var gn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(gn>>>26)|0,gn&=67108863,$t=Math.imul(Qt,Hr),St=Math.imul(Qt,zr),St=St+Math.imul(tr,Hr)|0,Ft=Math.imul(tr,zr),$t=$t+Math.imul(Nt,Vr)|0,St=St+Math.imul(Nt,qr)|0,St=St+Math.imul(Gt,Vr)|0,Ft=Ft+Math.imul(Gt,qr)|0,$t=$t+Math.imul(kr,Wr)|0,St=St+Math.imul(kr,Gr)|0,St=St+Math.imul(Ht,Wr)|0,Ft=Ft+Math.imul(Ht,Gr)|0;var yn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(yn>>>26)|0,yn&=67108863,$t=Math.imul(Qt,Vr),St=Math.imul(Qt,qr),St=St+Math.imul(tr,Vr)|0,Ft=Math.imul(tr,qr),$t=$t+Math.imul(Nt,Wr)|0,St=St+Math.imul(Nt,Gr)|0,St=St+Math.imul(Gt,Wr)|0,Ft=Ft+Math.imul(Gt,Gr)|0;var xn=(Wt+$t|0)+((St&8191)<<13)|0;Wt=(Ft+(St>>>13)|0)+(xn>>>26)|0,xn&=67108863,$t=Math.imul(Qt,Wr),St=Math.imul(Qt,Gr),St=St+Math.imul(tr,Wr)|0,Ft=Math.imul(tr,Gr);var vn=(Wt+$t|0)+((St&8191)<<13)|0;return Wt=(Ft+(St>>>13)|0)+(vn>>>26)|0,vn&=67108863,Ut[0]=Qr,Ut[1]=Xr,Ut[2]=en,Ut[3]=tn,Ut[4]=rn,Ut[5]=an,Ut[6]=sn,Ut[7]=cn,Ut[8]=ln,Ut[9]=un,Ut[10]=fn,Ut[11]=dn,Ut[12]=hn,Ut[13]=pn,Ut[14]=mn,Ut[15]=gn,Ut[16]=yn,Ut[17]=xn,Ut[18]=vn,Wt!==0&&(Ut[19]=Wt,Pt.length++),Pt};Math.imul||(wt=xt);function _t(Bt,Et,Ct){Ct.negative=Et.negative^Bt.negative,Ct.length=Bt.length+Et.length;for(var Pt=0,Ot=0,Mt=0;Mt>>26)|0,Ot+=Ut>>>26,Ut&=67108863}Ct.words[Mt]=Wt,Pt=Ut,Ut=Ot}return Pt!==0?Ct.words[Mt]=Pt:Ct.length--,Ct._strip()}function At(Bt,Et,Ct){return _t(Bt,Et,Ct)}it.prototype.mulTo=function(Et,Ct){var Pt,Ot=this.length+Et.length;return this.length===10&&Et.length===10?Pt=wt(this,Et,Ct):Ot<63?Pt=xt(this,Et,Ct):Ot<1024?Pt=_t(this,Et,Ct):Pt=At(this,Et,Ct),Pt},it.prototype.mul=function(Et){var Ct=new it(null);return Ct.words=new Array(this.length+Et.length),this.mulTo(Et,Ct)},it.prototype.mulf=function(Et){var Ct=new it(null);return Ct.words=new Array(this.length+Et.length),At(this,Et,Ct)},it.prototype.imul=function(Et){return this.clone().mulTo(Et,this)},it.prototype.imuln=function(Et){var Ct=Et<0;Ct&&(Et=-Et),rt(typeof Et=="number"),rt(Et<67108864);for(var Pt=0,Ot=0;Ot>=26,Pt+=Mt/67108864|0,Pt+=Ut>>>26,this.words[Ot]=Ut&67108863}return Pt!==0&&(this.words[Ot]=Pt,this.length++),Ct?this.ineg():this},it.prototype.muln=function(Et){return this.clone().imuln(Et)},it.prototype.sqr=function(){return this.mul(this)},it.prototype.isqr=function(){return this.imul(this.clone())},it.prototype.pow=function(Et){var Ct=yt(Et);if(Ct.length===0)return new it(1);for(var Pt=this,Ot=0;Ot=0);var Ct=Et%26,Pt=(Et-Ct)/26,Ot=67108863>>>26-Ct<<26-Ct,Mt;if(Ct!==0){var Ut=0;for(Mt=0;Mt>>26-Ct}Ut&&(this.words[Mt]=Ut,this.length++)}if(Pt!==0){for(Mt=this.length-1;Mt>=0;Mt--)this.words[Mt+Pt]=this.words[Mt];for(Mt=0;Mt=0);var Ot;Ct?Ot=(Ct-Ct%26)/26:Ot=0;var Mt=Et%26,Ut=Math.min((Et-Mt)/26,this.length),Wt=67108863^67108863>>>Mt<Ut)for(this.length-=Ut,St=0;St=0&&(Ft!==0||St>=Ot);St--){var Vt=this.words[St]|0;this.words[St]=Ft<<26-Mt|Vt>>>Mt,Ft=Vt&Wt}return $t&&Ft!==0&&($t.words[$t.length++]=Ft),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},it.prototype.ishrn=function(Et,Ct,Pt){return rt(this.negative===0),this.iushrn(Et,Ct,Pt)},it.prototype.shln=function(Et){return this.clone().ishln(Et)},it.prototype.ushln=function(Et){return this.clone().iushln(Et)},it.prototype.shrn=function(Et){return this.clone().ishrn(Et)},it.prototype.ushrn=function(Et){return this.clone().iushrn(Et)},it.prototype.testn=function(Et){rt(typeof Et=="number"&&Et>=0);var Ct=Et%26,Pt=(Et-Ct)/26,Ot=1<=0);var Ct=Et%26,Pt=(Et-Ct)/26;if(rt(this.negative===0,"imaskn works only with positive numbers"),this.length<=Pt)return this;if(Ct!==0&&Pt++,this.length=Math.min(Pt,this.length),Ct!==0){var Ot=67108863^67108863>>>Ct<=67108864;Ct++)this.words[Ct]-=67108864,Ct===this.length-1?this.words[Ct+1]=1:this.words[Ct+1]++;return this.length=Math.max(this.length,Ct+1),this},it.prototype.isubn=function(Et){if(rt(typeof Et=="number"),rt(Et<67108864),Et<0)return this.iaddn(-Et);if(this.negative!==0)return this.negative=0,this.iaddn(Et),this.negative=1,this;if(this.words[0]-=Et,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Ct=0;Ct>26)-($t/67108864|0),this.words[Mt+Pt]=Ut&67108863}for(;Mt>26,this.words[Mt+Pt]=Ut&67108863;if(Wt===0)return this._strip();for(rt(Wt===-1),Wt=0,Mt=0;Mt>26,this.words[Mt]=Ut&67108863;return this.negative=1,this._strip()},it.prototype._wordDiv=function(Et,Ct){var Pt=this.length-Et.length,Ot=this.clone(),Mt=Et,Ut=Mt.words[Mt.length-1]|0,Wt=this._countBits(Ut);Pt=26-Wt,Pt!==0&&(Mt=Mt.ushln(Pt),Ot.iushln(Pt),Ut=Mt.words[Mt.length-1]|0);var $t=Ot.length-Mt.length,St;if(Ct!=="mod"){St=new it(null),St.length=$t+1,St.words=new Array(St.length);for(var Ft=0;Ft=0;Rt--){var Yt=(Ot.words[Mt.length+Rt]|0)*67108864+(Ot.words[Mt.length+Rt-1]|0);for(Yt=Math.min(Yt/Ut|0,67108863),Ot._ishlnsubmul(Mt,Yt,Rt);Ot.negative!==0;)Yt--,Ot.negative=0,Ot._ishlnsubmul(Mt,1,Rt),Ot.isZero()||(Ot.negative^=1);St&&(St.words[Rt]=Yt)}return St&&St._strip(),Ot._strip(),Ct!=="div"&&Pt!==0&&Ot.iushrn(Pt),{div:St||null,mod:Ot}},it.prototype.divmod=function(Et,Ct,Pt){if(rt(!Et.isZero()),this.isZero())return{div:new it(0),mod:new it(0)};var Ot,Mt,Ut;return this.negative!==0&&Et.negative===0?(Ut=this.neg().divmod(Et,Ct),Ct!=="mod"&&(Ot=Ut.div.neg()),Ct!=="div"&&(Mt=Ut.mod.neg(),Pt&&Mt.negative!==0&&Mt.iadd(Et)),{div:Ot,mod:Mt}):this.negative===0&&Et.negative!==0?(Ut=this.divmod(Et.neg(),Ct),Ct!=="mod"&&(Ot=Ut.div.neg()),{div:Ot,mod:Ut.mod}):this.negative&Et.negative?(Ut=this.neg().divmod(Et.neg(),Ct),Ct!=="div"&&(Mt=Ut.mod.neg(),Pt&&Mt.negative!==0&&Mt.isub(Et)),{div:Ut.div,mod:Mt}):Et.length>this.length||this.cmp(Et)<0?{div:new it(0),mod:this}:Et.length===1?Ct==="div"?{div:this.divn(Et.words[0]),mod:null}:Ct==="mod"?{div:null,mod:new it(this.modrn(Et.words[0]))}:{div:this.divn(Et.words[0]),mod:new it(this.modrn(Et.words[0]))}:this._wordDiv(Et,Ct)},it.prototype.div=function(Et){return this.divmod(Et,"div",!1).div},it.prototype.mod=function(Et){return this.divmod(Et,"mod",!1).mod},it.prototype.umod=function(Et){return this.divmod(Et,"mod",!0).mod},it.prototype.divRound=function(Et){var Ct=this.divmod(Et);if(Ct.mod.isZero())return Ct.div;var Pt=Ct.div.negative!==0?Ct.mod.isub(Et):Ct.mod,Ot=Et.ushrn(1),Mt=Et.andln(1),Ut=Pt.cmp(Ot);return Ut<0||Mt===1&&Ut===0?Ct.div:Ct.div.negative!==0?Ct.div.isubn(1):Ct.div.iaddn(1)},it.prototype.modrn=function(Et){var Ct=Et<0;Ct&&(Et=-Et),rt(Et<=67108863);for(var Pt=(1<<26)%Et,Ot=0,Mt=this.length-1;Mt>=0;Mt--)Ot=(Pt*Ot+(this.words[Mt]|0))%Et;return Ct?-Ot:Ot},it.prototype.modn=function(Et){return this.modrn(Et)},it.prototype.idivn=function(Et){var Ct=Et<0;Ct&&(Et=-Et),rt(Et<=67108863);for(var Pt=0,Ot=this.length-1;Ot>=0;Ot--){var Mt=(this.words[Ot]|0)+Pt*67108864;this.words[Ot]=Mt/Et|0,Pt=Mt%Et}return this._strip(),Ct?this.ineg():this},it.prototype.divn=function(Et){return this.clone().idivn(Et)},it.prototype.egcd=function(Et){rt(Et.negative===0),rt(!Et.isZero());var Ct=this,Pt=Et.clone();Ct.negative!==0?Ct=Ct.umod(Et):Ct=Ct.clone();for(var Ot=new it(1),Mt=new it(0),Ut=new it(0),Wt=new it(1),$t=0;Ct.isEven()&&Pt.isEven();)Ct.iushrn(1),Pt.iushrn(1),++$t;for(var St=Pt.clone(),Ft=Ct.clone();!Ct.isZero();){for(var Vt=0,Rt=1;!(Ct.words[0]&Rt)&&Vt<26;++Vt,Rt<<=1);if(Vt>0)for(Ct.iushrn(Vt);Vt-- >0;)(Ot.isOdd()||Mt.isOdd())&&(Ot.iadd(St),Mt.isub(Ft)),Ot.iushrn(1),Mt.iushrn(1);for(var Yt=0,Kt=1;!(Pt.words[0]&Kt)&&Yt<26;++Yt,Kt<<=1);if(Yt>0)for(Pt.iushrn(Yt);Yt-- >0;)(Ut.isOdd()||Wt.isOdd())&&(Ut.iadd(St),Wt.isub(Ft)),Ut.iushrn(1),Wt.iushrn(1);Ct.cmp(Pt)>=0?(Ct.isub(Pt),Ot.isub(Ut),Mt.isub(Wt)):(Pt.isub(Ct),Ut.isub(Ot),Wt.isub(Mt))}return{a:Ut,b:Wt,gcd:Pt.iushln($t)}},it.prototype._invmp=function(Et){rt(Et.negative===0),rt(!Et.isZero());var Ct=this,Pt=Et.clone();Ct.negative!==0?Ct=Ct.umod(Et):Ct=Ct.clone();for(var Ot=new it(1),Mt=new it(0),Ut=Pt.clone();Ct.cmpn(1)>0&&Pt.cmpn(1)>0;){for(var Wt=0,$t=1;!(Ct.words[0]&$t)&&Wt<26;++Wt,$t<<=1);if(Wt>0)for(Ct.iushrn(Wt);Wt-- >0;)Ot.isOdd()&&Ot.iadd(Ut),Ot.iushrn(1);for(var St=0,Ft=1;!(Pt.words[0]&Ft)&&St<26;++St,Ft<<=1);if(St>0)for(Pt.iushrn(St);St-- >0;)Mt.isOdd()&&Mt.iadd(Ut),Mt.iushrn(1);Ct.cmp(Pt)>=0?(Ct.isub(Pt),Ot.isub(Mt)):(Pt.isub(Ct),Mt.isub(Ot))}var Vt;return Ct.cmpn(1)===0?Vt=Ot:Vt=Mt,Vt.cmpn(0)<0&&Vt.iadd(Et),Vt},it.prototype.gcd=function(Et){if(this.isZero())return Et.abs();if(Et.isZero())return this.abs();var Ct=this.clone(),Pt=Et.clone();Ct.negative=0,Pt.negative=0;for(var Ot=0;Ct.isEven()&&Pt.isEven();Ot++)Ct.iushrn(1),Pt.iushrn(1);do{for(;Ct.isEven();)Ct.iushrn(1);for(;Pt.isEven();)Pt.iushrn(1);var Mt=Ct.cmp(Pt);if(Mt<0){var Ut=Ct;Ct=Pt,Pt=Ut}else if(Mt===0||Pt.cmpn(1)===0)break;Ct.isub(Pt)}while(!0);return Pt.iushln(Ot)},it.prototype.invm=function(Et){return this.egcd(Et).a.umod(Et)},it.prototype.isEven=function(){return(this.words[0]&1)===0},it.prototype.isOdd=function(){return(this.words[0]&1)===1},it.prototype.andln=function(Et){return this.words[0]&Et},it.prototype.bincn=function(Et){rt(typeof Et=="number");var Ct=Et%26,Pt=(Et-Ct)/26,Ot=1<>>26,Wt&=67108863,this.words[Ut]=Wt}return Mt!==0&&(this.words[Ut]=Mt,this.length++),this},it.prototype.isZero=function(){return this.length===1&&this.words[0]===0},it.prototype.cmpn=function(Et){var Ct=Et<0;if(this.negative!==0&&!Ct)return-1;if(this.negative===0&&Ct)return 1;this._strip();var Pt;if(this.length>1)Pt=1;else{Ct&&(Et=-Et),rt(Et<=67108863,"Number is too big");var Ot=this.words[0]|0;Pt=Ot===Et?0:OtEt.length)return 1;if(this.length=0;Pt--){var Ot=this.words[Pt]|0,Mt=Et.words[Pt]|0;if(Ot!==Mt){OtMt&&(Ct=1);break}}return Ct},it.prototype.gtn=function(Et){return this.cmpn(Et)===1},it.prototype.gt=function(Et){return this.cmp(Et)===1},it.prototype.gten=function(Et){return this.cmpn(Et)>=0},it.prototype.gte=function(Et){return this.cmp(Et)>=0},it.prototype.ltn=function(Et){return this.cmpn(Et)===-1},it.prototype.lt=function(Et){return this.cmp(Et)===-1},it.prototype.lten=function(Et){return this.cmpn(Et)<=0},it.prototype.lte=function(Et){return this.cmp(Et)<=0},it.prototype.eqn=function(Et){return this.cmpn(Et)===0},it.prototype.eq=function(Et){return this.cmp(Et)===0},it.red=function(Et){return new zt(Et)},it.prototype.toRed=function(Et){return rt(!this.red,"Already a number in reduction context"),rt(this.negative===0,"red works only with positives"),Et.convertTo(this)._forceRed(Et)},it.prototype.fromRed=function(){return rt(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},it.prototype._forceRed=function(Et){return this.red=Et,this},it.prototype.forceRed=function(Et){return rt(!this.red,"Already a number in reduction context"),this._forceRed(Et)},it.prototype.redAdd=function(Et){return rt(this.red,"redAdd works only with red numbers"),this.red.add(this,Et)},it.prototype.redIAdd=function(Et){return rt(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,Et)},it.prototype.redSub=function(Et){return rt(this.red,"redSub works only with red numbers"),this.red.sub(this,Et)},it.prototype.redISub=function(Et){return rt(this.red,"redISub works only with red numbers"),this.red.isub(this,Et)},it.prototype.redShl=function(Et){return rt(this.red,"redShl works only with red numbers"),this.red.shl(this,Et)},it.prototype.redMul=function(Et){return rt(this.red,"redMul works only with red numbers"),this.red._verify2(this,Et),this.red.mul(this,Et)},it.prototype.redIMul=function(Et){return rt(this.red,"redMul works only with red numbers"),this.red._verify2(this,Et),this.red.imul(this,Et)},it.prototype.redSqr=function(){return rt(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},it.prototype.redISqr=function(){return rt(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},it.prototype.redSqrt=function(){return rt(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},it.prototype.redInvm=function(){return rt(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},it.prototype.redNeg=function(){return rt(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},it.prototype.redPow=function(Et){return rt(this.red&&!Et.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,Et)};var Tt={k256:null,p224:null,p192:null,p25519:null};function kt(Bt,Et){this.name=Bt,this.p=new it(Et,16),this.n=this.p.bitLength(),this.k=new it(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}kt.prototype._tmp=function(){var Et=new it(null);return Et.words=new Array(Math.ceil(this.n/13)),Et},kt.prototype.ireduce=function(Et){var Ct=Et,Pt;do this.split(Ct,this.tmp),Ct=this.imulK(Ct),Ct=Ct.iadd(this.tmp),Pt=Ct.bitLength();while(Pt>this.n);var Ot=Pt0?Ct.isub(this.p):Ct.strip!==void 0?Ct.strip():Ct._strip(),Ct},kt.prototype.split=function(Et,Ct){Et.iushrn(this.n,0,Ct)},kt.prototype.imulK=function(Et){return Et.imul(this.k)};function jt(){kt.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}nt(jt,kt),jt.prototype.split=function(Et,Ct){for(var Pt=4194303,Ot=Math.min(Et.length,9),Mt=0;Mt>>22,Ut=Wt}Ut>>>=22,Et.words[Mt-10]=Ut,Ut===0&&Et.length>10?Et.length-=10:Et.length-=9},jt.prototype.imulK=function(Et){Et.words[Et.length]=0,Et.words[Et.length+1]=0,Et.length+=2;for(var Ct=0,Pt=0;Pt>>=26,Et.words[Pt]=Mt,Ct=Ot}return Ct!==0&&(Et.words[Et.length++]=Ct),Et},it._prime=function(Et){if(Tt[Et])return Tt[Et];var Ct;if(Et==="k256")Ct=new jt;else if(Et==="p224")Ct=new Lt;else if(Et==="p192")Ct=new qt;else if(Et==="p25519")Ct=new Dt;else throw new Error("Unknown prime "+Et);return Tt[Et]=Ct,Ct};function zt(Bt){if(typeof Bt=="string"){var Et=it._prime(Bt);this.m=Et.p,this.prime=Et}else rt(Bt.gtn(1),"modulus must be greater than 1"),this.m=Bt,this.prime=null}zt.prototype._verify1=function(Et){rt(Et.negative===0,"red works only with positives"),rt(Et.red,"red works only with red numbers")},zt.prototype._verify2=function(Et,Ct){rt((Et.negative|Ct.negative)===0,"red works only with positives"),rt(Et.red&&Et.red===Ct.red,"red works only with red numbers")},zt.prototype.imod=function(Et){return this.prime?this.prime.ireduce(Et)._forceRed(this):(ht(Et,Et.umod(this.m)._forceRed(this)),Et)},zt.prototype.neg=function(Et){return Et.isZero()?Et.clone():this.m.sub(Et)._forceRed(this)},zt.prototype.add=function(Et,Ct){this._verify2(Et,Ct);var Pt=Et.add(Ct);return Pt.cmp(this.m)>=0&&Pt.isub(this.m),Pt._forceRed(this)},zt.prototype.iadd=function(Et,Ct){this._verify2(Et,Ct);var Pt=Et.iadd(Ct);return Pt.cmp(this.m)>=0&&Pt.isub(this.m),Pt},zt.prototype.sub=function(Et,Ct){this._verify2(Et,Ct);var Pt=Et.sub(Ct);return Pt.cmpn(0)<0&&Pt.iadd(this.m),Pt._forceRed(this)},zt.prototype.isub=function(Et,Ct){this._verify2(Et,Ct);var Pt=Et.isub(Ct);return Pt.cmpn(0)<0&&Pt.iadd(this.m),Pt},zt.prototype.shl=function(Et,Ct){return this._verify1(Et),this.imod(Et.ushln(Ct))},zt.prototype.imul=function(Et,Ct){return this._verify2(Et,Ct),this.imod(Et.imul(Ct))},zt.prototype.mul=function(Et,Ct){return this._verify2(Et,Ct),this.imod(Et.mul(Ct))},zt.prototype.isqr=function(Et){return this.imul(Et,Et.clone())},zt.prototype.sqr=function(Et){return this.mul(Et,Et)},zt.prototype.sqrt=function(Et){if(Et.isZero())return Et.clone();var Ct=this.m.andln(3);if(rt(Ct%2===1),Ct===3){var Pt=this.m.add(new it(1)).iushrn(2);return this.pow(Et,Pt)}for(var Ot=this.m.subn(1),Mt=0;!Ot.isZero()&&Ot.andln(1)===0;)Mt++,Ot.iushrn(1);rt(!Ot.isZero());var Ut=new it(1).toRed(this),Wt=Ut.redNeg(),$t=this.m.subn(1).iushrn(1),St=this.m.bitLength();for(St=new it(2*St*St).toRed(this);this.pow(St,$t).cmp(Wt)!==0;)St.redIAdd(Wt);for(var Ft=this.pow(St,Ot),Vt=this.pow(Et,Ot.addn(1).iushrn(1)),Rt=this.pow(Et,Ot),Yt=Mt;Rt.cmp(Ut)!==0;){for(var Kt=Rt,Xt=0;Kt.cmp(Ut)!==0;Xt++)Kt=Kt.redSqr();rt(Xt=0;Mt--){for(var Ft=Ct.words[Mt],Vt=St-1;Vt>=0;Vt--){var Rt=Ft>>Vt&1;if(Ut!==Ot[0]&&(Ut=this.sqr(Ut)),Rt===0&&Wt===0){$t=0;continue}Wt<<=1,Wt|=Rt,$t++,!($t!==Pt&&(Mt!==0||Vt!==0))&&(Ut=this.mul(Ut,Ot[Wt]),$t=0,Wt=0)}St=26}return Ut},zt.prototype.convertTo=function(Et){var Ct=Et.umod(this.m);return Ct===Et?Ct.clone():Ct},zt.prototype.convertFrom=function(Et){var Ct=Et.clone();return Ct.red=null,Ct},it.mont=function(Et){return new Zt(Et)};function Zt(Bt){zt.call(this,Bt),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new it(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)}nt(Zt,zt),Zt.prototype.convertTo=function(Et){return this.imod(Et.ushln(this.shift))},Zt.prototype.convertFrom=function(Et){var Ct=this.imod(Et.mul(this.rinv));return Ct.red=null,Ct},Zt.prototype.imul=function(Et,Ct){if(Et.isZero()||Ct.isZero())return Et.words[0]=0,Et.length=1,Et;var Pt=Et.imul(Ct),Ot=Pt.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Mt=Pt.isub(Ot).iushrn(this.shift),Ut=Mt;return Mt.cmp(this.m)>=0?Ut=Mt.isub(this.m):Mt.cmpn(0)<0&&(Ut=Mt.iadd(this.m)),Ut._forceRed(this)},Zt.prototype.mul=function(Et,Ct){if(Et.isZero()||Ct.isZero())return new it(0)._forceRed(this);var Pt=Et.mul(Ct),Ot=Pt.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Mt=Pt.isub(Ot).iushrn(this.shift),Ut=Mt;return Mt.cmp(this.m)>=0?Ut=Mt.isub(this.m):Mt.cmpn(0)<0&&(Ut=Mt.iadd(this.m)),Ut._forceRed(this)},Zt.prototype.invm=function(Et){var Ct=this.imod(Et._invmp(this.m).mul(this.r2));return Ct._forceRed(this)}})(_e,commonjsGlobal)})(bn);var bnExports=bn.exports;const BN$1=getDefaultExportFromCjs(bnExports),version$s="logger/5.7.0";let _permanentCensorErrors=!1,_censorErrors=!1;const LogLevels={debug:1,default:2,info:2,warning:3,error:4,off:5};let _logLevel=LogLevels.default,_globalLogger=null;function _checkNormalize(){try{const _e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(et=>{try{if("test".normalize(et)!=="test")throw new Error("bad normalize")}catch{_e.push(et)}}),_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}const _normalizeError=_checkNormalize();var LogLevel;(function(_e){_e.DEBUG="DEBUG",_e.INFO="INFO",_e.WARNING="WARNING",_e.ERROR="ERROR",_e.OFF="OFF"})(LogLevel||(LogLevel={}));var ErrorCode;(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"})(ErrorCode||(ErrorCode={}));const HEX="0123456789abcdef";class Logger{constructor(et){Object.defineProperty(this,"version",{enumerable:!0,value:et,writable:!1})}_log(et,tt){const rt=et.toLowerCase();LogLevels[rt]==null&&this.throwArgumentError("invalid log level name","logLevel",et),!(_logLevel>LogLevels[rt])&&console.log.apply(console,tt)}debug(...et){this._log(Logger.levels.DEBUG,et)}info(...et){this._log(Logger.levels.INFO,et)}warn(...et){this._log(Logger.levels.WARNING,et)}makeError(et,tt,rt){if(_censorErrors)return this.makeError("censored error",tt,{});tt||(tt=Logger.errors.UNKNOWN_ERROR),rt||(rt={});const nt=[];Object.keys(rt).forEach(lt=>{const dt=rt[lt];try{if(dt instanceof Uint8Array){let ht="";for(let pt=0;pt>4],ht+=HEX[dt[pt]&15];nt.push(lt+"=Uint8Array(0x"+ht+")")}else nt.push(lt+"="+JSON.stringify(dt))}catch{nt.push(lt+"="+JSON.stringify(rt[lt].toString()))}}),nt.push(`code=${tt}`),nt.push(`version=${this.version}`);const it=et;let at="";switch(tt){case ErrorCode.NUMERIC_FAULT:{at="NUMERIC_FAULT";const lt=et;switch(lt){case"overflow":case"underflow":case"division-by-zero":at+="-"+lt;break;case"negative-power":case"negative-width":at+="-unsupported";break;case"unbound-bitwise-result":at+="-unbound-result";break}break}case ErrorCode.CALL_EXCEPTION:case ErrorCode.INSUFFICIENT_FUNDS:case ErrorCode.MISSING_NEW:case ErrorCode.NONCE_EXPIRED:case ErrorCode.REPLACEMENT_UNDERPRICED:case ErrorCode.TRANSACTION_REPLACED:case ErrorCode.UNPREDICTABLE_GAS_LIMIT:at=tt;break}at&&(et+=" [ See: https://links.ethers.org/v5-errors-"+at+" ]"),nt.length&&(et+=" ("+nt.join(", ")+")");const st=new Error(et);return st.reason=it,st.code=tt,Object.keys(rt).forEach(function(lt){st[lt]=rt[lt]}),st}throwError(et,tt,rt){throw this.makeError(et,tt,rt)}throwArgumentError(et,tt,rt){return this.throwError(et,Logger.errors.INVALID_ARGUMENT,{argument:tt,value:rt})}assert(et,tt,rt,nt){et||this.throwError(tt,rt,nt)}assertArgument(et,tt,rt,nt){et||this.throwArgumentError(tt,rt,nt)}checkNormalize(et){_normalizeError&&this.throwError("platform missing String.prototype.normalize",Logger.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:_normalizeError})}checkSafeUint53(et,tt){typeof et=="number"&&(tt==null&&(tt="value not safe"),(et<0||et>=9007199254740991)&&this.throwError(tt,Logger.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:et}),et%1&&this.throwError(tt,Logger.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:et}))}checkArgumentCount(et,tt,rt){rt?rt=": "+rt:rt="",ettt&&this.throwError("too many arguments"+rt,Logger.errors.UNEXPECTED_ARGUMENT,{count:et,expectedCount:tt})}checkNew(et,tt){(et===Object||et==null)&&this.throwError("missing new",Logger.errors.MISSING_NEW,{name:tt.name})}checkAbstract(et,tt){et===tt?this.throwError("cannot instantiate abstract class "+JSON.stringify(tt.name)+" directly; use a sub-class",Logger.errors.UNSUPPORTED_OPERATION,{name:et.name,operation:"new"}):(et===Object||et==null)&&this.throwError("missing new",Logger.errors.MISSING_NEW,{name:tt.name})}static globalLogger(){return _globalLogger||(_globalLogger=new Logger(version$s)),_globalLogger}static setCensorship(et,tt){if(!et&&tt&&this.globalLogger().throwError("cannot permanently disable censorship",Logger.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),_permanentCensorErrors){if(!et)return;this.globalLogger().throwError("error censorship permanent",Logger.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}_censorErrors=!!et,_permanentCensorErrors=!!tt}static setLogLevel(et){const tt=LogLevels[et.toLowerCase()];if(tt==null){Logger.globalLogger().warn("invalid log level - "+et);return}_logLevel=tt}static from(et){return new Logger(et)}}Logger.errors=ErrorCode;Logger.levels=LogLevel;const lib_esm$k=Object.freeze(Object.defineProperty({__proto__:null,get ErrorCode(){return ErrorCode},get LogLevel(){return LogLevel},Logger},Symbol.toStringTag,{value:"Module"})),version$r="bytes/5.7.0",logger$w=new Logger(version$r);function isHexable(_e){return!!_e.toHexString}function addSlice(_e){return _e.slice||(_e.slice=function(){const et=Array.prototype.slice.call(arguments);return addSlice(new Uint8Array(Array.prototype.slice.apply(_e,et)))}),_e}function isBytesLike(_e){return isHexString(_e)&&!(_e.length%2)||isBytes(_e)}function isInteger(_e){return typeof _e=="number"&&_e==_e&&_e%1===0}function isBytes(_e){if(_e==null)return!1;if(_e.constructor===Uint8Array)return!0;if(typeof _e=="string"||!isInteger(_e.length)||_e.length<0)return!1;for(let et=0;et<_e.length;et++){const tt=_e[et];if(!isInteger(tt)||tt<0||tt>=256)return!1}return!0}function arrayify(_e,et){if(et||(et={}),typeof _e=="number"){logger$w.checkSafeUint53(_e,"invalid arrayify value");const tt=[];for(;_e;)tt.unshift(_e&255),_e=parseInt(String(_e/256));return tt.length===0&&tt.push(0),addSlice(new Uint8Array(tt))}if(et.allowMissingPrefix&&typeof _e=="string"&&_e.substring(0,2)!=="0x"&&(_e="0x"+_e),isHexable(_e)&&(_e=_e.toHexString()),isHexString(_e)){let tt=_e.substring(2);tt.length%2&&(et.hexPad==="left"?tt="0"+tt:et.hexPad==="right"?tt+="0":logger$w.throwArgumentError("hex data is odd-length","value",_e));const rt=[];for(let nt=0;ntarrayify(nt)),tt=et.reduce((nt,it)=>nt+it.length,0),rt=new Uint8Array(tt);return et.reduce((nt,it)=>(rt.set(it,nt),nt+it.length),0),addSlice(rt)}function stripZeros(_e){let et=arrayify(_e);if(et.length===0)return et;let tt=0;for(;ttet&&logger$w.throwArgumentError("value out of range","value",arguments[0]);const tt=new Uint8Array(et);return tt.set(_e,et-_e.length),addSlice(tt)}function isHexString(_e,et){return!(typeof _e!="string"||!_e.match(/^0x[0-9A-Fa-f]*$/)||et&&_e.length!==2+2*et)}const HexCharacters="0123456789abcdef";function hexlify(_e,et){if(et||(et={}),typeof _e=="number"){logger$w.checkSafeUint53(_e,"invalid hexlify value");let tt="";for(;_e;)tt=HexCharacters[_e&15]+tt,_e=Math.floor(_e/16);return tt.length?(tt.length%2&&(tt="0"+tt),"0x"+tt):"0x00"}if(typeof _e=="bigint")return _e=_e.toString(16),_e.length%2?"0x0"+_e:"0x"+_e;if(et.allowMissingPrefix&&typeof _e=="string"&&_e.substring(0,2)!=="0x"&&(_e="0x"+_e),isHexable(_e))return _e.toHexString();if(isHexString(_e))return _e.length%2&&(et.hexPad==="left"?_e="0x0"+_e.substring(2):et.hexPad==="right"?_e+="0":logger$w.throwArgumentError("hex data is odd-length","value",_e)),_e.toLowerCase();if(isBytes(_e)){let tt="0x";for(let rt=0;rt<_e.length;rt++){let nt=_e[rt];tt+=HexCharacters[(nt&240)>>4]+HexCharacters[nt&15]}return tt}return logger$w.throwArgumentError("invalid hexlify value","value",_e)}function hexDataLength(_e){if(typeof _e!="string")_e=hexlify(_e);else if(!isHexString(_e)||_e.length%2)return null;return(_e.length-2)/2}function hexDataSlice(_e,et,tt){return typeof _e!="string"?_e=hexlify(_e):(!isHexString(_e)||_e.length%2)&&logger$w.throwArgumentError("invalid hexData","value",_e),et=2+2*et,tt!=null?"0x"+_e.substring(et,2+2*tt):"0x"+_e.substring(et)}function hexConcat(_e){let et="0x";return _e.forEach(tt=>{et+=hexlify(tt).substring(2)}),et}function hexValue(_e){const et=hexStripZeros(hexlify(_e,{hexPad:"left"}));return et==="0x"?"0x0":et}function hexStripZeros(_e){typeof _e!="string"&&(_e=hexlify(_e)),isHexString(_e)||logger$w.throwArgumentError("invalid hex string","value",_e),_e=_e.substring(2);let et=0;for(;et<_e.length&&_e[et]==="0";)et++;return"0x"+_e.substring(et)}function hexZeroPad(_e,et){for(typeof _e!="string"?_e=hexlify(_e):isHexString(_e)||logger$w.throwArgumentError("invalid hex string","value",_e),_e.length>2*et+2&&logger$w.throwArgumentError("value out of range","value",arguments[1]);_e.length<2*et+2;)_e="0x0"+_e.substring(2);return _e}function splitSignature(_e){const et={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(isBytesLike(_e)){let tt=arrayify(_e);tt.length===64?(et.v=27+(tt[32]>>7),tt[32]&=127,et.r=hexlify(tt.slice(0,32)),et.s=hexlify(tt.slice(32,64))):tt.length===65?(et.r=hexlify(tt.slice(0,32)),et.s=hexlify(tt.slice(32,64)),et.v=tt[64]):logger$w.throwArgumentError("invalid signature string","signature",_e),et.v<27&&(et.v===0||et.v===1?et.v+=27:logger$w.throwArgumentError("signature invalid v byte","signature",_e)),et.recoveryParam=1-et.v%2,et.recoveryParam&&(tt[32]|=128),et._vs=hexlify(tt.slice(32,64))}else{if(et.r=_e.r,et.s=_e.s,et.v=_e.v,et.recoveryParam=_e.recoveryParam,et._vs=_e._vs,et._vs!=null){const nt=zeroPad(arrayify(et._vs),32);et._vs=hexlify(nt);const it=nt[0]>=128?1:0;et.recoveryParam==null?et.recoveryParam=it:et.recoveryParam!==it&&logger$w.throwArgumentError("signature recoveryParam mismatch _vs","signature",_e),nt[0]&=127;const at=hexlify(nt);et.s==null?et.s=at:et.s!==at&&logger$w.throwArgumentError("signature v mismatch _vs","signature",_e)}if(et.recoveryParam==null)et.v==null?logger$w.throwArgumentError("signature missing v and recoveryParam","signature",_e):et.v===0||et.v===1?et.recoveryParam=et.v:et.recoveryParam=1-et.v%2;else if(et.v==null)et.v=27+et.recoveryParam;else{const nt=et.v===0||et.v===1?et.v:1-et.v%2;et.recoveryParam!==nt&&logger$w.throwArgumentError("signature recoveryParam mismatch v","signature",_e)}et.r==null||!isHexString(et.r)?logger$w.throwArgumentError("signature missing or invalid r","signature",_e):et.r=hexZeroPad(et.r,32),et.s==null||!isHexString(et.s)?logger$w.throwArgumentError("signature missing or invalid s","signature",_e):et.s=hexZeroPad(et.s,32);const tt=arrayify(et.s);tt[0]>=128&&logger$w.throwArgumentError("signature s out of range","signature",_e),et.recoveryParam&&(tt[0]|=128);const rt=hexlify(tt);et._vs&&(isHexString(et._vs)||logger$w.throwArgumentError("signature invalid _vs","signature",_e),et._vs=hexZeroPad(et._vs,32)),et._vs==null?et._vs=rt:et._vs!==rt&&logger$w.throwArgumentError("signature _vs mismatch v and s","signature",_e)}return et.yParityAndS=et._vs,et.compact=et.r+et.yParityAndS.substring(2),et}function joinSignature(_e){return _e=splitSignature(_e),hexlify(concat$1([_e.r,_e.s,_e.recoveryParam?"0x1c":"0x1b"]))}const lib_esm$j=Object.freeze(Object.defineProperty({__proto__:null,arrayify,concat:concat$1,hexConcat,hexDataLength,hexDataSlice,hexStripZeros,hexValue,hexZeroPad,hexlify,isBytes,isBytesLike,isHexString,joinSignature,splitSignature,stripZeros,zeroPad},Symbol.toStringTag,{value:"Module"})),version$q="bignumber/5.7.0";var BN=BN$1.BN;const logger$v=new Logger(version$q),_constructorGuard$4={},MAX_SAFE=9007199254740991;function isBigNumberish(_e){return _e!=null&&(BigNumber.isBigNumber(_e)||typeof _e=="number"&&_e%1===0||typeof _e=="string"&&!!_e.match(/^-?[0-9]+$/)||isHexString(_e)||typeof _e=="bigint"||isBytes(_e))}let _warnedToStringRadix=!1;class BigNumber{constructor(et,tt){et!==_constructorGuard$4&&logger$v.throwError("cannot call constructor directly; use BigNumber.from",Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=tt,this._isBigNumber=!0,Object.freeze(this)}fromTwos(et){return toBigNumber(toBN(this).fromTwos(et))}toTwos(et){return toBigNumber(toBN(this).toTwos(et))}abs(){return this._hex[0]==="-"?BigNumber.from(this._hex.substring(1)):this}add(et){return toBigNumber(toBN(this).add(toBN(et)))}sub(et){return toBigNumber(toBN(this).sub(toBN(et)))}div(et){return BigNumber.from(et).isZero()&&throwFault$1("division-by-zero","div"),toBigNumber(toBN(this).div(toBN(et)))}mul(et){return toBigNumber(toBN(this).mul(toBN(et)))}mod(et){const tt=toBN(et);return tt.isNeg()&&throwFault$1("division-by-zero","mod"),toBigNumber(toBN(this).umod(tt))}pow(et){const tt=toBN(et);return tt.isNeg()&&throwFault$1("negative-power","pow"),toBigNumber(toBN(this).pow(tt))}and(et){const tt=toBN(et);return(this.isNegative()||tt.isNeg())&&throwFault$1("unbound-bitwise-result","and"),toBigNumber(toBN(this).and(tt))}or(et){const tt=toBN(et);return(this.isNegative()||tt.isNeg())&&throwFault$1("unbound-bitwise-result","or"),toBigNumber(toBN(this).or(tt))}xor(et){const tt=toBN(et);return(this.isNegative()||tt.isNeg())&&throwFault$1("unbound-bitwise-result","xor"),toBigNumber(toBN(this).xor(tt))}mask(et){return(this.isNegative()||et<0)&&throwFault$1("negative-width","mask"),toBigNumber(toBN(this).maskn(et))}shl(et){return(this.isNegative()||et<0)&&throwFault$1("negative-width","shl"),toBigNumber(toBN(this).shln(et))}shr(et){return(this.isNegative()||et<0)&&throwFault$1("negative-width","shr"),toBigNumber(toBN(this).shrn(et))}eq(et){return toBN(this).eq(toBN(et))}lt(et){return toBN(this).lt(toBN(et))}lte(et){return toBN(this).lte(toBN(et))}gt(et){return toBN(this).gt(toBN(et))}gte(et){return toBN(this).gte(toBN(et))}isNegative(){return this._hex[0]==="-"}isZero(){return toBN(this).isZero()}toNumber(){try{return toBN(this).toNumber()}catch{throwFault$1("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return logger$v.throwError("this platform does not support BigInt",Logger.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?_warnedToStringRadix||(_warnedToStringRadix=!0,logger$v.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?logger$v.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Logger.errors.UNEXPECTED_ARGUMENT,{}):logger$v.throwError("BigNumber.toString does not accept parameters",Logger.errors.UNEXPECTED_ARGUMENT,{})),toBN(this).toString(10)}toHexString(){return this._hex}toJSON(et){return{type:"BigNumber",hex:this.toHexString()}}static from(et){if(et instanceof BigNumber)return et;if(typeof et=="string")return et.match(/^-?0x[0-9a-f]+$/i)?new BigNumber(_constructorGuard$4,toHex$3(et)):et.match(/^-?[0-9]+$/)?new BigNumber(_constructorGuard$4,toHex$3(new BN(et))):logger$v.throwArgumentError("invalid BigNumber string","value",et);if(typeof et=="number")return et%1&&throwFault$1("underflow","BigNumber.from",et),(et>=MAX_SAFE||et<=-MAX_SAFE)&&throwFault$1("overflow","BigNumber.from",et),BigNumber.from(String(et));const tt=et;if(typeof tt=="bigint")return BigNumber.from(tt.toString());if(isBytes(tt))return BigNumber.from(hexlify(tt));if(tt)if(tt.toHexString){const rt=tt.toHexString();if(typeof rt=="string")return BigNumber.from(rt)}else{let rt=tt._hex;if(rt==null&&tt.type==="BigNumber"&&(rt=tt.hex),typeof rt=="string"&&(isHexString(rt)||rt[0]==="-"&&isHexString(rt.substring(1))))return BigNumber.from(rt)}return logger$v.throwArgumentError("invalid BigNumber value","value",et)}static isBigNumber(et){return!!(et&&et._isBigNumber)}}function toHex$3(_e){if(typeof _e!="string")return toHex$3(_e.toString(16));if(_e[0]==="-")return _e=_e.substring(1),_e[0]==="-"&&logger$v.throwArgumentError("invalid hex","value",_e),_e=toHex$3(_e),_e==="0x00"?_e:"-"+_e;if(_e.substring(0,2)!=="0x"&&(_e="0x"+_e),_e==="0x")return"0x00";for(_e.length%2&&(_e="0x0"+_e.substring(2));_e.length>4&&_e.substring(0,4)==="0x00";)_e="0x"+_e.substring(4);return _e}function toBigNumber(_e){return BigNumber.from(toHex$3(_e))}function toBN(_e){const et=BigNumber.from(_e).toHexString();return et[0]==="-"?new BN("-"+et.substring(3),16):new BN(et.substring(2),16)}function throwFault$1(_e,et,tt){const rt={fault:_e,operation:et};return tt!=null&&(rt.value=tt),logger$v.throwError(_e,Logger.errors.NUMERIC_FAULT,rt)}function _base36To16(_e){return new BN(_e,36).toString(16)}function _base16To36(_e){return new BN(_e,16).toString(36)}const logger$u=new Logger(version$q),_constructorGuard$3={},Zero$2=BigNumber.from(0),NegativeOne$2=BigNumber.from(-1);function throwFault(_e,et,tt,rt){const nt={fault:et,operation:tt};return rt!==void 0&&(nt.value=rt),logger$u.throwError(_e,Logger.errors.NUMERIC_FAULT,nt)}let zeros="0";for(;zeros.length<256;)zeros+=zeros;function getMultiplier(_e){if(typeof _e!="number")try{_e=BigNumber.from(_e).toNumber()}catch{}return typeof _e=="number"&&_e>=0&&_e<=256&&!(_e%1)?"1"+zeros.substring(0,_e):logger$u.throwArgumentError("invalid decimal size","decimals",_e)}function formatFixed(_e,et){et==null&&(et=0);const tt=getMultiplier(et);_e=BigNumber.from(_e);const rt=_e.lt(Zero$2);rt&&(_e=_e.mul(NegativeOne$2));let nt=_e.mod(tt).toString();for(;nt.length2&&logger$u.throwArgumentError("too many decimal points","value",_e);let it=nt[0],at=nt[1];for(it||(it="0"),at||(at="0");at[at.length-1]==="0";)at=at.substring(0,at.length-1);for(at.length>tt.length-1&&throwFault("fractional component exceeds decimals","underflow","parseFixed"),at===""&&(at="0");at.lengthet[at]==null?lt:(typeof et[at]!==st&&logger$u.throwArgumentError("invalid fixed format ("+at+" not "+st+")","format."+at,et[at]),et[at]);tt=it("signed","boolean",tt),rt=it("width","number",rt),nt=it("decimals","number",nt)}return rt%8&&logger$u.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",rt),nt>80&&logger$u.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",nt),new FixedFormat(_constructorGuard$3,tt,rt,nt)}}class FixedNumber{constructor(et,tt,rt,nt){et!==_constructorGuard$3&&logger$u.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=nt,this._hex=tt,this._value=rt,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(et){this.format.name!==et.format.name&&logger$u.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",et)}addUnsafe(et){this._checkFormat(et);const tt=parseFixed(this._value,this.format.decimals),rt=parseFixed(et._value,et.format.decimals);return FixedNumber.fromValue(tt.add(rt),this.format.decimals,this.format)}subUnsafe(et){this._checkFormat(et);const tt=parseFixed(this._value,this.format.decimals),rt=parseFixed(et._value,et.format.decimals);return FixedNumber.fromValue(tt.sub(rt),this.format.decimals,this.format)}mulUnsafe(et){this._checkFormat(et);const tt=parseFixed(this._value,this.format.decimals),rt=parseFixed(et._value,et.format.decimals);return FixedNumber.fromValue(tt.mul(rt).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(et){this._checkFormat(et);const tt=parseFixed(this._value,this.format.decimals),rt=parseFixed(et._value,et.format.decimals);return FixedNumber.fromValue(tt.mul(this.format._multiplier).div(rt),this.format.decimals,this.format)}floor(){const et=this.toString().split(".");et.length===1&&et.push("0");let tt=FixedNumber.from(et[0],this.format);const rt=!et[1].match(/^(0*)$/);return this.isNegative()&&rt&&(tt=tt.subUnsafe(ONE$1.toFormat(tt.format))),tt}ceiling(){const et=this.toString().split(".");et.length===1&&et.push("0");let tt=FixedNumber.from(et[0],this.format);const rt=!et[1].match(/^(0*)$/);return!this.isNegative()&&rt&&(tt=tt.addUnsafe(ONE$1.toFormat(tt.format))),tt}round(et){et==null&&(et=0);const tt=this.toString().split(".");if(tt.length===1&&tt.push("0"),(et<0||et>80||et%1)&&logger$u.throwArgumentError("invalid decimal count","decimals",et),tt[1].length<=et)return this;const rt=FixedNumber.from("1"+zeros.substring(0,et),this.format),nt=BUMP.toFormat(this.format);return this.mulUnsafe(rt).addUnsafe(nt).floor().divUnsafe(rt)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(et){if(et==null)return this._hex;et%8&&logger$u.throwArgumentError("invalid byte width","width",et);const tt=BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(et).toHexString();return hexZeroPad(tt,et/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(et){return FixedNumber.fromString(this._value,et)}static fromValue(et,tt,rt){return rt==null&&tt!=null&&!isBigNumberish(tt)&&(rt=tt,tt=null),tt==null&&(tt=0),rt==null&&(rt="fixed"),FixedNumber.fromString(formatFixed(et,tt),FixedFormat.from(rt))}static fromString(et,tt){tt==null&&(tt="fixed");const rt=FixedFormat.from(tt),nt=parseFixed(et,rt.decimals);!rt.signed&&nt.lt(Zero$2)&&throwFault("unsigned value cannot be negative","overflow","value",et);let it=null;rt.signed?it=nt.toTwos(rt.width).toHexString():(it=nt.toHexString(),it=hexZeroPad(it,rt.width/8));const at=formatFixed(nt,rt.decimals);return new FixedNumber(_constructorGuard$3,it,at,rt)}static fromBytes(et,tt){tt==null&&(tt="fixed");const rt=FixedFormat.from(tt);if(arrayify(et).length>rt.width/8)throw new Error("overflow");let nt=BigNumber.from(et);rt.signed&&(nt=nt.fromTwos(rt.width));const it=nt.toTwos((rt.signed?0:1)+rt.width).toHexString(),at=formatFixed(nt,rt.decimals);return new FixedNumber(_constructorGuard$3,it,at,rt)}static from(et,tt){if(typeof et=="string")return FixedNumber.fromString(et,tt);if(isBytes(et))return FixedNumber.fromBytes(et,tt);try{return FixedNumber.fromValue(et,0,tt)}catch(rt){if(rt.code!==Logger.errors.INVALID_ARGUMENT)throw rt}return logger$u.throwArgumentError("invalid FixedNumber value","value",et)}static isFixedNumber(et){return!!(et&&et._isFixedNumber)}}const ONE$1=FixedNumber.from(1),BUMP=FixedNumber.from("0.5"),version$p="properties/5.7.0";var __awaiter$a=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$t=new Logger(version$p);function defineReadOnly(_e,et,tt){Object.defineProperty(_e,et,{enumerable:!0,value:tt,writable:!1})}function getStatic(_e,et){for(let tt=0;tt<32;tt++){if(_e[et])return _e[et];if(!_e.prototype||typeof _e.prototype!="object")break;_e=Object.getPrototypeOf(_e.prototype).constructor}return null}function resolveProperties(_e){return __awaiter$a(this,void 0,void 0,function*(){const et=Object.keys(_e).map(rt=>{const nt=_e[rt];return Promise.resolve(nt).then(it=>({key:rt,value:it}))});return(yield Promise.all(et)).reduce((rt,nt)=>(rt[nt.key]=nt.value,rt),{})})}function checkProperties(_e,et){(!_e||typeof _e!="object")&&logger$t.throwArgumentError("invalid object","object",_e),Object.keys(_e).forEach(tt=>{et[tt]||logger$t.throwArgumentError("invalid object key - "+tt,"transaction:"+tt,_e)})}function shallowCopy(_e){const et={};for(const tt in _e)et[tt]=_e[tt];return et}const opaque={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function _isFrozen(_e){if(_e==null||opaque[typeof _e])return!0;if(Array.isArray(_e)||typeof _e=="object"){if(!Object.isFrozen(_e))return!1;const et=Object.keys(_e);for(let tt=0;ttdeepCopy(et)));if(typeof _e=="object"){const et={};for(const tt in _e){const rt=_e[tt];rt!==void 0&&defineReadOnly(et,tt,deepCopy(rt))}return et}return logger$t.throwArgumentError(`Cannot deepCopy ${typeof _e}`,"object",_e)}function deepCopy(_e){return _deepCopy(_e)}class Description{constructor(et){for(const tt in et)this[tt]=deepCopy(et[tt])}}const lib_esm$i=Object.freeze(Object.defineProperty({__proto__:null,Description,checkProperties,deepCopy,defineReadOnly,getStatic,resolveProperties,shallowCopy},Symbol.toStringTag,{value:"Module"})),version$o="abi/5.7.0",logger$s=new Logger(version$o),_constructorGuard$2={};let ModifiersBytes={calldata:!0,memory:!0,storage:!0},ModifiersNest={calldata:!0,memory:!0};function checkModifier(_e,et){if(_e==="bytes"||_e==="string"){if(ModifiersBytes[et])return!0}else if(_e==="address"){if(et==="payable")return!0}else if((_e.indexOf("[")>=0||_e==="tuple")&&ModifiersNest[et])return!0;return(ModifiersBytes[et]||et==="payable")&&logger$s.throwArgumentError("invalid modifier","name",et),!1}function parseParamType(_e,et){let tt=_e;function rt(st){logger$s.throwArgumentError(`unexpected character at position ${st}`,"param",_e)}_e=_e.replace(/\s/g," ");function nt(st){let lt={type:"",name:"",parent:st,state:{allowType:!0}};return et&&(lt.indexed=!1),lt}let it={type:"",name:"",state:{allowType:!0}},at=it;for(let st=0;st<_e.length;st++){let lt=_e[st];switch(lt){case"(":at.state.allowType&&at.type===""?at.type="tuple":at.state.allowParams||rt(st),at.state.allowType=!1,at.type=verifyType(at.type),at.components=[nt(at)],at=at.components[0];break;case")":delete at.state,at.name==="indexed"&&(et||rt(st),at.indexed=!0,at.name=""),checkModifier(at.type,at.name)&&(at.name=""),at.type=verifyType(at.type);let dt=at;at=at.parent,at||rt(st),delete dt.parent,at.state.allowParams=!1,at.state.allowName=!0,at.state.allowArray=!0;break;case",":delete at.state,at.name==="indexed"&&(et||rt(st),at.indexed=!0,at.name=""),checkModifier(at.type,at.name)&&(at.name=""),at.type=verifyType(at.type);let ht=nt(at.parent);at.parent.components.push(ht),delete at.parent,at=ht;break;case" ":at.state.allowType&&at.type!==""&&(at.type=verifyType(at.type),delete at.state.allowType,at.state.allowName=!0,at.state.allowParams=!0),at.state.allowName&&at.name!==""&&(at.name==="indexed"?(et||rt(st),at.indexed&&rt(st),at.indexed=!0,at.name=""):checkModifier(at.type,at.name)?at.name="":at.state.allowName=!1);break;case"[":at.state.allowArray||rt(st),at.type+=lt,at.state.allowArray=!1,at.state.allowName=!1,at.state.readArray=!0;break;case"]":at.state.readArray||rt(st),at.type+=lt,at.state.readArray=!1,at.state.allowArray=!0,at.state.allowName=!0;break;default:at.state.allowType?(at.type+=lt,at.state.allowParams=!0,at.state.allowArray=!0):at.state.allowName?(at.name+=lt,delete at.state.allowArray):at.state.readArray?at.type+=lt:rt(st)}}return at.parent&&logger$s.throwArgumentError("unexpected eof","param",_e),delete it.state,at.name==="indexed"?(et||rt(tt.length-7),at.indexed&&rt(tt.length-7),at.indexed=!0,at.name=""):checkModifier(at.type,at.name)&&(at.name=""),it.type=verifyType(it.type),it}function populate(_e,et){for(let tt in et)defineReadOnly(_e,tt,et[tt])}const FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),paramTypeArray=new RegExp(/^(.*)\[([0-9]*)\]$/);class ParamType{constructor(et,tt){et!==_constructorGuard$2&&logger$s.throwError("use fromString",Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),populate(this,tt);let rt=this.type.match(paramTypeArray);rt?populate(this,{arrayLength:parseInt(rt[2]||"-1"),arrayChildren:ParamType.fromObject({type:rt[1],components:this.components}),baseType:"array"}):populate(this,{arrayLength:null,arrayChildren:null,baseType:this.components!=null?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(et){if(et||(et=FormatTypes.sighash),FormatTypes[et]||logger$s.throwArgumentError("invalid format type","format",et),et===FormatTypes.json){let rt={type:this.baseType==="tuple"?"tuple":this.type,name:this.name||void 0};return typeof this.indexed=="boolean"&&(rt.indexed=this.indexed),this.components&&(rt.components=this.components.map(nt=>JSON.parse(nt.format(et)))),JSON.stringify(rt)}let tt="";return this.baseType==="array"?(tt+=this.arrayChildren.format(et),tt+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(et!==FormatTypes.sighash&&(tt+=this.type),tt+="("+this.components.map(rt=>rt.format(et)).join(et===FormatTypes.full?", ":",")+")"):tt+=this.type,et!==FormatTypes.sighash&&(this.indexed===!0&&(tt+=" indexed"),et===FormatTypes.full&&this.name&&(tt+=" "+this.name)),tt}static from(et,tt){return typeof et=="string"?ParamType.fromString(et,tt):ParamType.fromObject(et)}static fromObject(et){return ParamType.isParamType(et)?et:new ParamType(_constructorGuard$2,{name:et.name||null,type:verifyType(et.type),indexed:et.indexed==null?null:!!et.indexed,components:et.components?et.components.map(ParamType.fromObject):null})}static fromString(et,tt){function rt(nt){return ParamType.fromObject({name:nt.name,type:nt.type,indexed:nt.indexed,components:nt.components})}return rt(parseParamType(et,!!tt))}static isParamType(et){return!!(et!=null&&et._isParamType)}}function parseParams(_e,et){return splitNesting(_e).map(tt=>ParamType.fromString(tt,et))}class Fragment{constructor(et,tt){et!==_constructorGuard$2&&logger$s.throwError("use a static from method",Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),populate(this,tt),this._isFragment=!0,Object.freeze(this)}static from(et){return Fragment.isFragment(et)?et:typeof et=="string"?Fragment.fromString(et):Fragment.fromObject(et)}static fromObject(et){if(Fragment.isFragment(et))return et;switch(et.type){case"function":return FunctionFragment.fromObject(et);case"event":return EventFragment.fromObject(et);case"constructor":return ConstructorFragment.fromObject(et);case"error":return ErrorFragment.fromObject(et);case"fallback":case"receive":return null}return logger$s.throwArgumentError("invalid fragment object","value",et)}static fromString(et){return et=et.replace(/\s/g," "),et=et.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),et=et.trim(),et.split(" ")[0]==="event"?EventFragment.fromString(et.substring(5).trim()):et.split(" ")[0]==="function"?FunctionFragment.fromString(et.substring(8).trim()):et.split("(")[0].trim()==="constructor"?ConstructorFragment.fromString(et.trim()):et.split(" ")[0]==="error"?ErrorFragment.fromString(et.substring(5).trim()):logger$s.throwArgumentError("unsupported fragment","value",et)}static isFragment(et){return!!(et&&et._isFragment)}}class EventFragment extends Fragment{format(et){if(et||(et=FormatTypes.sighash),FormatTypes[et]||logger$s.throwArgumentError("invalid format type","format",et),et===FormatTypes.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(rt=>JSON.parse(rt.format(et)))});let tt="";return et!==FormatTypes.sighash&&(tt+="event "),tt+=this.name+"("+this.inputs.map(rt=>rt.format(et)).join(et===FormatTypes.full?", ":",")+") ",et!==FormatTypes.sighash&&this.anonymous&&(tt+="anonymous "),tt.trim()}static from(et){return typeof et=="string"?EventFragment.fromString(et):EventFragment.fromObject(et)}static fromObject(et){if(EventFragment.isEventFragment(et))return et;et.type!=="event"&&logger$s.throwArgumentError("invalid event object","value",et);const tt={name:verifyIdentifier(et.name),anonymous:et.anonymous,inputs:et.inputs?et.inputs.map(ParamType.fromObject):[],type:"event"};return new EventFragment(_constructorGuard$2,tt)}static fromString(et){let tt=et.match(regexParen);tt||logger$s.throwArgumentError("invalid event string","value",et);let rt=!1;return tt[3].split(" ").forEach(nt=>{switch(nt.trim()){case"anonymous":rt=!0;break;case"":break;default:logger$s.warn("unknown modifier: "+nt)}}),EventFragment.fromObject({name:tt[1].trim(),anonymous:rt,inputs:parseParams(tt[2],!0),type:"event"})}static isEventFragment(et){return et&&et._isFragment&&et.type==="event"}}function parseGas(_e,et){et.gas=null;let tt=_e.split("@");return tt.length!==1?(tt.length>2&&logger$s.throwArgumentError("invalid human-readable ABI signature","value",_e),tt[1].match(/^[0-9]+$/)||logger$s.throwArgumentError("invalid human-readable ABI signature gas","value",_e),et.gas=BigNumber.from(tt[1]),tt[0]):_e}function parseModifiers(_e,et){et.constant=!1,et.payable=!1,et.stateMutability="nonpayable",_e.split(" ").forEach(tt=>{switch(tt.trim()){case"constant":et.constant=!0;break;case"payable":et.payable=!0,et.stateMutability="payable";break;case"nonpayable":et.payable=!1,et.stateMutability="nonpayable";break;case"pure":et.constant=!0,et.stateMutability="pure";break;case"view":et.constant=!0,et.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+tt)}})}function verifyState(_e){let et={constant:!1,payable:!0,stateMutability:"payable"};return _e.stateMutability!=null?(et.stateMutability=_e.stateMutability,et.constant=et.stateMutability==="view"||et.stateMutability==="pure",_e.constant!=null&&!!_e.constant!==et.constant&&logger$s.throwArgumentError("cannot have constant function with mutability "+et.stateMutability,"value",_e),et.payable=et.stateMutability==="payable",_e.payable!=null&&!!_e.payable!==et.payable&&logger$s.throwArgumentError("cannot have payable function with mutability "+et.stateMutability,"value",_e)):_e.payable!=null?(et.payable=!!_e.payable,_e.constant==null&&!et.payable&&_e.type!=="constructor"&&logger$s.throwArgumentError("unable to determine stateMutability","value",_e),et.constant=!!_e.constant,et.constant?et.stateMutability="view":et.stateMutability=et.payable?"payable":"nonpayable",et.payable&&et.constant&&logger$s.throwArgumentError("cannot have constant payable function","value",_e)):_e.constant!=null?(et.constant=!!_e.constant,et.payable=!et.constant,et.stateMutability=et.constant?"view":"payable"):_e.type!=="constructor"&&logger$s.throwArgumentError("unable to determine stateMutability","value",_e),et}class ConstructorFragment extends Fragment{format(et){if(et||(et=FormatTypes.sighash),FormatTypes[et]||logger$s.throwArgumentError("invalid format type","format",et),et===FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(rt=>JSON.parse(rt.format(et)))});et===FormatTypes.sighash&&logger$s.throwError("cannot format a constructor for sighash",Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let tt="constructor("+this.inputs.map(rt=>rt.format(et)).join(et===FormatTypes.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(tt+=this.stateMutability+" "),tt.trim()}static from(et){return typeof et=="string"?ConstructorFragment.fromString(et):ConstructorFragment.fromObject(et)}static fromObject(et){if(ConstructorFragment.isConstructorFragment(et))return et;et.type!=="constructor"&&logger$s.throwArgumentError("invalid constructor object","value",et);let tt=verifyState(et);tt.constant&&logger$s.throwArgumentError("constructor cannot be constant","value",et);const rt={name:null,type:et.type,inputs:et.inputs?et.inputs.map(ParamType.fromObject):[],payable:tt.payable,stateMutability:tt.stateMutability,gas:et.gas?BigNumber.from(et.gas):null};return new ConstructorFragment(_constructorGuard$2,rt)}static fromString(et){let tt={type:"constructor"};et=parseGas(et,tt);let rt=et.match(regexParen);return(!rt||rt[1].trim()!=="constructor")&&logger$s.throwArgumentError("invalid constructor string","value",et),tt.inputs=parseParams(rt[2].trim(),!1),parseModifiers(rt[3].trim(),tt),ConstructorFragment.fromObject(tt)}static isConstructorFragment(et){return et&&et._isFragment&&et.type==="constructor"}}class FunctionFragment extends ConstructorFragment{format(et){if(et||(et=FormatTypes.sighash),FormatTypes[et]||logger$s.throwArgumentError("invalid format type","format",et),et===FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(rt=>JSON.parse(rt.format(et))),outputs:this.outputs.map(rt=>JSON.parse(rt.format(et)))});let tt="";return et!==FormatTypes.sighash&&(tt+="function "),tt+=this.name+"("+this.inputs.map(rt=>rt.format(et)).join(et===FormatTypes.full?", ":",")+") ",et!==FormatTypes.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(tt+=this.stateMutability+" "):this.constant&&(tt+="view "),this.outputs&&this.outputs.length&&(tt+="returns ("+this.outputs.map(rt=>rt.format(et)).join(", ")+") "),this.gas!=null&&(tt+="@"+this.gas.toString()+" ")),tt.trim()}static from(et){return typeof et=="string"?FunctionFragment.fromString(et):FunctionFragment.fromObject(et)}static fromObject(et){if(FunctionFragment.isFunctionFragment(et))return et;et.type!=="function"&&logger$s.throwArgumentError("invalid function object","value",et);let tt=verifyState(et);const rt={type:et.type,name:verifyIdentifier(et.name),constant:tt.constant,inputs:et.inputs?et.inputs.map(ParamType.fromObject):[],outputs:et.outputs?et.outputs.map(ParamType.fromObject):[],payable:tt.payable,stateMutability:tt.stateMutability,gas:et.gas?BigNumber.from(et.gas):null};return new FunctionFragment(_constructorGuard$2,rt)}static fromString(et){let tt={type:"function"};et=parseGas(et,tt);let rt=et.split(" returns ");rt.length>2&&logger$s.throwArgumentError("invalid function string","value",et);let nt=rt[0].match(regexParen);if(nt||logger$s.throwArgumentError("invalid function signature","value",et),tt.name=nt[1].trim(),tt.name&&verifyIdentifier(tt.name),tt.inputs=parseParams(nt[2],!1),parseModifiers(nt[3].trim(),tt),rt.length>1){let it=rt[1].match(regexParen);(it[1].trim()!=""||it[3].trim()!="")&&logger$s.throwArgumentError("unexpected tokens","value",et),tt.outputs=parseParams(it[2],!1)}else tt.outputs=[];return FunctionFragment.fromObject(tt)}static isFunctionFragment(et){return et&&et._isFragment&&et.type==="function"}}function checkForbidden(_e){const et=_e.format();return(et==="Error(string)"||et==="Panic(uint256)")&&logger$s.throwArgumentError(`cannot specify user defined ${et} error`,"fragment",_e),_e}class ErrorFragment extends Fragment{format(et){if(et||(et=FormatTypes.sighash),FormatTypes[et]||logger$s.throwArgumentError("invalid format type","format",et),et===FormatTypes.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(rt=>JSON.parse(rt.format(et)))});let tt="";return et!==FormatTypes.sighash&&(tt+="error "),tt+=this.name+"("+this.inputs.map(rt=>rt.format(et)).join(et===FormatTypes.full?", ":",")+") ",tt.trim()}static from(et){return typeof et=="string"?ErrorFragment.fromString(et):ErrorFragment.fromObject(et)}static fromObject(et){if(ErrorFragment.isErrorFragment(et))return et;et.type!=="error"&&logger$s.throwArgumentError("invalid error object","value",et);const tt={type:et.type,name:verifyIdentifier(et.name),inputs:et.inputs?et.inputs.map(ParamType.fromObject):[]};return checkForbidden(new ErrorFragment(_constructorGuard$2,tt))}static fromString(et){let tt={type:"error"},rt=et.match(regexParen);return rt||logger$s.throwArgumentError("invalid error signature","value",et),tt.name=rt[1].trim(),tt.name&&verifyIdentifier(tt.name),tt.inputs=parseParams(rt[2],!1),checkForbidden(ErrorFragment.fromObject(tt))}static isErrorFragment(et){return et&&et._isFragment&&et.type==="error"}}function verifyType(_e){return _e.match(/^uint($|[^1-9])/)?_e="uint256"+_e.substring(4):_e.match(/^int($|[^1-9])/)&&(_e="int256"+_e.substring(3)),_e}const regexIdentifier=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function verifyIdentifier(_e){return(!_e||!_e.match(regexIdentifier))&&logger$s.throwArgumentError(`invalid identifier "${_e}"`,"value",_e),_e}const regexParen=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function splitNesting(_e){_e=_e.trim();let et=[],tt="",rt=0;for(let nt=0;nt<_e.length;nt++){let it=_e[nt];it===","&&rt===0?(et.push(tt),tt=""):(tt+=it,it==="("?rt++:it===")"&&(rt--,rt===-1&&logger$s.throwArgumentError("unbalanced parenthesis","value",_e)))}return tt&&et.push(tt),et}const logger$r=new Logger(version$o);function checkResultErrors(_e){const et=[],tt=function(rt,nt){if(Array.isArray(nt))for(let it in nt){const at=rt.slice();at.push(it);try{tt(at,nt[it])}catch(st){et.push({path:at,error:st})}}};return tt([],_e),et}class Coder{constructor(et,tt,rt,nt){this.name=et,this.type=tt,this.localName=rt,this.dynamic=nt}_throwError(et,tt){logger$r.throwArgumentError(et,this.localName,tt)}}let Writer$2=class{constructor(et){defineReadOnly(this,"wordSize",et||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(et)}get data(){return hexConcat(this._data)}get length(){return this._dataLength}_writeData(et){return this._data.push(et),this._dataLength+=et.length,et.length}appendWriter(et){return this._writeData(concat$1(et._data))}writeBytes(et){let tt=arrayify(et);const rt=tt.length%this.wordSize;return rt&&(tt=concat$1([tt,this._padding.slice(rt)])),this._writeData(tt)}_getValue(et){let tt=arrayify(BigNumber.from(et));return tt.length>this.wordSize&&logger$r.throwError("value out-of-bounds",Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:tt.length}),tt.length%this.wordSize&&(tt=concat$1([this._padding.slice(tt.length%this.wordSize),tt])),tt}writeValue(et){return this._writeData(this._getValue(et))}writeUpdatableValue(){const et=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,tt=>{this._data[et]=this._getValue(tt)}}},Reader$2=class wn{constructor(et,tt,rt,nt){defineReadOnly(this,"_data",arrayify(et)),defineReadOnly(this,"wordSize",tt||32),defineReadOnly(this,"_coerceFunc",rt),defineReadOnly(this,"allowLoose",nt),this._offset=0}get data(){return hexlify(this._data)}get consumed(){return this._offset}static coerce(et,tt){let rt=et.match("^u?int([0-9]+)$");return rt&&parseInt(rt[1])<=48&&(tt=tt.toNumber()),tt}coerce(et,tt){return this._coerceFunc?this._coerceFunc(et,tt):wn.coerce(et,tt)}_peekBytes(et,tt,rt){let nt=Math.ceil(tt/this.wordSize)*this.wordSize;return this._offset+nt>this._data.length&&(this.allowLoose&&rt&&this._offset+tt<=this._data.length?nt=tt:logger$r.throwError("data out-of-bounds",Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+nt})),this._data.slice(this._offset,this._offset+nt)}subReader(et){return new wn(this._data.slice(this._offset+et),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(et,tt){let rt=this._peekBytes(0,et,!!tt);return this._offset+=rt.length,rt.slice(0,et)}readValue(){return BigNumber.from(this.readBytes(this.wordSize))}};var sha3$2={exports:{}};/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + */(function(_e){(function(){var et="input is invalid type",tt="finalize already called",rt=typeof window=="object",nt=rt?window:{};nt.JS_SHA3_NO_WINDOW&&(rt=!1);var it=!rt&&typeof self=="object",at=!nt.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;at?nt=commonjsGlobal:it&&(nt=self);var st=!nt.JS_SHA3_NO_COMMON_JS&&!0&&_e.exports,lt=!nt.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",dt="0123456789abcdef".split(""),ht=[31,7936,2031616,520093696],pt=[4,1024,262144,67108864],mt=[1,256,65536,16777216],gt=[6,1536,393216,100663296],vt=[0,8,16,24],bt=[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],yt=[224,256,384,512],xt=[128,256],wt=["hex","buffer","arrayBuffer","array","digest"],_t={128:168,256:136};(nt.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(Rt){return Object.prototype.toString.call(Rt)==="[object Array]"}),lt&&(nt.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(Rt){return typeof Rt=="object"&&Rt.buffer&&Rt.buffer.constructor===ArrayBuffer});for(var At=function(Rt,Yt,Kt){return function(Xt){return new St(Rt,Yt,Rt).update(Xt)[Kt]()}},Tt=function(Rt,Yt,Kt){return function(Xt,rr){return new St(Rt,Yt,rr).update(Xt)[Kt]()}},kt=function(Rt,Yt,Kt){return function(Xt,rr,or,ar){return Et["cshake"+Rt].update(Xt,rr,or,ar)[Kt]()}},jt=function(Rt,Yt,Kt){return function(Xt,rr,or,ar){return Et["kmac"+Rt].update(Xt,rr,or,ar)[Kt]()}},Lt=function(Rt,Yt,Kt,Xt){for(var rr=0;rr>5,this.byteCount=this.blockCount<<2,this.outputBlocks=Kt>>5,this.extraBytes=(Kt&31)>>3;for(var Xt=0;Xt<50;++Xt)this.s[Xt]=0}St.prototype.update=function(Rt){if(this.finalized)throw new Error(tt);var Yt,Kt=typeof Rt;if(Kt!=="string"){if(Kt==="object"){if(Rt===null)throw new Error(et);if(lt&&Rt.constructor===ArrayBuffer)Rt=new Uint8Array(Rt);else if(!Array.isArray(Rt)&&(!lt||!ArrayBuffer.isView(Rt)))throw new Error(et)}else throw new Error(et);Yt=!0}for(var Xt=this.blocks,rr=this.byteCount,or=Rt.length,ar=this.blockCount,ir=0,pr=this.s,nr,hr;ir>2]|=Rt[ir]<>2]|=hr<>2]|=(192|hr>>6)<>2]|=(128|hr&63)<=57344?(Xt[nr>>2]|=(224|hr>>12)<>2]|=(128|hr>>6&63)<>2]|=(128|hr&63)<>2]|=(240|hr>>18)<>2]|=(128|hr>>12&63)<>2]|=(128|hr>>6&63)<>2]|=(128|hr&63)<=rr){for(this.start=nr-rr,this.block=Xt[ar],nr=0;nr>8,Kt=Rt&255;Kt>0;)rr.unshift(Kt),Rt=Rt>>8,Kt=Rt&255,++Xt;return Yt?rr.push(Xt):rr.unshift(Xt),this.update(rr),rr.length},St.prototype.encodeString=function(Rt){var Yt,Kt=typeof Rt;if(Kt!=="string"){if(Kt==="object"){if(Rt===null)throw new Error(et);if(lt&&Rt.constructor===ArrayBuffer)Rt=new Uint8Array(Rt);else if(!Array.isArray(Rt)&&(!lt||!ArrayBuffer.isView(Rt)))throw new Error(et)}else throw new Error(et);Yt=!0}var Xt=0,rr=Rt.length;if(Yt)Xt=rr;else for(var or=0;or=57344?Xt+=3:(ar=65536+((ar&1023)<<10|Rt.charCodeAt(++or)&1023),Xt+=4)}return Xt+=this.encode(Xt*8),this.update(Rt),Xt},St.prototype.bytepad=function(Rt,Yt){for(var Kt=this.encode(Yt),Xt=0;Xt>2]|=this.padding[Yt&3],this.lastByteIndex===this.byteCount)for(Rt[0]=Rt[Kt],Yt=1;Yt>4&15]+dt[ir&15]+dt[ir>>12&15]+dt[ir>>8&15]+dt[ir>>20&15]+dt[ir>>16&15]+dt[ir>>28&15]+dt[ir>>24&15];or%Rt===0&&(Vt(Yt),rr=0)}return Xt&&(ir=Yt[rr],ar+=dt[ir>>4&15]+dt[ir&15],Xt>1&&(ar+=dt[ir>>12&15]+dt[ir>>8&15]),Xt>2&&(ar+=dt[ir>>20&15]+dt[ir>>16&15])),ar},St.prototype.arrayBuffer=function(){this.finalize();var Rt=this.blockCount,Yt=this.s,Kt=this.outputBlocks,Xt=this.extraBytes,rr=0,or=0,ar=this.outputBits>>3,ir;Xt?ir=new ArrayBuffer(Kt+1<<2):ir=new ArrayBuffer(ar);for(var pr=new Uint32Array(ir);or>8&255,ar[ir+2]=pr>>16&255,ar[ir+3]=pr>>24&255;or%Rt===0&&Vt(Yt)}return Xt&&(ir=or<<2,pr=Yt[rr],ar[ir]=pr&255,Xt>1&&(ar[ir+1]=pr>>8&255),Xt>2&&(ar[ir+2]=pr>>16&255)),ar};function Ft(Rt,Yt,Kt){St.call(this,Rt,Yt,Kt)}Ft.prototype=new St,Ft.prototype.finalize=function(){return this.encode(this.outputBits,!0),St.prototype.finalize.call(this)};var Vt=function(Rt){var Yt,Kt,Xt,rr,or,ar,ir,pr,nr,hr,Ar,ur,vr,wr,gr,yr,Er,_r,$r,Dr,kr,Ht,It,Nt,Gt,er,Qt,tr,dr,xr,Jt,sr,cr,br,Sr,Pr,Nr,Or,Tr,Ir,Ur,Br,Mr,Kr,jr,Fr,Zr,Rr,Lr,Yr,Hr,zr,nn,Vr,qr,on,Wr,Gr,Qr,Xr,en,tn,rn;for(Xt=0;Xt<48;Xt+=2)rr=Rt[0]^Rt[10]^Rt[20]^Rt[30]^Rt[40],or=Rt[1]^Rt[11]^Rt[21]^Rt[31]^Rt[41],ar=Rt[2]^Rt[12]^Rt[22]^Rt[32]^Rt[42],ir=Rt[3]^Rt[13]^Rt[23]^Rt[33]^Rt[43],pr=Rt[4]^Rt[14]^Rt[24]^Rt[34]^Rt[44],nr=Rt[5]^Rt[15]^Rt[25]^Rt[35]^Rt[45],hr=Rt[6]^Rt[16]^Rt[26]^Rt[36]^Rt[46],Ar=Rt[7]^Rt[17]^Rt[27]^Rt[37]^Rt[47],ur=Rt[8]^Rt[18]^Rt[28]^Rt[38]^Rt[48],vr=Rt[9]^Rt[19]^Rt[29]^Rt[39]^Rt[49],Yt=ur^(ar<<1|ir>>>31),Kt=vr^(ir<<1|ar>>>31),Rt[0]^=Yt,Rt[1]^=Kt,Rt[10]^=Yt,Rt[11]^=Kt,Rt[20]^=Yt,Rt[21]^=Kt,Rt[30]^=Yt,Rt[31]^=Kt,Rt[40]^=Yt,Rt[41]^=Kt,Yt=rr^(pr<<1|nr>>>31),Kt=or^(nr<<1|pr>>>31),Rt[2]^=Yt,Rt[3]^=Kt,Rt[12]^=Yt,Rt[13]^=Kt,Rt[22]^=Yt,Rt[23]^=Kt,Rt[32]^=Yt,Rt[33]^=Kt,Rt[42]^=Yt,Rt[43]^=Kt,Yt=ar^(hr<<1|Ar>>>31),Kt=ir^(Ar<<1|hr>>>31),Rt[4]^=Yt,Rt[5]^=Kt,Rt[14]^=Yt,Rt[15]^=Kt,Rt[24]^=Yt,Rt[25]^=Kt,Rt[34]^=Yt,Rt[35]^=Kt,Rt[44]^=Yt,Rt[45]^=Kt,Yt=pr^(ur<<1|vr>>>31),Kt=nr^(vr<<1|ur>>>31),Rt[6]^=Yt,Rt[7]^=Kt,Rt[16]^=Yt,Rt[17]^=Kt,Rt[26]^=Yt,Rt[27]^=Kt,Rt[36]^=Yt,Rt[37]^=Kt,Rt[46]^=Yt,Rt[47]^=Kt,Yt=hr^(rr<<1|or>>>31),Kt=Ar^(or<<1|rr>>>31),Rt[8]^=Yt,Rt[9]^=Kt,Rt[18]^=Yt,Rt[19]^=Kt,Rt[28]^=Yt,Rt[29]^=Kt,Rt[38]^=Yt,Rt[39]^=Kt,Rt[48]^=Yt,Rt[49]^=Kt,wr=Rt[0],gr=Rt[1],Fr=Rt[11]<<4|Rt[10]>>>28,Zr=Rt[10]<<4|Rt[11]>>>28,tr=Rt[20]<<3|Rt[21]>>>29,dr=Rt[21]<<3|Rt[20]>>>29,Xr=Rt[31]<<9|Rt[30]>>>23,en=Rt[30]<<9|Rt[31]>>>23,Br=Rt[40]<<18|Rt[41]>>>14,Mr=Rt[41]<<18|Rt[40]>>>14,br=Rt[2]<<1|Rt[3]>>>31,Sr=Rt[3]<<1|Rt[2]>>>31,yr=Rt[13]<<12|Rt[12]>>>20,Er=Rt[12]<<12|Rt[13]>>>20,Rr=Rt[22]<<10|Rt[23]>>>22,Lr=Rt[23]<<10|Rt[22]>>>22,xr=Rt[33]<<13|Rt[32]>>>19,Jt=Rt[32]<<13|Rt[33]>>>19,tn=Rt[42]<<2|Rt[43]>>>30,rn=Rt[43]<<2|Rt[42]>>>30,Vr=Rt[5]<<30|Rt[4]>>>2,qr=Rt[4]<<30|Rt[5]>>>2,Pr=Rt[14]<<6|Rt[15]>>>26,Nr=Rt[15]<<6|Rt[14]>>>26,_r=Rt[25]<<11|Rt[24]>>>21,$r=Rt[24]<<11|Rt[25]>>>21,Yr=Rt[34]<<15|Rt[35]>>>17,Hr=Rt[35]<<15|Rt[34]>>>17,sr=Rt[45]<<29|Rt[44]>>>3,cr=Rt[44]<<29|Rt[45]>>>3,Nt=Rt[6]<<28|Rt[7]>>>4,Gt=Rt[7]<<28|Rt[6]>>>4,on=Rt[17]<<23|Rt[16]>>>9,Wr=Rt[16]<<23|Rt[17]>>>9,Or=Rt[26]<<25|Rt[27]>>>7,Tr=Rt[27]<<25|Rt[26]>>>7,Dr=Rt[36]<<21|Rt[37]>>>11,kr=Rt[37]<<21|Rt[36]>>>11,zr=Rt[47]<<24|Rt[46]>>>8,nn=Rt[46]<<24|Rt[47]>>>8,Kr=Rt[8]<<27|Rt[9]>>>5,jr=Rt[9]<<27|Rt[8]>>>5,er=Rt[18]<<20|Rt[19]>>>12,Qt=Rt[19]<<20|Rt[18]>>>12,Gr=Rt[29]<<7|Rt[28]>>>25,Qr=Rt[28]<<7|Rt[29]>>>25,Ir=Rt[38]<<8|Rt[39]>>>24,Ur=Rt[39]<<8|Rt[38]>>>24,Ht=Rt[48]<<14|Rt[49]>>>18,It=Rt[49]<<14|Rt[48]>>>18,Rt[0]=wr^~yr&_r,Rt[1]=gr^~Er&$r,Rt[10]=Nt^~er&tr,Rt[11]=Gt^~Qt&dr,Rt[20]=br^~Pr&Or,Rt[21]=Sr^~Nr&Tr,Rt[30]=Kr^~Fr&Rr,Rt[31]=jr^~Zr&Lr,Rt[40]=Vr^~on&Gr,Rt[41]=qr^~Wr&Qr,Rt[2]=yr^~_r&Dr,Rt[3]=Er^~$r&kr,Rt[12]=er^~tr&xr,Rt[13]=Qt^~dr&Jt,Rt[22]=Pr^~Or&Ir,Rt[23]=Nr^~Tr&Ur,Rt[32]=Fr^~Rr&Yr,Rt[33]=Zr^~Lr&Hr,Rt[42]=on^~Gr&Xr,Rt[43]=Wr^~Qr&en,Rt[4]=_r^~Dr&Ht,Rt[5]=$r^~kr&It,Rt[14]=tr^~xr&sr,Rt[15]=dr^~Jt&cr,Rt[24]=Or^~Ir&Br,Rt[25]=Tr^~Ur&Mr,Rt[34]=Rr^~Yr&zr,Rt[35]=Lr^~Hr&nn,Rt[44]=Gr^~Xr&tn,Rt[45]=Qr^~en&rn,Rt[6]=Dr^~Ht&wr,Rt[7]=kr^~It&gr,Rt[16]=xr^~sr&Nt,Rt[17]=Jt^~cr&Gt,Rt[26]=Ir^~Br&br,Rt[27]=Ur^~Mr&Sr,Rt[36]=Yr^~zr&Kr,Rt[37]=Hr^~nn&jr,Rt[46]=Xr^~tn&Vr,Rt[47]=en^~rn&qr,Rt[8]=Ht^~wr&yr,Rt[9]=It^~gr&Er,Rt[18]=sr^~Nt&er,Rt[19]=cr^~Gt&Qt,Rt[28]=Br^~br&Pr,Rt[29]=Mr^~Sr&Nr,Rt[38]=zr^~Kr&Fr,Rt[39]=nn^~jr&Zr,Rt[48]=tn^~Vr&on,Rt[49]=rn^~qr&Wr,Rt[0]^=bt[Xt],Rt[1]^=bt[Xt+1]};if(st)_e.exports=Et;else for(Pt=0;Pt>=8;return et}function unarrayifyInteger(_e,et,tt){let rt=0;for(let nt=0;ntet+1+rt&&logger$q.throwError("child data too short",Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+rt,result:nt}}function _decode(_e,et){if(_e.length===0&&logger$q.throwError("data too short",Logger.errors.BUFFER_OVERRUN,{}),_e[et]>=248){const tt=_e[et]-247;et+1+tt>_e.length&&logger$q.throwError("data short segment too short",Logger.errors.BUFFER_OVERRUN,{});const rt=unarrayifyInteger(_e,et+1,tt);return et+1+tt+rt>_e.length&&logger$q.throwError("data long segment too short",Logger.errors.BUFFER_OVERRUN,{}),_decodeChildren(_e,et,et+1+tt,tt+rt)}else if(_e[et]>=192){const tt=_e[et]-192;return et+1+tt>_e.length&&logger$q.throwError("data array too short",Logger.errors.BUFFER_OVERRUN,{}),_decodeChildren(_e,et,et+1,tt)}else if(_e[et]>=184){const tt=_e[et]-183;et+1+tt>_e.length&&logger$q.throwError("data array too short",Logger.errors.BUFFER_OVERRUN,{});const rt=unarrayifyInteger(_e,et+1,tt);et+1+tt+rt>_e.length&&logger$q.throwError("data array too short",Logger.errors.BUFFER_OVERRUN,{});const nt=hexlify(_e.slice(et+1+tt,et+1+tt+rt));return{consumed:1+tt+rt,result:nt}}else if(_e[et]>=128){const tt=_e[et]-128;et+1+tt>_e.length&&logger$q.throwError("data too short",Logger.errors.BUFFER_OVERRUN,{});const rt=hexlify(_e.slice(et+1,et+1+tt));return{consumed:1+tt,result:rt}}return{consumed:1,result:hexlify(_e[et])}}function decode$2(_e){const et=arrayify(_e),tt=_decode(et,0);return tt.consumed!==et.length&&logger$q.throwArgumentError("invalid rlp data","data",_e),tt.result}const lib_esm$g=Object.freeze(Object.defineProperty({__proto__:null,decode:decode$2,encode:encode$2},Symbol.toStringTag,{value:"Module"})),version$m="address/5.7.0",logger$p=new Logger(version$m);function getChecksumAddress(_e){isHexString(_e,20)||logger$p.throwArgumentError("invalid address","address",_e),_e=_e.toLowerCase();const et=_e.substring(2).split(""),tt=new Uint8Array(40);for(let nt=0;nt<40;nt++)tt[nt]=et[nt].charCodeAt(0);const rt=arrayify(keccak256$2(tt));for(let nt=0;nt<40;nt+=2)rt[nt>>1]>>4>=8&&(et[nt]=et[nt].toUpperCase()),(rt[nt>>1]&15)>=8&&(et[nt+1]=et[nt+1].toUpperCase());return"0x"+et.join("")}const MAX_SAFE_INTEGER=9007199254740991;function log10(_e){return Math.log10?Math.log10(_e):Math.log(_e)/Math.LN10}const ibanLookup={};for(let _e=0;_e<10;_e++)ibanLookup[String(_e)]=String(_e);for(let _e=0;_e<26;_e++)ibanLookup[String.fromCharCode(65+_e)]=String(10+_e);const safeDigits=Math.floor(log10(MAX_SAFE_INTEGER));function ibanChecksum(_e){_e=_e.toUpperCase(),_e=_e.substring(4)+_e.substring(0,2)+"00";let et=_e.split("").map(rt=>ibanLookup[rt]).join("");for(;et.length>=safeDigits;){let rt=et.substring(0,safeDigits);et=parseInt(rt,10)%97+et.substring(rt.length)}let tt=String(98-parseInt(et,10)%97);for(;tt.length<2;)tt="0"+tt;return tt}function getAddress$1(_e){let et=null;if(typeof _e!="string"&&logger$p.throwArgumentError("invalid address","address",_e),_e.match(/^(0x)?[0-9a-fA-F]{40}$/))_e.substring(0,2)!=="0x"&&(_e="0x"+_e),et=getChecksumAddress(_e),_e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&et!==_e&&logger$p.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)!==ibanChecksum(_e)&&logger$p.throwArgumentError("bad icap checksum","address",_e),et=_base36To16(_e.substring(4));et.length<40;)et="0"+et;et=getChecksumAddress("0x"+et)}else logger$p.throwArgumentError("invalid address","address",_e);return et}function isAddress$1(_e){try{return getAddress$1(_e),!0}catch{}return!1}function getIcapAddress(_e){let et=_base16To36(getAddress$1(_e).substring(2)).toUpperCase();for(;et.length<30;)et="0"+et;return"XE"+ibanChecksum("XE00"+et)+et}function getContractAddress$1(_e){let et=null;try{et=getAddress$1(_e.from)}catch{logger$p.throwArgumentError("missing from address","transaction",_e)}const tt=stripZeros(arrayify(BigNumber.from(_e.nonce).toHexString()));return getAddress$1(hexDataSlice(keccak256$2(encode$2([et,tt])),12))}function getCreate2Address(_e,et,tt){return hexDataLength(et)!==32&&logger$p.throwArgumentError("salt must be 32 bytes","salt",et),hexDataLength(tt)!==32&&logger$p.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",tt),getAddress$1(hexDataSlice(keccak256$2(concat$1(["0xff",getAddress$1(_e),et,tt])),12))}const lib_esm$f=Object.freeze(Object.defineProperty({__proto__:null,getAddress:getAddress$1,getContractAddress:getContractAddress$1,getCreate2Address,getIcapAddress,isAddress:isAddress$1},Symbol.toStringTag,{value:"Module"}));class AddressCoder extends Coder{constructor(et){super("address","address",et,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(et,tt){try{tt=getAddress$1(tt)}catch(rt){this._throwError(rt.message,tt)}return et.writeValue(tt)}decode(et){return getAddress$1(hexZeroPad(et.readValue().toHexString(),20))}}class AnonymousCoder extends Coder{constructor(et){super(et.name,et.type,void 0,et.dynamic),this.coder=et}defaultValue(){return this.coder.defaultValue()}encode(et,tt){return this.coder.encode(et,tt)}decode(et){return this.coder.decode(et)}}const logger$o=new Logger(version$o);function pack$1(_e,et,tt){let rt=null;if(Array.isArray(tt))rt=tt;else if(tt&&typeof tt=="object"){let lt={};rt=et.map(dt=>{const ht=dt.localName;return ht||logger$o.throwError("cannot encode object for signature with missing names",Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:dt,value:tt}),lt[ht]&&logger$o.throwError("cannot encode object for signature with duplicate names",Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:dt,value:tt}),lt[ht]=!0,tt[ht]})}else logger$o.throwArgumentError("invalid tuple value","tuple",tt);et.length!==rt.length&&logger$o.throwArgumentError("types/value length mismatch","tuple",tt);let nt=new Writer$2(_e.wordSize),it=new Writer$2(_e.wordSize),at=[];et.forEach((lt,dt)=>{let ht=rt[dt];if(lt.dynamic){let pt=it.length;lt.encode(it,ht);let mt=nt.writeUpdatableValue();at.push(gt=>{mt(gt+pt)})}else lt.encode(nt,ht)}),at.forEach(lt=>{lt(nt.length)});let st=_e.appendWriter(nt);return st+=_e.appendWriter(it),st}function unpack(_e,et){let tt=[],rt=_e.subReader(0);et.forEach(it=>{let at=null;if(it.dynamic){let st=_e.readValue(),lt=rt.subReader(st.toNumber());try{at=it.decode(lt)}catch(dt){if(dt.code===Logger.errors.BUFFER_OVERRUN)throw dt;at=dt,at.baseType=it.name,at.name=it.localName,at.type=it.type}}else try{at=it.decode(_e)}catch(st){if(st.code===Logger.errors.BUFFER_OVERRUN)throw st;at=st,at.baseType=it.name,at.name=it.localName,at.type=it.type}at!=null&&tt.push(at)});const nt=et.reduce((it,at)=>{const st=at.localName;return st&&(it[st]||(it[st]=0),it[st]++),it},{});et.forEach((it,at)=>{let st=it.localName;if(!st||nt[st]!==1||(st==="length"&&(st="_length"),tt[st]!=null))return;const lt=tt[at];lt instanceof Error?Object.defineProperty(tt,st,{enumerable:!0,get:()=>{throw lt}}):tt[st]=lt});for(let it=0;it{throw at}})}return Object.freeze(tt)}class ArrayCoder extends Coder{constructor(et,tt,rt){const nt=et.type+"["+(tt>=0?tt:"")+"]",it=tt===-1||et.dynamic;super("array",nt,rt,it),this.coder=et,this.length=tt}defaultValue(){const et=this.coder.defaultValue(),tt=[];for(let rt=0;rtet._data.length&&logger$o.throwError("insufficient data length",Logger.errors.BUFFER_OVERRUN,{length:et._data.length,count:tt}));let rt=[];for(let nt=0;nt>6===2;at++)it++;return it}return _e===Utf8ErrorReason.OVERRUN?tt.length-et-1:0}function replaceFunc(_e,et,tt,rt,nt){return _e===Utf8ErrorReason.OVERLONG?(rt.push(nt),0):(rt.push(65533),ignoreFunc(_e,et,tt))}const Utf8ErrorFuncs=Object.freeze({error:errorFunc,ignore:ignoreFunc,replace:replaceFunc});function getUtf8CodePoints(_e,et){et==null&&(et=Utf8ErrorFuncs.error),_e=arrayify(_e);const tt=[];let rt=0;for(;rt<_e.length;){const nt=_e[rt++];if(!(nt>>7)){tt.push(nt);continue}let it=null,at=null;if((nt&224)===192)it=1,at=127;else if((nt&240)===224)it=2,at=2047;else if((nt&248)===240)it=3,at=65535;else{(nt&192)===128?rt+=et(Utf8ErrorReason.UNEXPECTED_CONTINUE,rt-1,_e,tt):rt+=et(Utf8ErrorReason.BAD_PREFIX,rt-1,_e,tt);continue}if(rt-1+it>=_e.length){rt+=et(Utf8ErrorReason.OVERRUN,rt-1,_e,tt);continue}let st=nt&(1<<8-it-1)-1;for(let lt=0;lt1114111){rt+=et(Utf8ErrorReason.OUT_OF_RANGE,rt-1-it,_e,tt,st);continue}if(st>=55296&&st<=57343){rt+=et(Utf8ErrorReason.UTF16_SURROGATE,rt-1-it,_e,tt,st);continue}if(st<=at){rt+=et(Utf8ErrorReason.OVERLONG,rt-1-it,_e,tt,st);continue}tt.push(st)}}return tt}function toUtf8Bytes(_e,et=UnicodeNormalizationForm.current){et!=UnicodeNormalizationForm.current&&(logger$n.checkNormalize(),_e=_e.normalize(et));let tt=[];for(let rt=0;rt<_e.length;rt++){const nt=_e.charCodeAt(rt);if(nt<128)tt.push(nt);else if(nt<2048)tt.push(nt>>6|192),tt.push(nt&63|128);else if((nt&64512)==55296){rt++;const it=_e.charCodeAt(rt);if(rt>=_e.length||(it&64512)!==56320)throw new Error("invalid utf-8 string");const at=65536+((nt&1023)<<10)+(it&1023);tt.push(at>>18|240),tt.push(at>>12&63|128),tt.push(at>>6&63|128),tt.push(at&63|128)}else tt.push(nt>>12|224),tt.push(nt>>6&63|128),tt.push(nt&63|128)}return arrayify(tt)}function escapeChar(_e){const et="0000"+_e.toString(16);return"\\u"+et.substring(et.length-4)}function _toEscapedUtf8String(_e,et){return'"'+getUtf8CodePoints(_e,et).map(tt=>{if(tt<256){switch(tt){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(tt>=32&&tt<127)return String.fromCharCode(tt)}return tt<=65535?escapeChar(tt):(tt-=65536,escapeChar((tt>>10&1023)+55296)+escapeChar((tt&1023)+56320))}).join("")+'"'}function _toUtf8String(_e){return _e.map(et=>et<=65535?String.fromCharCode(et):(et-=65536,String.fromCharCode((et>>10&1023)+55296,(et&1023)+56320))).join("")}function toUtf8String(_e,et){return _toUtf8String(getUtf8CodePoints(_e,et))}function toUtf8CodePoints(_e,et=UnicodeNormalizationForm.current){return getUtf8CodePoints(toUtf8Bytes(_e,et))}function formatBytes32String(_e){const et=toUtf8Bytes(_e);if(et.length>31)throw new Error("bytes32 string must be less than 32 bytes");return hexlify(concat$1([et,HashZero]).slice(0,32))}function parseBytes32String(_e){const et=arrayify(_e);if(et.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(et[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let tt=31;for(;et[tt-1]===0;)tt--;return toUtf8String(et.slice(0,tt))}function bytes2(_e){if(_e.length%4!==0)throw new Error("bad data");let et=[];for(let tt=0;tt<_e.length;tt+=4)et.push(parseInt(_e.substring(tt,tt+4),16));return et}function createTable(_e,et){et||(et=function(nt){return[parseInt(nt,16)]});let tt=0,rt={};return _e.split(",").forEach(nt=>{let it=nt.split(":");tt+=parseInt(it[0],16),rt[tt]=et(it[1])}),rt}function createRangeTable(_e){let et=0;return _e.split(",").map(tt=>{let rt=tt.split("-");rt.length===1?rt[1]="0":rt[1]===""&&(rt[1]="1");let nt=et+parseInt(rt[0],16);return et=parseInt(rt[1],16),{l:nt,h:et}})}function matchMap(_e,et){let tt=0;for(let rt=0;rt=tt&&_e<=tt+nt.h&&(_e-tt)%(nt.d||1)===0){if(nt.e&&nt.e.indexOf(_e-tt)!==-1)continue;return nt}}return null}const Table_A_1_ranges=createRangeTable("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Table_B_1_flags="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(_e=>parseInt(_e,16)),Table_B_2_ranges=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Table_B_2_lut_abs=createTable("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Table_B_2_lut_rel=createTable("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Table_B_2_complex=createTable("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",bytes2),Table_C_ranges=createRangeTable("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function flatten(_e){return _e.reduce((et,tt)=>(tt.forEach(rt=>{et.push(rt)}),et),[])}function _nameprepTableA1(_e){return!!matchMap(_e,Table_A_1_ranges)}function _nameprepTableB2(_e){let et=matchMap(_e,Table_B_2_ranges);if(et)return[_e+et.s];let tt=Table_B_2_lut_abs[_e];if(tt)return tt;let rt=Table_B_2_lut_rel[_e];if(rt)return[_e+rt[0]];let nt=Table_B_2_complex[_e];return nt||null}function _nameprepTableC(_e){return!!matchMap(_e,Table_C_ranges)}function nameprep(_e){if(_e.match(/^[a-z0-9-]*$/i)&&_e.length<=59)return _e.toLowerCase();let et=toUtf8CodePoints(_e);et=flatten(et.map(rt=>{if(Table_B_1_flags.indexOf(rt)>=0)return[];if(rt>=65024&&rt<=65039)return[];let nt=_nameprepTableB2(rt);return nt||[rt]})),et=toUtf8CodePoints(_toUtf8String(et),UnicodeNormalizationForm.NFKC),et.forEach(rt=>{if(_nameprepTableC(rt))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),et.forEach(rt=>{if(_nameprepTableA1(rt))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let tt=_toUtf8String(et);if(tt.substring(0,1)==="-"||tt.substring(2,4)==="--"||tt.substring(tt.length-1)==="-")throw new Error("invalid hyphen");return tt}const lib_esm$e=Object.freeze(Object.defineProperty({__proto__:null,get UnicodeNormalizationForm(){return UnicodeNormalizationForm},Utf8ErrorFuncs,get Utf8ErrorReason(){return Utf8ErrorReason},_toEscapedUtf8String,formatBytes32String,nameprep,parseBytes32String,toUtf8Bytes,toUtf8CodePoints,toUtf8String},Symbol.toStringTag,{value:"Module"}));class StringCoder extends DynamicBytesCoder{constructor(et){super("string",et)}defaultValue(){return""}encode(et,tt){return super.encode(et,toUtf8Bytes(tt))}decode(et){return toUtf8String(super.decode(et))}}class TupleCoder extends Coder{constructor(et,tt){let rt=!1;const nt=[];et.forEach(at=>{at.dynamic&&(rt=!0),nt.push(at.type)});const it="tuple("+nt.join(",")+")";super("tuple",it,tt,rt),this.coders=et}defaultValue(){const et=[];this.coders.forEach(rt=>{et.push(rt.defaultValue())});const tt=this.coders.reduce((rt,nt)=>{const it=nt.localName;return it&&(rt[it]||(rt[it]=0),rt[it]++),rt},{});return this.coders.forEach((rt,nt)=>{let it=rt.localName;!it||tt[it]!==1||(it==="length"&&(it="_length"),et[it]==null&&(et[it]=et[nt]))}),Object.freeze(et)}encode(et,tt){return pack$1(et,this.coders,tt)}decode(et){return et.coerce(this.name,unpack(et,this.coders))}}const logger$m=new Logger(version$o),paramTypeBytes=new RegExp(/^bytes([0-9]*)$/),paramTypeNumber=new RegExp(/^(u?int)([0-9]*)$/);class AbiCoder{constructor(et){defineReadOnly(this,"coerceFunc",et||null)}_getCoder(et){switch(et.baseType){case"address":return new AddressCoder(et.name);case"bool":return new BooleanCoder(et.name);case"string":return new StringCoder(et.name);case"bytes":return new BytesCoder(et.name);case"array":return new ArrayCoder(this._getCoder(et.arrayChildren),et.arrayLength,et.name);case"tuple":return new TupleCoder((et.components||[]).map(rt=>this._getCoder(rt)),et.name);case"":return new NullCoder(et.name)}let tt=et.type.match(paramTypeNumber);if(tt){let rt=parseInt(tt[2]||"256");return(rt===0||rt>256||rt%8!==0)&&logger$m.throwArgumentError("invalid "+tt[1]+" bit length","param",et),new NumberCoder(rt/8,tt[1]==="int",et.name)}if(tt=et.type.match(paramTypeBytes),tt){let rt=parseInt(tt[1]);return(rt===0||rt>32)&&logger$m.throwArgumentError("invalid bytes length","param",et),new FixedBytesCoder(rt,et.name)}return logger$m.throwArgumentError("invalid type","type",et.type)}_getWordSize(){return 32}_getReader(et,tt){return new Reader$2(et,this._getWordSize(),this.coerceFunc,tt)}_getWriter(){return new Writer$2(this._getWordSize())}getDefaultValue(et){const tt=et.map(nt=>this._getCoder(ParamType.from(nt)));return new TupleCoder(tt,"_").defaultValue()}encode(et,tt){et.length!==tt.length&&logger$m.throwError("types/values length mismatch",Logger.errors.INVALID_ARGUMENT,{count:{types:et.length,values:tt.length},value:{types:et,values:tt}});const rt=et.map(at=>this._getCoder(ParamType.from(at))),nt=new TupleCoder(rt,"_"),it=this._getWriter();return nt.encode(it,tt),it.data}decode(et,tt,rt){const nt=et.map(at=>this._getCoder(ParamType.from(at)));return new TupleCoder(nt,"_").decode(this._getReader(arrayify(tt),rt))}}const defaultAbiCoder=new AbiCoder;function id$2(_e){return keccak256$2(toUtf8Bytes(_e))}const version$k="hash/5.7.0";function decode$1(_e){_e=atob(_e);const et=[];for(let tt=0;tt<_e.length;tt++)et.push(_e.charCodeAt(tt));return arrayify(et)}function encode$1(_e){_e=arrayify(_e);let et="";for(let tt=0;tt<_e.length;tt++)et+=String.fromCharCode(_e[tt]);return btoa(et)}const lib_esm$d=Object.freeze(Object.defineProperty({__proto__:null,decode:decode$1,encode:encode$1},Symbol.toStringTag,{value:"Module"}));function flat(_e,et){et==null&&(et=1);const tt=[],rt=tt.forEach,nt=function(it,at){rt.call(it,function(st){at>0&&Array.isArray(st)?nt(st,at-1):tt.push(st)})};return nt(_e,et),tt}function fromEntries(_e){const et={};for(let tt=0;tt<_e.length;tt++){const rt=_e[tt];et[rt[0]]=rt[1]}return et}function decode_arithmetic(_e){let et=0;function tt(){return _e[et++]<<8|_e[et++]}let rt=tt(),nt=1,it=[0,1];for(let Tt=1;Tt>--lt&1}const pt=31,mt=Math.pow(2,pt),gt=mt>>>1,vt=gt>>1,bt=mt-1;let yt=0;for(let Tt=0;Tt1;){let Dt=kt+jt>>>1;Tt>>1|ht(),Lt=Lt<<1^gt,qt=(qt^gt)<<1|gt|1;wt=Lt,_t=1+qt-Lt}let At=rt-4;return xt.map(Tt=>{switch(Tt-At){case 3:return At+65792+(_e[st++]<<16|_e[st++]<<8|_e[st++]);case 2:return At+256+(_e[st++]<<8|_e[st++]);case 1:return At+_e[st++];default:return Tt-1}})}function read_payload(_e){let et=0;return()=>_e[et++]}function read_compressed_payload(_e){return read_payload(decode_arithmetic(_e))}function signed(_e){return _e&1?~_e>>1:_e>>1}function read_counts(_e,et){let tt=Array(_e);for(let rt=0;rt<_e;rt++)tt[rt]=1+et();return tt}function read_ascending(_e,et){let tt=Array(_e);for(let rt=0,nt=-1;rt<_e;rt++)tt[rt]=nt+=1+et();return tt}function read_deltas(_e,et){let tt=Array(_e);for(let rt=0,nt=0;rt<_e;rt++)tt[rt]=nt+=signed(et());return tt}function read_member_array(_e,et){let tt=read_ascending(_e(),_e),rt=_e(),nt=read_ascending(rt,_e),it=read_counts(rt,_e);for(let at=0;atet[at]):tt}function read_mapped_map(_e){let et=[];for(;;){let tt=_e();if(tt==0)break;et.push(read_linear_table(tt,_e))}for(;;){let tt=_e()-1;if(tt<0)break;et.push(read_replacement_table(tt,_e))}return fromEntries(flat(et))}function read_zero_terminated_array(_e){let et=[];for(;;){let tt=_e();if(tt==0)break;et.push(tt)}return et}function read_transposed(_e,et,tt){let rt=Array(_e).fill(void 0).map(()=>[]);for(let nt=0;ntrt[at].push(it));return rt}function read_linear_table(_e,et){let tt=1+et(),rt=et(),nt=read_zero_terminated_array(et),it=read_transposed(nt.length,1+_e,et);return flat(it.map((at,st)=>{const lt=at[0],dt=at.slice(1);return Array(nt[st]).fill(void 0).map((ht,pt)=>{let mt=pt*rt;return[lt+pt*tt,dt.map(gt=>gt+mt)]})}))}function read_replacement_table(_e,et){let tt=1+et();return read_transposed(tt,1+_e,et).map(nt=>[nt[0],nt.slice(1)])}function read_emoji_trie(_e){let et=read_member_array(_e).sort((rt,nt)=>rt-nt);return tt();function tt(){let rt=[];for(;;){let dt=read_member_array(_e,et);if(dt.length==0)break;rt.push({set:new Set(dt),node:tt()})}rt.sort((dt,ht)=>ht.set.size-dt.set.size);let nt=_e(),it=nt%3;nt=nt/3|0;let at=!!(nt&1);nt>>=1;let st=nt==1,lt=nt==2;return{branches:rt,valid:it,fe0f:at,save:st,check:lt}}}function getData(){return read_compressed_payload(decode$1("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"))}const r$5=getData(),VALID=new Set(read_member_array(r$5)),IGNORED=new Set(read_member_array(r$5)),MAPPED=read_mapped_map(r$5),EMOJI_ROOT=read_emoji_trie(r$5),HYPHEN=45,UNDERSCORE=95;function explode_cp(_e){return toUtf8CodePoints(_e)}function filter_fe0f(_e){return _e.filter(et=>et!=65039)}function ens_normalize_post_check(_e){for(let et of _e.split(".")){let tt=explode_cp(et);try{for(let rt=tt.lastIndexOf(UNDERSCORE)-1;rt>=0;rt--)if(tt[rt]!==UNDERSCORE)throw new Error("underscore only allowed at start");if(tt.length>=4&&tt.every(rt=>rt<128)&&tt[2]===HYPHEN&&tt[3]===HYPHEN)throw new Error("invalid label extension")}catch(rt){throw new Error(`Invalid label "${et}": ${rt.message}`)}}return _e}function ens_normalize(_e){return ens_normalize_post_check(normalize$1(_e,filter_fe0f))}function normalize$1(_e,et){let tt=explode_cp(_e).reverse(),rt=[];for(;tt.length;){let nt=consume_emoji_reversed(tt);if(nt){rt.push(...et(nt));continue}let it=tt.pop();if(VALID.has(it)){rt.push(it);continue}if(IGNORED.has(it))continue;let at=MAPPED[it];if(at){rt.push(...at);continue}throw new Error(`Disallowed codepoint: 0x${it.toString(16).toUpperCase()}`)}return ens_normalize_post_check(nfc(String.fromCodePoint(...rt)))}function nfc(_e){return _e.normalize("NFC")}function consume_emoji_reversed(_e,et){var tt;let rt=EMOJI_ROOT,nt,it,at=[],st=_e.length;for(et&&(et.length=0);st;){let lt=_e[--st];if(rt=(tt=rt.branches.find(dt=>dt.set.has(lt)))===null||tt===void 0?void 0:tt.node,!rt)break;if(rt.save)it=lt;else if(rt.check&<===it)break;at.push(lt),rt.fe0f&&(at.push(65039),st>0&&_e[st-1]==65039&&st--),rt.valid&&(nt=at.slice(),rt.valid==2&&nt.splice(1,1),et&&et.push(..._e.slice(st).reverse()),_e.length=st)}return nt}const logger$l=new Logger(version$k),Zeros$1=new Uint8Array(32);Zeros$1.fill(0);function checkComponent(_e){if(_e.length===0)throw new Error("invalid ENS name; empty component");return _e}function ensNameSplit(_e){const et=toUtf8Bytes(ens_normalize(_e)),tt=[];if(_e.length===0)return tt;let rt=0;for(let nt=0;nt=et.length)throw new Error("invalid ENS name; empty component");return tt.push(checkComponent(et.slice(rt))),tt}function ensNormalize(_e){return ensNameSplit(_e).map(et=>toUtf8String(et)).join(".")}function isValidName(_e){try{return ensNameSplit(_e).length!==0}catch{}return!1}function namehash$1(_e){typeof _e!="string"&&logger$l.throwArgumentError("invalid ENS name; not a string","name",_e);let et=Zeros$1;const tt=ensNameSplit(_e);for(;tt.length;)et=keccak256$2(concat$1([et,keccak256$2(tt.pop())]));return hexlify(et)}function dnsEncode(_e){return hexlify(concat$1(ensNameSplit(_e).map(et=>{if(et.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const tt=new Uint8Array(et.length+1);return tt.set(et,1),tt[0]=tt.length-1,tt})))+"00"}const messagePrefix=`Ethereum Signed Message: +`;function hashMessage$1(_e){return typeof _e=="string"&&(_e=toUtf8Bytes(_e)),keccak256$2(concat$1([toUtf8Bytes(messagePrefix),toUtf8Bytes(String(_e.length)),_e]))}var __awaiter$9=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$k=new Logger(version$k),padding=new Uint8Array(32);padding.fill(0);const NegativeOne=BigNumber.from(-1),Zero=BigNumber.from(0),One=BigNumber.from(1),MaxUint256=BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function hexPadRight(_e){const et=arrayify(_e),tt=et.length%32;return tt?hexConcat([et,padding.slice(tt)]):hexlify(et)}const hexTrue=hexZeroPad(One.toHexString(),32),hexFalse=hexZeroPad(Zero.toHexString(),32),domainFieldTypes={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},domainFieldNames=["name","version","chainId","verifyingContract","salt"];function checkString(_e){return function(et){return typeof et!="string"&&logger$k.throwArgumentError(`invalid domain value for ${JSON.stringify(_e)}`,`domain.${_e}`,et),et}}const domainChecks={name:checkString("name"),version:checkString("version"),chainId:function(_e){try{return BigNumber.from(_e).toString()}catch{}return logger$k.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",_e)},verifyingContract:function(_e){try{return getAddress$1(_e).toLowerCase()}catch{}return logger$k.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",_e)},salt:function(_e){try{const et=arrayify(_e);if(et.length!==32)throw new Error("bad length");return hexlify(et)}catch{}return logger$k.throwArgumentError('invalid domain value "salt"',"domain.salt",_e)}};function getBaseEncoder(_e){{const et=_e.match(/^(u?)int(\d*)$/);if(et){const tt=et[1]==="",rt=parseInt(et[2]||"256");(rt%8!==0||rt>256||et[2]&&et[2]!==String(rt))&&logger$k.throwArgumentError("invalid numeric width","type",_e);const nt=MaxUint256.mask(tt?rt-1:rt),it=tt?nt.add(One).mul(NegativeOne):Zero;return function(at){const st=BigNumber.from(at);return(st.lt(it)||st.gt(nt))&&logger$k.throwArgumentError(`value out-of-bounds for ${_e}`,"value",at),hexZeroPad(st.toTwos(256).toHexString(),32)}}}{const et=_e.match(/^bytes(\d+)$/);if(et){const tt=parseInt(et[1]);return(tt===0||tt>32||et[1]!==String(tt))&&logger$k.throwArgumentError("invalid bytes width","type",_e),function(rt){return arrayify(rt).length!==tt&&logger$k.throwArgumentError(`invalid length for ${_e}`,"value",rt),hexPadRight(rt)}}}switch(_e){case"address":return function(et){return hexZeroPad(getAddress$1(et),32)};case"bool":return function(et){return et?hexTrue:hexFalse};case"bytes":return function(et){return keccak256$2(et)};case"string":return function(et){return id$2(et)}}return null}function encodeType$1(_e,et){return`${_e}(${et.map(({name:tt,type:rt})=>rt+" "+tt).join(",")})`}class TypedDataEncoder{constructor(et){defineReadOnly(this,"types",Object.freeze(deepCopy(et))),defineReadOnly(this,"_encoderCache",{}),defineReadOnly(this,"_types",{});const tt={},rt={},nt={};Object.keys(et).forEach(st=>{tt[st]={},rt[st]=[],nt[st]={}});for(const st in et){const lt={};et[st].forEach(dt=>{lt[dt.name]&&logger$k.throwArgumentError(`duplicate variable name ${JSON.stringify(dt.name)} in ${JSON.stringify(st)}`,"types",et),lt[dt.name]=!0;const ht=dt.type.match(/^([^\x5b]*)(\x5b|$)/)[1];ht===st&&logger$k.throwArgumentError(`circular type reference to ${JSON.stringify(ht)}`,"types",et),!getBaseEncoder(ht)&&(rt[ht]||logger$k.throwArgumentError(`unknown type ${JSON.stringify(ht)}`,"types",et),rt[ht].push(st),tt[st][ht]=!0)})}const it=Object.keys(rt).filter(st=>rt[st].length===0);it.length===0?logger$k.throwArgumentError("missing primary type","types",et):it.length>1&&logger$k.throwArgumentError(`ambiguous primary types or unused types: ${it.map(st=>JSON.stringify(st)).join(", ")}`,"types",et),defineReadOnly(this,"primaryType",it[0]);function at(st,lt){lt[st]&&logger$k.throwArgumentError(`circular type reference to ${JSON.stringify(st)}`,"types",et),lt[st]=!0,Object.keys(tt[st]).forEach(dt=>{rt[dt]&&(at(dt,lt),Object.keys(lt).forEach(ht=>{nt[ht][dt]=!0}))}),delete lt[st]}at(this.primaryType,{});for(const st in nt){const lt=Object.keys(nt[st]);lt.sort(),this._types[st]=encodeType$1(st,et[st])+lt.map(dt=>encodeType$1(dt,et[dt])).join("")}}getEncoder(et){let tt=this._encoderCache[et];return tt||(tt=this._encoderCache[et]=this._getEncoder(et)),tt}_getEncoder(et){{const nt=getBaseEncoder(et);if(nt)return nt}const tt=et.match(/^(.*)(\x5b(\d*)\x5d)$/);if(tt){const nt=tt[1],it=this.getEncoder(nt),at=parseInt(tt[3]);return st=>{at>=0&&st.length!==at&&logger$k.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",st);let lt=st.map(it);return this._types[nt]&&(lt=lt.map(keccak256$2)),keccak256$2(hexConcat(lt))}}const rt=this.types[et];if(rt){const nt=id$2(this._types[et]);return it=>{const at=rt.map(({name:st,type:lt})=>{const dt=this.getEncoder(lt)(it[st]);return this._types[lt]?keccak256$2(dt):dt});return at.unshift(nt),hexConcat(at)}}return logger$k.throwArgumentError(`unknown type: ${et}`,"type",et)}encodeType(et){const tt=this._types[et];return tt||logger$k.throwArgumentError(`unknown type: ${JSON.stringify(et)}`,"name",et),tt}encodeData(et,tt){return this.getEncoder(et)(tt)}hashStruct(et,tt){return keccak256$2(this.encodeData(et,tt))}encode(et){return this.encodeData(this.primaryType,et)}hash(et){return this.hashStruct(this.primaryType,et)}_visit(et,tt,rt){if(getBaseEncoder(et))return rt(et,tt);const nt=et.match(/^(.*)(\x5b(\d*)\x5d)$/);if(nt){const at=nt[1],st=parseInt(nt[3]);return st>=0&&tt.length!==st&&logger$k.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",tt),tt.map(lt=>this._visit(at,lt,rt))}const it=this.types[et];return it?it.reduce((at,{name:st,type:lt})=>(at[st]=this._visit(lt,tt[st],rt),at),{}):logger$k.throwArgumentError(`unknown type: ${et}`,"type",et)}visit(et,tt){return this._visit(this.primaryType,et,tt)}static from(et){return new TypedDataEncoder(et)}static getPrimaryType(et){return TypedDataEncoder.from(et).primaryType}static hashStruct(et,tt,rt){return TypedDataEncoder.from(tt).hashStruct(et,rt)}static hashDomain(et){const tt=[];for(const rt in et){const nt=domainFieldTypes[rt];nt||logger$k.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(rt)}`,"domain",et),tt.push({name:rt,type:nt})}return tt.sort((rt,nt)=>domainFieldNames.indexOf(rt.name)-domainFieldNames.indexOf(nt.name)),TypedDataEncoder.hashStruct("EIP712Domain",{EIP712Domain:tt},et)}static encode(et,tt,rt){return hexConcat(["0x1901",TypedDataEncoder.hashDomain(et),TypedDataEncoder.from(tt).hash(rt)])}static hash(et,tt,rt){return keccak256$2(TypedDataEncoder.encode(et,tt,rt))}static resolveNames(et,tt,rt,nt){return __awaiter$9(this,void 0,void 0,function*(){et=shallowCopy(et);const it={};et.verifyingContract&&!isHexString(et.verifyingContract,20)&&(it[et.verifyingContract]="0x");const at=TypedDataEncoder.from(tt);at.visit(rt,(st,lt)=>(st==="address"&&!isHexString(lt,20)&&(it[lt]="0x"),lt));for(const st in it)it[st]=yield nt(st);return et.verifyingContract&&it[et.verifyingContract]&&(et.verifyingContract=it[et.verifyingContract]),rt=at.visit(rt,(st,lt)=>st==="address"&&it[lt]?it[lt]:lt),{domain:et,value:rt}})}static getPayload(et,tt,rt){TypedDataEncoder.hashDomain(et);const nt={},it=[];domainFieldNames.forEach(lt=>{const dt=et[lt];dt!=null&&(nt[lt]=domainChecks[lt](dt),it.push({name:lt,type:domainFieldTypes[lt]}))});const at=TypedDataEncoder.from(tt),st=shallowCopy(tt);return st.EIP712Domain?logger$k.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",tt):st.EIP712Domain=it,at.encode(rt),{types:st,domain:nt,primaryType:at.primaryType,message:at.visit(rt,(lt,dt)=>{if(lt.match(/^bytes(\d*)/))return hexlify(arrayify(dt));if(lt.match(/^u?int/))return BigNumber.from(dt).toString();switch(lt){case"address":return dt.toLowerCase();case"bool":return!!dt;case"string":return typeof dt!="string"&&logger$k.throwArgumentError("invalid string","value",dt),dt}return logger$k.throwArgumentError("unsupported type","type",lt)})}}}const lib_esm$c=Object.freeze(Object.defineProperty({__proto__:null,_TypedDataEncoder:TypedDataEncoder,dnsEncode,ensNormalize,hashMessage:hashMessage$1,id:id$2,isValidName,messagePrefix,namehash:namehash$1},Symbol.toStringTag,{value:"Module"})),logger$j=new Logger(version$o);class LogDescription extends Description{}class TransactionDescription extends Description{}class ErrorDescription extends Description{}class Indexed extends Description{static isIndexed(et){return!!(et&&et._isIndexed)}}const BuiltinErrors={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function wrapAccessError(_e,et){const tt=new Error(`deferred error during ABI decoding triggered accessing ${_e}`);return tt.error=et,tt}class Interface{constructor(et){let tt=[];typeof et=="string"?tt=JSON.parse(et):tt=et,defineReadOnly(this,"fragments",tt.map(rt=>Fragment.from(rt)).filter(rt=>rt!=null)),defineReadOnly(this,"_abiCoder",getStatic(new.target,"getAbiCoder")()),defineReadOnly(this,"functions",{}),defineReadOnly(this,"errors",{}),defineReadOnly(this,"events",{}),defineReadOnly(this,"structs",{}),this.fragments.forEach(rt=>{let nt=null;switch(rt.type){case"constructor":if(this.deploy){logger$j.warn("duplicate definition - constructor");return}defineReadOnly(this,"deploy",rt);return;case"function":nt=this.functions;break;case"event":nt=this.events;break;case"error":nt=this.errors;break;default:return}let it=rt.format();if(nt[it]){logger$j.warn("duplicate definition - "+it);return}nt[it]=rt}),this.deploy||defineReadOnly(this,"deploy",ConstructorFragment.from({payable:!1,type:"constructor"})),defineReadOnly(this,"_isInterface",!0)}format(et){et||(et=FormatTypes.full),et===FormatTypes.sighash&&logger$j.throwArgumentError("interface does not support formatting sighash","format",et);const tt=this.fragments.map(rt=>rt.format(et));return et===FormatTypes.json?JSON.stringify(tt.map(rt=>JSON.parse(rt))):tt}static getAbiCoder(){return defaultAbiCoder}static getAddress(et){return getAddress$1(et)}static getSighash(et){return hexDataSlice(id$2(et.format()),0,4)}static getEventTopic(et){return id$2(et.format())}getFunction(et){if(isHexString(et)){for(const rt in this.functions)if(et===this.getSighash(rt))return this.functions[rt];logger$j.throwArgumentError("no matching function","sighash",et)}if(et.indexOf("(")===-1){const rt=et.trim(),nt=Object.keys(this.functions).filter(it=>it.split("(")[0]===rt);return nt.length===0?logger$j.throwArgumentError("no matching function","name",rt):nt.length>1&&logger$j.throwArgumentError("multiple matching functions","name",rt),this.functions[nt[0]]}const tt=this.functions[FunctionFragment.fromString(et).format()];return tt||logger$j.throwArgumentError("no matching function","signature",et),tt}getEvent(et){if(isHexString(et)){const rt=et.toLowerCase();for(const nt in this.events)if(rt===this.getEventTopic(nt))return this.events[nt];logger$j.throwArgumentError("no matching event","topichash",rt)}if(et.indexOf("(")===-1){const rt=et.trim(),nt=Object.keys(this.events).filter(it=>it.split("(")[0]===rt);return nt.length===0?logger$j.throwArgumentError("no matching event","name",rt):nt.length>1&&logger$j.throwArgumentError("multiple matching events","name",rt),this.events[nt[0]]}const tt=this.events[EventFragment.fromString(et).format()];return tt||logger$j.throwArgumentError("no matching event","signature",et),tt}getError(et){if(isHexString(et)){const rt=getStatic(this.constructor,"getSighash");for(const nt in this.errors){const it=this.errors[nt];if(et===rt(it))return this.errors[nt]}logger$j.throwArgumentError("no matching error","sighash",et)}if(et.indexOf("(")===-1){const rt=et.trim(),nt=Object.keys(this.errors).filter(it=>it.split("(")[0]===rt);return nt.length===0?logger$j.throwArgumentError("no matching error","name",rt):nt.length>1&&logger$j.throwArgumentError("multiple matching errors","name",rt),this.errors[nt[0]]}const tt=this.errors[FunctionFragment.fromString(et).format()];return tt||logger$j.throwArgumentError("no matching error","signature",et),tt}getSighash(et){if(typeof et=="string")try{et=this.getFunction(et)}catch(tt){try{et=this.getError(et)}catch{throw tt}}return getStatic(this.constructor,"getSighash")(et)}getEventTopic(et){return typeof et=="string"&&(et=this.getEvent(et)),getStatic(this.constructor,"getEventTopic")(et)}_decodeParams(et,tt){return this._abiCoder.decode(et,tt)}_encodeParams(et,tt){return this._abiCoder.encode(et,tt)}encodeDeploy(et){return this._encodeParams(this.deploy.inputs,et||[])}decodeErrorResult(et,tt){typeof et=="string"&&(et=this.getError(et));const rt=arrayify(tt);return hexlify(rt.slice(0,4))!==this.getSighash(et)&&logger$j.throwArgumentError(`data signature does not match error ${et.name}.`,"data",hexlify(rt)),this._decodeParams(et.inputs,rt.slice(4))}encodeErrorResult(et,tt){return typeof et=="string"&&(et=this.getError(et)),hexlify(concat$1([this.getSighash(et),this._encodeParams(et.inputs,tt||[])]))}decodeFunctionData(et,tt){typeof et=="string"&&(et=this.getFunction(et));const rt=arrayify(tt);return hexlify(rt.slice(0,4))!==this.getSighash(et)&&logger$j.throwArgumentError(`data signature does not match function ${et.name}.`,"data",hexlify(rt)),this._decodeParams(et.inputs,rt.slice(4))}encodeFunctionData(et,tt){return typeof et=="string"&&(et=this.getFunction(et)),hexlify(concat$1([this.getSighash(et),this._encodeParams(et.inputs,tt||[])]))}decodeFunctionResult(et,tt){typeof et=="string"&&(et=this.getFunction(et));let rt=arrayify(tt),nt=null,it="",at=null,st=null,lt=null;switch(rt.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(et.outputs,rt)}catch{}break;case 4:{const dt=hexlify(rt.slice(0,4)),ht=BuiltinErrors[dt];if(ht)at=this._abiCoder.decode(ht.inputs,rt.slice(4)),st=ht.name,lt=ht.signature,ht.reason&&(nt=at[0]),st==="Error"?it=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(at[0])}`:st==="Panic"&&(it=`; VM Exception while processing transaction: reverted with panic code ${at[0]}`);else try{const pt=this.getError(dt);at=this._abiCoder.decode(pt.inputs,rt.slice(4)),st=pt.name,lt=pt.format()}catch{}break}}return logger$j.throwError("call revert exception"+it,Logger.errors.CALL_EXCEPTION,{method:et.format(),data:hexlify(tt),errorArgs:at,errorName:st,errorSignature:lt,reason:nt})}encodeFunctionResult(et,tt){return typeof et=="string"&&(et=this.getFunction(et)),hexlify(this._abiCoder.encode(et.outputs,tt||[]))}encodeFilterTopics(et,tt){typeof et=="string"&&(et=this.getEvent(et)),tt.length>et.inputs.length&&logger$j.throwError("too many arguments for "+et.format(),Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:tt});let rt=[];et.anonymous||rt.push(this.getEventTopic(et));const nt=(it,at)=>it.type==="string"?id$2(at):it.type==="bytes"?keccak256$2(hexlify(at)):(it.type==="bool"&&typeof at=="boolean"&&(at=at?"0x01":"0x00"),it.type.match(/^u?int/)&&(at=BigNumber.from(at).toHexString()),it.type==="address"&&this._abiCoder.encode(["address"],[at]),hexZeroPad(hexlify(at),32));for(tt.forEach((it,at)=>{let st=et.inputs[at];if(!st.indexed){it!=null&&logger$j.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+st.name,it);return}it==null?rt.push(null):st.baseType==="array"||st.baseType==="tuple"?logger$j.throwArgumentError("filtering with tuples or arrays not supported","contract."+st.name,it):Array.isArray(it)?rt.push(it.map(lt=>nt(st,lt))):rt.push(nt(st,it))});rt.length&&rt[rt.length-1]===null;)rt.pop();return rt}encodeEventLog(et,tt){typeof et=="string"&&(et=this.getEvent(et));const rt=[],nt=[],it=[];return et.anonymous||rt.push(this.getEventTopic(et)),tt.length!==et.inputs.length&&logger$j.throwArgumentError("event arguments/values mismatch","values",tt),et.inputs.forEach((at,st)=>{const lt=tt[st];if(at.indexed)if(at.type==="string")rt.push(id$2(lt));else if(at.type==="bytes")rt.push(keccak256$2(lt));else{if(at.baseType==="tuple"||at.baseType==="array")throw new Error("not implemented");rt.push(this._abiCoder.encode([at.type],[lt]))}else nt.push(at),it.push(lt)}),{data:this._abiCoder.encode(nt,it),topics:rt}}decodeEventLog(et,tt,rt){if(typeof et=="string"&&(et=this.getEvent(et)),rt!=null&&!et.anonymous){let mt=this.getEventTopic(et);(!isHexString(rt[0],32)||rt[0].toLowerCase()!==mt)&&logger$j.throwError("fragment/topic mismatch",Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:mt,value:rt[0]}),rt=rt.slice(1)}let nt=[],it=[],at=[];et.inputs.forEach((mt,gt)=>{mt.indexed?mt.type==="string"||mt.type==="bytes"||mt.baseType==="tuple"||mt.baseType==="array"?(nt.push(ParamType.fromObject({type:"bytes32",name:mt.name})),at.push(!0)):(nt.push(mt),at.push(!1)):(it.push(mt),at.push(!1))});let st=rt!=null?this._abiCoder.decode(nt,concat$1(rt)):null,lt=this._abiCoder.decode(it,tt,!0),dt=[],ht=0,pt=0;et.inputs.forEach((mt,gt)=>{if(mt.indexed)if(st==null)dt[gt]=new Indexed({_isIndexed:!0,hash:null});else if(at[gt])dt[gt]=new Indexed({_isIndexed:!0,hash:st[pt++]});else try{dt[gt]=st[pt++]}catch(vt){dt[gt]=vt}else try{dt[gt]=lt[ht++]}catch(vt){dt[gt]=vt}if(mt.name&&dt[mt.name]==null){const vt=dt[gt];vt instanceof Error?Object.defineProperty(dt,mt.name,{enumerable:!0,get:()=>{throw wrapAccessError(`property ${JSON.stringify(mt.name)}`,vt)}}):dt[mt.name]=vt}});for(let mt=0;mt{throw wrapAccessError(`index ${mt}`,gt)}})}return Object.freeze(dt)}parseTransaction(et){let tt=this.getFunction(et.data.substring(0,10).toLowerCase());return tt?new TransactionDescription({args:this._abiCoder.decode(tt.inputs,"0x"+et.data.substring(10)),functionFragment:tt,name:tt.name,signature:tt.format(),sighash:this.getSighash(tt),value:BigNumber.from(et.value||"0")}):null}parseLog(et){let tt=this.getEvent(et.topics[0]);return!tt||tt.anonymous?null:new LogDescription({eventFragment:tt,name:tt.name,signature:tt.format(),topic:this.getEventTopic(tt),args:this.decodeEventLog(tt,et.data,et.topics)})}parseError(et){const tt=hexlify(et);let rt=this.getError(tt.substring(0,10).toLowerCase());return rt?new ErrorDescription({args:this._abiCoder.decode(rt.inputs,"0x"+tt.substring(10)),errorFragment:rt,name:rt.name,signature:rt.format(),sighash:this.getSighash(rt)}):null}static isInterface(et){return!!(et&&et._isInterface)}}const lib_esm$b=Object.freeze(Object.defineProperty({__proto__:null,AbiCoder,ConstructorFragment,ErrorFragment,EventFragment,FormatTypes,Fragment,FunctionFragment,Indexed,Interface,LogDescription,ParamType,TransactionDescription,checkResultErrors,defaultAbiCoder},Symbol.toStringTag,{value:"Module"})),version$j="abstract-provider/5.7.0";var __awaiter$8=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$i=new Logger(version$j);class ForkEvent extends Description{static isForkEvent(et){return!!(et&&et._isForkEvent)}}class Provider{constructor(){logger$i.checkAbstract(new.target,Provider),defineReadOnly(this,"_isProvider",!0)}getFeeData(){return __awaiter$8(this,void 0,void 0,function*(){const{block:et,gasPrice:tt}=yield resolveProperties({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(at=>null)});let rt=null,nt=null,it=null;return et&&et.baseFeePerGas&&(rt=et.baseFeePerGas,it=BigNumber.from("1500000000"),nt=et.baseFeePerGas.mul(2).add(it)),{lastBaseFeePerGas:rt,maxFeePerGas:nt,maxPriorityFeePerGas:it,gasPrice:tt}})}addListener(et,tt){return this.on(et,tt)}removeListener(et,tt){return this.off(et,tt)}static isProvider(et){return!!(et&&et._isProvider)}}const version$i="abstract-signer/5.7.0";var __awaiter$7=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$h=new Logger(version$i),allowedTransactionKeys$2=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],forwardErrors=[Logger.errors.INSUFFICIENT_FUNDS,Logger.errors.NONCE_EXPIRED,Logger.errors.REPLACEMENT_UNDERPRICED];class Signer{constructor(){logger$h.checkAbstract(new.target,Signer),defineReadOnly(this,"_isSigner",!0)}getBalance(et){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),et)})}getTransactionCount(et){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),et)})}estimateGas(et){return __awaiter$7(this,void 0,void 0,function*(){this._checkProvider("estimateGas");const tt=yield resolveProperties(this.checkTransaction(et));return yield this.provider.estimateGas(tt)})}call(et,tt){return __awaiter$7(this,void 0,void 0,function*(){this._checkProvider("call");const rt=yield resolveProperties(this.checkTransaction(et));return yield this.provider.call(rt,tt)})}sendTransaction(et){return __awaiter$7(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");const tt=yield this.populateTransaction(et),rt=yield this.signTransaction(tt);return yield this.provider.sendTransaction(rt)})}getChainId(){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(et){return __awaiter$7(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(et)})}checkTransaction(et){for(const rt in et)allowedTransactionKeys$2.indexOf(rt)===-1&&logger$h.throwArgumentError("invalid transaction key: "+rt,"transaction",et);const tt=shallowCopy(et);return tt.from==null?tt.from=this.getAddress():tt.from=Promise.all([Promise.resolve(tt.from),this.getAddress()]).then(rt=>(rt[0].toLowerCase()!==rt[1].toLowerCase()&&logger$h.throwArgumentError("from address mismatch","transaction",et),rt[0])),tt}populateTransaction(et){return __awaiter$7(this,void 0,void 0,function*(){const tt=yield resolveProperties(this.checkTransaction(et));tt.to!=null&&(tt.to=Promise.resolve(tt.to).then(nt=>__awaiter$7(this,void 0,void 0,function*(){if(nt==null)return null;const it=yield this.resolveName(nt);return it==null&&logger$h.throwArgumentError("provided ENS name resolves to null","tx.to",nt),it})),tt.to.catch(nt=>{}));const rt=tt.maxFeePerGas!=null||tt.maxPriorityFeePerGas!=null;if(tt.gasPrice!=null&&(tt.type===2||rt)?logger$h.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",et):(tt.type===0||tt.type===1)&&rt&&logger$h.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",et),(tt.type===2||tt.type==null)&&tt.maxFeePerGas!=null&&tt.maxPriorityFeePerGas!=null)tt.type=2;else if(tt.type===0||tt.type===1)tt.gasPrice==null&&(tt.gasPrice=this.getGasPrice());else{const nt=yield this.getFeeData();if(tt.type==null)if(nt.maxFeePerGas!=null&&nt.maxPriorityFeePerGas!=null)if(tt.type=2,tt.gasPrice!=null){const it=tt.gasPrice;delete tt.gasPrice,tt.maxFeePerGas=it,tt.maxPriorityFeePerGas=it}else tt.maxFeePerGas==null&&(tt.maxFeePerGas=nt.maxFeePerGas),tt.maxPriorityFeePerGas==null&&(tt.maxPriorityFeePerGas=nt.maxPriorityFeePerGas);else nt.gasPrice!=null?(rt&&logger$h.throwError("network does not support EIP-1559",Logger.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),tt.gasPrice==null&&(tt.gasPrice=nt.gasPrice),tt.type=0):logger$h.throwError("failed to get consistent fee data",Logger.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else tt.type===2&&(tt.maxFeePerGas==null&&(tt.maxFeePerGas=nt.maxFeePerGas),tt.maxPriorityFeePerGas==null&&(tt.maxPriorityFeePerGas=nt.maxPriorityFeePerGas))}return tt.nonce==null&&(tt.nonce=this.getTransactionCount("pending")),tt.gasLimit==null&&(tt.gasLimit=this.estimateGas(tt).catch(nt=>{if(forwardErrors.indexOf(nt.code)>=0)throw nt;return logger$h.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:nt,tx:tt})})),tt.chainId==null?tt.chainId=this.getChainId():tt.chainId=Promise.all([Promise.resolve(tt.chainId),this.getChainId()]).then(nt=>(nt[1]!==0&&nt[0]!==nt[1]&&logger$h.throwArgumentError("chainId address mismatch","transaction",et),nt[0])),yield resolveProperties(tt)})}_checkProvider(et){this.provider||logger$h.throwError("missing provider",Logger.errors.UNSUPPORTED_OPERATION,{operation:et||"_checkProvider"})}static isSigner(et){return!!(et&&et._isSigner)}}class VoidSigner extends Signer{constructor(et,tt){super(),defineReadOnly(this,"address",et),defineReadOnly(this,"provider",tt||null)}getAddress(){return Promise.resolve(this.address)}_fail(et,tt){return Promise.resolve().then(()=>{logger$h.throwError(et,Logger.errors.UNSUPPORTED_OPERATION,{operation:tt})})}signMessage(et){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(et){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(et,tt,rt){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(et){return new VoidSigner(this.address,et)}}var hash$4={},utils$a={},minimalisticAssert$1=assert$b;function assert$b(_e,et){if(!_e)throw new Error(et||"Assertion failed")}assert$b.equal=function(et,tt,rt){if(et!=tt)throw new Error(rt||"Assertion failed: "+et+" != "+tt)};var inherits_browser$1={exports:{}};typeof Object.create=="function"?inherits_browser$1.exports=function(et,tt){tt&&(et.super_=tt,et.prototype=Object.create(tt.prototype,{constructor:{value:et,enumerable:!1,writable:!0,configurable:!0}}))}:inherits_browser$1.exports=function(et,tt){if(tt){et.super_=tt;var rt=function(){};rt.prototype=tt.prototype,et.prototype=new rt,et.prototype.constructor=et}};var inherits_browserExports=inherits_browser$1.exports,assert$a=minimalisticAssert$1,inherits=inherits_browserExports;utils$a.inherits=inherits;function isSurrogatePair(_e,et){return(_e.charCodeAt(et)&64512)!==55296||et<0||et+1>=_e.length?!1:(_e.charCodeAt(et+1)&64512)===56320}function toArray$2(_e,et){if(Array.isArray(_e))return _e.slice();if(!_e)return[];var tt=[];if(typeof _e=="string")if(et){if(et==="hex")for(_e=_e.replace(/[^a-z0-9]+/ig,""),_e.length%2!==0&&(_e="0"+_e),nt=0;nt<_e.length;nt+=2)tt.push(parseInt(_e[nt]+_e[nt+1],16))}else for(var rt=0,nt=0;nt<_e.length;nt++){var it=_e.charCodeAt(nt);it<128?tt[rt++]=it:it<2048?(tt[rt++]=it>>6|192,tt[rt++]=it&63|128):isSurrogatePair(_e,nt)?(it=65536+((it&1023)<<10)+(_e.charCodeAt(++nt)&1023),tt[rt++]=it>>18|240,tt[rt++]=it>>12&63|128,tt[rt++]=it>>6&63|128,tt[rt++]=it&63|128):(tt[rt++]=it>>12|224,tt[rt++]=it>>6&63|128,tt[rt++]=it&63|128)}else for(nt=0;nt<_e.length;nt++)tt[nt]=_e[nt]|0;return tt}utils$a.toArray=toArray$2;function toHex$2(_e){for(var et="",tt=0;tt<_e.length;tt++)et+=zero2(_e[tt].toString(16));return et}utils$a.toHex=toHex$2;function htonl(_e){var et=_e>>>24|_e>>>8&65280|_e<<8&16711680|(_e&255)<<24;return et>>>0}utils$a.htonl=htonl;function toHex32(_e,et){for(var tt="",rt=0;rt<_e.length;rt++){var nt=_e[rt];et==="little"&&(nt=htonl(nt)),tt+=zero8(nt.toString(16))}return tt}utils$a.toHex32=toHex32;function zero2(_e){return _e.length===1?"0"+_e:_e}utils$a.zero2=zero2;function zero8(_e){return _e.length===7?"0"+_e:_e.length===6?"00"+_e:_e.length===5?"000"+_e:_e.length===4?"0000"+_e:_e.length===3?"00000"+_e:_e.length===2?"000000"+_e:_e.length===1?"0000000"+_e:_e}utils$a.zero8=zero8;function join32(_e,et,tt,rt){var nt=tt-et;assert$a(nt%4===0);for(var it=new Array(nt/4),at=0,st=et;at>>0}return it}utils$a.join32=join32;function split32(_e,et){for(var tt=new Array(_e.length*4),rt=0,nt=0;rt<_e.length;rt++,nt+=4){var it=_e[rt];et==="big"?(tt[nt]=it>>>24,tt[nt+1]=it>>>16&255,tt[nt+2]=it>>>8&255,tt[nt+3]=it&255):(tt[nt+3]=it>>>24,tt[nt+2]=it>>>16&255,tt[nt+1]=it>>>8&255,tt[nt]=it&255)}return tt}utils$a.split32=split32;function rotr32$1(_e,et){return _e>>>et|_e<<32-et}utils$a.rotr32=rotr32$1;function rotl32$2(_e,et){return _e<>>32-et}utils$a.rotl32=rotl32$2;function sum32$3(_e,et){return _e+et>>>0}utils$a.sum32=sum32$3;function sum32_3$1(_e,et,tt){return _e+et+tt>>>0}utils$a.sum32_3=sum32_3$1;function sum32_4$2(_e,et,tt,rt){return _e+et+tt+rt>>>0}utils$a.sum32_4=sum32_4$2;function sum32_5$2(_e,et,tt,rt,nt){return _e+et+tt+rt+nt>>>0}utils$a.sum32_5=sum32_5$2;function sum64$1(_e,et,tt,rt){var nt=_e[et],it=_e[et+1],at=rt+it>>>0,st=(at>>0,_e[et+1]=at}utils$a.sum64=sum64$1;function sum64_hi$1(_e,et,tt,rt){var nt=et+rt>>>0,it=(nt>>0}utils$a.sum64_hi=sum64_hi$1;function sum64_lo$1(_e,et,tt,rt){var nt=et+rt;return nt>>>0}utils$a.sum64_lo=sum64_lo$1;function sum64_4_hi$1(_e,et,tt,rt,nt,it,at,st){var lt=0,dt=et;dt=dt+rt>>>0,lt+=dt>>0,lt+=dt>>0,lt+=dt>>0}utils$a.sum64_4_hi=sum64_4_hi$1;function sum64_4_lo$1(_e,et,tt,rt,nt,it,at,st){var lt=et+rt+it+st;return lt>>>0}utils$a.sum64_4_lo=sum64_4_lo$1;function sum64_5_hi$1(_e,et,tt,rt,nt,it,at,st,lt,dt){var ht=0,pt=et;pt=pt+rt>>>0,ht+=pt>>0,ht+=pt>>0,ht+=pt>>0,ht+=pt>>0}utils$a.sum64_5_hi=sum64_5_hi$1;function sum64_5_lo$1(_e,et,tt,rt,nt,it,at,st,lt,dt){var ht=et+rt+it+st+dt;return ht>>>0}utils$a.sum64_5_lo=sum64_5_lo$1;function rotr64_hi$1(_e,et,tt){var rt=et<<32-tt|_e>>>tt;return rt>>>0}utils$a.rotr64_hi=rotr64_hi$1;function rotr64_lo$1(_e,et,tt){var rt=_e<<32-tt|et>>>tt;return rt>>>0}utils$a.rotr64_lo=rotr64_lo$1;function shr64_hi$1(_e,et,tt){return _e>>>tt}utils$a.shr64_hi=shr64_hi$1;function shr64_lo$1(_e,et,tt){var rt=_e<<32-tt|et>>>tt;return rt>>>0}utils$a.shr64_lo=shr64_lo$1;var common$7={},utils$9=utils$a,assert$9=minimalisticAssert$1;function BlockHash$4(){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}common$7.BlockHash=BlockHash$4;BlockHash$4.prototype.update=function(et,tt){if(et=utils$9.toArray(et,tt),this.pending?this.pending=this.pending.concat(et):this.pending=et,this.pendingTotal+=et.length,this.pending.length>=this._delta8){et=this.pending;var rt=et.length%this._delta8;this.pending=et.slice(et.length-rt,et.length),this.pending.length===0&&(this.pending=null),et=utils$9.join32(et,0,et.length-rt,this.endian);for(var nt=0;nt>>24&255,nt[it++]=et>>>16&255,nt[it++]=et>>>8&255,nt[it++]=et&255}else for(nt[it++]=et&255,nt[it++]=et>>>8&255,nt[it++]=et>>>16&255,nt[it++]=et>>>24&255,nt[it++]=0,nt[it++]=0,nt[it++]=0,nt[it++]=0,at=8;at>>3}common$6.g0_256=g0_256$1;function g1_256$1(_e){return rotr32(_e,17)^rotr32(_e,19)^_e>>>10}common$6.g1_256=g1_256$1;var utils$7=utils$a,common$5=common$7,shaCommon$1=common$6,rotl32$1=utils$7.rotl32,sum32$2=utils$7.sum32,sum32_5$1=utils$7.sum32_5,ft_1=shaCommon$1.ft_1,BlockHash$3=common$5.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash$3.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils$7.inherits(SHA1,BlockHash$3);var _1=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function(et,tt){for(var rt=this.W,nt=0;nt<16;nt++)rt[nt]=et[tt+nt];for(;ntthis.blockSize&&(et=new this.Hash().update(et).digest()),assert$6(et.length<=this.blockSize);for(var tt=et.length;tt>8,mt=ht&255;pt?lt.push(pt,mt):lt.push(mt)}return lt}tt.toArray=rt;function nt(at){return at.length===1?"0"+at:at}tt.zero2=nt;function it(at){for(var st="",lt=0;lt(mt>>1)-1?bt=(mt>>1)-yt:bt=yt,gt.isubn(bt)):bt=0,pt[vt]=bt,gt.iushrn(1)}return pt}tt.getNAF=rt;function nt(lt,dt){var ht=[[],[]];lt=lt.clone(),dt=dt.clone();for(var pt=0,mt=0,gt;lt.cmpn(-pt)>0||dt.cmpn(-mt)>0;){var vt=lt.andln(3)+pt&3,bt=dt.andln(3)+mt&3;vt===3&&(vt=-1),bt===3&&(bt=-1);var yt;vt&1?(gt=lt.andln(7)+pt&7,(gt===3||gt===5)&&bt===2?yt=-vt:yt=vt):yt=0,ht[0].push(yt);var xt;bt&1?(gt=dt.andln(7)+mt&7,(gt===3||gt===5)&&vt===2?xt=-bt:xt=bt):xt=0,ht[1].push(xt),2*pt===yt+1&&(pt=1-pt),2*mt===xt+1&&(mt=1-mt),lt.iushrn(1),dt.iushrn(1)}return ht}tt.getJSF=nt;function it(lt,dt,ht){var pt="_"+dt;lt.prototype[dt]=function(){return this[pt]!==void 0?this[pt]:this[pt]=ht.call(this)}}tt.cachedProperty=it;function at(lt){return typeof lt=="string"?tt.toArray(lt,"hex"):lt}tt.parseBytes=at;function st(lt){return new BN$1(lt,"hex","le")}tt.intFromLE=st}),getNAF=utils_1$1.getNAF,getJSF=utils_1$1.getJSF,assert$1$1=utils_1$1.assert;function BaseCurve(_e,et){this.type=_e,this.p=new BN$1(et.p,16),this.red=et.prime?BN$1.red(et.prime):BN$1.mont(this.p),this.zero=new BN$1(0).toRed(this.red),this.one=new BN$1(1).toRed(this.red),this.two=new BN$1(2).toRed(this.red),this.n=et.n&&new BN$1(et.n,16),this.g=et.g&&this.pointFromJSON(et.g,et.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 tt=this.n&&this.p.div(this.n);!tt||tt.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var base=BaseCurve;BaseCurve.prototype.point=function(){throw new Error("Not implemented")};BaseCurve.prototype.validate=function(){throw new Error("Not implemented")};BaseCurve.prototype._fixedNafMul=function(et,tt){assert$1$1(et.precomputed);var rt=et._getDoubles(),nt=getNAF(tt,1,this._bitLength),it=(1<=st;dt--)lt=(lt<<1)+nt[dt];at.push(lt)}for(var ht=this.jpoint(null,null,null),pt=this.jpoint(null,null,null),mt=it;mt>0;mt--){for(st=0;st=0;lt--){for(var dt=0;lt>=0&&at[lt]===0;lt--)dt++;if(lt>=0&&dt++,st=st.dblp(dt),lt<0)break;var ht=at[lt];assert$1$1(ht!==0),et.type==="affine"?ht>0?st=st.mixedAdd(it[ht-1>>1]):st=st.mixedAdd(it[-ht-1>>1].neg()):ht>0?st=st.add(it[ht-1>>1]):st=st.add(it[-ht-1>>1].neg())}return et.type==="affine"?st.toP():st};BaseCurve.prototype._wnafMulAdd=function(et,tt,rt,nt,it){var at=this._wnafT1,st=this._wnafT2,lt=this._wnafT3,dt=0,ht,pt,mt;for(ht=0;ht=1;ht-=2){var vt=ht-1,bt=ht;if(at[vt]!==1||at[bt]!==1){lt[vt]=getNAF(rt[vt],at[vt],this._bitLength),lt[bt]=getNAF(rt[bt],at[bt],this._bitLength),dt=Math.max(lt[vt].length,dt),dt=Math.max(lt[bt].length,dt);continue}var yt=[tt[vt],null,null,tt[bt]];tt[vt].y.cmp(tt[bt].y)===0?(yt[1]=tt[vt].add(tt[bt]),yt[2]=tt[vt].toJ().mixedAdd(tt[bt].neg())):tt[vt].y.cmp(tt[bt].y.redNeg())===0?(yt[1]=tt[vt].toJ().mixedAdd(tt[bt]),yt[2]=tt[vt].add(tt[bt].neg())):(yt[1]=tt[vt].toJ().mixedAdd(tt[bt]),yt[2]=tt[vt].toJ().mixedAdd(tt[bt].neg()));var xt=[-3,-1,-5,-7,0,7,5,1,3],wt=getJSF(rt[vt],rt[bt]);for(dt=Math.max(wt[0].length,dt),lt[vt]=new Array(dt),lt[bt]=new Array(dt),pt=0;pt=0;ht--){for(var jt=0;ht>=0;){var Lt=!0;for(pt=0;pt=0&&jt++,Tt=Tt.dblp(jt),ht<0)break;for(pt=0;pt0?mt=st[pt][qt-1>>1]:qt<0&&(mt=st[pt][-qt-1>>1].neg()),mt.type==="affine"?Tt=Tt.mixedAdd(mt):Tt=Tt.add(mt))}}for(ht=0;ht=Math.ceil((et.bitLength()+1)/tt.step):!1};BasePoint.prototype._getDoubles=function(et,tt){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var rt=[this],nt=this,it=0;it=0&&(gt=dt,vt=ht),pt.negative&&(pt=pt.neg(),mt=mt.neg()),gt.negative&&(gt=gt.neg(),vt=vt.neg()),[{a:pt,b:mt},{a:gt,b:vt}]};ShortCurve.prototype._endoSplit=function(et){var tt=this.endo.basis,rt=tt[0],nt=tt[1],it=nt.b.mul(et).divRound(this.n),at=rt.b.neg().mul(et).divRound(this.n),st=it.mul(rt.a),lt=at.mul(nt.a),dt=it.mul(rt.b),ht=at.mul(nt.b),pt=et.sub(st).sub(lt),mt=dt.add(ht).neg();return{k1:pt,k2:mt}};ShortCurve.prototype.pointFromX=function(et,tt){et=new BN$1(et,16),et.red||(et=et.toRed(this.red));var rt=et.redSqr().redMul(et).redIAdd(et.redMul(this.a)).redIAdd(this.b),nt=rt.redSqrt();if(nt.redSqr().redSub(rt).cmp(this.zero)!==0)throw new Error("invalid point");var it=nt.fromRed().isOdd();return(tt&&!it||!tt&&it)&&(nt=nt.redNeg()),this.point(et,nt)};ShortCurve.prototype.validate=function(et){if(et.inf)return!0;var tt=et.x,rt=et.y,nt=this.a.redMul(tt),it=tt.redSqr().redMul(tt).redIAdd(nt).redIAdd(this.b);return rt.redSqr().redISub(it).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function(et,tt,rt){for(var nt=this._endoWnafT1,it=this._endoWnafT2,at=0;at":""};Point.prototype.isInfinity=function(){return this.inf};Point.prototype.add=function(et){if(this.inf)return et;if(et.inf)return this;if(this.eq(et))return this.dbl();if(this.neg().eq(et))return this.curve.point(null,null);if(this.x.cmp(et.x)===0)return this.curve.point(null,null);var tt=this.y.redSub(et.y);tt.cmpn(0)!==0&&(tt=tt.redMul(this.x.redSub(et.x).redInvm()));var rt=tt.redSqr().redISub(this.x).redISub(et.x),nt=tt.redMul(this.x.redSub(rt)).redISub(this.y);return this.curve.point(rt,nt)};Point.prototype.dbl=function(){if(this.inf)return this;var et=this.y.redAdd(this.y);if(et.cmpn(0)===0)return this.curve.point(null,null);var tt=this.curve.a,rt=this.x.redSqr(),nt=et.redInvm(),it=rt.redAdd(rt).redIAdd(rt).redIAdd(tt).redMul(nt),at=it.redSqr().redISub(this.x.redAdd(this.x)),st=it.redMul(this.x.redSub(at)).redISub(this.y);return this.curve.point(at,st)};Point.prototype.getX=function(){return this.x.fromRed()};Point.prototype.getY=function(){return this.y.fromRed()};Point.prototype.mul=function(et){return et=new BN$1(et,16),this.isInfinity()?this:this._hasDoubles(et)?this.curve._fixedNafMul(this,et):this.curve.endo?this.curve._endoWnafMulAdd([this],[et]):this.curve._wnafMul(this,et)};Point.prototype.mulAdd=function(et,tt,rt){var nt=[this,tt],it=[et,rt];return this.curve.endo?this.curve._endoWnafMulAdd(nt,it):this.curve._wnafMulAdd(1,nt,it,2)};Point.prototype.jmulAdd=function(et,tt,rt){var nt=[this,tt],it=[et,rt];return this.curve.endo?this.curve._endoWnafMulAdd(nt,it,!0):this.curve._wnafMulAdd(1,nt,it,2,!0)};Point.prototype.eq=function(et){return this===et||this.inf===et.inf&&(this.inf||this.x.cmp(et.x)===0&&this.y.cmp(et.y)===0)};Point.prototype.neg=function(et){if(this.inf)return this;var tt=this.curve.point(this.x,this.y.redNeg());if(et&&this.precomputed){var rt=this.precomputed,nt=function(it){return it.neg()};tt.precomputed={naf:rt.naf&&{wnd:rt.naf.wnd,points:rt.naf.points.map(nt)},doubles:rt.doubles&&{step:rt.doubles.step,points:rt.doubles.points.map(nt)}}}return tt};Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var et=this.curve.jpoint(this.x,this.y,this.curve.one);return et};function JPoint(_e,et,tt,rt){base.BasePoint.call(this,_e,"jacobian"),et===null&&tt===null&&rt===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN$1(0)):(this.x=new BN$1(et,16),this.y=new BN$1(tt,16),this.z=new BN$1(rt,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}inherits_browser(JPoint,base.BasePoint);ShortCurve.prototype.jpoint=function(et,tt,rt){return new JPoint(this,et,tt,rt)};JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var et=this.z.redInvm(),tt=et.redSqr(),rt=this.x.redMul(tt),nt=this.y.redMul(tt).redMul(et);return this.curve.point(rt,nt)};JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function(et){if(this.isInfinity())return et;if(et.isInfinity())return this;var tt=et.z.redSqr(),rt=this.z.redSqr(),nt=this.x.redMul(tt),it=et.x.redMul(rt),at=this.y.redMul(tt.redMul(et.z)),st=et.y.redMul(rt.redMul(this.z)),lt=nt.redSub(it),dt=at.redSub(st);if(lt.cmpn(0)===0)return dt.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var ht=lt.redSqr(),pt=ht.redMul(lt),mt=nt.redMul(ht),gt=dt.redSqr().redIAdd(pt).redISub(mt).redISub(mt),vt=dt.redMul(mt.redISub(gt)).redISub(at.redMul(pt)),bt=this.z.redMul(et.z).redMul(lt);return this.curve.jpoint(gt,vt,bt)};JPoint.prototype.mixedAdd=function(et){if(this.isInfinity())return et.toJ();if(et.isInfinity())return this;var tt=this.z.redSqr(),rt=this.x,nt=et.x.redMul(tt),it=this.y,at=et.y.redMul(tt).redMul(this.z),st=rt.redSub(nt),lt=it.redSub(at);if(st.cmpn(0)===0)return lt.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var dt=st.redSqr(),ht=dt.redMul(st),pt=rt.redMul(dt),mt=lt.redSqr().redIAdd(ht).redISub(pt).redISub(pt),gt=lt.redMul(pt.redISub(mt)).redISub(it.redMul(ht)),vt=this.z.redMul(st);return this.curve.jpoint(mt,gt,vt)};JPoint.prototype.dblp=function(et){if(et===0)return this;if(this.isInfinity())return this;if(!et)return this.dbl();var tt;if(this.curve.zeroA||this.curve.threeA){var rt=this;for(tt=0;tt=0)return!1;if(rt.redIAdd(it),this.x.cmp(rt)===0)return!0}};JPoint.prototype.inspect=function(){return this.isInfinity()?"":""};JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var curve_1=createCommonjsModule(function(_e,et){var tt=et;tt.base=base,tt.short=short_1,tt.mont=null,tt.edwards=null}),curves_1=createCommonjsModule(function(_e,et){var tt=et,rt=utils_1$1.assert;function nt(st){st.type==="short"?this.curve=new curve_1.short(st):st.type==="edwards"?this.curve=new curve_1.edwards(st):this.curve=new curve_1.mont(st),this.g=this.curve.g,this.n=this.curve.n,this.hash=st.hash,rt(this.g.validate(),"Invalid curve"),rt(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}tt.PresetCurve=nt;function it(st,lt){Object.defineProperty(tt,st,{configurable:!0,enumerable:!0,get:function(){var dt=new nt(lt);return Object.defineProperty(tt,st,{configurable:!0,enumerable:!0,value:dt}),dt}})}it("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:hash$3.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),it("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:hash$3.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),it("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:hash$3.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),it("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:hash$3.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"]}),it("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:hash$3.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"]}),it("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:hash$3.sha256,gRed:!1,g:["9"]}),it("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:hash$3.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var at;try{at=null.crash()}catch{at=void 0}it("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:hash$3.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",at]})});function HmacDRBG(_e){if(!(this instanceof HmacDRBG))return new HmacDRBG(_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 et=utils_1.toArray(_e.entropy,_e.entropyEnc||"hex"),tt=utils_1.toArray(_e.nonce,_e.nonceEnc||"hex"),rt=utils_1.toArray(_e.pers,_e.persEnc||"hex");minimalisticAssert(et.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(et,tt,rt)}var hmacDrbg=HmacDRBG;HmacDRBG.prototype._init=function(et,tt,rt){var nt=et.concat(tt).concat(rt);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var it=0;it=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(et.concat(rt||[])),this._reseed=1};HmacDRBG.prototype.generate=function(et,tt,rt,nt){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof tt!="string"&&(nt=rt,rt=tt,tt=null),rt&&(rt=utils_1.toArray(rt,nt||"hex"),this._update(rt));for(var it=[];it.length"};var assert$4=utils_1$1.assert;function Signature(_e,et){if(_e instanceof Signature)return _e;this._importDER(_e,et)||(assert$4(_e.r&&_e.s,"Signature without r or s"),this.r=new BN$1(_e.r,16),this.s=new BN$1(_e.s,16),_e.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=_e.recoveryParam)}var signature=Signature;function Position(){this.place=0}function getLength(_e,et){var tt=_e[et.place++];if(!(tt&128))return tt;var rt=tt&15;if(rt===0||rt>4)return!1;for(var nt=0,it=0,at=et.place;it>>=0;return nt<=127?!1:(et.place=at,nt)}function rmPadding(_e){for(var et=0,tt=_e.length-1;!_e[et]&&!(_e[et+1]&128)&&et>>3);for(_e.push(tt|128);--tt;)_e.push(et>>>(tt<<3)&255);_e.push(et)}Signature.prototype.toDER=function(et){var tt=this.r.toArray(),rt=this.s.toArray();for(tt[0]&128&&(tt=[0].concat(tt)),rt[0]&128&&(rt=[0].concat(rt)),tt=rmPadding(tt),rt=rmPadding(rt);!rt[0]&&!(rt[1]&128);)rt=rt.slice(1);var nt=[2];constructLength(nt,tt.length),nt=nt.concat(tt),nt.push(2),constructLength(nt,rt.length);var it=nt.concat(rt),at=[48];return constructLength(at,it.length),at=at.concat(it),utils_1$1.encode(at,et)};var rand=function(){throw new Error("unsupported")},assert$5=utils_1$1.assert;function EC(_e){if(!(this instanceof EC))return new EC(_e);typeof _e=="string"&&(assert$5(Object.prototype.hasOwnProperty.call(curves_1,_e),"Unknown curve "+_e),_e=curves_1[_e]),_e instanceof curves_1.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 ec$1=EC;EC.prototype.keyPair=function(et){return new key(this,et)};EC.prototype.keyFromPrivate=function(et,tt){return key.fromPrivate(this,et,tt)};EC.prototype.keyFromPublic=function(et,tt){return key.fromPublic(this,et,tt)};EC.prototype.genKeyPair=function(et){et||(et={});for(var tt=new hmacDrbg({hash:this.hash,pers:et.pers,persEnc:et.persEnc||"utf8",entropy:et.entropy||rand(this.hash.hmacStrength),entropyEnc:et.entropy&&et.entropyEnc||"utf8",nonce:this.n.toArray()}),rt=this.n.byteLength(),nt=this.n.sub(new BN$1(2));;){var it=new BN$1(tt.generate(rt));if(!(it.cmp(nt)>0))return it.iaddn(1),this.keyFromPrivate(it)}};EC.prototype._truncateToN=function(et,tt){var rt=et.byteLength()*8-this.n.bitLength();return rt>0&&(et=et.ushrn(rt)),!tt&&et.cmp(this.n)>=0?et.sub(this.n):et};EC.prototype.sign=function(et,tt,rt,nt){typeof rt=="object"&&(nt=rt,rt=null),nt||(nt={}),tt=this.keyFromPrivate(tt,rt),et=this._truncateToN(new BN$1(et,16));for(var it=this.n.byteLength(),at=tt.getPrivate().toArray("be",it),st=et.toArray("be",it),lt=new hmacDrbg({hash:this.hash,entropy:at,nonce:st,pers:nt.pers,persEnc:nt.persEnc||"utf8"}),dt=this.n.sub(new BN$1(1)),ht=0;;ht++){var pt=nt.k?nt.k(ht):new BN$1(lt.generate(this.n.byteLength()));if(pt=this._truncateToN(pt,!0),!(pt.cmpn(1)<=0||pt.cmp(dt)>=0)){var mt=this.g.mul(pt);if(!mt.isInfinity()){var gt=mt.getX(),vt=gt.umod(this.n);if(vt.cmpn(0)!==0){var bt=pt.invm(this.n).mul(vt.mul(tt.getPrivate()).iadd(et));if(bt=bt.umod(this.n),bt.cmpn(0)!==0){var yt=(mt.getY().isOdd()?1:0)|(gt.cmp(vt)!==0?2:0);return nt.canonical&&bt.cmp(this.nh)>0&&(bt=this.n.sub(bt),yt^=1),new signature({r:vt,s:bt,recoveryParam:yt})}}}}}};EC.prototype.verify=function(et,tt,rt,nt){et=this._truncateToN(new BN$1(et,16)),rt=this.keyFromPublic(rt,nt),tt=new signature(tt,"hex");var it=tt.r,at=tt.s;if(it.cmpn(1)<0||it.cmp(this.n)>=0||at.cmpn(1)<0||at.cmp(this.n)>=0)return!1;var st=at.invm(this.n),lt=st.mul(et).umod(this.n),dt=st.mul(it).umod(this.n),ht;return this.curve._maxwellTrick?(ht=this.g.jmulAdd(lt,rt.getPublic(),dt),ht.isInfinity()?!1:ht.eqXToP(it)):(ht=this.g.mulAdd(lt,rt.getPublic(),dt),ht.isInfinity()?!1:ht.getX().umod(this.n).cmp(it)===0)};EC.prototype.recoverPubKey=function(_e,et,tt,rt){assert$5((3&tt)===tt,"The recovery param is more than two bits"),et=new signature(et,rt);var nt=this.n,it=new BN$1(_e),at=et.r,st=et.s,lt=tt&1,dt=tt>>1;if(at.cmp(this.curve.p.umod(this.curve.n))>=0&&dt)throw new Error("Unable to find sencond key candinate");dt?at=this.curve.pointFromX(at.add(this.curve.n),lt):at=this.curve.pointFromX(at,lt);var ht=et.r.invm(nt),pt=nt.sub(it).mul(ht).umod(nt),mt=st.mul(ht).umod(nt);return this.g.mulAdd(pt,at,mt)};EC.prototype.getKeyRecoveryParam=function(_e,et,tt,rt){if(et=new signature(et,rt),et.recoveryParam!==null)return et.recoveryParam;for(var nt=0;nt<4;nt++){var it;try{it=this.recoverPubKey(_e,et,nt)}catch{continue}if(it.eq(tt))return nt}throw new Error("Unable to find valid recovery factor")};var elliptic_1=createCommonjsModule(function(_e,et){var tt=et;tt.version="6.5.4",tt.utils=utils_1$1,tt.rand=function(){throw new Error("unsupported")},tt.curve=curve_1,tt.curves=curves_1,tt.ec=ec$1,tt.eddsa=null}),EC$1=elliptic_1.ec;const version$h="signing-key/5.7.0",logger$g=new Logger(version$h);let _curve=null;function getCurve(){return _curve||(_curve=new EC$1("secp256k1")),_curve}class SigningKey{constructor(et){defineReadOnly(this,"curve","secp256k1"),defineReadOnly(this,"privateKey",hexlify(et)),hexDataLength(this.privateKey)!==32&&logger$g.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const tt=getCurve().keyFromPrivate(arrayify(this.privateKey));defineReadOnly(this,"publicKey","0x"+tt.getPublic(!1,"hex")),defineReadOnly(this,"compressedPublicKey","0x"+tt.getPublic(!0,"hex")),defineReadOnly(this,"_isSigningKey",!0)}_addPoint(et){const tt=getCurve().keyFromPublic(arrayify(this.publicKey)),rt=getCurve().keyFromPublic(arrayify(et));return"0x"+tt.pub.add(rt.pub).encodeCompressed("hex")}signDigest(et){const tt=getCurve().keyFromPrivate(arrayify(this.privateKey)),rt=arrayify(et);rt.length!==32&&logger$g.throwArgumentError("bad digest length","digest",et);const nt=tt.sign(rt,{canonical:!0});return splitSignature({recoveryParam:nt.recoveryParam,r:hexZeroPad("0x"+nt.r.toString(16),32),s:hexZeroPad("0x"+nt.s.toString(16),32)})}computeSharedSecret(et){const tt=getCurve().keyFromPrivate(arrayify(this.privateKey)),rt=getCurve().keyFromPublic(arrayify(computePublicKey(et)));return hexZeroPad("0x"+tt.derive(rt.getPublic()).toString(16),32)}static isSigningKey(et){return!!(et&&et._isSigningKey)}}function recoverPublicKey(_e,et){const tt=splitSignature(et),rt={r:arrayify(tt.r),s:arrayify(tt.s)};return"0x"+getCurve().recoverPubKey(arrayify(_e),rt,tt.recoveryParam).encode("hex",!1)}function computePublicKey(_e,et){const tt=arrayify(_e);if(tt.length===32){const rt=new SigningKey(tt);return et?"0x"+getCurve().keyFromPrivate(tt).getPublic(!0,"hex"):rt.publicKey}else{if(tt.length===33)return et?hexlify(tt):"0x"+getCurve().keyFromPublic(tt).getPublic(!1,"hex");if(tt.length===65)return et?"0x"+getCurve().keyFromPublic(tt).getPublic(!0,"hex"):hexlify(tt)}return logger$g.throwArgumentError("invalid public or private key","key","[REDACTED]")}const lib_esm$a=Object.freeze(Object.defineProperty({__proto__:null,SigningKey,computePublicKey,recoverPublicKey},Symbol.toStringTag,{value:"Module"})),version$g="transactions/5.7.0",logger$f=new Logger(version$g);var TransactionTypes;(function(_e){_e[_e.legacy=0]="legacy",_e[_e.eip2930=1]="eip2930",_e[_e.eip1559=2]="eip1559"})(TransactionTypes||(TransactionTypes={}));function handleAddress(_e){return _e==="0x"?null:getAddress$1(_e)}function handleNumber(_e){return _e==="0x"?Zero$1:BigNumber.from(_e)}const transactionFields=[{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"}],allowedTransactionKeys$1={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function computeAddress(_e){const et=computePublicKey(_e);return getAddress$1(hexDataSlice(keccak256$2(hexDataSlice(et,1)),12))}function recoverAddress(_e,et){return computeAddress(recoverPublicKey(arrayify(_e),et))}function formatNumber(_e,et){const tt=stripZeros(BigNumber.from(_e).toHexString());return tt.length>32&&logger$f.throwArgumentError("invalid length for "+et,"transaction:"+et,_e),tt}function accessSetify(_e,et){return{address:getAddress$1(_e),storageKeys:(et||[]).map((tt,rt)=>(hexDataLength(tt)!==32&&logger$f.throwArgumentError("invalid access list storageKey",`accessList[${_e}:${rt}]`,tt),tt.toLowerCase()))}}function accessListify(_e){if(Array.isArray(_e))return _e.map((tt,rt)=>Array.isArray(tt)?(tt.length>2&&logger$f.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${rt}]`,tt),accessSetify(tt[0],tt[1])):accessSetify(tt.address,tt.storageKeys));const et=Object.keys(_e).map(tt=>{const rt=_e[tt].reduce((nt,it)=>(nt[it]=!0,nt),{});return accessSetify(tt,Object.keys(rt).sort())});return et.sort((tt,rt)=>tt.address.localeCompare(rt.address)),et}function formatAccessList(_e){return accessListify(_e).map(et=>[et.address,et.storageKeys])}function _serializeEip1559(_e,et){if(_e.gasPrice!=null){const rt=BigNumber.from(_e.gasPrice),nt=BigNumber.from(_e.maxFeePerGas||0);rt.eq(nt)||logger$f.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:rt,maxFeePerGas:nt})}const tt=[formatNumber(_e.chainId||0,"chainId"),formatNumber(_e.nonce||0,"nonce"),formatNumber(_e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),formatNumber(_e.maxFeePerGas||0,"maxFeePerGas"),formatNumber(_e.gasLimit||0,"gasLimit"),_e.to!=null?getAddress$1(_e.to):"0x",formatNumber(_e.value||0,"value"),_e.data||"0x",formatAccessList(_e.accessList||[])];if(et){const rt=splitSignature(et);tt.push(formatNumber(rt.recoveryParam,"recoveryParam")),tt.push(stripZeros(rt.r)),tt.push(stripZeros(rt.s))}return hexConcat(["0x02",encode$2(tt)])}function _serializeEip2930(_e,et){const tt=[formatNumber(_e.chainId||0,"chainId"),formatNumber(_e.nonce||0,"nonce"),formatNumber(_e.gasPrice||0,"gasPrice"),formatNumber(_e.gasLimit||0,"gasLimit"),_e.to!=null?getAddress$1(_e.to):"0x",formatNumber(_e.value||0,"value"),_e.data||"0x",formatAccessList(_e.accessList||[])];if(et){const rt=splitSignature(et);tt.push(formatNumber(rt.recoveryParam,"recoveryParam")),tt.push(stripZeros(rt.r)),tt.push(stripZeros(rt.s))}return hexConcat(["0x01",encode$2(tt)])}function _serialize(_e,et){checkProperties(_e,allowedTransactionKeys$1);const tt=[];transactionFields.forEach(function(at){let st=_e[at.name]||[];const lt={};at.numeric&&(lt.hexPad="left"),st=arrayify(hexlify(st,lt)),at.length&&st.length!==at.length&&st.length>0&&logger$f.throwArgumentError("invalid length for "+at.name,"transaction:"+at.name,st),at.maxLength&&(st=stripZeros(st),st.length>at.maxLength&&logger$f.throwArgumentError("invalid length for "+at.name,"transaction:"+at.name,st)),tt.push(hexlify(st))});let rt=0;if(_e.chainId!=null?(rt=_e.chainId,typeof rt!="number"&&logger$f.throwArgumentError("invalid transaction.chainId","transaction",_e)):et&&!isBytesLike(et)&&et.v>28&&(rt=Math.floor((et.v-35)/2)),rt!==0&&(tt.push(hexlify(rt)),tt.push("0x"),tt.push("0x")),!et)return encode$2(tt);const nt=splitSignature(et);let it=27+nt.recoveryParam;return rt!==0?(tt.pop(),tt.pop(),tt.pop(),it+=rt*2+8,nt.v>28&&nt.v!==it&&logger$f.throwArgumentError("transaction.chainId/signature.v mismatch","signature",et)):nt.v!==it&&logger$f.throwArgumentError("transaction.chainId/signature.v mismatch","signature",et),tt.push(hexlify(it)),tt.push(stripZeros(arrayify(nt.r))),tt.push(stripZeros(arrayify(nt.s))),encode$2(tt)}function serialize$1(_e,et){if(_e.type==null||_e.type===0)return _e.accessList!=null&&logger$f.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",_e),_serialize(_e,et);switch(_e.type){case 1:return _serializeEip2930(_e,et);case 2:return _serializeEip1559(_e,et)}return logger$f.throwError(`unsupported transaction type: ${_e.type}`,Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:_e.type})}function _parseEipSignature(_e,et,tt){try{const rt=handleNumber(et[0]).toNumber();if(rt!==0&&rt!==1)throw new Error("bad recid");_e.v=rt}catch{logger$f.throwArgumentError("invalid v for transaction type: 1","v",et[0])}_e.r=hexZeroPad(et[1],32),_e.s=hexZeroPad(et[2],32);try{const rt=keccak256$2(tt(_e));_e.from=recoverAddress(rt,{r:_e.r,s:_e.s,recoveryParam:_e.v})}catch{}}function _parseEip1559(_e){const et=decode$2(_e.slice(1));et.length!==9&&et.length!==12&&logger$f.throwArgumentError("invalid component count for transaction type: 2","payload",hexlify(_e));const tt=handleNumber(et[2]),rt=handleNumber(et[3]),nt={type:2,chainId:handleNumber(et[0]).toNumber(),nonce:handleNumber(et[1]).toNumber(),maxPriorityFeePerGas:tt,maxFeePerGas:rt,gasPrice:null,gasLimit:handleNumber(et[4]),to:handleAddress(et[5]),value:handleNumber(et[6]),data:et[7],accessList:accessListify(et[8])};return et.length===9||(nt.hash=keccak256$2(_e),_parseEipSignature(nt,et.slice(9),_serializeEip1559)),nt}function _parseEip2930(_e){const et=decode$2(_e.slice(1));et.length!==8&&et.length!==11&&logger$f.throwArgumentError("invalid component count for transaction type: 1","payload",hexlify(_e));const tt={type:1,chainId:handleNumber(et[0]).toNumber(),nonce:handleNumber(et[1]).toNumber(),gasPrice:handleNumber(et[2]),gasLimit:handleNumber(et[3]),to:handleAddress(et[4]),value:handleNumber(et[5]),data:et[6],accessList:accessListify(et[7])};return et.length===8||(tt.hash=keccak256$2(_e),_parseEipSignature(tt,et.slice(8),_serializeEip2930)),tt}function _parse(_e){const et=decode$2(_e);et.length!==9&&et.length!==6&&logger$f.throwArgumentError("invalid raw transaction","rawTransaction",_e);const tt={nonce:handleNumber(et[0]).toNumber(),gasPrice:handleNumber(et[1]),gasLimit:handleNumber(et[2]),to:handleAddress(et[3]),value:handleNumber(et[4]),data:et[5],chainId:0};if(et.length===6)return tt;try{tt.v=BigNumber.from(et[6]).toNumber()}catch{return tt}if(tt.r=hexZeroPad(et[7],32),tt.s=hexZeroPad(et[8],32),BigNumber.from(tt.r).isZero()&&BigNumber.from(tt.s).isZero())tt.chainId=tt.v,tt.v=0;else{tt.chainId=Math.floor((tt.v-35)/2),tt.chainId<0&&(tt.chainId=0);let rt=tt.v-27;const nt=et.slice(0,6);tt.chainId!==0&&(nt.push(hexlify(tt.chainId)),nt.push("0x"),nt.push("0x"),rt-=tt.chainId*2+8);const it=keccak256$2(encode$2(nt));try{tt.from=recoverAddress(it,{r:hexlify(tt.r),s:hexlify(tt.s),recoveryParam:rt})}catch{}tt.hash=keccak256$2(_e)}return tt.type=null,tt}function parse$2(_e){const et=arrayify(_e);if(et[0]>127)return _parse(et);switch(et[0]){case 1:return _parseEip2930(et);case 2:return _parseEip1559(et)}return logger$f.throwError(`unsupported transaction type: ${et[0]}`,Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:et[0]})}const lib_esm$9=Object.freeze(Object.defineProperty({__proto__:null,get TransactionTypes(){return TransactionTypes},accessListify,computeAddress,parse:parse$2,recoverAddress,serialize:serialize$1},Symbol.toStringTag,{value:"Module"})),version$f="contracts/5.7.0";var __awaiter$6=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$e=new Logger(version$f);function resolveName(_e,et){return __awaiter$6(this,void 0,void 0,function*(){const tt=yield et;typeof tt!="string"&&logger$e.throwArgumentError("invalid address or ENS name","name",tt);try{return getAddress$1(tt)}catch{}_e||logger$e.throwError("a provider or signer is needed to resolve ENS names",Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const rt=yield _e.resolveName(tt);return rt==null&&logger$e.throwArgumentError("resolver or addr is not configured for ENS name","name",tt),rt})}function resolveAddresses(_e,et,tt){return __awaiter$6(this,void 0,void 0,function*(){return Array.isArray(tt)?yield Promise.all(tt.map((rt,nt)=>resolveAddresses(_e,Array.isArray(et)?et[nt]:et[rt.name],rt))):tt.type==="address"?yield resolveName(_e,et):tt.type==="tuple"?yield resolveAddresses(_e,et,tt.components):tt.baseType==="array"?Array.isArray(et)?yield Promise.all(et.map(rt=>resolveAddresses(_e,rt,tt.arrayChildren))):Promise.reject(logger$e.makeError("invalid value for array",Logger.errors.INVALID_ARGUMENT,{argument:"value",value:et})):et})}function populateTransaction(_e,et,tt){return __awaiter$6(this,void 0,void 0,function*(){let rt={};tt.length===et.inputs.length+1&&typeof tt[tt.length-1]=="object"&&(rt=shallowCopy(tt.pop())),logger$e.checkArgumentCount(tt.length,et.inputs.length,"passed to contract"),_e.signer?rt.from?rt.from=resolveProperties({override:resolveName(_e.signer,rt.from),signer:_e.signer.getAddress()}).then(dt=>__awaiter$6(this,void 0,void 0,function*(){return getAddress$1(dt.signer)!==dt.override&&logger$e.throwError("Contract with a Signer cannot override from",Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),dt.override})):rt.from=_e.signer.getAddress():rt.from&&(rt.from=resolveName(_e.provider,rt.from));const nt=yield resolveProperties({args:resolveAddresses(_e.signer||_e.provider,tt,et.inputs),address:_e.resolvedAddress,overrides:resolveProperties(rt)||{}}),it=_e.interface.encodeFunctionData(et,nt.args),at={data:it,to:nt.address},st=nt.overrides;if(st.nonce!=null&&(at.nonce=BigNumber.from(st.nonce).toNumber()),st.gasLimit!=null&&(at.gasLimit=BigNumber.from(st.gasLimit)),st.gasPrice!=null&&(at.gasPrice=BigNumber.from(st.gasPrice)),st.maxFeePerGas!=null&&(at.maxFeePerGas=BigNumber.from(st.maxFeePerGas)),st.maxPriorityFeePerGas!=null&&(at.maxPriorityFeePerGas=BigNumber.from(st.maxPriorityFeePerGas)),st.from!=null&&(at.from=st.from),st.type!=null&&(at.type=st.type),st.accessList!=null&&(at.accessList=accessListify(st.accessList)),at.gasLimit==null&&et.gas!=null){let dt=21e3;const ht=arrayify(it);for(let pt=0;ptrt[dt]!=null);return lt.length&&logger$e.throwError(`cannot override ${lt.map(dt=>JSON.stringify(dt)).join(",")}`,Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:lt}),at})}function buildPopulate(_e,et){return function(...tt){return populateTransaction(_e,et,tt)}}function buildEstimate(_e,et){const tt=_e.signer||_e.provider;return function(...rt){return __awaiter$6(this,void 0,void 0,function*(){tt||logger$e.throwError("estimate require a provider or signer",Logger.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const nt=yield populateTransaction(_e,et,rt);return yield tt.estimateGas(nt)})}}function addContractWait(_e,et){const tt=et.wait.bind(et);et.wait=rt=>tt(rt).then(nt=>(nt.events=nt.logs.map(it=>{let at=deepCopy(it),st=null;try{st=_e.interface.parseLog(it)}catch{}return st&&(at.args=st.args,at.decode=(lt,dt)=>_e.interface.decodeEventLog(st.eventFragment,lt,dt),at.event=st.name,at.eventSignature=st.signature),at.removeListener=()=>_e.provider,at.getBlock=()=>_e.provider.getBlock(nt.blockHash),at.getTransaction=()=>_e.provider.getTransaction(nt.transactionHash),at.getTransactionReceipt=()=>Promise.resolve(nt),at}),nt))}function buildCall(_e,et,tt){const rt=_e.signer||_e.provider;return function(...nt){return __awaiter$6(this,void 0,void 0,function*(){let it;if(nt.length===et.inputs.length+1&&typeof nt[nt.length-1]=="object"){const lt=shallowCopy(nt.pop());lt.blockTag!=null&&(it=yield lt.blockTag),delete lt.blockTag,nt.push(lt)}_e.deployTransaction!=null&&(yield _e._deployed(it));const at=yield populateTransaction(_e,et,nt),st=yield rt.call(at,it);try{let lt=_e.interface.decodeFunctionResult(et,st);return tt&&et.outputs.length===1&&(lt=lt[0]),lt}catch(lt){throw lt.code===Logger.errors.CALL_EXCEPTION&&(lt.address=_e.address,lt.args=nt,lt.transaction=at),lt}})}}function buildSend(_e,et){return function(...tt){return __awaiter$6(this,void 0,void 0,function*(){_e.signer||logger$e.throwError("sending a transaction requires a signer",Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),_e.deployTransaction!=null&&(yield _e._deployed());const rt=yield populateTransaction(_e,et,tt),nt=yield _e.signer.sendTransaction(rt);return addContractWait(_e,nt),nt})}}function buildDefault(_e,et,tt){return et.constant?buildCall(_e,et,tt):buildSend(_e,et)}function getEventTag$1(_e){return _e.address&&(_e.topics==null||_e.topics.length===0)?"*":(_e.address||"*")+"@"+(_e.topics?_e.topics.map(et=>Array.isArray(et)?et.join("|"):et).join(":"):"")}class RunningEvent{constructor(et,tt){defineReadOnly(this,"tag",et),defineReadOnly(this,"filter",tt),this._listeners=[]}addListener(et,tt){this._listeners.push({listener:et,once:tt})}removeListener(et){let tt=!1;this._listeners=this._listeners.filter(rt=>tt||rt.listener!==et?!0:(tt=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(et=>et.listener)}listenerCount(){return this._listeners.length}run(et){const tt=this.listenerCount();return this._listeners=this._listeners.filter(rt=>{const nt=et.slice();return setTimeout(()=>{rt.listener.apply(this,nt)},0),!rt.once}),tt}prepareEvent(et){}getEmit(et){return[et]}}class ErrorRunningEvent extends RunningEvent{constructor(){super("error",null)}}class FragmentRunningEvent extends RunningEvent{constructor(et,tt,rt,nt){const it={address:et};let at=tt.getEventTopic(rt);nt?(at!==nt[0]&&logger$e.throwArgumentError("topic mismatch","topics",nt),it.topics=nt.slice()):it.topics=[at],super(getEventTag$1(it),it),defineReadOnly(this,"address",et),defineReadOnly(this,"interface",tt),defineReadOnly(this,"fragment",rt)}prepareEvent(et){super.prepareEvent(et),et.event=this.fragment.name,et.eventSignature=this.fragment.format(),et.decode=(tt,rt)=>this.interface.decodeEventLog(this.fragment,tt,rt);try{et.args=this.interface.decodeEventLog(this.fragment,et.data,et.topics)}catch(tt){et.args=null,et.decodeError=tt}}getEmit(et){const tt=checkResultErrors(et.args);if(tt.length)throw tt[0].error;const rt=(et.args||[]).slice();return rt.push(et),rt}}class WildcardRunningEvent extends RunningEvent{constructor(et,tt){super("*",{address:et}),defineReadOnly(this,"address",et),defineReadOnly(this,"interface",tt)}prepareEvent(et){super.prepareEvent(et);try{const tt=this.interface.parseLog(et);et.event=tt.name,et.eventSignature=tt.signature,et.decode=(rt,nt)=>this.interface.decodeEventLog(tt.eventFragment,rt,nt),et.args=tt.args}catch{}}}class BaseContract{constructor(et,tt,rt){defineReadOnly(this,"interface",getStatic(new.target,"getInterface")(tt)),rt==null?(defineReadOnly(this,"provider",null),defineReadOnly(this,"signer",null)):Signer.isSigner(rt)?(defineReadOnly(this,"provider",rt.provider||null),defineReadOnly(this,"signer",rt)):Provider.isProvider(rt)?(defineReadOnly(this,"provider",rt),defineReadOnly(this,"signer",null)):logger$e.throwArgumentError("invalid signer or provider","signerOrProvider",rt),defineReadOnly(this,"callStatic",{}),defineReadOnly(this,"estimateGas",{}),defineReadOnly(this,"functions",{}),defineReadOnly(this,"populateTransaction",{}),defineReadOnly(this,"filters",{});{const at={};Object.keys(this.interface.events).forEach(st=>{const lt=this.interface.events[st];defineReadOnly(this.filters,st,(...dt)=>({address:this.address,topics:this.interface.encodeFilterTopics(lt,dt)})),at[lt.name]||(at[lt.name]=[]),at[lt.name].push(st)}),Object.keys(at).forEach(st=>{const lt=at[st];lt.length===1?defineReadOnly(this.filters,st,this.filters[lt[0]]):logger$e.warn(`Duplicate definition of ${st} (${lt.join(", ")})`)})}if(defineReadOnly(this,"_runningEvents",{}),defineReadOnly(this,"_wrappedEmits",{}),et==null&&logger$e.throwArgumentError("invalid contract address or ENS name","addressOrName",et),defineReadOnly(this,"address",et),this.provider)defineReadOnly(this,"resolvedAddress",resolveName(this.provider,et));else try{defineReadOnly(this,"resolvedAddress",Promise.resolve(getAddress$1(et)))}catch{logger$e.throwError("provider is required to use ENS name as contract address",Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(at=>{});const nt={},it={};Object.keys(this.interface.functions).forEach(at=>{const st=this.interface.functions[at];if(it[at]){logger$e.warn(`Duplicate ABI entry for ${JSON.stringify(at)}`);return}it[at]=!0;{const lt=st.name;nt[`%${lt}`]||(nt[`%${lt}`]=[]),nt[`%${lt}`].push(at)}this[at]==null&&defineReadOnly(this,at,buildDefault(this,st,!0)),this.functions[at]==null&&defineReadOnly(this.functions,at,buildDefault(this,st,!1)),this.callStatic[at]==null&&defineReadOnly(this.callStatic,at,buildCall(this,st,!0)),this.populateTransaction[at]==null&&defineReadOnly(this.populateTransaction,at,buildPopulate(this,st)),this.estimateGas[at]==null&&defineReadOnly(this.estimateGas,at,buildEstimate(this,st))}),Object.keys(nt).forEach(at=>{const st=nt[at];if(st.length>1)return;at=at.substring(1);const lt=st[0];try{this[at]==null&&defineReadOnly(this,at,this[lt])}catch{}this.functions[at]==null&&defineReadOnly(this.functions,at,this.functions[lt]),this.callStatic[at]==null&&defineReadOnly(this.callStatic,at,this.callStatic[lt]),this.populateTransaction[at]==null&&defineReadOnly(this.populateTransaction,at,this.populateTransaction[lt]),this.estimateGas[at]==null&&defineReadOnly(this.estimateGas,at,this.estimateGas[lt])})}static getContractAddress(et){return getContractAddress$1(et)}static getInterface(et){return Interface.isInterface(et)?et:new Interface(et)}deployed(){return this._deployed()}_deployed(et){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,et).then(tt=>(tt==="0x"&&logger$e.throwError("contract not deployed",Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(et){this.signer||logger$e.throwError("sending a transactions require a signer",Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const tt=shallowCopy(et||{});return["from","to"].forEach(function(rt){tt[rt]!=null&&logger$e.throwError("cannot override "+rt,Logger.errors.UNSUPPORTED_OPERATION,{operation:rt})}),tt.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(tt))}connect(et){typeof et=="string"&&(et=new VoidSigner(et,this.provider));const tt=new this.constructor(this.address,this.interface,et);return this.deployTransaction&&defineReadOnly(tt,"deployTransaction",this.deployTransaction),tt}attach(et){return new this.constructor(et,this.interface,this.signer||this.provider)}static isIndexed(et){return Indexed.isIndexed(et)}_normalizeRunningEvent(et){return this._runningEvents[et.tag]?this._runningEvents[et.tag]:et}_getRunningEvent(et){if(typeof et=="string"){if(et==="error")return this._normalizeRunningEvent(new ErrorRunningEvent);if(et==="event")return this._normalizeRunningEvent(new RunningEvent("event",null));if(et==="*")return this._normalizeRunningEvent(new WildcardRunningEvent(this.address,this.interface));const tt=this.interface.getEvent(et);return this._normalizeRunningEvent(new FragmentRunningEvent(this.address,this.interface,tt))}if(et.topics&&et.topics.length>0){try{const rt=et.topics[0];if(typeof rt!="string")throw new Error("invalid topic");const nt=this.interface.getEvent(rt);return this._normalizeRunningEvent(new FragmentRunningEvent(this.address,this.interface,nt,et.topics))}catch{}const tt={address:this.address,topics:et.topics};return this._normalizeRunningEvent(new RunningEvent(getEventTag$1(tt),tt))}return this._normalizeRunningEvent(new WildcardRunningEvent(this.address,this.interface))}_checkRunningEvents(et){if(et.listenerCount()===0){delete this._runningEvents[et.tag];const tt=this._wrappedEmits[et.tag];tt&&et.filter&&(this.provider.off(et.filter,tt),delete this._wrappedEmits[et.tag])}}_wrapEvent(et,tt,rt){const nt=deepCopy(tt);return nt.removeListener=()=>{rt&&(et.removeListener(rt),this._checkRunningEvents(et))},nt.getBlock=()=>this.provider.getBlock(tt.blockHash),nt.getTransaction=()=>this.provider.getTransaction(tt.transactionHash),nt.getTransactionReceipt=()=>this.provider.getTransactionReceipt(tt.transactionHash),et.prepareEvent(nt),nt}_addEventListener(et,tt,rt){if(this.provider||logger$e.throwError("events require a provider or a signer with a provider",Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),et.addListener(tt,rt),this._runningEvents[et.tag]=et,!this._wrappedEmits[et.tag]){const nt=it=>{let at=this._wrapEvent(et,it,tt);if(at.decodeError==null)try{const st=et.getEmit(at);this.emit(et.filter,...st)}catch(st){at.decodeError=st.error}et.filter!=null&&this.emit("event",at),at.decodeError!=null&&this.emit("error",at.decodeError,at)};this._wrappedEmits[et.tag]=nt,et.filter!=null&&this.provider.on(et.filter,nt)}}queryFilter(et,tt,rt){const nt=this._getRunningEvent(et),it=shallowCopy(nt.filter);return typeof tt=="string"&&isHexString(tt,32)?(rt!=null&&logger$e.throwArgumentError("cannot specify toBlock with blockhash","toBlock",rt),it.blockHash=tt):(it.fromBlock=tt??0,it.toBlock=rt??"latest"),this.provider.getLogs(it).then(at=>at.map(st=>this._wrapEvent(nt,st,null)))}on(et,tt){return this._addEventListener(this._getRunningEvent(et),tt,!1),this}once(et,tt){return this._addEventListener(this._getRunningEvent(et),tt,!0),this}emit(et,...tt){if(!this.provider)return!1;const rt=this._getRunningEvent(et),nt=rt.run(tt)>0;return this._checkRunningEvents(rt),nt}listenerCount(et){return this.provider?et==null?Object.keys(this._runningEvents).reduce((tt,rt)=>tt+this._runningEvents[rt].listenerCount(),0):this._getRunningEvent(et).listenerCount():0}listeners(et){if(!this.provider)return[];if(et==null){const tt=[];for(let rt in this._runningEvents)this._runningEvents[rt].listeners().forEach(nt=>{tt.push(nt)});return tt}return this._getRunningEvent(et).listeners()}removeAllListeners(et){if(!this.provider)return this;if(et==null){for(const rt in this._runningEvents){const nt=this._runningEvents[rt];nt.removeAllListeners(),this._checkRunningEvents(nt)}return this}const tt=this._getRunningEvent(et);return tt.removeAllListeners(),this._checkRunningEvents(tt),this}off(et,tt){if(!this.provider)return this;const rt=this._getRunningEvent(et);return rt.removeListener(tt),this._checkRunningEvents(rt),this}removeListener(et,tt){return this.off(et,tt)}}class Contract extends BaseContract{}class BaseX{constructor(et){defineReadOnly(this,"alphabet",et),defineReadOnly(this,"base",et.length),defineReadOnly(this,"_alphabetMap",{}),defineReadOnly(this,"_leader",et.charAt(0));for(let tt=0;tt0;)rt.push(at%this.base),at=at/this.base|0}let nt="";for(let it=0;tt[it]===0&&it=0;--it)nt+=this.alphabet[rt[it]];return nt}decode(et){if(typeof et!="string")throw new TypeError("Expected String");let tt=[];if(et.length===0)return new Uint8Array(tt);tt.push(0);for(let rt=0;rt>=8;for(;it>0;)tt.push(it&255),it>>=8}for(let rt=0;et[rt]===this._leader&&rt>24&255,lt[et.length+1]=pt>>16&255,lt[et.length+2]=pt>>8&255,lt[et.length+3]=pt&255;let mt=arrayify(computeHmac(nt,_e,lt));it||(it=mt.length,ht=new Uint8Array(it),at=Math.ceil(rt/it),dt=rt-(at-1)*it),ht.set(mt);for(let bt=1;bt=256)throw new Error("Depth too large!");return base58check(concat$1([this.privateKey!=null?"0x0488ADE4":"0x0488B21E",hexlify(this.depth),this.parentFingerprint,hexZeroPad(hexlify(this.index),4),this.chainCode,this.privateKey!=null?concat$1(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new HDNode(_constructorGuard$1,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(et){if(et>4294967295)throw new Error("invalid index - "+String(et));let tt=this.path;tt&&(tt+="/"+(et&~HardenedBit));const rt=new Uint8Array(37);if(et&HardenedBit){if(!this.privateKey)throw new Error("cannot derive child of neutered node");rt.set(arrayify(this.privateKey),1),tt&&(tt+="'")}else rt.set(arrayify(this.publicKey));for(let pt=24;pt>=0;pt-=8)rt[33+(pt>>3)]=et>>24-pt&255;const nt=arrayify(computeHmac(SupportedAlgorithm.sha512,this.chainCode,rt)),it=nt.slice(0,32),at=nt.slice(32);let st=null,lt=null;this.privateKey?st=bytes32(BigNumber.from(it).add(this.privateKey).mod(N$4)):lt=new SigningKey(hexlify(it))._addPoint(this.publicKey);let dt=tt;const ht=this.mnemonic;return ht&&(dt=Object.freeze({phrase:ht.phrase,path:tt,locale:ht.locale||"en"})),new HDNode(_constructorGuard$1,st,lt,this.fingerprint,bytes32(at),et,this.depth+1,dt)}derivePath(et){const tt=et.split("/");if(tt.length===0||tt[0]==="m"&&this.depth!==0)throw new Error("invalid path - "+et);tt[0]==="m"&&tt.shift();let rt=this;for(let nt=0;nt=HardenedBit)throw new Error("invalid path index - "+it);rt=rt._derive(HardenedBit+at)}else if(it.match(/^[0-9]+$/)){const at=parseInt(it);if(at>=HardenedBit)throw new Error("invalid path index - "+it);rt=rt._derive(at)}else throw new Error("invalid path component - "+it)}return rt}static _fromSeed(et,tt){const rt=arrayify(et);if(rt.length<16||rt.length>64)throw new Error("invalid seed");const nt=arrayify(computeHmac(SupportedAlgorithm.sha512,MasterSecret,rt));return new HDNode(_constructorGuard$1,bytes32(nt.slice(0,32)),null,"0x00000000",bytes32(nt.slice(32)),0,0,tt)}static fromMnemonic(et,tt,rt){return rt=getWordlist(rt),et=entropyToMnemonic(mnemonicToEntropy(et,rt),rt),HDNode._fromSeed(mnemonicToSeed(et,tt),{phrase:et,path:"m",locale:rt.locale})}static fromSeed(et){return HDNode._fromSeed(et,null)}static fromExtendedKey(et){const tt=Base58.decode(et);(tt.length!==82||base58check(tt.slice(0,78))!==et)&&logger$b.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const rt=tt[4],nt=hexlify(tt.slice(5,9)),it=parseInt(hexlify(tt.slice(9,13)).substring(2),16),at=hexlify(tt.slice(13,45)),st=tt.slice(45,78);switch(hexlify(tt.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new HDNode(_constructorGuard$1,null,hexlify(st),nt,at,it,rt,null);case"0x0488ade4":case"0x04358394 ":if(st[0]!==0)break;return new HDNode(_constructorGuard$1,hexlify(st.slice(1)),null,nt,at,it,rt,null)}return logger$b.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function mnemonicToSeed(_e,et){et||(et="");const tt=toUtf8Bytes("mnemonic"+et,UnicodeNormalizationForm.NFKD);return pbkdf2$2(toUtf8Bytes(_e,UnicodeNormalizationForm.NFKD),tt,2048,64,"sha512")}function mnemonicToEntropy(_e,et){et=getWordlist(et),logger$b.checkNormalize();const tt=et.split(_e);if(tt.length%3!==0)throw new Error("invalid mnemonic");const rt=arrayify(new Uint8Array(Math.ceil(11*tt.length/8)));let nt=0;for(let dt=0;dt>3]|=1<<7-nt%8),nt++}const it=32*tt.length/3,at=tt.length/3,st=getUpperMask(at);if((arrayify(sha256$3(rt.slice(0,it/8)))[0]&st)!==(rt[rt.length-1]&st))throw new Error("invalid checksum");return hexlify(rt.slice(0,it/8))}function entropyToMnemonic(_e,et){if(et=getWordlist(et),_e=arrayify(_e),_e.length%4!==0||_e.length<16||_e.length>32)throw new Error("invalid entropy");const tt=[0];let rt=11;for(let at=0;at<_e.length;at++)rt>8?(tt[tt.length-1]<<=8,tt[tt.length-1]|=_e[at],rt-=8):(tt[tt.length-1]<<=rt,tt[tt.length-1]|=_e[at]>>8-rt,tt.push(_e[at]&getLowerMask(8-rt)),rt+=3);const nt=_e.length/4,it=arrayify(sha256$3(_e))[0]&getUpperMask(nt);return tt[tt.length-1]<<=nt,tt[tt.length-1]|=it>>8-nt,et.join(tt.map(at=>et.getWord(at)))}function isValidMnemonic(_e,et){try{return mnemonicToEntropy(_e,et),!0}catch{}return!1}function getAccountPath(_e){return(typeof _e!="number"||_e<0||_e>=HardenedBit||_e%1)&&logger$b.throwArgumentError("invalid account index","index",_e),`m/44'/60'/${_e}'/0/0`}const lib_esm$6=Object.freeze(Object.defineProperty({__proto__:null,HDNode,defaultPath,entropyToMnemonic,getAccountPath,isValidMnemonic,mnemonicToEntropy,mnemonicToSeed},Symbol.toStringTag,{value:"Module"})),version$b="random/5.7.0",logger$a=new Logger(version$b);function getGlobal(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}const anyGlobal=getGlobal();let crypto$1=anyGlobal.crypto||anyGlobal.msCrypto;(!crypto$1||!crypto$1.getRandomValues)&&(logger$a.warn("WARNING: Missing strong random number source"),crypto$1={getRandomValues:function(_e){return logger$a.throwError("no secure random source avaialble",Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});function randomBytes$1(_e){(_e<=0||_e>1024||_e%1||_e!=_e)&&logger$a.throwArgumentError("invalid length","length",_e);const et=new Uint8Array(_e);return crypto$1.getRandomValues(et),arrayify(et)}function shuffled(_e){_e=_e.slice();for(let et=_e.length-1;et>0;et--){const tt=Math.floor(Math.random()*(et+1)),rt=_e[et];_e[et]=_e[tt],_e[tt]=rt}return _e}const lib_esm$5=Object.freeze(Object.defineProperty({__proto__:null,randomBytes:randomBytes$1,shuffled},Symbol.toStringTag,{value:"Module"}));var aesJs={exports:{}};(function(_e,et){(function(tt){function rt($t){return parseInt($t)===$t}function nt($t){if(!rt($t.length))return!1;for(var St=0;St<$t.length;St++)if(!rt($t[St])||$t[St]<0||$t[St]>255)return!1;return!0}function it($t,St){if($t.buffer&&ArrayBuffer.isView($t)&&$t.name==="Uint8Array")return St&&($t.slice?$t=$t.slice():$t=Array.prototype.slice.call($t)),$t;if(Array.isArray($t)){if(!nt($t))throw new Error("Array contains invalid value: "+$t);return new Uint8Array($t)}if(rt($t.length)&&nt($t))return new Uint8Array($t);throw new Error("unsupported array-like object")}function at($t){return new Uint8Array($t)}function st($t,St,Ft,Vt,Rt){(Vt!=null||Rt!=null)&&($t.slice?$t=$t.slice(Vt,Rt):$t=Array.prototype.slice.call($t,Vt,Rt)),St.set($t,Ft)}var lt=function(){function $t(Ft){var Vt=[],Rt=0;for(Ft=encodeURI(Ft);Rt191&&Yt<224?(Vt.push(String.fromCharCode((Yt&31)<<6|Ft[Rt+1]&63)),Rt+=2):(Vt.push(String.fromCharCode((Yt&15)<<12|(Ft[Rt+1]&63)<<6|Ft[Rt+2]&63)),Rt+=3)}return Vt.join("")}return{toBytes:$t,fromBytes:St}}(),dt=function(){function $t(Vt){for(var Rt=[],Yt=0;Yt>4]+St[Kt&15])}return Rt.join("")}return{toBytes:$t,fromBytes:Ft}}(),ht={16:10,24:12,32:14},pt=[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],mt=[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],gt=[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],vt=[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],bt=[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],yt=[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],xt=[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],wt=[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],_t=[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],At=[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],Tt=[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],kt=[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],jt=[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],Lt=[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],qt=[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 Dt($t){for(var St=[],Ft=0;Ft<$t.length;Ft+=4)St.push($t[Ft]<<24|$t[Ft+1]<<16|$t[Ft+2]<<8|$t[Ft+3]);return St}var zt=function($t){if(!(this instanceof zt))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:it($t,!0)}),this._prepare()};zt.prototype._prepare=function(){var $t=ht[this.key.length];if($t==null)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var St=0;St<=$t;St++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);for(var Ft=($t+1)*4,Vt=this.key.length/4,Rt=Dt(this.key),Yt,St=0;St>2,this._Ke[Yt][St%4]=Rt[St],this._Kd[$t-Yt][St%4]=Rt[St];for(var Kt=0,Xt=Vt,rr;Xt>16&255]<<24^mt[rr>>8&255]<<16^mt[rr&255]<<8^mt[rr>>24&255]^pt[Kt]<<24,Kt+=1,Vt!=8)for(var St=1;St>8&255]<<8^mt[rr>>16&255]<<16^mt[rr>>24&255]<<24;for(var St=Vt/2+1;St>2,ar=Xt%4,this._Ke[or][ar]=Rt[St],this._Kd[$t-or][ar]=Rt[St++],Xt++}for(var or=1;or<$t;or++)for(var ar=0;ar<4;ar++)rr=this._Kd[or][ar],this._Kd[or][ar]=kt[rr>>24&255]^jt[rr>>16&255]^Lt[rr>>8&255]^qt[rr&255]},zt.prototype.encrypt=function($t){if($t.length!=16)throw new Error("invalid plaintext size (must be 16 bytes)");for(var St=this._Ke.length-1,Ft=[0,0,0,0],Vt=Dt($t),Rt=0;Rt<4;Rt++)Vt[Rt]^=this._Ke[0][Rt];for(var Yt=1;Yt>24&255]^bt[Vt[(Rt+1)%4]>>16&255]^yt[Vt[(Rt+2)%4]>>8&255]^xt[Vt[(Rt+3)%4]&255]^this._Ke[Yt][Rt];Vt=Ft.slice()}for(var Kt=at(16),Xt,Rt=0;Rt<4;Rt++)Xt=this._Ke[St][Rt],Kt[4*Rt]=(mt[Vt[Rt]>>24&255]^Xt>>24)&255,Kt[4*Rt+1]=(mt[Vt[(Rt+1)%4]>>16&255]^Xt>>16)&255,Kt[4*Rt+2]=(mt[Vt[(Rt+2)%4]>>8&255]^Xt>>8)&255,Kt[4*Rt+3]=(mt[Vt[(Rt+3)%4]&255]^Xt)&255;return Kt},zt.prototype.decrypt=function($t){if($t.length!=16)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var St=this._Kd.length-1,Ft=[0,0,0,0],Vt=Dt($t),Rt=0;Rt<4;Rt++)Vt[Rt]^=this._Kd[0][Rt];for(var Yt=1;Yt>24&255]^_t[Vt[(Rt+3)%4]>>16&255]^At[Vt[(Rt+2)%4]>>8&255]^Tt[Vt[(Rt+1)%4]&255]^this._Kd[Yt][Rt];Vt=Ft.slice()}for(var Kt=at(16),Xt,Rt=0;Rt<4;Rt++)Xt=this._Kd[St][Rt],Kt[4*Rt]=(gt[Vt[Rt]>>24&255]^Xt>>24)&255,Kt[4*Rt+1]=(gt[Vt[(Rt+3)%4]>>16&255]^Xt>>16)&255,Kt[4*Rt+2]=(gt[Vt[(Rt+2)%4]>>8&255]^Xt>>8)&255,Kt[4*Rt+3]=(gt[Vt[(Rt+1)%4]&255]^Xt)&255;return Kt};var Zt=function($t){if(!(this instanceof Zt))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new zt($t)};Zt.prototype.encrypt=function($t){if($t=it($t),$t.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var St=at($t.length),Ft=at(16),Vt=0;Vt<$t.length;Vt+=16)st($t,Ft,0,Vt,Vt+16),Ft=this._aes.encrypt(Ft),st(Ft,St,Vt);return St},Zt.prototype.decrypt=function($t){if($t=it($t),$t.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var St=at($t.length),Ft=at(16),Vt=0;Vt<$t.length;Vt+=16)st($t,Ft,0,Vt,Vt+16),Ft=this._aes.decrypt(Ft),st(Ft,St,Vt);return St};var Bt=function($t,St){if(!(this instanceof Bt))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",!St)St=at(16);else if(St.length!=16)throw new Error("invalid initialation vector size (must be 16 bytes)");this._lastCipherblock=it(St,!0),this._aes=new zt($t)};Bt.prototype.encrypt=function($t){if($t=it($t),$t.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var St=at($t.length),Ft=at(16),Vt=0;Vt<$t.length;Vt+=16){st($t,Ft,0,Vt,Vt+16);for(var Rt=0;Rt<16;Rt++)Ft[Rt]^=this._lastCipherblock[Rt];this._lastCipherblock=this._aes.encrypt(Ft),st(this._lastCipherblock,St,Vt)}return St},Bt.prototype.decrypt=function($t){if($t=it($t),$t.length%16!==0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var St=at($t.length),Ft=at(16),Vt=0;Vt<$t.length;Vt+=16){st($t,Ft,0,Vt,Vt+16),Ft=this._aes.decrypt(Ft);for(var Rt=0;Rt<16;Rt++)St[Vt+Rt]=Ft[Rt]^this._lastCipherblock[Rt];st($t,this._lastCipherblock,0,Vt,Vt+16)}return St};var Et=function($t,St,Ft){if(!(this instanceof Et))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",!St)St=at(16);else if(St.length!=16)throw new Error("invalid initialation vector size (must be 16 size)");Ft||(Ft=1),this.segmentSize=Ft,this._shiftRegister=it(St,!0),this._aes=new zt($t)};Et.prototype.encrypt=function($t){if($t.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var St=it($t,!0),Ft,Vt=0;Vt=0;--St)this._counter[St]=$t%256,$t=$t>>8},Pt.prototype.setBytes=function($t){if($t=it($t,!0),$t.length!=16)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=$t},Pt.prototype.increment=function(){for(var $t=15;$t>=0;$t--)if(this._counter[$t]===255)this._counter[$t]=0;else{this._counter[$t]++;break}};var Ot=function($t,St){if(!(this instanceof Ot))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",St instanceof Pt||(St=new Pt(St)),this._counter=St,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new zt($t)};Ot.prototype.encrypt=function($t){for(var St=it($t,!0),Ft=0;Ft16)throw new Error("PKCS#7 padding byte out of range");for(var Ft=$t.length-St,Vt=0;Vt=64;){let Wt=xt,$t=wt,St=_t,Ft=At,Vt=Tt,Rt=kt,Yt=jt,Kt=Lt,Xt,rr,or,ar,ir;for(rr=0;rr<16;rr++)or=Mt+rr*4,qt[rr]=(Ot[or]&255)<<24|(Ot[or+1]&255)<<16|(Ot[or+2]&255)<<8|Ot[or+3]&255;for(rr=16;rr<64;rr++)Xt=qt[rr-2],ar=(Xt>>>17|Xt<<32-17)^(Xt>>>19|Xt<<32-19)^Xt>>>10,Xt=qt[rr-15],ir=(Xt>>>7|Xt<<32-7)^(Xt>>>18|Xt<<32-18)^Xt>>>3,qt[rr]=(ar+qt[rr-7]|0)+(ir+qt[rr-16]|0)|0;for(rr=0;rr<64;rr++)ar=(((Vt>>>6|Vt<<32-6)^(Vt>>>11|Vt<<32-11)^(Vt>>>25|Vt<<32-25))+(Vt&Rt^~Vt&Yt)|0)+(Kt+(yt[rr]+qt[rr]|0)|0)|0,ir=((Wt>>>2|Wt<<32-2)^(Wt>>>13|Wt<<32-13)^(Wt>>>22|Wt<<32-22))+(Wt&$t^Wt&St^$t&St)|0,Kt=Yt,Yt=Rt,Rt=Vt,Vt=Ft+ar|0,Ft=St,St=$t,$t=Wt,Wt=ar+ir|0;xt=xt+Wt|0,wt=wt+$t|0,_t=_t+St|0,At=At+Ft|0,Tt=Tt+Vt|0,kt=kt+Rt|0,jt=jt+Yt|0,Lt=Lt+Kt|0,Mt+=64,Ut-=64}}Dt(bt);let zt,Zt=bt.length%64,Bt=bt.length/536870912|0,Et=bt.length<<3,Ct=Zt<56?56:120,Pt=bt.slice(bt.length-Zt,bt.length);for(Pt.push(128),zt=Zt+1;zt>>24&255),Pt.push(Bt>>>16&255),Pt.push(Bt>>>8&255),Pt.push(Bt>>>0&255),Pt.push(Et>>>24&255),Pt.push(Et>>>16&255),Pt.push(Et>>>8&255),Pt.push(Et>>>0&255),Dt(Pt),[xt>>>24&255,xt>>>16&255,xt>>>8&255,xt>>>0&255,wt>>>24&255,wt>>>16&255,wt>>>8&255,wt>>>0&255,_t>>>24&255,_t>>>16&255,_t>>>8&255,_t>>>0&255,At>>>24&255,At>>>16&255,At>>>8&255,At>>>0&255,Tt>>>24&255,Tt>>>16&255,Tt>>>8&255,Tt>>>0&255,kt>>>24&255,kt>>>16&255,kt>>>8&255,kt>>>0&255,jt>>>24&255,jt>>>16&255,jt>>>8&255,jt>>>0&255,Lt>>>24&255,Lt>>>16&255,Lt>>>8&255,Lt>>>0&255]}function it(bt,yt,xt){bt=bt.length<=64?bt:nt(bt);const wt=64+yt.length+4,_t=new Array(wt),At=new Array(64);let Tt,kt=[];for(Tt=0;Tt<64;Tt++)_t[Tt]=54;for(Tt=0;Tt=wt-4;Lt--){if(_t[Lt]++,_t[Lt]<=255)return;_t[Lt]=0}}for(;xt>=32;)jt(),kt=kt.concat(nt(At.concat(nt(_t)))),xt-=32;return xt>0&&(jt(),kt=kt.concat(nt(At.concat(nt(_t))).slice(0,xt))),kt}function at(bt,yt,xt,wt,_t){let At;for(ht(bt,(2*xt-1)*16,_t,0,16),At=0;At<2*xt;At++)dt(bt,At*16,_t,16),lt(_t,wt),ht(_t,0,bt,yt+At*16,16);for(At=0;At>>32-yt}function lt(bt,yt){ht(bt,0,yt,0,16);for(let xt=8;xt>0;xt-=2)yt[4]^=st(yt[0]+yt[12],7),yt[8]^=st(yt[4]+yt[0],9),yt[12]^=st(yt[8]+yt[4],13),yt[0]^=st(yt[12]+yt[8],18),yt[9]^=st(yt[5]+yt[1],7),yt[13]^=st(yt[9]+yt[5],9),yt[1]^=st(yt[13]+yt[9],13),yt[5]^=st(yt[1]+yt[13],18),yt[14]^=st(yt[10]+yt[6],7),yt[2]^=st(yt[14]+yt[10],9),yt[6]^=st(yt[2]+yt[14],13),yt[10]^=st(yt[6]+yt[2],18),yt[3]^=st(yt[15]+yt[11],7),yt[7]^=st(yt[3]+yt[15],9),yt[11]^=st(yt[7]+yt[3],13),yt[15]^=st(yt[11]+yt[7],18),yt[1]^=st(yt[0]+yt[3],7),yt[2]^=st(yt[1]+yt[0],9),yt[3]^=st(yt[2]+yt[1],13),yt[0]^=st(yt[3]+yt[2],18),yt[6]^=st(yt[5]+yt[4],7),yt[7]^=st(yt[6]+yt[5],9),yt[4]^=st(yt[7]+yt[6],13),yt[5]^=st(yt[4]+yt[7],18),yt[11]^=st(yt[10]+yt[9],7),yt[8]^=st(yt[11]+yt[10],9),yt[9]^=st(yt[8]+yt[11],13),yt[10]^=st(yt[9]+yt[8],18),yt[12]^=st(yt[15]+yt[14],7),yt[13]^=st(yt[12]+yt[15],9),yt[14]^=st(yt[13]+yt[12],13),yt[15]^=st(yt[14]+yt[13],18);for(let xt=0;xt<16;++xt)bt[xt]+=yt[xt]}function dt(bt,yt,xt,wt){for(let _t=0;_t=256)return!1}return!0}function mt(bt,yt){if(typeof bt!="number"||bt%1)throw new Error("invalid "+yt);return bt}function gt(bt,yt,xt,wt,_t,At,Tt){if(xt=mt(xt,"N"),wt=mt(wt,"r"),_t=mt(_t,"p"),At=mt(At,"dkLen"),xt===0||xt&xt-1)throw new Error("N must be power of 2");if(xt>2147483647/128/wt)throw new Error("N too large");if(wt>2147483647/128/_t)throw new Error("r too large");if(!pt(bt))throw new Error("password must be an array or buffer");if(bt=Array.prototype.slice.call(bt),!pt(yt))throw new Error("salt must be an array or buffer");yt=Array.prototype.slice.call(yt);let kt=it(bt,yt,_t*128*wt);const jt=new Uint32Array(_t*32*wt);for(let Vt=0;Vt$t&&(Vt=$t);for(let Yt=0;Yt$t&&(Vt=$t);for(let Yt=0;Yt>0&255),kt.push(jt[Yt]>>8&255),kt.push(jt[Yt]>>16&255),kt.push(jt[Yt]>>24&255);const Rt=it(bt,kt,At);return Tt&&Tt(null,1,Rt),Rt}Tt&&St(Ft)};if(!Tt)for(;;){const Vt=Ft();if(Vt!=null)return Vt}Ft()}const vt={scrypt:function(bt,yt,xt,wt,_t,At,Tt){return new Promise(function(kt,jt){let Lt=0;Tt&&Tt(0),gt(bt,yt,xt,wt,_t,At,function(qt,Dt,zt){if(qt)jt(qt);else if(zt)Tt&&Lt!==1&&Tt(1),kt(new Uint8Array(zt));else if(Tt&&Dt!==Lt)return Lt=Dt,Tt(Dt)})})},syncScrypt:function(bt,yt,xt,wt,_t,At){return new Uint8Array(gt(bt,yt,xt,wt,_t,At))}};_e.exports=vt})()})(scrypt$1);var scryptExports=scrypt$1.exports;const scrypt=getDefaultExportFromCjs(scryptExports);var __awaiter$5=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$8=new Logger(version$a);function hasMnemonic$1(_e){return _e!=null&&_e.mnemonic&&_e.mnemonic.phrase}class KeystoreAccount extends Description{isKeystoreAccount(et){return!!(et&&et._isKeystoreAccount)}}function _decrypt(_e,et,tt){if(searchPath(_e,"crypto/cipher")==="aes-128-ctr"){const nt=looseArrayify(searchPath(_e,"crypto/cipherparams/iv")),it=new aes$1.Counter(nt),at=new aes$1.ModeOfOperation.ctr(et,it);return arrayify(at.decrypt(tt))}return null}function _getAccount(_e,et){const tt=looseArrayify(searchPath(_e,"crypto/ciphertext"));if(hexlify(keccak256$2(concat$1([et.slice(16,32),tt]))).substring(2)!==searchPath(_e,"crypto/mac").toLowerCase())throw new Error("invalid password");const nt=_decrypt(_e,et.slice(0,16),tt);nt||logger$8.throwError("unsupported cipher",Logger.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const it=et.slice(32,64),at=computeAddress(nt);if(_e.address){let lt=_e.address.toLowerCase();if(lt.substring(0,2)!=="0x"&&(lt="0x"+lt),getAddress$1(lt)!==at)throw new Error("address mismatch")}const st={_isKeystoreAccount:!0,address:at,privateKey:hexlify(nt)};if(searchPath(_e,"x-ethers/version")==="0.1"){const lt=looseArrayify(searchPath(_e,"x-ethers/mnemonicCiphertext")),dt=looseArrayify(searchPath(_e,"x-ethers/mnemonicCounter")),ht=new aes$1.Counter(dt),pt=new aes$1.ModeOfOperation.ctr(it,ht),mt=searchPath(_e,"x-ethers/path")||defaultPath,gt=searchPath(_e,"x-ethers/locale")||"en",vt=arrayify(pt.decrypt(lt));try{const bt=entropyToMnemonic(vt,gt),yt=HDNode.fromMnemonic(bt,null,gt).derivePath(mt);if(yt.privateKey!=st.privateKey)throw new Error("mnemonic mismatch");st.mnemonic=yt.mnemonic}catch(bt){if(bt.code!==Logger.errors.INVALID_ARGUMENT||bt.argument!=="wordlist")throw bt}}return new KeystoreAccount(st)}function pbkdf2Sync(_e,et,tt,rt,nt){return arrayify(pbkdf2$2(_e,et,tt,rt,nt))}function pbkdf2$1(_e,et,tt,rt,nt){return Promise.resolve(pbkdf2Sync(_e,et,tt,rt,nt))}function _computeKdfKey(_e,et,tt,rt,nt){const it=getPassword(et),at=searchPath(_e,"crypto/kdf");if(at&&typeof at=="string"){const st=function(lt,dt){return logger$8.throwArgumentError("invalid key-derivation function parameters",lt,dt)};if(at.toLowerCase()==="scrypt"){const lt=looseArrayify(searchPath(_e,"crypto/kdfparams/salt")),dt=parseInt(searchPath(_e,"crypto/kdfparams/n")),ht=parseInt(searchPath(_e,"crypto/kdfparams/r")),pt=parseInt(searchPath(_e,"crypto/kdfparams/p"));(!dt||!ht||!pt)&&st("kdf",at),dt&dt-1&&st("N",dt);const mt=parseInt(searchPath(_e,"crypto/kdfparams/dklen"));return mt!==32&&st("dklen",mt),rt(it,lt,dt,ht,pt,64,nt)}else if(at.toLowerCase()==="pbkdf2"){const lt=looseArrayify(searchPath(_e,"crypto/kdfparams/salt"));let dt=null;const ht=searchPath(_e,"crypto/kdfparams/prf");ht==="hmac-sha256"?dt="sha256":ht==="hmac-sha512"?dt="sha512":st("prf",ht);const pt=parseInt(searchPath(_e,"crypto/kdfparams/c")),mt=parseInt(searchPath(_e,"crypto/kdfparams/dklen"));return mt!==32&&st("dklen",mt),tt(it,lt,pt,mt,dt)}}return logger$8.throwArgumentError("unsupported key-derivation function","kdf",at)}function decryptSync(_e,et){const tt=JSON.parse(_e),rt=_computeKdfKey(tt,et,pbkdf2Sync,scrypt.syncScrypt);return _getAccount(tt,rt)}function decrypt(_e,et,tt){return __awaiter$5(this,void 0,void 0,function*(){const rt=JSON.parse(_e),nt=yield _computeKdfKey(rt,et,pbkdf2$1,scrypt.scrypt,tt);return _getAccount(rt,nt)})}function encrypt(_e,et,tt,rt){try{if(getAddress$1(_e.address)!==computeAddress(_e.privateKey))throw new Error("address/privateKey mismatch");if(hasMnemonic$1(_e)){const yt=_e.mnemonic;if(HDNode.fromMnemonic(yt.phrase,null,yt.locale).derivePath(yt.path||defaultPath).privateKey!=_e.privateKey)throw new Error("mnemonic mismatch")}}catch(yt){return Promise.reject(yt)}typeof tt=="function"&&!rt&&(rt=tt,tt={}),tt||(tt={});const nt=arrayify(_e.privateKey),it=getPassword(et);let at=null,st=null,lt=null;if(hasMnemonic$1(_e)){const yt=_e.mnemonic;at=arrayify(mnemonicToEntropy(yt.phrase,yt.locale||"en")),st=yt.path||defaultPath,lt=yt.locale||"en"}let dt=tt.client;dt||(dt="ethers.js");let ht=null;tt.salt?ht=arrayify(tt.salt):ht=randomBytes$1(32);let pt=null;if(tt.iv){if(pt=arrayify(tt.iv),pt.length!==16)throw new Error("invalid iv")}else pt=randomBytes$1(16);let mt=null;if(tt.uuid){if(mt=arrayify(tt.uuid),mt.length!==16)throw new Error("invalid uuid")}else mt=randomBytes$1(16);let gt=1<<17,vt=8,bt=1;return tt.scrypt&&(tt.scrypt.N&&(gt=tt.scrypt.N),tt.scrypt.r&&(vt=tt.scrypt.r),tt.scrypt.p&&(bt=tt.scrypt.p)),scrypt.scrypt(it,ht,gt,vt,bt,64,rt).then(yt=>{yt=arrayify(yt);const xt=yt.slice(0,16),wt=yt.slice(16,32),_t=yt.slice(32,64),At=new aes$1.Counter(pt),Tt=new aes$1.ModeOfOperation.ctr(xt,At),kt=arrayify(Tt.encrypt(nt)),jt=keccak256$2(concat$1([wt,kt])),Lt={address:_e.address.substring(2).toLowerCase(),id:uuidV4(mt),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:hexlify(pt).substring(2)},ciphertext:hexlify(kt).substring(2),kdf:"scrypt",kdfparams:{salt:hexlify(ht).substring(2),n:gt,dklen:32,p:bt,r:vt},mac:jt.substring(2)}};if(at){const qt=randomBytes$1(16),Dt=new aes$1.Counter(qt),zt=new aes$1.ModeOfOperation.ctr(_t,Dt),Zt=arrayify(zt.encrypt(at)),Bt=new Date,Et=Bt.getUTCFullYear()+"-"+zpad(Bt.getUTCMonth()+1,2)+"-"+zpad(Bt.getUTCDate(),2)+"T"+zpad(Bt.getUTCHours(),2)+"-"+zpad(Bt.getUTCMinutes(),2)+"-"+zpad(Bt.getUTCSeconds(),2)+".0Z";Lt["x-ethers"]={client:dt,gethFilename:"UTC--"+Et+"--"+Lt.address,mnemonicCounter:hexlify(qt).substring(2),mnemonicCiphertext:hexlify(Zt).substring(2),path:st,locale:lt,version:"0.1"}}return JSON.stringify(Lt)})}function decryptJsonWallet(_e,et,tt){if(isCrowdsaleWallet(_e)){tt&&tt(0);const rt=decrypt$1(_e,et);return tt&&tt(1),Promise.resolve(rt)}return isKeystoreWallet(_e)?decrypt(_e,et,tt):Promise.reject(new Error("invalid JSON wallet"))}function decryptJsonWalletSync(_e,et){if(isCrowdsaleWallet(_e))return decrypt$1(_e,et);if(isKeystoreWallet(_e))return decryptSync(_e,et);throw new Error("invalid JSON wallet")}const lib_esm$4=Object.freeze(Object.defineProperty({__proto__:null,decryptCrowdsale:decrypt$1,decryptJsonWallet,decryptJsonWalletSync,decryptKeystore:decrypt,decryptKeystoreSync:decryptSync,encryptKeystore:encrypt,getJsonWalletAddress,isCrowdsaleWallet,isKeystoreWallet},Symbol.toStringTag,{value:"Module"})),version$9="wallet/5.7.0";var __awaiter$4=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$7=new Logger(version$9);function isAccount(_e){return _e!=null&&isHexString(_e.privateKey,32)&&_e.address!=null}function hasMnemonic(_e){const et=_e.mnemonic;return et&&et.phrase}class Wallet extends Signer{constructor(et,tt){if(super(),isAccount(et)){const rt=new SigningKey(et.privateKey);if(defineReadOnly(this,"_signingKey",()=>rt),defineReadOnly(this,"address",computeAddress(this.publicKey)),this.address!==getAddress$1(et.address)&&logger$7.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),hasMnemonic(et)){const nt=et.mnemonic;defineReadOnly(this,"_mnemonic",()=>({phrase:nt.phrase,path:nt.path||defaultPath,locale:nt.locale||"en"}));const it=this.mnemonic,at=HDNode.fromMnemonic(it.phrase,null,it.locale).derivePath(it.path);computeAddress(at.privateKey)!==this.address&&logger$7.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else defineReadOnly(this,"_mnemonic",()=>null)}else{if(SigningKey.isSigningKey(et))et.curve!=="secp256k1"&&logger$7.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),defineReadOnly(this,"_signingKey",()=>et);else{typeof et=="string"&&et.match(/^[0-9a-f]*$/i)&&et.length===64&&(et="0x"+et);const rt=new SigningKey(et);defineReadOnly(this,"_signingKey",()=>rt)}defineReadOnly(this,"_mnemonic",()=>null),defineReadOnly(this,"address",computeAddress(this.publicKey))}tt&&!Provider.isProvider(tt)&&logger$7.throwArgumentError("invalid provider","provider",tt),defineReadOnly(this,"provider",tt||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(et){return new Wallet(this,et)}signTransaction(et){return resolveProperties(et).then(tt=>{tt.from!=null&&(getAddress$1(tt.from)!==this.address&&logger$7.throwArgumentError("transaction from address mismatch","transaction.from",et.from),delete tt.from);const rt=this._signingKey().signDigest(keccak256$2(serialize$1(tt)));return serialize$1(tt,rt)})}signMessage(et){return __awaiter$4(this,void 0,void 0,function*(){return joinSignature(this._signingKey().signDigest(hashMessage$1(et)))})}_signTypedData(et,tt,rt){return __awaiter$4(this,void 0,void 0,function*(){const nt=yield TypedDataEncoder.resolveNames(et,tt,rt,it=>(this.provider==null&&logger$7.throwError("cannot resolve ENS names without a provider",Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:it}),this.provider.resolveName(it)));return joinSignature(this._signingKey().signDigest(TypedDataEncoder.hash(nt.domain,tt,nt.value)))})}encrypt(et,tt,rt){if(typeof tt=="function"&&!rt&&(rt=tt,tt={}),rt&&typeof rt!="function")throw new Error("invalid callback");return tt||(tt={}),encrypt(this,et,tt,rt)}static createRandom(et){let tt=randomBytes$1(16);et||(et={}),et.extraEntropy&&(tt=arrayify(hexDataSlice(keccak256$2(concat$1([tt,et.extraEntropy])),0,16)));const rt=entropyToMnemonic(tt,et.locale);return Wallet.fromMnemonic(rt,et.path,et.locale)}static fromEncryptedJson(et,tt,rt){return decryptJsonWallet(et,tt,rt).then(nt=>new Wallet(nt))}static fromEncryptedJsonSync(et,tt){return new Wallet(decryptJsonWalletSync(et,tt))}static fromMnemonic(et,tt,rt){return tt||(tt=defaultPath),new Wallet(HDNode.fromMnemonic(et,null,rt).derivePath(tt))}}function verifyMessage$1(_e,et){return recoverAddress(hashMessage$1(_e),et)}function verifyTypedData$1(_e,et,tt,rt){return recoverAddress(TypedDataEncoder.hash(_e,et,tt),rt)}const lib_esm$3=Object.freeze(Object.defineProperty({__proto__:null,Wallet,verifyMessage:verifyMessage$1,verifyTypedData:verifyTypedData$1},Symbol.toStringTag,{value:"Module"})),version$8="networks/5.7.1",logger$6=new Logger(version$8);function isRenetworkable(_e){return _e&&typeof _e.renetwork=="function"}function ethDefaultProvider(_e){const et=function(tt,rt){rt==null&&(rt={});const nt=[];if(tt.InfuraProvider&&rt.infura!=="-")try{nt.push(new tt.InfuraProvider(_e,rt.infura))}catch{}if(tt.EtherscanProvider&&rt.etherscan!=="-")try{nt.push(new tt.EtherscanProvider(_e,rt.etherscan))}catch{}if(tt.AlchemyProvider&&rt.alchemy!=="-")try{nt.push(new tt.AlchemyProvider(_e,rt.alchemy))}catch{}if(tt.PocketProvider&&rt.pocket!=="-"){const it=["goerli","ropsten","rinkeby","sepolia"];try{const at=new tt.PocketProvider(_e,rt.pocket);at.network&&it.indexOf(at.network.name)===-1&&nt.push(at)}catch{}}if(tt.CloudflareProvider&&rt.cloudflare!=="-")try{nt.push(new tt.CloudflareProvider(_e))}catch{}if(tt.AnkrProvider&&rt.ankr!=="-")try{const it=["ropsten"],at=new tt.AnkrProvider(_e,rt.ankr);at.network&&it.indexOf(at.network.name)===-1&&nt.push(at)}catch{}if(nt.length===0)return null;if(tt.FallbackProvider){let it=1;return rt.quorum!=null?it=rt.quorum:_e==="homestead"&&(it=2),new tt.FallbackProvider(nt,it)}return nt[0]};return et.renetwork=function(tt){return ethDefaultProvider(tt)},et}function etcDefaultProvider(_e,et){const tt=function(rt,nt){return rt.JsonRpcProvider?new rt.JsonRpcProvider(_e,et):null};return tt.renetwork=function(rt){return etcDefaultProvider(_e,rt)},tt}const homestead={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:ethDefaultProvider("homestead")},ropsten={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:ethDefaultProvider("ropsten")},classicMordor={chainId:63,name:"classicMordor",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/mordor","classicMordor")},networks={unspecified:{chainId:0,name:"unspecified"},homestead,mainnet:homestead,morden:{chainId:2,name:"morden"},ropsten,testnet:ropsten,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:ethDefaultProvider("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:ethDefaultProvider("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:ethDefaultProvider("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:ethDefaultProvider("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor,classicTestnet:classicMordor,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:ethDefaultProvider("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:ethDefaultProvider("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function getNetwork(_e){if(_e==null)return null;if(typeof _e=="number"){for(const rt in networks){const nt=networks[rt];if(nt.chainId===_e)return{name:nt.name,chainId:nt.chainId,ensAddress:nt.ensAddress||null,_defaultProvider:nt._defaultProvider||null}}return{chainId:_e,name:"unknown"}}if(typeof _e=="string"){const rt=networks[_e];return rt==null?null:{name:rt.name,chainId:rt.chainId,ensAddress:rt.ensAddress,_defaultProvider:rt._defaultProvider||null}}const et=networks[_e.name];if(!et)return typeof _e.chainId!="number"&&logger$6.throwArgumentError("invalid network chainId","network",_e),_e;_e.chainId!==0&&_e.chainId!==et.chainId&&logger$6.throwArgumentError("network chainId mismatch","network",_e);let tt=_e._defaultProvider||null;return tt==null&&et._defaultProvider&&(isRenetworkable(et._defaultProvider)?tt=et._defaultProvider.renetwork(_e):tt=et._defaultProvider),{name:_e.name,chainId:et.chainId,ensAddress:_e.ensAddress||et.ensAddress||null,_defaultProvider:tt}}const version$7="web/5.7.1";var __awaiter$3=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};function getUrl$2(_e,et){return __awaiter$3(this,void 0,void 0,function*(){et==null&&(et={});const tt={method:et.method||"GET",headers:et.headers||{},body:et.body||void 0};if(et.skipFetchSetup!==!0&&(tt.mode="cors",tt.cache="no-cache",tt.credentials="same-origin",tt.redirect="follow",tt.referrer="client"),et.fetchOptions!=null){const at=et.fetchOptions;at.mode&&(tt.mode=at.mode),at.cache&&(tt.cache=at.cache),at.credentials&&(tt.credentials=at.credentials),at.redirect&&(tt.redirect=at.redirect),at.referrer&&(tt.referrer=at.referrer)}const rt=yield fetch(_e,tt),nt=yield rt.arrayBuffer(),it={};return rt.headers.forEach?rt.headers.forEach((at,st)=>{it[st.toLowerCase()]=at}):rt.headers.keys().forEach(at=>{it[at.toLowerCase()]=rt.headers.get(at)}),{headers:it,statusCode:rt.status,statusMessage:rt.statusText,body:arrayify(new Uint8Array(nt))}})}var __awaiter$2=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$5=new Logger(version$7);function staller(_e){return new Promise(et=>{setTimeout(et,_e)})}function bodyify(_e,et){if(_e==null)return null;if(typeof _e=="string")return _e;if(isBytesLike(_e)){if(et&&(et.split("/")[0]==="text"||et.split(";")[0].trim()==="application/json"))try{return toUtf8String(_e)}catch{}return hexlify(_e)}return _e}function unpercent(_e){return toUtf8Bytes(_e.replace(/%([0-9a-f][0-9a-f])/gi,(et,tt)=>String.fromCharCode(parseInt(tt,16))))}function _fetchData(_e,et,tt){const rt=typeof _e=="object"&&_e.throttleLimit!=null?_e.throttleLimit:12;logger$5.assertArgument(rt>0&&rt%1===0,"invalid connection throttle limit","connection.throttleLimit",rt);const nt=typeof _e=="object"?_e.throttleCallback:null,it=typeof _e=="object"&&typeof _e.throttleSlotInterval=="number"?_e.throttleSlotInterval:100;logger$5.assertArgument(it>0&&it%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",it);const at=typeof _e=="object"?!!_e.errorPassThrough:!1,st={};let lt=null;const dt={method:"GET"};let ht=!1,pt=2*60*1e3;if(typeof _e=="string")lt=_e;else if(typeof _e=="object"){if((_e==null||_e.url==null)&&logger$5.throwArgumentError("missing URL","connection.url",_e),lt=_e.url,typeof _e.timeout=="number"&&_e.timeout>0&&(pt=_e.timeout),_e.headers)for(const xt in _e.headers)st[xt.toLowerCase()]={key:xt,value:String(_e.headers[xt])},["if-none-match","if-modified-since"].indexOf(xt.toLowerCase())>=0&&(ht=!0);if(dt.allowGzip=!!_e.allowGzip,_e.user!=null&&_e.password!=null){lt.substring(0,6)!=="https:"&&_e.allowInsecureAuthentication!==!0&&logger$5.throwError("basic authentication requires a secure https url",Logger.errors.INVALID_ARGUMENT,{argument:"url",url:lt,user:_e.user,password:"[REDACTED]"});const xt=_e.user+":"+_e.password;st.authorization={key:"Authorization",value:"Basic "+encode$1(toUtf8Bytes(xt))}}_e.skipFetchSetup!=null&&(dt.skipFetchSetup=!!_e.skipFetchSetup),_e.fetchOptions!=null&&(dt.fetchOptions=shallowCopy(_e.fetchOptions))}const mt=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),gt=lt?lt.match(mt):null;if(gt)try{const xt={statusCode:200,statusMessage:"OK",headers:{"content-type":gt[1]||"text/plain"},body:gt[2]?decode$1(gt[3]):unpercent(gt[3])};let wt=xt.body;return tt&&(wt=tt(xt.body,xt)),Promise.resolve(wt)}catch(xt){logger$5.throwError("processing response error",Logger.errors.SERVER_ERROR,{body:bodyify(gt[1],gt[2]),error:xt,requestBody:null,requestMethod:"GET",url:lt})}et&&(dt.method="POST",dt.body=et,st["content-type"]==null&&(st["content-type"]={key:"Content-Type",value:"application/octet-stream"}),st["content-length"]==null&&(st["content-length"]={key:"Content-Length",value:String(et.length)}));const vt={};Object.keys(st).forEach(xt=>{const wt=st[xt];vt[wt.key]=wt.value}),dt.headers=vt;const bt=function(){let xt=null;return{promise:new Promise(function(At,Tt){pt&&(xt=setTimeout(()=>{xt!=null&&(xt=null,Tt(logger$5.makeError("timeout",Logger.errors.TIMEOUT,{requestBody:bodyify(dt.body,vt["content-type"]),requestMethod:dt.method,timeout:pt,url:lt})))},pt))}),cancel:function(){xt!=null&&(clearTimeout(xt),xt=null)}}}(),yt=function(){return __awaiter$2(this,void 0,void 0,function*(){for(let xt=0;xt=300)&&(bt.cancel(),logger$5.throwError("bad response",Logger.errors.SERVER_ERROR,{status:wt.statusCode,headers:wt.headers,body:bodyify(_t,wt.headers?wt.headers["content-type"]:null),requestBody:bodyify(dt.body,vt["content-type"]),requestMethod:dt.method,url:lt})),tt)try{const At=yield tt(_t,wt);return bt.cancel(),At}catch(At){if(At.throttleRetry&&xt{let st=null;if(it!=null)try{st=JSON.parse(toUtf8String(it))}catch(lt){logger$5.throwError("invalid JSON",Logger.errors.SERVER_ERROR,{body:it,error:lt})}return tt&&(st=tt(st,at)),st},nt=null;if(et!=null){nt=toUtf8Bytes(et);const it=typeof _e=="string"?{url:_e}:shallowCopy(_e);it.headers?Object.keys(it.headers).filter(st=>st.toLowerCase()==="content-type").length!==0||(it.headers=shallowCopy(it.headers),it.headers["content-type"]="application/json"):it.headers={"content-type":"application/json"},_e=it}return _fetchData(_e,nt,rt)}function poll$1(_e,et){return et||(et={}),et=shallowCopy(et),et.floor==null&&(et.floor=0),et.ceiling==null&&(et.ceiling=1e4),et.interval==null&&(et.interval=250),new Promise(function(tt,rt){let nt=null,it=!1;const at=()=>it?!1:(it=!0,nt&&clearTimeout(nt),!0);et.timeout&&(nt=setTimeout(()=>{at()&&rt(new Error("timeout"))},et.timeout));const st=et.retryLimit;let lt=0;function dt(){return _e().then(function(ht){if(ht!==void 0)at()&&tt(ht);else if(et.oncePoll)et.oncePoll.once("poll",dt);else if(et.onceBlock)et.onceBlock.once("block",dt);else if(!it){if(lt++,lt>st){at()&&rt(new Error("retry limit reached"));return}let pt=et.interval*parseInt(String(Math.random()*Math.pow(2,lt)));ptet.ceiling&&(pt=et.ceiling),setTimeout(dt,pt)}return null},function(ht){at()&&rt(ht)})}dt()})}const lib_esm$2=Object.freeze(Object.defineProperty({__proto__:null,_fetchData,fetchJson,poll:poll$1},Symbol.toStringTag,{value:"Module"}));var ALPHABET="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ALPHABET_MAP={};for(var z$5=0;z$5>25;return(_e&33554431)<<5^-(et>>0&1)&996825010^-(et>>1&1)&642813549^-(et>>2&1)&513874426^-(et>>3&1)&1027748829^-(et>>4&1)&705979059}function prefixChk(_e){for(var et=1,tt=0;tt<_e.length;++tt){var rt=_e.charCodeAt(tt);if(rt<33||rt>126)return"Invalid prefix ("+_e+")";et=polymodStep(et)^rt>>5}for(et=polymodStep(et),tt=0;tt<_e.length;++tt){var nt=_e.charCodeAt(tt);et=polymodStep(et)^nt&31}return et}function encode(_e,et,tt){if(tt=tt||90,_e.length+7+et.length>tt)throw new TypeError("Exceeds length limit");_e=_e.toLowerCase();var rt=prefixChk(_e);if(typeof rt=="string")throw new Error(rt);for(var nt=_e+"1",it=0;it>5)throw new Error("Non 5-bit word");rt=polymodStep(rt)^at,nt+=ALPHABET.charAt(at)}for(it=0;it<6;++it)rt=polymodStep(rt);for(rt^=1,it=0;it<6;++it){var st=rt>>(5-it)*5&31;nt+=ALPHABET.charAt(st)}return nt}function __decode(_e,et){if(et=et||90,_e.length<8)return _e+" too short";if(_e.length>et)return"Exceeds length limit";var tt=_e.toLowerCase(),rt=_e.toUpperCase();if(_e!==tt&&_e!==rt)return"Mixed-case string "+_e;_e=tt;var nt=_e.lastIndexOf("1");if(nt===-1)return"No separator character for "+_e;if(nt===0)return"Missing prefix for "+_e;var it=_e.slice(0,nt),at=_e.slice(nt+1);if(at.length<6)return"Data too short";var st=prefixChk(it);if(typeof st=="string")return st;for(var lt=[],dt=0;dt=at.length)&<.push(pt)}return st!==1?"Invalid checksum for "+_e:{prefix:it,words:lt}}function decodeUnsafe(){var _e=__decode.apply(null,arguments);if(typeof _e=="object")return _e}function decode(_e){var et=__decode.apply(null,arguments);if(typeof et=="object")return et;throw new Error(et)}function convert(_e,et,tt,rt){for(var nt=0,it=0,at=(1<=tt;)it-=tt,st.push(nt>>it&at);if(rt)it>0&&st.push(nt<=et)return"Excess padding";if(nt<this.data(pt,!0);return et.transaction={hash:at,type:dt,accessList:Formatter.allowNull(this.accessList.bind(this),null),blockHash:Formatter.allowNull(at,null),blockNumber:Formatter.allowNull(lt,null),transactionIndex:Formatter.allowNull(lt,null),confirmations:Formatter.allowNull(lt,null),from:tt,gasPrice:Formatter.allowNull(rt),maxPriorityFeePerGas:Formatter.allowNull(rt),maxFeePerGas:Formatter.allowNull(rt),gasLimit:rt,to:Formatter.allowNull(tt,null),value:rt,nonce:lt,data:it,r:Formatter.allowNull(this.uint256),s:Formatter.allowNull(this.uint256),v:Formatter.allowNull(lt),creates:Formatter.allowNull(tt,null),raw:Formatter.allowNull(it)},et.transactionRequest={from:Formatter.allowNull(tt),nonce:Formatter.allowNull(lt),gasLimit:Formatter.allowNull(rt),gasPrice:Formatter.allowNull(rt),maxPriorityFeePerGas:Formatter.allowNull(rt),maxFeePerGas:Formatter.allowNull(rt),to:Formatter.allowNull(tt),value:Formatter.allowNull(rt),data:Formatter.allowNull(ht),type:Formatter.allowNull(lt),accessList:Formatter.allowNull(this.accessList.bind(this),null)},et.receiptLog={transactionIndex:lt,blockNumber:lt,transactionHash:at,address:tt,topics:Formatter.arrayOf(at),data:it,logIndex:lt,blockHash:at},et.receipt={to:Formatter.allowNull(this.address,null),from:Formatter.allowNull(this.address,null),contractAddress:Formatter.allowNull(tt,null),transactionIndex:lt,root:Formatter.allowNull(st),gasUsed:rt,logsBloom:Formatter.allowNull(it),blockHash:at,transactionHash:at,logs:Formatter.arrayOf(this.receiptLog.bind(this)),blockNumber:lt,confirmations:Formatter.allowNull(lt,null),cumulativeGasUsed:rt,effectiveGasPrice:Formatter.allowNull(rt),status:Formatter.allowNull(lt),type:dt},et.block={hash:Formatter.allowNull(at),parentHash:at,number:lt,timestamp:lt,nonce:Formatter.allowNull(st),difficulty:this.difficulty.bind(this),gasLimit:rt,gasUsed:rt,miner:Formatter.allowNull(tt),extraData:it,transactions:Formatter.allowNull(Formatter.arrayOf(at)),baseFeePerGas:Formatter.allowNull(rt)},et.blockWithTransactions=shallowCopy(et.block),et.blockWithTransactions.transactions=Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this))),et.filter={fromBlock:Formatter.allowNull(nt,void 0),toBlock:Formatter.allowNull(nt,void 0),blockHash:Formatter.allowNull(at,void 0),address:Formatter.allowNull(tt,void 0),topics:Formatter.allowNull(this.topics.bind(this),void 0)},et.filterLog={blockNumber:Formatter.allowNull(lt),blockHash:Formatter.allowNull(at),transactionIndex:lt,removed:Formatter.allowNull(this.boolean.bind(this)),address:tt,data:Formatter.allowFalsish(it,"0x"),topics:Formatter.arrayOf(at),transactionHash:at,logIndex:lt},et}accessList(et){return accessListify(et||[])}number(et){return et==="0x"?0:BigNumber.from(et).toNumber()}type(et){return et==="0x"||et==null?0:BigNumber.from(et).toNumber()}bigNumber(et){return BigNumber.from(et)}boolean(et){if(typeof et=="boolean")return et;if(typeof et=="string"){if(et=et.toLowerCase(),et==="true")return!0;if(et==="false")return!1}throw new Error("invalid boolean - "+et)}hex(et,tt){return typeof et=="string"&&(!tt&&et.substring(0,2)!=="0x"&&(et="0x"+et),isHexString(et))?et.toLowerCase():logger$4.throwArgumentError("invalid hash","value",et)}data(et,tt){const rt=this.hex(et,tt);if(rt.length%2!==0)throw new Error("invalid data; odd-length - "+et);return rt}address(et){return getAddress$1(et)}callAddress(et){if(!isHexString(et,32))return null;const tt=getAddress$1(hexDataSlice(et,12));return tt===AddressZero?null:tt}contractAddress(et){return getContractAddress$1(et)}blockTag(et){if(et==null)return"latest";if(et==="earliest")return"0x0";switch(et){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return et}if(typeof et=="number"||isHexString(et))return hexValue(et);throw new Error("invalid blockTag")}hash(et,tt){const rt=this.hex(et,tt);return hexDataLength(rt)!==32?logger$4.throwArgumentError("invalid hash","value",et):rt}difficulty(et){if(et==null)return null;const tt=BigNumber.from(et);try{return tt.toNumber()}catch{}return null}uint256(et){if(!isHexString(et))throw new Error("invalid uint256");return hexZeroPad(et,32)}_block(et,tt){et.author!=null&&et.miner==null&&(et.miner=et.author);const rt=et._difficulty!=null?et._difficulty:et.difficulty,nt=Formatter.check(tt,et);return nt._difficulty=rt==null?null:BigNumber.from(rt),nt}block(et){return this._block(et,this.formats.block)}blockWithTransactions(et){return this._block(et,this.formats.blockWithTransactions)}transactionRequest(et){return Formatter.check(this.formats.transactionRequest,et)}transactionResponse(et){et.gas!=null&&et.gasLimit==null&&(et.gasLimit=et.gas),et.to&&BigNumber.from(et.to).isZero()&&(et.to="0x0000000000000000000000000000000000000000"),et.input!=null&&et.data==null&&(et.data=et.input),et.to==null&&et.creates==null&&(et.creates=this.contractAddress(et)),(et.type===1||et.type===2)&&et.accessList==null&&(et.accessList=[]);const tt=Formatter.check(this.formats.transaction,et);if(et.chainId!=null){let rt=et.chainId;isHexString(rt)&&(rt=BigNumber.from(rt).toNumber()),tt.chainId=rt}else{let rt=et.networkId;rt==null&&tt.v==null&&(rt=et.chainId),isHexString(rt)&&(rt=BigNumber.from(rt).toNumber()),typeof rt!="number"&&tt.v!=null&&(rt=(tt.v-35)/2,rt<0&&(rt=0),rt=parseInt(rt)),typeof rt!="number"&&(rt=0),tt.chainId=rt}return tt.blockHash&&tt.blockHash.replace(/0/g,"")==="x"&&(tt.blockHash=null),tt}transaction(et){return parse$2(et)}receiptLog(et){return Formatter.check(this.formats.receiptLog,et)}receipt(et){const tt=Formatter.check(this.formats.receipt,et);if(tt.root!=null)if(tt.root.length<=4){const rt=BigNumber.from(tt.root).toNumber();rt===0||rt===1?(tt.status!=null&&tt.status!==rt&&logger$4.throwArgumentError("alt-root-status/status mismatch","value",{root:tt.root,status:tt.status}),tt.status=rt,delete tt.root):logger$4.throwArgumentError("invalid alt-root-status","value.root",tt.root)}else tt.root.length!==66&&logger$4.throwArgumentError("invalid root hash","value.root",tt.root);return tt.status!=null&&(tt.byzantium=!0),tt}topics(et){return Array.isArray(et)?et.map(tt=>this.topics(tt)):et!=null?this.hash(et,!0):null}filter(et){return Formatter.check(this.formats.filter,et)}filterLog(et){return Formatter.check(this.formats.filterLog,et)}static check(et,tt){const rt={};for(const nt in et)try{const it=et[nt](tt[nt]);it!==void 0&&(rt[nt]=it)}catch(it){throw it.checkKey=nt,it.checkValue=tt[nt],it}return rt}static allowNull(et,tt){return function(rt){return rt==null?tt:et(rt)}}static allowFalsish(et,tt){return function(rt){return rt?et(rt):tt}}static arrayOf(et){return function(tt){if(!Array.isArray(tt))throw new Error("not an array");const rt=[];return tt.forEach(function(nt){rt.push(et(nt))}),rt}}}var __awaiter$1=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$3=new Logger(version$6),MAX_CCIP_REDIRECTS=10;function checkTopic(_e){return _e==null?"null":(hexDataLength(_e)!==32&&logger$3.throwArgumentError("invalid topic","topic",_e),_e.toLowerCase())}function serializeTopics(_e){for(_e=_e.slice();_e.length>0&&_e[_e.length-1]==null;)_e.pop();return _e.map(et=>{if(Array.isArray(et)){const tt={};et.forEach(nt=>{tt[checkTopic(nt)]=!0});const rt=Object.keys(tt);return rt.sort(),rt.join("|")}else return checkTopic(et)}).join("&")}function deserializeTopics(_e){return _e===""?[]:_e.split(/&/g).map(et=>{if(et==="")return[];const tt=et.split("|").map(rt=>rt==="null"?null:rt);return tt.length===1?tt[0]:tt})}function getEventTag(_e){if(typeof _e=="string"){if(_e=_e.toLowerCase(),hexDataLength(_e)===32)return"tx:"+_e;if(_e.indexOf(":")===-1)return _e}else{if(Array.isArray(_e))return"filter:*:"+serializeTopics(_e);if(ForkEvent.isForkEvent(_e))throw logger$3.warn("not implemented"),new Error("not implemented");if(_e&&typeof _e=="object")return"filter:"+(_e.address||"*")+":"+serializeTopics(_e.topics||[])}throw new Error("invalid event - "+_e)}function getTime(){return new Date().getTime()}function stall(_e){return new Promise(et=>{setTimeout(et,_e)})}const PollableEvents=["block","network","pending","poll"];let Event$1=class{constructor(et,tt,rt){defineReadOnly(this,"tag",et),defineReadOnly(this,"listener",tt),defineReadOnly(this,"once",rt),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 et=this.tag.split(":");return et[0]!=="tx"?null:et[1]}get filter(){const et=this.tag.split(":");if(et[0]!=="filter")return null;const tt=et[1],rt=deserializeTopics(et[2]),nt={};return rt.length>0&&(nt.topics=rt),tt&&tt!=="*"&&(nt.address=tt),nt}pollable(){return this.tag.indexOf(":")>=0||PollableEvents.indexOf(this.tag)>=0}};const coinInfos={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 bytes32ify(_e){return hexZeroPad(BigNumber.from(_e).toHexString(),32)}function base58Encode(_e){return Base58.encode(concat$1([_e,hexDataSlice(sha256$3(sha256$3(_e)),0,4)]))}const matcherIpfs=new RegExp("^(ipfs)://(.*)$","i"),matchers$1=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),matcherIpfs,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function _parseString(_e,et){try{return toUtf8String(_parseBytes(_e,et))}catch{}return null}function _parseBytes(_e,et){if(_e==="0x")return null;const tt=BigNumber.from(hexDataSlice(_e,et,et+32)).toNumber(),rt=BigNumber.from(hexDataSlice(_e,tt,tt+32)).toNumber();return hexDataSlice(_e,tt+32,tt+32+rt)}function getIpfsLink(_e){return _e.match(/^ipfs:\/\/ipfs\//i)?_e=_e.substring(12):_e.match(/^ipfs:\/\//i)?_e=_e.substring(7):logger$3.throwArgumentError("unsupported IPFS format","link",_e),`https://gateway.ipfs.io/ipfs/${_e}`}function numPad(_e){const et=arrayify(_e);if(et.length>32)throw new Error("internal; should not happen");const tt=new Uint8Array(32);return tt.set(et,32-et.length),tt}function bytesPad(_e){if(_e.length%32===0)return _e;const et=new Uint8Array(Math.ceil(_e.length/32)*32);return et.set(_e),et}function encodeBytes$1(_e){const et=[];let tt=0;for(let rt=0;rt<_e.length;rt++)et.push(null),tt+=32;for(let rt=0;rt<_e.length;rt++){const nt=arrayify(_e[rt]);et[rt]=numPad(tt),et.push(numPad(nt.length)),et.push(bytesPad(nt)),tt+=32+Math.ceil(nt.length/32)*32}return hexConcat(et)}class Resolver{constructor(et,tt,rt,nt){defineReadOnly(this,"provider",et),defineReadOnly(this,"name",rt),defineReadOnly(this,"address",et.formatter.address(tt)),defineReadOnly(this,"_resolvedAddress",nt)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then(et=>BigNumber.from(et).eq(1)).catch(et=>{if(et.code===Logger.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,et})),this._supportsEip2544}_fetch(et,tt){return __awaiter$1(this,void 0,void 0,function*(){const rt={to:this.address,ccipReadEnabled:!0,data:hexConcat([et,namehash$1(this.name),tt||"0x"])};let nt=!1;(yield this.supportsWildcard())&&(nt=!0,rt.data=hexConcat(["0x9061b923",encodeBytes$1([dnsEncode(this.name),rt.data])]));try{let it=yield this.provider.call(rt);return arrayify(it).length%32===4&&logger$3.throwError("resolver threw error",Logger.errors.CALL_EXCEPTION,{transaction:rt,data:it}),nt&&(it=_parseBytes(it,0)),it}catch(it){if(it.code===Logger.errors.CALL_EXCEPTION)return null;throw it}})}_fetchBytes(et,tt){return __awaiter$1(this,void 0,void 0,function*(){const rt=yield this._fetch(et,tt);return rt!=null?_parseBytes(rt,0):null})}_getAddress(et,tt){const rt=coinInfos[String(et)];if(rt==null&&logger$3.throwError(`unsupported coin type: ${et}`,Logger.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${et})`}),rt.ilk==="eth")return this.provider.formatter.address(tt);const nt=arrayify(tt);if(rt.p2pkh!=null){const it=tt.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(it){const at=parseInt(it[1],16);if(it[2].length===at*2&&at>=1&&at<=75)return base58Encode(concat$1([[rt.p2pkh],"0x"+it[2]]))}}if(rt.p2sh!=null){const it=tt.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(it){const at=parseInt(it[1],16);if(it[2].length===at*2&&at>=1&&at<=75)return base58Encode(concat$1([[rt.p2sh],"0x"+it[2]]))}}if(rt.prefix!=null){const it=nt[1];let at=nt[0];if(at===0?it!==20&&it!==32&&(at=-1):at=-1,at>=0&&nt.length===2+it&&it>=1&&it<=75){const st=bech32$1.toWords(nt.slice(2));return st.unshift(at),bech32$1.encode(rt.prefix,st)}}return null}getAddress(et){return __awaiter$1(this,void 0,void 0,function*(){if(et==null&&(et=60),et===60)try{const nt=yield this._fetch("0x3b3b57de");return nt==="0x"||nt===HashZero?null:this.provider.formatter.callAddress(nt)}catch(nt){if(nt.code===Logger.errors.CALL_EXCEPTION)return null;throw nt}const tt=yield this._fetchBytes("0xf1cb7e06",bytes32ify(et));if(tt==null||tt==="0x")return null;const rt=this._getAddress(et,tt);return rt==null&&logger$3.throwError("invalid or unsupported coin data",Logger.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${et})`,coinType:et,data:tt}),rt})}getAvatar(){return __awaiter$1(this,void 0,void 0,function*(){const et=[{type:"name",content:this.name}];try{const tt=yield this.getText("avatar");if(tt==null)return null;for(let rt=0;rtat[lt])}return logger$3.throwError("invalid or unsupported content hash data",Logger.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:et})})}getText(et){return __awaiter$1(this,void 0,void 0,function*(){let tt=toUtf8Bytes(et);tt=concat$1([bytes32ify(64),bytes32ify(tt.length),tt]),tt.length%32!==0&&(tt=concat$1([tt,hexZeroPad("0x",32-et.length%32)]));const rt=yield this._fetchBytes("0x59d1d43c",hexlify(tt));return rt==null||rt==="0x"?null:toUtf8String(rt)})}}let defaultFormatter=null,nextPollId=1;class BaseProvider extends Provider{constructor(et){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),defineReadOnly(this,"anyNetwork",et==="any"),this.anyNetwork&&(et=this.detectNetwork()),et instanceof Promise)this._networkPromise=et,et.catch(tt=>{}),this._ready().catch(tt=>{});else{const tt=getStatic(new.target,"getNetwork")(et);tt?(defineReadOnly(this,"_network",tt),this.emit("network",tt,null)):logger$3.throwArgumentError("invalid network","network",et)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return __awaiter$1(this,void 0,void 0,function*(){if(this._network==null){let et=null;if(this._networkPromise)try{et=yield this._networkPromise}catch{}et==null&&(et=yield this.detectNetwork()),et||logger$3.throwError("no network detected",Logger.errors.UNKNOWN_ERROR,{}),this._network==null&&(this.anyNetwork?this._network=et:defineReadOnly(this,"_network",et),this.emit("network",et,null))}return this._network})}get ready(){return poll$1(()=>this._ready().then(et=>et,et=>{if(!(et.code===Logger.errors.NETWORK_ERROR&&et.event==="noNetwork"))throw et}))}static getFormatter(){return defaultFormatter==null&&(defaultFormatter=new Formatter),defaultFormatter}static getNetwork(et){return getNetwork(et??"homestead")}ccipReadFetch(et,tt,rt){return __awaiter$1(this,void 0,void 0,function*(){if(this.disableCcipRead||rt.length===0)return null;const nt=et.to.toLowerCase(),it=tt.toLowerCase(),at=[];for(let st=0;st=0?null:JSON.stringify({data:it,sender:nt}),pt=yield fetchJson({url:dt,errorPassThrough:!0},ht,(gt,vt)=>(gt.status=vt.statusCode,gt));if(pt.data)return pt.data;const mt=pt.message||"unknown error";if(pt.status>=400&&pt.status<500)return logger$3.throwError(`response not found during CCIP fetch: ${mt}`,Logger.errors.SERVER_ERROR,{url:lt,errorMessage:mt});at.push(mt)}return logger$3.throwError(`error encountered during CCIP fetch: ${at.map(st=>JSON.stringify(st)).join(", ")}`,Logger.errors.SERVER_ERROR,{urls:rt,errorMessages:at})})}_getInternalBlockNumber(et){return __awaiter$1(this,void 0,void 0,function*(){if(yield this._ready(),et>0)for(;this._internalBlockNumber;){const nt=this._internalBlockNumber;try{const it=yield nt;if(getTime()-it.respTime<=et)return it.blockNumber;break}catch{if(this._internalBlockNumber===nt)break}}const tt=getTime(),rt=resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(nt=>null,nt=>nt)}).then(({blockNumber:nt,networkError:it})=>{if(it)throw this._internalBlockNumber===rt&&(this._internalBlockNumber=null),it;const at=getTime();return nt=BigNumber.from(nt).toNumber(),nt{this._internalBlockNumber===rt&&(this._internalBlockNumber=null)}),(yield rt).blockNumber})}poll(){return __awaiter$1(this,void 0,void 0,function*(){const et=nextPollId++,tt=[];let rt=null;try{rt=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(nt){this.emit("error",nt);return}if(this._setFastBlockNumber(rt),this.emit("poll",et,rt),rt===this._lastBlockNumber){this.emit("didPoll",et);return}if(this._emitted.block===-2&&(this._emitted.block=rt-1),Math.abs(this._emitted.block-rt)>1e3)logger$3.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${rt})`),this.emit("error",logger$3.makeError("network block skew detected",Logger.errors.NETWORK_ERROR,{blockNumber:rt,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",rt);else for(let nt=this._emitted.block+1;nt<=rt;nt++)this.emit("block",nt);this._emitted.block!==rt&&(this._emitted.block=rt,Object.keys(this._emitted).forEach(nt=>{if(nt==="block")return;const it=this._emitted[nt];it!=="pending"&&rt-it>12&&delete this._emitted[nt]})),this._lastBlockNumber===-2&&(this._lastBlockNumber=rt-1),this._events.forEach(nt=>{switch(nt.type){case"tx":{const it=nt.hash;let at=this.getTransactionReceipt(it).then(st=>(!st||st.blockNumber==null||(this._emitted["t:"+it]=st.blockNumber,this.emit(it,st)),null)).catch(st=>{this.emit("error",st)});tt.push(at);break}case"filter":{if(!nt._inflight){nt._inflight=!0,nt._lastBlockNumber===-2&&(nt._lastBlockNumber=rt-1);const it=nt.filter;it.fromBlock=nt._lastBlockNumber+1,it.toBlock=rt;const at=it.toBlock-this._maxFilterBlockRange;at>it.fromBlock&&(it.fromBlock=at),it.fromBlock<0&&(it.fromBlock=0);const st=this.getLogs(it).then(lt=>{nt._inflight=!1,lt.length!==0&<.forEach(dt=>{dt.blockNumber>nt._lastBlockNumber&&(nt._lastBlockNumber=dt.blockNumber),this._emitted["b:"+dt.blockHash]=dt.blockNumber,this._emitted["t:"+dt.transactionHash]=dt.blockNumber,this.emit(it,dt)})}).catch(lt=>{this.emit("error",lt),nt._inflight=!1});tt.push(st)}break}}}),this._lastBlockNumber=rt,Promise.all(tt).then(()=>{this.emit("didPoll",et)}).catch(nt=>{this.emit("error",nt)})})}resetEventsBlock(et){this._lastBlockNumber=et-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return __awaiter$1(this,void 0,void 0,function*(){return logger$3.throwError("provider does not support network detection",Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return __awaiter$1(this,void 0,void 0,function*(){const et=yield this._ready(),tt=yield this.detectNetwork();if(et.chainId!==tt.chainId){if(this.anyNetwork)return this._network=tt,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",tt,et),yield stall(0),this._network;const rt=logger$3.makeError("underlying network changed",Logger.errors.NETWORK_ERROR,{event:"changed",network:et,detectedNetwork:tt});throw this.emit("error",rt),rt}return et})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(et=>{this._setFastBlockNumber(et)},et=>{}),this._fastBlockNumber!=null?this._fastBlockNumber:-1}get polling(){return this._poller!=null}set polling(et){et&&!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))):!et&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(et){if(typeof et!="number"||et<=0||parseInt(String(et))!=et)throw new Error("invalid polling interval");this._pollingInterval=et,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const et=getTime();return et-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=et,this._fastBlockNumberPromise=this.getBlockNumber().then(tt=>((this._fastBlockNumber==null||tt>this._fastBlockNumber)&&(this._fastBlockNumber=tt),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(et){this._fastBlockNumber!=null&&etthis._fastBlockNumber)&&(this._fastBlockNumber=et,this._fastBlockNumberPromise=Promise.resolve(et)))}waitForTransaction(et,tt,rt){return __awaiter$1(this,void 0,void 0,function*(){return this._waitForTransaction(et,tt??1,rt||0,null)})}_waitForTransaction(et,tt,rt,nt){return __awaiter$1(this,void 0,void 0,function*(){const it=yield this.getTransactionReceipt(et);return(it?it.confirmations:0)>=tt?it:new Promise((at,st)=>{const lt=[];let dt=!1;const ht=function(){return dt?!0:(dt=!0,lt.forEach(mt=>{mt()}),!1)},pt=mt=>{mt.confirmations{this.removeListener(et,pt)}),nt){let mt=nt.startBlock,gt=null;const vt=bt=>__awaiter$1(this,void 0,void 0,function*(){dt||(yield stall(1e3),this.getTransactionCount(nt.from).then(yt=>__awaiter$1(this,void 0,void 0,function*(){if(!dt){if(yt<=nt.nonce)mt=bt;else{{const xt=yield this.getTransaction(et);if(xt&&xt.blockNumber!=null)return}for(gt==null&&(gt=mt-3,gt{dt||this.once("block",vt)}))});if(dt)return;this.once("block",vt),lt.push(()=>{this.removeListener("block",vt)})}if(typeof rt=="number"&&rt>0){const mt=setTimeout(()=>{ht()||st(logger$3.makeError("timeout exceeded",Logger.errors.TIMEOUT,{timeout:rt}))},rt);mt.unref&&mt.unref(),lt.push(()=>{clearTimeout(mt)})}})})}getBlockNumber(){return __awaiter$1(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const et=yield this.perform("getGasPrice",{});try{return BigNumber.from(et)}catch(tt){return logger$3.throwError("bad result from backend",Logger.errors.SERVER_ERROR,{method:"getGasPrice",result:et,error:tt})}})}getBalance(et,tt){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const rt=yield resolveProperties({address:this._getAddress(et),blockTag:this._getBlockTag(tt)}),nt=yield this.perform("getBalance",rt);try{return BigNumber.from(nt)}catch(it){return logger$3.throwError("bad result from backend",Logger.errors.SERVER_ERROR,{method:"getBalance",params:rt,result:nt,error:it})}})}getTransactionCount(et,tt){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const rt=yield resolveProperties({address:this._getAddress(et),blockTag:this._getBlockTag(tt)}),nt=yield this.perform("getTransactionCount",rt);try{return BigNumber.from(nt).toNumber()}catch(it){return logger$3.throwError("bad result from backend",Logger.errors.SERVER_ERROR,{method:"getTransactionCount",params:rt,result:nt,error:it})}})}getCode(et,tt){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const rt=yield resolveProperties({address:this._getAddress(et),blockTag:this._getBlockTag(tt)}),nt=yield this.perform("getCode",rt);try{return hexlify(nt)}catch(it){return logger$3.throwError("bad result from backend",Logger.errors.SERVER_ERROR,{method:"getCode",params:rt,result:nt,error:it})}})}getStorageAt(et,tt,rt){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const nt=yield resolveProperties({address:this._getAddress(et),blockTag:this._getBlockTag(rt),position:Promise.resolve(tt).then(at=>hexValue(at))}),it=yield this.perform("getStorageAt",nt);try{return hexlify(it)}catch(at){return logger$3.throwError("bad result from backend",Logger.errors.SERVER_ERROR,{method:"getStorageAt",params:nt,result:it,error:at})}})}_wrapTransaction(et,tt,rt){if(tt!=null&&hexDataLength(tt)!==32)throw new Error("invalid response - sendTransaction");const nt=et;return tt!=null&&et.hash!==tt&&logger$3.throwError("Transaction hash mismatch from Provider.sendTransaction.",Logger.errors.UNKNOWN_ERROR,{expectedHash:et.hash,returnedHash:tt}),nt.wait=(it,at)=>__awaiter$1(this,void 0,void 0,function*(){it==null&&(it=1),at==null&&(at=0);let st;it!==0&&rt!=null&&(st={data:et.data,from:et.from,nonce:et.nonce,to:et.to,value:et.value,startBlock:rt});const lt=yield this._waitForTransaction(et.hash,it,at,st);return lt==null&&it===0?null:(this._emitted["t:"+et.hash]=lt.blockNumber,lt.status===0&&logger$3.throwError("transaction failed",Logger.errors.CALL_EXCEPTION,{transactionHash:et.hash,transaction:et,receipt:lt}),lt)}),nt}sendTransaction(et){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const tt=yield Promise.resolve(et).then(it=>hexlify(it)),rt=this.formatter.transaction(et);rt.confirmations==null&&(rt.confirmations=0);const nt=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const it=yield this.perform("sendTransaction",{signedTransaction:tt});return this._wrapTransaction(rt,it,nt)}catch(it){throw it.transaction=rt,it.transactionHash=rt.hash,it}})}_getTransactionRequest(et){return __awaiter$1(this,void 0,void 0,function*(){const tt=yield et,rt={};return["from","to"].forEach(nt=>{tt[nt]!=null&&(rt[nt]=Promise.resolve(tt[nt]).then(it=>it?this._getAddress(it):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(nt=>{tt[nt]!=null&&(rt[nt]=Promise.resolve(tt[nt]).then(it=>it?BigNumber.from(it):null))}),["type"].forEach(nt=>{tt[nt]!=null&&(rt[nt]=Promise.resolve(tt[nt]).then(it=>it??null))}),tt.accessList&&(rt.accessList=this.formatter.accessList(tt.accessList)),["data"].forEach(nt=>{tt[nt]!=null&&(rt[nt]=Promise.resolve(tt[nt]).then(it=>it?hexlify(it):null))}),this.formatter.transactionRequest(yield resolveProperties(rt))})}_getFilter(et){return __awaiter$1(this,void 0,void 0,function*(){et=yield et;const tt={};return et.address!=null&&(tt.address=this._getAddress(et.address)),["blockHash","topics"].forEach(rt=>{et[rt]!=null&&(tt[rt]=et[rt])}),["fromBlock","toBlock"].forEach(rt=>{et[rt]!=null&&(tt[rt]=this._getBlockTag(et[rt]))}),this.formatter.filter(yield resolveProperties(tt))})}_call(et,tt,rt){return __awaiter$1(this,void 0,void 0,function*(){rt>=MAX_CCIP_REDIRECTS&&logger$3.throwError("CCIP read exceeded maximum redirections",Logger.errors.SERVER_ERROR,{redirects:rt,transaction:et});const nt=et.to,it=yield this.perform("call",{transaction:et,blockTag:tt});if(rt>=0&&tt==="latest"&&nt!=null&&it.substring(0,10)==="0x556f1830"&&hexDataLength(it)%32===4)try{const at=hexDataSlice(it,4),st=hexDataSlice(at,0,32);BigNumber.from(st).eq(nt)||logger$3.throwError("CCIP Read sender did not match",Logger.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:et,data:it});const lt=[],dt=BigNumber.from(hexDataSlice(at,32,64)).toNumber(),ht=BigNumber.from(hexDataSlice(at,dt,dt+32)).toNumber(),pt=hexDataSlice(at,dt+32);for(let xt=0;xt__awaiter$1(this,void 0,void 0,function*(){const it=yield this.perform("getBlock",nt);if(it==null)return nt.blockHash!=null&&this._emitted["b:"+nt.blockHash]==null||nt.blockTag!=null&&rt>this._emitted.block?null:void 0;if(tt){let at=null;for(let lt=0;ltthis._wrapTransaction(lt)),st}return this.formatter.block(it)}),{oncePoll:this})})}getBlock(et){return this._getBlock(et,!1)}getBlockWithTransactions(et){return this._getBlock(et,!0)}getTransaction(et){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork(),et=yield et;const tt={transactionHash:this.formatter.hash(et,!0)};return poll$1(()=>__awaiter$1(this,void 0,void 0,function*(){const rt=yield this.perform("getTransaction",tt);if(rt==null)return this._emitted["t:"+et]==null?null:void 0;const nt=this.formatter.transactionResponse(rt);if(nt.blockNumber==null)nt.confirmations=0;else if(nt.confirmations==null){let at=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-nt.blockNumber+1;at<=0&&(at=1),nt.confirmations=at}return this._wrapTransaction(nt)}),{oncePoll:this})})}getTransactionReceipt(et){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork(),et=yield et;const tt={transactionHash:this.formatter.hash(et,!0)};return poll$1(()=>__awaiter$1(this,void 0,void 0,function*(){const rt=yield this.perform("getTransactionReceipt",tt);if(rt==null)return this._emitted["t:"+et]==null?null:void 0;if(rt.blockHash==null)return;const nt=this.formatter.receipt(rt);if(nt.blockNumber==null)nt.confirmations=0;else if(nt.confirmations==null){let at=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-nt.blockNumber+1;at<=0&&(at=1),nt.confirmations=at}return nt}),{oncePoll:this})})}getLogs(et){return __awaiter$1(this,void 0,void 0,function*(){yield this.getNetwork();const tt=yield resolveProperties({filter:this._getFilter(et)}),rt=yield this.perform("getLogs",tt);return rt.forEach(nt=>{nt.removed==null&&(nt.removed=!1)}),Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(rt)})}getEtherPrice(){return __awaiter$1(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(et){return __awaiter$1(this,void 0,void 0,function*(){if(et=yield et,typeof et=="number"&&et<0){et%1&&logger$3.throwArgumentError("invalid BlockTag","blockTag",et);let tt=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return tt+=et,tt<0&&(tt=0),this.formatter.blockTag(tt)}return this.formatter.blockTag(et)})}getResolver(et){return __awaiter$1(this,void 0,void 0,function*(){let tt=et;for(;;){if(tt===""||tt==="."||et!=="eth"&&tt==="eth")return null;const rt=yield this._getResolver(tt,"getResolver");if(rt!=null){const nt=new Resolver(this,rt,et);return tt!==et&&!(yield nt.supportsWildcard())?null:nt}tt=tt.split(".").slice(1).join(".")}})}_getResolver(et,tt){return __awaiter$1(this,void 0,void 0,function*(){tt==null&&(tt="ENS");const rt=yield this.getNetwork();rt.ensAddress||logger$3.throwError("network does not support ENS",Logger.errors.UNSUPPORTED_OPERATION,{operation:tt,network:rt.name});try{const nt=yield this.call({to:rt.ensAddress,data:"0x0178b8bf"+namehash$1(et).substring(2)});return this.formatter.callAddress(nt)}catch{}return null})}resolveName(et){return __awaiter$1(this,void 0,void 0,function*(){et=yield et;try{return Promise.resolve(this.formatter.address(et))}catch(rt){if(isHexString(et))throw rt}typeof et!="string"&&logger$3.throwArgumentError("invalid ENS name","name",et);const tt=yield this.getResolver(et);return tt?yield tt.getAddress():null})}lookupAddress(et){return __awaiter$1(this,void 0,void 0,function*(){et=yield et,et=this.formatter.address(et);const tt=et.substring(2).toLowerCase()+".addr.reverse",rt=yield this._getResolver(tt,"lookupAddress");if(rt==null)return null;const nt=_parseString(yield this.call({to:rt,data:"0x691f3431"+namehash$1(tt).substring(2)}),0);return(yield this.resolveName(nt))!=et?null:nt})}getAvatar(et){return __awaiter$1(this,void 0,void 0,function*(){let tt=null;if(isHexString(et)){const it=this.formatter.address(et).substring(2).toLowerCase()+".addr.reverse",at=yield this._getResolver(it,"getAvatar");if(!at)return null;tt=new Resolver(this,at,it);try{const st=yield tt.getAvatar();if(st)return st.url}catch(st){if(st.code!==Logger.errors.CALL_EXCEPTION)throw st}try{const st=_parseString(yield this.call({to:at,data:"0x691f3431"+namehash$1(it).substring(2)}),0);tt=yield this.getResolver(st)}catch(st){if(st.code!==Logger.errors.CALL_EXCEPTION)throw st;return null}}else if(tt=yield this.getResolver(et),!tt)return null;const rt=yield tt.getAvatar();return rt==null?null:rt.url})}perform(et,tt){return logger$3.throwError(et+" not implemented",Logger.errors.NOT_IMPLEMENTED,{operation:et})}_startEvent(et){this.polling=this._events.filter(tt=>tt.pollable()).length>0}_stopEvent(et){this.polling=this._events.filter(tt=>tt.pollable()).length>0}_addEventListener(et,tt,rt){const nt=new Event$1(getEventTag(et),tt,rt);return this._events.push(nt),this._startEvent(nt),this}on(et,tt){return this._addEventListener(et,tt,!1)}once(et,tt){return this._addEventListener(et,tt,!0)}emit(et,...tt){let rt=!1,nt=[],it=getEventTag(et);return this._events=this._events.filter(at=>at.tag!==it?!0:(setTimeout(()=>{at.listener.apply(this,tt)},0),rt=!0,at.once?(nt.push(at),!1):!0)),nt.forEach(at=>{this._stopEvent(at)}),rt}listenerCount(et){if(!et)return this._events.length;let tt=getEventTag(et);return this._events.filter(rt=>rt.tag===tt).length}listeners(et){if(et==null)return this._events.map(rt=>rt.listener);let tt=getEventTag(et);return this._events.filter(rt=>rt.tag===tt).map(rt=>rt.listener)}off(et,tt){if(tt==null)return this.removeAllListeners(et);const rt=[];let nt=!1,it=getEventTag(et);return this._events=this._events.filter(at=>at.tag!==it||at.listener!=tt||nt?!0:(nt=!0,rt.push(at),!1)),rt.forEach(at=>{this._stopEvent(at)}),this}removeAllListeners(et){let tt=[];if(et==null)tt=this._events,this._events=[];else{const rt=getEventTag(et);this._events=this._events.filter(nt=>nt.tag!==rt?!0:(tt.push(nt),!1))}return tt.forEach(rt=>{this._stopEvent(rt)}),this}}var __awaiter=globalThis&&globalThis.__awaiter||function(_e,et,tt,rt){function nt(it){return it instanceof tt?it:new tt(function(at){at(it)})}return new(tt||(tt=Promise))(function(it,at){function st(ht){try{dt(rt.next(ht))}catch(pt){at(pt)}}function lt(ht){try{dt(rt.throw(ht))}catch(pt){at(pt)}}function dt(ht){ht.done?it(ht.value):nt(ht.value).then(st,lt)}dt((rt=rt.apply(_e,et||[])).next())})};const logger$2=new Logger(version$6),errorGas=["call","estimateGas"];function spelunk(_e,et){if(_e==null)return null;if(typeof _e.message=="string"&&_e.message.match("reverted")){const tt=isHexString(_e.data)?_e.data:null;if(!et||tt)return{message:_e.message,data:tt}}if(typeof _e=="object"){for(const tt in _e){const rt=spelunk(_e[tt],et);if(rt)return rt}return null}if(typeof _e=="string")try{return spelunk(JSON.parse(_e),et)}catch{}return null}function checkError(_e,et,tt){const rt=tt.transaction||tt.signedTransaction;if(_e==="call"){const it=spelunk(et,!0);if(it)return it.data;logger$2.throwError("missing revert data in call exception; Transaction reverted without a reason string",Logger.errors.CALL_EXCEPTION,{data:"0x",transaction:rt,error:et})}if(_e==="estimateGas"){let it=spelunk(et.body,!1);it==null&&(it=spelunk(et,!1)),it&&logger$2.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",Logger.errors.UNPREDICTABLE_GAS_LIMIT,{reason:it.message,method:_e,transaction:rt,error:et})}let nt=et.message;throw et.code===Logger.errors.SERVER_ERROR&&et.error&&typeof et.error.message=="string"?nt=et.error.message:typeof et.body=="string"?nt=et.body:typeof et.responseText=="string"&&(nt=et.responseText),nt=(nt||"").toLowerCase(),nt.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&logger$2.throwError("insufficient funds for intrinsic transaction cost",Logger.errors.INSUFFICIENT_FUNDS,{error:et,method:_e,transaction:rt}),nt.match(/nonce (is )?too low/i)&&logger$2.throwError("nonce has already been used",Logger.errors.NONCE_EXPIRED,{error:et,method:_e,transaction:rt}),nt.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&logger$2.throwError("replacement fee too low",Logger.errors.REPLACEMENT_UNDERPRICED,{error:et,method:_e,transaction:rt}),nt.match(/only replay-protected/i)&&logger$2.throwError("legacy pre-eip-155 transactions not supported",Logger.errors.UNSUPPORTED_OPERATION,{error:et,method:_e,transaction:rt}),errorGas.indexOf(_e)>=0&&nt.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&logger$2.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:et,method:_e,transaction:rt}),et}function timer(_e){return new Promise(function(et){setTimeout(et,_e)})}function getResult(_e){if(_e.error){const et=new Error(_e.error.message);throw et.code=_e.error.code,et.data=_e.error.data,et}return _e.result}function getLowerCase(_e){return _e&&_e.toLowerCase()}const _constructorGuard={};class JsonRpcSigner extends Signer{constructor(et,tt,rt){if(super(),et!==_constructorGuard)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");defineReadOnly(this,"provider",tt),rt==null&&(rt=0),typeof rt=="string"?(defineReadOnly(this,"_address",this.provider.formatter.address(rt)),defineReadOnly(this,"_index",null)):typeof rt=="number"?(defineReadOnly(this,"_index",rt),defineReadOnly(this,"_address",null)):logger$2.throwArgumentError("invalid address or index","addressOrIndex",rt)}connect(et){return logger$2.throwError("cannot alter JSON-RPC Signer connection",Logger.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new UncheckedJsonRpcSigner(_constructorGuard,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(et=>(et.length<=this._index&&logger$2.throwError("unknown account #"+this._index,Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(et[this._index])))}sendUncheckedTransaction(et){et=shallowCopy(et);const tt=this.getAddress().then(rt=>(rt&&(rt=rt.toLowerCase()),rt));if(et.gasLimit==null){const rt=shallowCopy(et);rt.from=tt,et.gasLimit=this.provider.estimateGas(rt)}return et.to!=null&&(et.to=Promise.resolve(et.to).then(rt=>__awaiter(this,void 0,void 0,function*(){if(rt==null)return null;const nt=yield this.provider.resolveName(rt);return nt==null&&logger$2.throwArgumentError("provided ENS name resolves to null","tx.to",rt),nt}))),resolveProperties({tx:resolveProperties(et),sender:tt}).then(({tx:rt,sender:nt})=>{rt.from!=null?rt.from.toLowerCase()!==nt&&logger$2.throwArgumentError("from address mismatch","transaction",et):rt.from=nt;const it=this.provider.constructor.hexlifyTransaction(rt,{from:!0});return this.provider.send("eth_sendTransaction",[it]).then(at=>at,at=>(typeof at.message=="string"&&at.message.match(/user denied/i)&&logger$2.throwError("user rejected transaction",Logger.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:rt}),checkError("sendTransaction",at,it)))})}signTransaction(et){return logger$2.throwError("signing transactions is unsupported",Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(et){return __awaiter(this,void 0,void 0,function*(){const tt=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),rt=yield this.sendUncheckedTransaction(et);try{return yield poll$1(()=>__awaiter(this,void 0,void 0,function*(){const nt=yield this.provider.getTransaction(rt);if(nt!==null)return this.provider._wrapTransaction(nt,rt,tt)}),{oncePoll:this.provider})}catch(nt){throw nt.transactionHash=rt,nt}})}signMessage(et){return __awaiter(this,void 0,void 0,function*(){const tt=typeof et=="string"?toUtf8Bytes(et):et,rt=yield this.getAddress();try{return yield this.provider.send("personal_sign",[hexlify(tt),rt.toLowerCase()])}catch(nt){throw typeof nt.message=="string"&&nt.message.match(/user denied/i)&&logger$2.throwError("user rejected signing",Logger.errors.ACTION_REJECTED,{action:"signMessage",from:rt,messageData:et}),nt}})}_legacySignMessage(et){return __awaiter(this,void 0,void 0,function*(){const tt=typeof et=="string"?toUtf8Bytes(et):et,rt=yield this.getAddress();try{return yield this.provider.send("eth_sign",[rt.toLowerCase(),hexlify(tt)])}catch(nt){throw typeof nt.message=="string"&&nt.message.match(/user denied/i)&&logger$2.throwError("user rejected signing",Logger.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:rt,messageData:et}),nt}})}_signTypedData(et,tt,rt){return __awaiter(this,void 0,void 0,function*(){const nt=yield TypedDataEncoder.resolveNames(et,tt,rt,at=>this.provider.resolveName(at)),it=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[it.toLowerCase(),JSON.stringify(TypedDataEncoder.getPayload(nt.domain,tt,nt.value))])}catch(at){throw typeof at.message=="string"&&at.message.match(/user denied/i)&&logger$2.throwError("user rejected signing",Logger.errors.ACTION_REJECTED,{action:"_signTypedData",from:it,messageData:{domain:nt.domain,types:tt,value:nt.value}}),at}})}unlock(et){return __awaiter(this,void 0,void 0,function*(){const tt=this.provider,rt=yield this.getAddress();return tt.send("personal_unlockAccount",[rt.toLowerCase(),et,null])})}}class UncheckedJsonRpcSigner extends JsonRpcSigner{sendTransaction(et){return this.sendUncheckedTransaction(et).then(tt=>({hash:tt,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:rt=>this.provider.waitForTransaction(tt,rt)}))}}const allowedTransactionKeys={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class JsonRpcProvider extends BaseProvider{constructor(et,tt){let rt=tt;rt==null&&(rt=new Promise((nt,it)=>{setTimeout(()=>{this.detectNetwork().then(at=>{nt(at)},at=>{it(at)})},0)})),super(rt),et||(et=getStatic(this.constructor,"defaultUrl")()),typeof et=="string"?defineReadOnly(this,"connection",Object.freeze({url:et})):defineReadOnly(this,"connection",Object.freeze(shallowCopy(et))),this._nextId=42}get _cache(){return this._eventLoopCache==null&&(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 __awaiter(this,void 0,void 0,function*(){yield timer(0);let et=null;try{et=yield this.send("eth_chainId",[])}catch{try{et=yield this.send("net_version",[])}catch{}}if(et!=null){const tt=getStatic(this.constructor,"getNetwork");try{return tt(BigNumber.from(et).toNumber())}catch(rt){return logger$2.throwError("could not detect network",Logger.errors.NETWORK_ERROR,{chainId:et,event:"invalidNetwork",serverError:rt})}}return logger$2.throwError("could not detect network",Logger.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(et){return new JsonRpcSigner(_constructorGuard,this,et)}getUncheckedSigner(et){return this.getSigner(et).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(et=>et.map(tt=>this.formatter.address(tt)))}send(et,tt){const rt={method:et,params:tt,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:deepCopy(rt),provider:this});const nt=["eth_chainId","eth_blockNumber"].indexOf(et)>=0;if(nt&&this._cache[et])return this._cache[et];const it=fetchJson(this.connection,JSON.stringify(rt),getResult).then(at=>(this.emit("debug",{action:"response",request:rt,response:at,provider:this}),at),at=>{throw this.emit("debug",{action:"response",error:at,request:rt,provider:this}),at});return nt&&(this._cache[et]=it,setTimeout(()=>{this._cache[et]=null},0)),it}prepareRequest(et,tt){switch(et){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[getLowerCase(tt.address),tt.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[getLowerCase(tt.address),tt.blockTag]];case"getCode":return["eth_getCode",[getLowerCase(tt.address),tt.blockTag]];case"getStorageAt":return["eth_getStorageAt",[getLowerCase(tt.address),hexZeroPad(tt.position,32),tt.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[tt.signedTransaction]];case"getBlock":return tt.blockTag?["eth_getBlockByNumber",[tt.blockTag,!!tt.includeTransactions]]:tt.blockHash?["eth_getBlockByHash",[tt.blockHash,!!tt.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[tt.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[tt.transactionHash]];case"call":return["eth_call",[getStatic(this.constructor,"hexlifyTransaction")(tt.transaction,{from:!0}),tt.blockTag]];case"estimateGas":return["eth_estimateGas",[getStatic(this.constructor,"hexlifyTransaction")(tt.transaction,{from:!0})]];case"getLogs":return tt.filter&&tt.filter.address!=null&&(tt.filter.address=getLowerCase(tt.filter.address)),["eth_getLogs",[tt.filter]]}return null}perform(et,tt){return __awaiter(this,void 0,void 0,function*(){if(et==="call"||et==="estimateGas"){const nt=tt.transaction;if(nt&&nt.type!=null&&BigNumber.from(nt.type).isZero()&&nt.maxFeePerGas==null&&nt.maxPriorityFeePerGas==null){const it=yield this.getFeeData();it.maxFeePerGas==null&&it.maxPriorityFeePerGas==null&&(tt=shallowCopy(tt),tt.transaction=shallowCopy(nt),delete tt.transaction.type)}}const rt=this.prepareRequest(et,tt);rt==null&&logger$2.throwError(et+" not implemented",Logger.errors.NOT_IMPLEMENTED,{operation:et});try{return yield this.send(rt[0],rt[1])}catch(nt){return checkError(et,nt,tt)}})}_startEvent(et){et.tag==="pending"&&this._startPending(),super._startEvent(et)}_startPending(){if(this._pendingFilter!=null)return;const et=this,tt=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=tt,tt.then(function(rt){function nt(){et.send("eth_getFilterChanges",[rt]).then(function(it){if(et._pendingFilter!=tt)return null;let at=Promise.resolve();return it.forEach(function(st){et._emitted["t:"+st.toLowerCase()]="pending",at=at.then(function(){return et.getTransaction(st).then(function(lt){return et.emit("pending",lt),null})})}),at.then(function(){return timer(1e3)})}).then(function(){if(et._pendingFilter!=tt){et.send("eth_uninstallFilter",[rt]);return}return setTimeout(function(){nt()},0),null}).catch(it=>{})}return nt(),rt}).catch(rt=>{})}_stopEvent(et){et.tag==="pending"&&this.listenerCount("pending")===0&&(this._pendingFilter=null),super._stopEvent(et)}static hexlifyTransaction(et,tt){const rt=shallowCopy(allowedTransactionKeys);if(tt)for(const it in tt)tt[it]&&(rt[it]=!0);checkProperties(et,rt);const nt={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(it){if(et[it]==null)return;const at=hexValue(BigNumber.from(et[it]));it==="gasLimit"&&(it="gas"),nt[it]=at}),["from","to","data"].forEach(function(it){et[it]!=null&&(nt[it]=hexlify(et[it]))}),et.accessList&&(nt.accessList=accessListify(et.accessList)),nt}}const version$5="solidity/5.7.0",regexBytes=new RegExp("^bytes([0-9]+)$"),regexNumber=new RegExp("^(u?int)([0-9]*)$"),regexArray=new RegExp("^(.*)\\[([0-9]*)\\]$"),Zeros="0000000000000000000000000000000000000000000000000000000000000000",logger$1=new Logger(version$5);function _pack(_e,et,tt){switch(_e){case"address":return tt?zeroPad(et,32):arrayify(et);case"string":return toUtf8Bytes(et);case"bytes":return arrayify(et);case"bool":return et=et?"0x01":"0x00",tt?zeroPad(et,32):arrayify(et)}let rt=_e.match(regexNumber);if(rt){let nt=parseInt(rt[2]||"256");return(rt[2]&&String(nt)!==rt[2]||nt%8!==0||nt===0||nt>256)&&logger$1.throwArgumentError("invalid number type","type",_e),tt&&(nt=256),et=BigNumber.from(et).toTwos(nt),zeroPad(et,nt/8)}if(rt=_e.match(regexBytes),rt){const nt=parseInt(rt[1]);return(String(nt)!==rt[1]||nt===0||nt>32)&&logger$1.throwArgumentError("invalid bytes type","type",_e),arrayify(et).byteLength!==nt&&logger$1.throwArgumentError(`invalid value for ${_e}`,"value",et),tt?arrayify((et+Zeros).substring(0,66)):et}if(rt=_e.match(regexArray),rt&&Array.isArray(et)){const nt=rt[1];parseInt(rt[2]||String(et.length))!=et.length&&logger$1.throwArgumentError(`invalid array length for ${_e}`,"value",et);const at=[];return et.forEach(function(st){at.push(_pack(nt,st,!0))}),concat$1(at)}return logger$1.throwArgumentError("invalid type","type",_e)}function pack(_e,et){_e.length!=et.length&&logger$1.throwArgumentError("wrong number of values; expected ${ types.length }","values",et);const tt=[];return _e.forEach(function(rt,nt){tt.push(_pack(rt,et[nt]))}),hexlify(concat$1(tt))}function keccak256$1(_e,et){return keccak256$2(pack(_e,et))}function sha256$2(_e,et){return sha256$3(pack(_e,et))}const lib_esm$1=Object.freeze(Object.defineProperty({__proto__:null,keccak256:keccak256$1,pack,sha256:sha256$2},Symbol.toStringTag,{value:"Module"})),version$4="units/5.7.0",logger=new Logger(version$4),names$1=["wei","kwei","mwei","gwei","szabo","finney","ether"];function commify(_e){const et=String(_e).split(".");(et.length>2||!et[0].match(/^-?[0-9]*$/)||et[1]&&!et[1].match(/^[0-9]*$/)||_e==="."||_e==="-.")&&logger.throwArgumentError("invalid value","value",_e);let tt=et[0],rt="";for(tt.substring(0,1)==="-"&&(rt="-",tt=tt.substring(1));tt.substring(0,1)==="0";)tt=tt.substring(1);tt===""&&(tt="0");let nt="";for(et.length===2&&(nt="."+(et[1]||"0"));nt.length>2&&nt[nt.length-1]==="0";)nt=nt.substring(0,nt.length-1);const it=[];for(;tt.length;)if(tt.length<=3){it.unshift(tt);break}else{const at=tt.length-3;it.unshift(tt.substring(at)),tt=tt.substring(0,at)}return rt+it.join(",")+nt}function formatUnits$1(_e,et){if(typeof et=="string"){const tt=names$1.indexOf(et);tt!==-1&&(et=3*tt)}return formatFixed(_e,et??18)}function parseUnits$1(_e,et){if(typeof _e!="string"&&logger.throwArgumentError("value must be a string","value",_e),typeof et=="string"){const tt=names$1.indexOf(et);tt!==-1&&(et=3*tt)}return parseFixed(_e,et??18)}function formatEther$1(_e){return formatUnits$1(_e,18)}function parseEther$1(_e){return parseUnits$1(_e,18)}const lib_esm=Object.freeze(Object.defineProperty({__proto__:null,commify,formatEther:formatEther$1,formatUnits:formatUnits$1,parseEther:parseEther$1,parseUnits:parseUnits$1},Symbol.toStringTag,{value:"Module"}));var utils={};const require$$0=getAugmentedNamespace(lib_esm$b),require$$1=getAugmentedNamespace(lib_esm$f),require$$2$1=getAugmentedNamespace(lib_esm$d),require$$3=getAugmentedNamespace(lib_esm$8),require$$4=getAugmentedNamespace(lib_esm$j),require$$5=getAugmentedNamespace(lib_esm$c),require$$6=getAugmentedNamespace(lib_esm$6),require$$7=getAugmentedNamespace(lib_esm$4),require$$8=getAugmentedNamespace(lib_esm$h),require$$9=getAugmentedNamespace(lib_esm$k),require$$10=getAugmentedNamespace(lib_esm$7),require$$11=getAugmentedNamespace(lib_esm$1),require$$12=getAugmentedNamespace(lib_esm$5),require$$13=getAugmentedNamespace(lib_esm$i),require$$14=getAugmentedNamespace(lib_esm$g),require$$15=getAugmentedNamespace(lib_esm$a),require$$16=getAugmentedNamespace(lib_esm$e),require$$17=getAugmentedNamespace(lib_esm$9),require$$18=getAugmentedNamespace(lib_esm),require$$19=getAugmentedNamespace(lib_esm$3),require$$20=getAugmentedNamespace(lib_esm$2);(function(_e){var et=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(zt,Zt,Bt,Et){Et===void 0&&(Et=Bt),Object.defineProperty(zt,Et,{enumerable:!0,get:function(){return Zt[Bt]}})}:function(zt,Zt,Bt,Et){Et===void 0&&(Et=Bt),zt[Et]=Zt[Bt]}),tt=commonjsGlobal&&commonjsGlobal.__setModuleDefault||(Object.create?function(zt,Zt){Object.defineProperty(zt,"default",{enumerable:!0,value:Zt})}:function(zt,Zt){zt.default=Zt}),rt=commonjsGlobal&&commonjsGlobal.__importStar||function(zt){if(zt&&zt.__esModule)return zt;var Zt={};if(zt!=null)for(var Bt in zt)Bt!=="default"&&Object.prototype.hasOwnProperty.call(zt,Bt)&&et(Zt,zt,Bt);return tt(Zt,zt),Zt};Object.defineProperty(_e,"__esModule",{value:!0}),_e.formatBytes32String=_e.Utf8ErrorFuncs=_e.toUtf8String=_e.toUtf8CodePoints=_e.toUtf8Bytes=_e._toEscapedUtf8String=_e.nameprep=_e.hexDataSlice=_e.hexDataLength=_e.hexZeroPad=_e.hexValue=_e.hexStripZeros=_e.hexConcat=_e.isHexString=_e.hexlify=_e.base64=_e.base58=_e.TransactionDescription=_e.LogDescription=_e.Interface=_e.SigningKey=_e.HDNode=_e.defaultPath=_e.isBytesLike=_e.isBytes=_e.zeroPad=_e.stripZeros=_e.concat=_e.arrayify=_e.shallowCopy=_e.resolveProperties=_e.getStatic=_e.defineReadOnly=_e.deepCopy=_e.checkProperties=_e.poll=_e.fetchJson=_e._fetchData=_e.RLP=_e.Logger=_e.checkResultErrors=_e.FormatTypes=_e.ParamType=_e.FunctionFragment=_e.EventFragment=_e.ErrorFragment=_e.ConstructorFragment=_e.Fragment=_e.defaultAbiCoder=_e.AbiCoder=void 0,_e.Indexed=_e.Utf8ErrorReason=_e.UnicodeNormalizationForm=_e.SupportedAlgorithm=_e.mnemonicToSeed=_e.isValidMnemonic=_e.entropyToMnemonic=_e.mnemonicToEntropy=_e.getAccountPath=_e.verifyTypedData=_e.verifyMessage=_e.recoverPublicKey=_e.computePublicKey=_e.recoverAddress=_e.computeAddress=_e.getJsonWalletAddress=_e.TransactionTypes=_e.serializeTransaction=_e.parseTransaction=_e.accessListify=_e.joinSignature=_e.splitSignature=_e.soliditySha256=_e.solidityKeccak256=_e.solidityPack=_e.shuffled=_e.randomBytes=_e.sha512=_e.sha256=_e.ripemd160=_e.keccak256=_e.computeHmac=_e.commify=_e.parseUnits=_e.formatUnits=_e.parseEther=_e.formatEther=_e.isAddress=_e.getCreate2Address=_e.getContractAddress=_e.getIcapAddress=_e.getAddress=_e._TypedDataEncoder=_e.id=_e.isValidName=_e.namehash=_e.hashMessage=_e.dnsEncode=_e.parseBytes32String=void 0;var nt=require$$0;Object.defineProperty(_e,"AbiCoder",{enumerable:!0,get:function(){return nt.AbiCoder}}),Object.defineProperty(_e,"checkResultErrors",{enumerable:!0,get:function(){return nt.checkResultErrors}}),Object.defineProperty(_e,"ConstructorFragment",{enumerable:!0,get:function(){return nt.ConstructorFragment}}),Object.defineProperty(_e,"defaultAbiCoder",{enumerable:!0,get:function(){return nt.defaultAbiCoder}}),Object.defineProperty(_e,"ErrorFragment",{enumerable:!0,get:function(){return nt.ErrorFragment}}),Object.defineProperty(_e,"EventFragment",{enumerable:!0,get:function(){return nt.EventFragment}}),Object.defineProperty(_e,"FormatTypes",{enumerable:!0,get:function(){return nt.FormatTypes}}),Object.defineProperty(_e,"Fragment",{enumerable:!0,get:function(){return nt.Fragment}}),Object.defineProperty(_e,"FunctionFragment",{enumerable:!0,get:function(){return nt.FunctionFragment}}),Object.defineProperty(_e,"Indexed",{enumerable:!0,get:function(){return nt.Indexed}}),Object.defineProperty(_e,"Interface",{enumerable:!0,get:function(){return nt.Interface}}),Object.defineProperty(_e,"LogDescription",{enumerable:!0,get:function(){return nt.LogDescription}}),Object.defineProperty(_e,"ParamType",{enumerable:!0,get:function(){return nt.ParamType}}),Object.defineProperty(_e,"TransactionDescription",{enumerable:!0,get:function(){return nt.TransactionDescription}});var it=require$$1;Object.defineProperty(_e,"getAddress",{enumerable:!0,get:function(){return it.getAddress}}),Object.defineProperty(_e,"getCreate2Address",{enumerable:!0,get:function(){return it.getCreate2Address}}),Object.defineProperty(_e,"getContractAddress",{enumerable:!0,get:function(){return it.getContractAddress}}),Object.defineProperty(_e,"getIcapAddress",{enumerable:!0,get:function(){return it.getIcapAddress}}),Object.defineProperty(_e,"isAddress",{enumerable:!0,get:function(){return it.isAddress}});var at=rt(require$$2$1);_e.base64=at;var st=require$$3;Object.defineProperty(_e,"base58",{enumerable:!0,get:function(){return st.Base58}});var lt=require$$4;Object.defineProperty(_e,"arrayify",{enumerable:!0,get:function(){return lt.arrayify}}),Object.defineProperty(_e,"concat",{enumerable:!0,get:function(){return lt.concat}}),Object.defineProperty(_e,"hexConcat",{enumerable:!0,get:function(){return lt.hexConcat}}),Object.defineProperty(_e,"hexDataSlice",{enumerable:!0,get:function(){return lt.hexDataSlice}}),Object.defineProperty(_e,"hexDataLength",{enumerable:!0,get:function(){return lt.hexDataLength}}),Object.defineProperty(_e,"hexlify",{enumerable:!0,get:function(){return lt.hexlify}}),Object.defineProperty(_e,"hexStripZeros",{enumerable:!0,get:function(){return lt.hexStripZeros}}),Object.defineProperty(_e,"hexValue",{enumerable:!0,get:function(){return lt.hexValue}}),Object.defineProperty(_e,"hexZeroPad",{enumerable:!0,get:function(){return lt.hexZeroPad}}),Object.defineProperty(_e,"isBytes",{enumerable:!0,get:function(){return lt.isBytes}}),Object.defineProperty(_e,"isBytesLike",{enumerable:!0,get:function(){return lt.isBytesLike}}),Object.defineProperty(_e,"isHexString",{enumerable:!0,get:function(){return lt.isHexString}}),Object.defineProperty(_e,"joinSignature",{enumerable:!0,get:function(){return lt.joinSignature}}),Object.defineProperty(_e,"zeroPad",{enumerable:!0,get:function(){return lt.zeroPad}}),Object.defineProperty(_e,"splitSignature",{enumerable:!0,get:function(){return lt.splitSignature}}),Object.defineProperty(_e,"stripZeros",{enumerable:!0,get:function(){return lt.stripZeros}});var dt=require$$5;Object.defineProperty(_e,"_TypedDataEncoder",{enumerable:!0,get:function(){return dt._TypedDataEncoder}}),Object.defineProperty(_e,"dnsEncode",{enumerable:!0,get:function(){return dt.dnsEncode}}),Object.defineProperty(_e,"hashMessage",{enumerable:!0,get:function(){return dt.hashMessage}}),Object.defineProperty(_e,"id",{enumerable:!0,get:function(){return dt.id}}),Object.defineProperty(_e,"isValidName",{enumerable:!0,get:function(){return dt.isValidName}}),Object.defineProperty(_e,"namehash",{enumerable:!0,get:function(){return dt.namehash}});var ht=require$$6;Object.defineProperty(_e,"defaultPath",{enumerable:!0,get:function(){return ht.defaultPath}}),Object.defineProperty(_e,"entropyToMnemonic",{enumerable:!0,get:function(){return ht.entropyToMnemonic}}),Object.defineProperty(_e,"getAccountPath",{enumerable:!0,get:function(){return ht.getAccountPath}}),Object.defineProperty(_e,"HDNode",{enumerable:!0,get:function(){return ht.HDNode}}),Object.defineProperty(_e,"isValidMnemonic",{enumerable:!0,get:function(){return ht.isValidMnemonic}}),Object.defineProperty(_e,"mnemonicToEntropy",{enumerable:!0,get:function(){return ht.mnemonicToEntropy}}),Object.defineProperty(_e,"mnemonicToSeed",{enumerable:!0,get:function(){return ht.mnemonicToSeed}});var pt=require$$7;Object.defineProperty(_e,"getJsonWalletAddress",{enumerable:!0,get:function(){return pt.getJsonWalletAddress}});var mt=require$$8;Object.defineProperty(_e,"keccak256",{enumerable:!0,get:function(){return mt.keccak256}});var gt=require$$9;Object.defineProperty(_e,"Logger",{enumerable:!0,get:function(){return gt.Logger}});var vt=require$$10;Object.defineProperty(_e,"computeHmac",{enumerable:!0,get:function(){return vt.computeHmac}}),Object.defineProperty(_e,"ripemd160",{enumerable:!0,get:function(){return vt.ripemd160}}),Object.defineProperty(_e,"sha256",{enumerable:!0,get:function(){return vt.sha256}}),Object.defineProperty(_e,"sha512",{enumerable:!0,get:function(){return vt.sha512}});var bt=require$$11;Object.defineProperty(_e,"solidityKeccak256",{enumerable:!0,get:function(){return bt.keccak256}}),Object.defineProperty(_e,"solidityPack",{enumerable:!0,get:function(){return bt.pack}}),Object.defineProperty(_e,"soliditySha256",{enumerable:!0,get:function(){return bt.sha256}});var yt=require$$12;Object.defineProperty(_e,"randomBytes",{enumerable:!0,get:function(){return yt.randomBytes}}),Object.defineProperty(_e,"shuffled",{enumerable:!0,get:function(){return yt.shuffled}});var xt=require$$13;Object.defineProperty(_e,"checkProperties",{enumerable:!0,get:function(){return xt.checkProperties}}),Object.defineProperty(_e,"deepCopy",{enumerable:!0,get:function(){return xt.deepCopy}}),Object.defineProperty(_e,"defineReadOnly",{enumerable:!0,get:function(){return xt.defineReadOnly}}),Object.defineProperty(_e,"getStatic",{enumerable:!0,get:function(){return xt.getStatic}}),Object.defineProperty(_e,"resolveProperties",{enumerable:!0,get:function(){return xt.resolveProperties}}),Object.defineProperty(_e,"shallowCopy",{enumerable:!0,get:function(){return xt.shallowCopy}});var wt=rt(require$$14);_e.RLP=wt;var _t=require$$15;Object.defineProperty(_e,"computePublicKey",{enumerable:!0,get:function(){return _t.computePublicKey}}),Object.defineProperty(_e,"recoverPublicKey",{enumerable:!0,get:function(){return _t.recoverPublicKey}}),Object.defineProperty(_e,"SigningKey",{enumerable:!0,get:function(){return _t.SigningKey}});var At=require$$16;Object.defineProperty(_e,"formatBytes32String",{enumerable:!0,get:function(){return At.formatBytes32String}}),Object.defineProperty(_e,"nameprep",{enumerable:!0,get:function(){return At.nameprep}}),Object.defineProperty(_e,"parseBytes32String",{enumerable:!0,get:function(){return At.parseBytes32String}}),Object.defineProperty(_e,"_toEscapedUtf8String",{enumerable:!0,get:function(){return At._toEscapedUtf8String}}),Object.defineProperty(_e,"toUtf8Bytes",{enumerable:!0,get:function(){return At.toUtf8Bytes}}),Object.defineProperty(_e,"toUtf8CodePoints",{enumerable:!0,get:function(){return At.toUtf8CodePoints}}),Object.defineProperty(_e,"toUtf8String",{enumerable:!0,get:function(){return At.toUtf8String}}),Object.defineProperty(_e,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return At.Utf8ErrorFuncs}});var Tt=require$$17;Object.defineProperty(_e,"accessListify",{enumerable:!0,get:function(){return Tt.accessListify}}),Object.defineProperty(_e,"computeAddress",{enumerable:!0,get:function(){return Tt.computeAddress}}),Object.defineProperty(_e,"parseTransaction",{enumerable:!0,get:function(){return Tt.parse}}),Object.defineProperty(_e,"recoverAddress",{enumerable:!0,get:function(){return Tt.recoverAddress}}),Object.defineProperty(_e,"serializeTransaction",{enumerable:!0,get:function(){return Tt.serialize}}),Object.defineProperty(_e,"TransactionTypes",{enumerable:!0,get:function(){return Tt.TransactionTypes}});var kt=require$$18;Object.defineProperty(_e,"commify",{enumerable:!0,get:function(){return kt.commify}}),Object.defineProperty(_e,"formatEther",{enumerable:!0,get:function(){return kt.formatEther}}),Object.defineProperty(_e,"parseEther",{enumerable:!0,get:function(){return kt.parseEther}}),Object.defineProperty(_e,"formatUnits",{enumerable:!0,get:function(){return kt.formatUnits}}),Object.defineProperty(_e,"parseUnits",{enumerable:!0,get:function(){return kt.parseUnits}});var jt=require$$19;Object.defineProperty(_e,"verifyMessage",{enumerable:!0,get:function(){return jt.verifyMessage}}),Object.defineProperty(_e,"verifyTypedData",{enumerable:!0,get:function(){return jt.verifyTypedData}});var Lt=require$$20;Object.defineProperty(_e,"_fetchData",{enumerable:!0,get:function(){return Lt._fetchData}}),Object.defineProperty(_e,"fetchJson",{enumerable:!0,get:function(){return Lt.fetchJson}}),Object.defineProperty(_e,"poll",{enumerable:!0,get:function(){return Lt.poll}});var qt=require$$10;Object.defineProperty(_e,"SupportedAlgorithm",{enumerable:!0,get:function(){return qt.SupportedAlgorithm}});var Dt=require$$16;Object.defineProperty(_e,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return Dt.UnicodeNormalizationForm}}),Object.defineProperty(_e,"Utf8ErrorReason",{enumerable:!0,get:function(){return Dt.Utf8ErrorReason}})})(utils);function Jr(_e,et){let tt={};for(let rt in _e)tt[rt]=et(_e[rt],rt);return tt}function lr(){return pipe(filter(_e=>_e!=null))}var fe$2=function(){let _e=mr,et=fr;return et(_e(32),8)+"-"+et(_e(16),4)+"-"+et(16384|_e(12),4)+"-"+et(32768|_e(14),4)+"-"+et(_e(48),12)},mr=function(_e){if(_e<0||_e>53)return NaN;let et=0|Math.random()*1073741824;return _e>30?et+(0|Math.random()*(1<<_e-30))*1073741824:et>>>30-_e},fr=function(_e,et){let tt=_e.toString(16),rt=et-tt.length,nt="0";for(;rt>0;rt>>>=1,nt+=nt)rt&1&&(tt=nt+tt);return tt};function y$3(_e){return{..._e,[Symbol.iterator](){return this}}}function I$6(_e,et){return y$3({next(){let{done:tt,value:rt}=_e.next();return{done:tt,value:tt?rt:et(rt)}}})}function Cr(_e){if(_e<2)throw new Error("Minimum size is 2");if(_e>64)throw new Error("Maximum size is 64");let et=2**(_e-1)-1,tt=-et-1;return rt=>{if(rt=rt<<0,rt>et||rtet,rt(_e[_e.Boolean=0]="Boolean",_e[_e.Number=1]="Number",_e[_e.OptionalNumber=2]="OptionalNumber",_e[_e.BigInt=3]="BigInt",_e[_e.OptionalBigInt=4]="OptionalBigInt",_e[_e.String=5]="String",_e[_e.OptionalString=6]="OptionalString",_e[_e.NumberArray=7]="NumberArray",_e[_e.OptionalNumberArray=8]="OptionalNumberArray",_e[_e.BigIntArray=9]="BigIntArray",_e[_e.OptionalBigIntArray=10]="OptionalBigIntArray",_e[_e.StringArray=11]="StringArray",_e[_e.OptionalStringArray=12]="OptionalStringArray",_e[_e.Entity=13]="Entity",_e[_e.OptionalEntity=14]="OptionalEntity",_e[_e.EntityArray=15]="EntityArray",_e[_e.OptionalEntityArray=16]="OptionalEntityArray",_e[_e.T=17]="T",_e[_e.OptionalT=18]="OptionalT",_e))(P$a||{}),w$2=(_e=>(_e[_e.Enter=0]="Enter",_e[_e.Exit=1]="Exit",_e[_e.Update=2]="Update",_e[_e.Noop=3]="Noop",_e))(w$2||{}),k$3=[14,16,2,8,4,10,6,12,18];function M$7(_e){let et=new Map;function tt(st){let lt=et.get(rt(st));return lt?new Set([...lt].map(x$7)):new Set}function rt(st){return Object.values(st).join("/")}function nt(st,lt){if(!lt)return;let dt=rt(lt),ht=et.get(dt);ht||(ht=new Set,et.set(dt,ht)),ht.add(st)}function it(st,lt){if(!lt)return;let dt=rt(lt),ht=et.get(dt);ht&&ht.delete(st)}for(let st of O$5(_e)){let lt=g$7(_e,st);nt(p$4(st),lt)}let at=_e.update$.subscribe(({entity:st,value:lt})=>{it(p$4(st),lt[1]),nt(p$4(st),lt[0])});return _e.world.registerDisposer(()=>at?.unsubscribe()),{..._e,getEntitiesWithValue:tt}}function F$2(_e,et){let tt=g$7(et,_e);return{entity:_e,component:et,value:[tt,void 0],type:tt==null?3:0}}function Y$4(_e){return pipe(map(et=>F$2(et,_e)))}function I$5(_e){return"getEntitiesWithValue"in _e}function T$5(_e,et){return Object.keys(_e.schema).every(tt=>tt in et)}function b$5(_e){return _e.metadata?.componentName??_e.metadata?.tableName??_e.metadata?.tableId??_e.metadata?.contractId??_e.id}function ie$1(_e,et,tt){if(Object.keys(et).length===0)throw new Error("Component schema must have at least one key");let rt=tt?.id??fe$2(),nt=Jr(et,()=>new Map),it=new Subject,at=tt?.metadata,st={values:nt,schema:et,id:rt,update$:it,metadata:at,entities:()=>I$6(Object.values(nt)[0].keys(),x$7),world:_e};return tt?.indexed&&(st=M$7(st)),_e.registerComponent(st),st}function E$3(_e,et,tt){let rt=p$4(et),nt=g$7(_e,et);for(let[it,at]of Object.entries(tt))_e.values[it]?_e.values[it].set(rt,at):_e.metadata?.tableId&&/^\d+$/.test(it)||console.warn("Component definition for",b$5(_e),"is missing key",it,", ignoring value",at,"for entity",et,". Existing keys: ",Object.keys(_e.values));_e.update$.next({entity:et,value:[tt,nt],component:_e})}function ue$1(_e,et,tt,rt){let nt=g$7(_e,et);if(nt===void 0){if(rt===void 0)throw new Error(`Can't update component ${b$5(_e)} without a current value or initial value`);E$3(_e,et,{...rt,...tt})}else E$3(_e,et,{...nt,...tt})}function se$1(_e,et){let tt=p$4(et),rt=g$7(_e,et);for(let nt of Object.keys(_e.values))_e.values[nt].delete(tt);_e.update$.next({entity:et,value:[void 0,rt],component:_e})}function le$1(_e,et){let tt=p$4(et);return Object.values(_e.values)[0].has(tt)}function g$7(_e,et){let tt={},rt=p$4(et),nt=Object.keys(_e.schema);for(let it of nt){let at=_e.values[it].get(rt);if(at===void 0&&!k$3.includes(_e.schema[it]))return;tt[it]=at}return tt}function de$2(_e,et){let tt=g$7(_e,et);if(!tt)throw new Error(`No value for component ${b$5(_e)} on entity ${et}`);return tt}function q$3(_e,et){if(!_e&&!et)return!0;if(!_e||!et)return!1;let tt=!0;for(let rt of Object.keys(_e))if(tt=_e[rt]===et[rt],!tt)return!1;return tt}function ce$2(_e,et){if(I$5(_e)&&T$5(_e,et))return _e.getEntitiesWithValue(et);let tt=new Set;for(let rt of O$5(_e)){let nt=g$7(_e,rt);q$3(et,nt)&&tt.add(rt)}return tt}function O$5(_e){return _e.entities()}function p$4(_e){return Symbol.for(_e)}function x$7(_e){return Symbol.keyFor(_e)}var N$3=(_e=>(_e[_e.Has=0]="Has",_e[_e.HasValue=1]="HasValue",_e[_e.Not=2]="Not",_e[_e.NotValue=3]="NotValue",_e[_e.ProxyRead=4]="ProxyRead",_e[_e.ProxyExpand=5]="ProxyExpand",_e))(N$3||{});function Ye$1(_e){return{type:0,component:_e}}function Je$1(_e,et){return{type:1,component:_e,value:et}}function c$3(_e,et){if(et.type===0)return le$1(et.component,_e);if(et.type===1)return q$3(et.value,g$7(et.component,_e));if(et.type===2)return!le$1(et.component,_e);if(et.type===3)return!q$3(et.value,g$7(et.component,_e));throw new Error("Unknown query fragment")}function G$4(_e){return _e.type===0||_e.type==1}function P$9(_e){return _e.type===2||_e.type==3}function J$2(_e){return _e.type===5||_e.type==4}function U$6(_e,et){return _e&&G$4(et)||!_e&&P$9(et)}function I$4(_e,et,tt){let rt=_e,nt=!1;for(let it=0;it[...Q$2(it,et,tt-1)]).flat();return new Set([...rt,...nt])}function A$5(_e,et){let tt=et?new Set([...et]):void 0,rt,nt;for(let it=0;it<_e.length;it++){let at=_e[it];if(J$2(at))at.type===4&&(rt=at),at.type===5&&(nt=at);else if(tt)for(let st of[...tt]){let lt=c$3(st,at);if(rt&&rt.depth>0&&!U$6(lt,at)&&(lt=I$4(st,at,rt)??lt),lt||tt.delete(st),nt&&nt.depth>0){let dt=Q$2(st,nt.component,nt.depth);for(let ht of dt)(c$3(ht,at)||rt&&rt.depth>0&&I$4(ht,at,rt))&&tt.add(ht)}}else{if(P$9(at))throw new Error("First EntityQueryFragment must be Has or HasValue");if(tt=at.type===0?new Set([...O$5(at.component)]):ce$2(at.component,at.value),nt&&nt.depth>0)for(let st of[...tt])for(let lt of Q$2(st,nt.component,nt.depth))tt.add(lt)}}return tt??new Set}function f$5(_e,et){let tt=et?.runOnInit||et?.initialSet?A$5(_e,et.initialSet):new Set,rt=observable$2(tt),nt=from$1(rt).pipe(Y$4(_e[0].component)),it=_e.findIndex(st=>[5,4].includes(st.type))!==-1,at=merge$2(..._e.map(st=>st.component.update$)).pipe(it?concatMap(st=>{let lt=A$5(_e,et?.initialSet),dt=[];for(let ht of rt)lt.has(ht)||(rt.delete(ht),dt.push({entity:ht,type:1,component:st.component,value:[void 0,void 0]}));for(let ht of lt)rt.has(ht)?dt.push({entity:ht,type:2,component:st.component,value:[g$7(st.component,ht),void 0]}):(rt.add(ht),dt.push({entity:ht,type:0,component:st.component,value:[g$7(st.component,ht),void 0]}));return of$1(...dt)}):map(st=>{if(rt.has(st.entity))return _e.filter(lt=>lt.component.id===st.component.id).every(lt=>c$3(st.entity,lt))?{...st,type:2}:(rt.delete(st.entity),{...st,type:1});if(_e.every(lt=>c$3(st.entity,lt)))return rt.add(st.entity),{...st,type:0}}),lr());return{matching:rt,update$:concat$2(nt,at).pipe(share$1())}}function ft(){let _e=new Set,et=[],tt=[];function rt({id:ht,idSuffix:pt}={}){let mt=ht||_e.size+(pt?"-"+pt:""),gt=p$4(mt);return _e.add(gt),mt}function nt(){return I$6(_e.values(),x$7)}function it(ht){et.push(ht)}function at(ht){for(let[,pt]of tt.filter(mt=>!ht||mt[0]===ht))pt();tt=tt.filter(pt=>ht&&pt[0]!==ht)}function st(ht,pt=""){tt.push([pt,ht])}function lt(ht){let pt=p$4(ht);return _e.has(pt)}function dt(ht){for(let pt of et)le$1(pt,ht)&&se$1(pt,ht);_e.delete(p$4(ht))}return{registerEntity:rt,components:et,registerComponent:it,dispose:at,registerDisposer:st,hasEntity:lt,getEntities:nt,entitySymbols:_e,deleteEntity:dt}}var i$2=/\[\]$/;function r$3(_e){return _e.replace(i$2,"")}var n$2=["uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","bool","address","uint8[]","uint16[]","uint24[]","uint32[]","uint40[]","uint48[]","uint56[]","uint64[]","uint72[]","uint80[]","uint88[]","uint96[]","uint104[]","uint112[]","uint120[]","uint128[]","uint136[]","uint144[]","uint152[]","uint160[]","uint168[]","uint176[]","uint184[]","uint192[]","uint200[]","uint208[]","uint216[]","uint224[]","uint232[]","uint240[]","uint248[]","uint256[]","int8[]","int16[]","int24[]","int32[]","int40[]","int48[]","int56[]","int64[]","int72[]","int80[]","int88[]","int96[]","int104[]","int112[]","int120[]","int128[]","int136[]","int144[]","int152[]","int160[]","int168[]","int176[]","int184[]","int192[]","int200[]","int208[]","int216[]","int224[]","int232[]","int240[]","int248[]","int256[]","bytes1[]","bytes2[]","bytes3[]","bytes4[]","bytes5[]","bytes6[]","bytes7[]","bytes8[]","bytes9[]","bytes10[]","bytes11[]","bytes12[]","bytes13[]","bytes14[]","bytes15[]","bytes16[]","bytes17[]","bytes18[]","bytes19[]","bytes20[]","bytes21[]","bytes22[]","bytes23[]","bytes24[]","bytes25[]","bytes26[]","bytes27[]","bytes28[]","bytes29[]","bytes30[]","bytes31[]","bytes32[]","bool[]","address[]","bytes","string"],y$2=n$2.slice(98),s$3={"uint8[]":[],"uint16[]":[],"uint24[]":[],"uint32[]":[],"uint40[]":[],"uint48[]":[],"uint56[]":[],"uint64[]":[],"uint72[]":[],"uint80[]":[],"uint88[]":[],"uint96[]":[],"uint104[]":[],"uint112[]":[],"uint120[]":[],"uint128[]":[],"uint136[]":[],"uint144[]":[],"uint152[]":[],"uint160[]":[],"uint168[]":[],"uint176[]":[],"uint184[]":[],"uint192[]":[],"uint200[]":[],"uint208[]":[],"uint216[]":[],"uint224[]":[],"uint232[]":[],"uint240[]":[],"uint248[]":[],"uint256[]":[],"int8[]":[],"int16[]":[],"int24[]":[],"int32[]":[],"int40[]":[],"int48[]":[],"int56[]":[],"int64[]":[],"int72[]":[],"int80[]":[],"int88[]":[],"int96[]":[],"int104[]":[],"int112[]":[],"int120[]":[],"int128[]":[],"int136[]":[],"int144[]":[],"int152[]":[],"int160[]":[],"int168[]":[],"int176[]":[],"int184[]":[],"int192[]":[],"int200[]":[],"int208[]":[],"int216[]":[],"int224[]":[],"int232[]":[],"int240[]":[],"int248[]":[],"int256[]":[],"bytes1[]":[],"bytes2[]":[],"bytes3[]":[],"bytes4[]":[],"bytes5[]":[],"bytes6[]":[],"bytes7[]":[],"bytes8[]":[],"bytes9[]":[],"bytes10[]":[],"bytes11[]":[],"bytes12[]":[],"bytes13[]":[],"bytes14[]":[],"bytes15[]":[],"bytes16[]":[],"bytes17[]":[],"bytes18[]":[],"bytes19[]":[],"bytes20[]":[],"bytes21[]":[],"bytes22[]":[],"bytes23[]":[],"bytes24[]":[],"bytes25[]":[],"bytes26[]":[],"bytes27[]":[],"bytes28[]":[],"bytes29[]":[],"bytes30[]":[],"bytes31[]":[],"bytes32[]":[],"bool[]":[],"address[]":[],bytes:"0x",string:""};function T$4(_e){return y$2.includes(_e)}var a$4={uint8:0,uint16:0,uint24:0,uint32:0,uint40:0,uint48:0,uint56:0n,uint64:0n,uint72:0n,uint80:0n,uint88:0n,uint96:0n,uint104:0n,uint112:0n,uint120:0n,uint128:0n,uint136:0n,uint144:0n,uint152:0n,uint160:0n,uint168:0n,uint176:0n,uint184:0n,uint192:0n,uint200:0n,uint208:0n,uint216:0n,uint224:0n,uint232:0n,uint240:0n,uint248:0n,uint256:0n,int8:0,int16:0,int24:0,int32:0,int40:0,int48:0,int56:0n,int64:0n,int72:0n,int80:0n,int88:0n,int96:0n,int104:0n,int112:0n,int120:0n,int128:0n,int136:0n,int144:0n,int152:0n,int160:0n,int168:0n,int176:0n,int184:0n,int192:0n,int200:0n,int208:0n,int216:0n,int224:0n,int232:0n,int240:0n,int248:0n,int256:0n,bytes1:"0x00",bytes2:"0x0000",bytes3:"0x000000",bytes4:"0x00000000",bytes5:"0x0000000000",bytes6:"0x000000000000",bytes7:"0x00000000000000",bytes8:"0x0000000000000000",bytes9:"0x000000000000000000",bytes10:"0x00000000000000000000",bytes11:"0x0000000000000000000000",bytes12:"0x000000000000000000000000",bytes13:"0x00000000000000000000000000",bytes14:"0x0000000000000000000000000000",bytes15:"0x000000000000000000000000000000",bytes16:"0x00000000000000000000000000000000",bytes17:"0x0000000000000000000000000000000000",bytes18:"0x000000000000000000000000000000000000",bytes19:"0x00000000000000000000000000000000000000",bytes20:"0x0000000000000000000000000000000000000000",bytes21:"0x000000000000000000000000000000000000000000",bytes22:"0x00000000000000000000000000000000000000000000",bytes23:"0x0000000000000000000000000000000000000000000000",bytes24:"0x000000000000000000000000000000000000000000000000",bytes25:"0x00000000000000000000000000000000000000000000000000",bytes26:"0x0000000000000000000000000000000000000000000000000000",bytes27:"0x000000000000000000000000000000000000000000000000000000",bytes28:"0x00000000000000000000000000000000000000000000000000000000",bytes29:"0x0000000000000000000000000000000000000000000000000000000000",bytes30:"0x000000000000000000000000000000000000000000000000000000000000",bytes31:"0x00000000000000000000000000000000000000000000000000000000000000",bytes32:"0x0000000000000000000000000000000000000000000000000000000000000000",bool:!1,address:"0x0000000000000000000000000000000000000000"},A$4={uint8:1,uint16:2,uint24:3,uint32:4,uint40:5,uint48:6,uint56:7,uint64:8,uint72:9,uint80:10,uint88:11,uint96:12,uint104:13,uint112:14,uint120:15,uint128:16,uint136:17,uint144:18,uint152:19,uint160:20,uint168:21,uint176:22,uint184:23,uint192:24,uint200:25,uint208:26,uint216:27,uint224:28,uint232:29,uint240:30,uint248:31,uint256:32,int8:1,int16:2,int24:3,int32:4,int40:5,int48:6,int56:7,int64:8,int72:9,int80:10,int88:11,int96:12,int104:13,int112:14,int120:15,int128:16,int136:17,int144:18,int152:19,int160:20,int168:21,int176:22,int184:23,int192:24,int200:25,int208:26,int216:27,int224:28,int232:29,int240:30,int248:31,int256:32,bytes1:1,bytes2:2,bytes3:3,bytes4:4,bytes5:5,bytes6:6,bytes7:7,bytes8:8,bytes9:9,bytes10:10,bytes11:11,bytes12:12,bytes13:13,bytes14:14,bytes15:15,bytes16:16,bytes17:17,bytes18:18,bytes19:19,bytes20:20,bytes21:21,bytes22:22,bytes23:23,bytes24:24,bytes25:25,bytes26:26,bytes27:27,bytes28:28,bytes29:29,bytes30:30,bytes31:31,bytes32:32,bool:1,address:20},P$8={...a$4,...s$3};const version$3="0.9.3";let BaseError$1=class En extends Error{constructor(et,tt={}){const rt=tt.cause instanceof En?tt.cause.details:tt.cause?.message?tt.cause.message:tt.details,nt=tt.cause instanceof En&&tt.cause.docsPath||tt.docsPath,it=[et||"An error occurred.","",...tt.metaMessages?[...tt.metaMessages,""]:[],...nt?[`Docs: https://abitype.dev${nt}`]:[],...rt?[`Details: ${rt}`]:[],`Version: abitype@${version$3}`].join(` +`);super(it),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),tt.cause&&(this.cause=tt.cause),this.details=rt,this.docsPath=nt,this.metaMessages=tt.metaMessages,this.shortMessage=et}};function execTyped(_e,et){return _e.exec(et)?.groups}const bytesRegex$1=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,integerRegex$1=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,isTupleRegex=/^\(.+?\).*?$/,errorSignatureRegex=/^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;function isErrorSignature(_e){return errorSignatureRegex.test(_e)}function execErrorSignature(_e){return execTyped(errorSignatureRegex,_e)}const eventSignatureRegex=/^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)$/;function isEventSignature(_e){return eventSignatureRegex.test(_e)}function execEventSignature(_e){return execTyped(eventSignatureRegex,_e)}const functionSignatureRegex=/^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\((?.*?)\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\s?\((?.*?)\))?$/;function isFunctionSignature(_e){return functionSignatureRegex.test(_e)}function execFunctionSignature(_e){return execTyped(functionSignatureRegex,_e)}const structSignatureRegex=/^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?.*?)\}$/;function isStructSignature(_e){return structSignatureRegex.test(_e)}function execStructSignature(_e){return execTyped(structSignatureRegex,_e)}const constructorSignatureRegex=/^constructor\((?.*?)\)(?:\s(?payable{1}))?$/;function isConstructorSignature(_e){return constructorSignatureRegex.test(_e)}function execConstructorSignature(_e){return execTyped(constructorSignatureRegex,_e)}const fallbackSignatureRegex=/^fallback\(\)$/;function isFallbackSignature(_e){return fallbackSignatureRegex.test(_e)}const receiveSignatureRegex=/^receive\(\) external payable$/;function isReceiveSignature(_e){return receiveSignatureRegex.test(_e)}const modifiers=new Set(["memory","indexed","storage","calldata"]),eventModifiers=new Set(["indexed"]),functionModifiers=new Set(["calldata","memory","storage"]);class UnknownTypeError extends BaseError$1{constructor({type:et}){super("Unknown type.",{metaMessages:[`Type "${et}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"})}}class UnknownSolidityTypeError extends BaseError$1{constructor({type:et}){super("Unknown type.",{metaMessages:[`Type "${et}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"})}}class InvalidAbiParametersError extends BaseError$1{constructor({params:et}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(et,null,2)})`,docsPath:"/api/human.html#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"})}}class InvalidParameterError extends BaseError$1{constructor({param:et}){super("Invalid ABI parameter.",{details:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"})}}class SolidityProtectedKeywordError extends BaseError$1{constructor({param:et,name:tt}){super("Invalid ABI parameter.",{details:et,metaMessages:[`"${tt}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"})}}class InvalidModifierError extends BaseError$1{constructor({param:et,type:tt,modifier:rt}){super("Invalid ABI parameter.",{details:et,metaMessages:[`Modifier "${rt}" not allowed${tt?` in "${tt}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"})}}class InvalidFunctionModifierError extends BaseError$1{constructor({param:et,type:tt,modifier:rt}){super("Invalid ABI parameter.",{details:et,metaMessages:[`Modifier "${rt}" not allowed${tt?` in "${tt}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${rt}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"})}}class InvalidAbiTypeParameterError extends BaseError$1{constructor({abiParameter:et}){super("Invalid ABI parameter.",{details:JSON.stringify(et,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"})}}class InvalidSignatureError extends BaseError$1{constructor({signature:et,type:tt}){super(`Invalid ${tt} signature.`,{details:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"})}}class UnknownSignatureError extends BaseError$1{constructor({signature:et}){super("Unknown signature.",{details:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"})}}class InvalidStructSignatureError extends BaseError$1{constructor({signature:et}){super("Invalid struct signature.",{details:et,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"})}}class CircularReferenceError extends BaseError$1{constructor({type:et}){super("Circular reference detected.",{metaMessages:[`Struct "${et}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"})}}class InvalidParenthesisError extends BaseError$1{constructor({current:et,depth:tt}){super("Unbalanced parentheses.",{metaMessages:[`"${et.trim()}" has too many ${tt>0?"opening":"closing"} parentheses.`],details:`Depth "${tt}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"})}}function getParameterCacheKey(_e,et){return et?`${et}:${_e}`:_e}const parameterCache=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function parseSignature(_e,et={}){if(isFunctionSignature(_e)){const tt=execFunctionSignature(_e);if(!tt)throw new InvalidSignatureError({signature:_e,type:"function"});const rt=splitParameters(tt.parameters),nt=[],it=rt.length;for(let st=0;st[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,abiParameterWithTupleRegex=/^\((?.+?)\)(?(?:\[\d*?\])+?)?(?:\s(?calldata|indexed|memory|storage{1}))?(?:\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,dynamicIntegerRegex=/^u?int$/;function parseAbiParameter(_e,et){const tt=getParameterCacheKey(_e,et?.type);if(parameterCache.has(tt))return parameterCache.get(tt);const rt=isTupleRegex.test(_e),nt=execTyped(rt?abiParameterWithTupleRegex:abiParameterWithoutTupleRegex,_e);if(!nt)throw new InvalidParameterError({param:_e});if(nt.name&&isSolidityKeyword(nt.name))throw new SolidityProtectedKeywordError({param:_e,name:nt.name});const it=nt.name?{name:nt.name}:{},at=nt.modifier==="indexed"?{indexed:!0}:{},st=et?.structs??{};let lt,dt={};if(rt){lt="tuple";const pt=splitParameters(nt.type),mt=[],gt=pt.length;for(let vt=0;vt[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\[\d*?\])+?)?$/;function resolveStructs(_e,et,tt=new Set){const rt=[],nt=_e.length;for(let it=0;itformatAbiParam(tt,{includeName:et})).join(et?", ":","):""}function formatAbiParam(_e,{includeName:et}){return _e.type.startsWith("tuple")?`(${formatAbiParams(_e.components,{includeName:et})})${_e.type.slice(5)}`:_e.type+(et&&_e.name?` ${_e.name}`:"")}function isHex(_e,{strict:et=!0}={}){return!_e||typeof _e!="string"?!1:et?/^0x[0-9a-fA-F]*$/.test(_e):_e.startsWith("0x")}function size$1(_e){return isHex(_e,{strict:!1})?Math.ceil((_e.length-2)/2):_e.length}const version$2="1.5.4",getContractAddress=_e=>_e,getUrl$1=_e=>_e,getVersion=()=>`viem@${version$2}`;class BaseError extends Error{constructor(et,tt={}){super(),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ViemError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:getVersion()});const rt=tt.cause instanceof BaseError?tt.cause.details:tt.cause?.message?tt.cause.message:tt.details,nt=tt.cause instanceof BaseError&&tt.cause.docsPath||tt.docsPath;this.message=[et||"An error occurred.","",...tt.metaMessages?[...tt.metaMessages,""]:[],...nt?[`Docs: https://viem.sh${nt}.html${tt.docsSlug?`#${tt.docsSlug}`:""}`]:[],...rt?[`Details: ${rt}`]:[],`Version: ${this.version}`].join(` +`),tt.cause&&(this.cause=tt.cause),this.details=rt,this.docsPath=nt,this.metaMessages=tt.metaMessages,this.shortMessage=et}walk(et){return walk(this,et)}}function walk(_e,et){return et?.(_e)?_e:_e&&typeof _e=="object"&&"cause"in _e?walk(_e.cause,et):et?null:_e}class AbiConstructorNotFoundError extends BaseError{constructor({docsPath:et}){super(["A constructor was not found on the ABI.","Make sure you are using the correct ABI and that the constructor exists on it."].join(` +`),{docsPath:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiConstructorNotFoundError"})}}class AbiConstructorParamsNotFoundError extends BaseError{constructor({docsPath:et}){super(["Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.","Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists."].join(` +`),{docsPath:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiConstructorParamsNotFoundError"})}}class AbiDecodingDataSizeTooSmallError extends BaseError{constructor({data:et,params:tt,size:rt}){super([`Data size of ${rt} bytes is too small for given parameters.`].join(` +`),{metaMessages:[`Params: (${formatAbiParams(tt,{includeName:!0})})`,`Data: ${et} (${rt} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiDecodingDataSizeTooSmallError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=et,this.params=tt,this.size=rt}}class AbiDecodingZeroDataError extends BaseError{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiDecodingZeroDataError"})}}class AbiEncodingArrayLengthMismatchError extends BaseError{constructor({expectedLength:et,givenLength:tt,type:rt}){super([`ABI encoding array length mismatch for type ${rt}.`,`Expected length: ${et}`,`Given length: ${tt}`].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEncodingArrayLengthMismatchError"})}}class AbiEncodingBytesSizeMismatchError extends BaseError{constructor({expectedSize:et,value:tt}){super(`Size of bytes "${tt}" (bytes${size$1(tt)}) does not match expected size (bytes${et}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEncodingBytesSizeMismatchError"})}}class AbiEncodingLengthMismatchError extends BaseError{constructor({expectedLength:et,givenLength:tt}){super(["ABI encoding params/values length mismatch.",`Expected length (params): ${et}`,`Given length (values): ${tt}`].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEncodingLengthMismatchError"})}}class AbiErrorSignatureNotFoundError extends BaseError{constructor(et,{docsPath:tt}){super([`Encoded error signature "${et}" not found on ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${et}.`].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiErrorSignatureNotFoundError"}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.signature=et}}class AbiEventSignatureEmptyTopicsError extends BaseError{constructor({docsPath:et}){super("Cannot extract event signature from empty topics.",{docsPath:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEventSignatureEmptyTopicsError"})}}class AbiEventSignatureNotFoundError extends BaseError{constructor(et,{docsPath:tt}){super([`Encoded event signature "${et}" not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it.",`You can look up the signature here: https://openchain.xyz/signatures?query=${et}.`].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEventSignatureNotFoundError"})}}class AbiEventNotFoundError extends BaseError{constructor(et,{docsPath:tt}={}){super([`Event ${et?`"${et}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the event exists on it."].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiEventNotFoundError"})}}class AbiFunctionNotFoundError extends BaseError{constructor(et,{docsPath:tt}={}){super([`Function ${et?`"${et}" `:""}not found on ABI.`,"Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiFunctionNotFoundError"})}}class AbiFunctionOutputsNotFoundError extends BaseError{constructor(et,{docsPath:tt}){super([`Function "${et}" does not contain any \`outputs\` on ABI.`,"Cannot decode function result without knowing what the parameter types are.","Make sure you are using the correct ABI and that the function exists on it."].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiFunctionOutputsNotFoundError"})}}class BytesSizeMismatchError extends BaseError{constructor({expectedSize:et,givenSize:tt}){super(`Expected bytes${et}, got bytes${tt}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BytesSizeMismatchError"})}}class DecodeLogDataMismatch extends BaseError{constructor({abiItem:et,data:tt,params:rt,size:nt}){super([`Data size of ${nt} bytes is too small for non-indexed event parameters.`].join(` +`),{metaMessages:[`Params: (${formatAbiParams(rt,{includeName:!0})})`,`Data: ${tt} (${nt} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"DecodeLogDataMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"size",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=et,this.data=tt,this.params=rt,this.size=nt}}class DecodeLogTopicsMismatch extends BaseError{constructor({abiItem:et,param:tt}){super([`Expected a topic for indexed event parameter${tt.name?` "${tt.name}"`:""} on event "${formatAbiItem(et,{includeName:!0})}".`].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"DecodeLogTopicsMismatch"}),Object.defineProperty(this,"abiItem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.abiItem=et}}class InvalidAbiEncodingTypeError extends BaseError{constructor(et,{docsPath:tt}){super([`Type "${et}" is not a valid encoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiEncodingType"})}}class InvalidAbiDecodingTypeError extends BaseError{constructor(et,{docsPath:tt}){super([`Type "${et}" is not a valid decoding type.`,"Please provide a valid ABI type."].join(` +`),{docsPath:tt}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiDecodingType"})}}class InvalidArrayError extends BaseError{constructor(et){super([`Value "${et}" is not a valid array.`].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidArrayError"})}}class InvalidDefinitionTypeError extends BaseError{constructor(et){super([`"${et}" is not a valid definition type.`,'Valid types: "function", "event", "error"'].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidDefinitionTypeError"})}}class FilterTypeNotSupportedError extends BaseError{constructor(et){super(`Filter type "${et}" is not supported.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"FilterTypeNotSupportedError"})}}class SliceOffsetOutOfBoundsError extends BaseError{constructor({offset:et,position:tt,size:rt}){super(`Slice ${tt==="start"?"starting":"ending"} at offset "${et}" is out-of-bounds (size: ${rt}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SliceOffsetOutOfBoundsError"})}}class SizeExceedsPaddingSizeError extends BaseError{constructor({size:et,targetSize:tt,type:rt}){super(`${rt.charAt(0).toUpperCase()}${rt.slice(1).toLowerCase()} size (${et}) exceeds padding size (${tt}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SizeExceedsPaddingSizeError"})}}function pad(_e,{dir:et,size:tt=32}={}){return typeof _e=="string"?padHex(_e,{dir:et,size:tt}):padBytes(_e,{dir:et,size:tt})}function padHex(_e,{dir:et,size:tt=32}={}){if(tt===null)return _e;const rt=_e.replace("0x","");if(rt.length>tt*2)throw new SizeExceedsPaddingSizeError({size:Math.ceil(rt.length/2),targetSize:tt,type:"hex"});return`0x${rt[et==="right"?"padEnd":"padStart"](tt*2,"0")}`}function padBytes(_e,{dir:et,size:tt=32}={}){if(tt===null)return _e;if(_e.length>tt)throw new SizeExceedsPaddingSizeError({size:_e.length,targetSize:tt,type:"bytes"});const rt=new Uint8Array(tt);for(let nt=0;ntet)throw new SizeOverflowError({givenSize:size$1(_e),maxSize:et})}function hexToBigInt(_e,et={}){const{signed:tt}=et;et.size&&assertSize(_e,{size:et.size});const rt=BigInt(_e);if(!tt)return rt;const nt=(_e.length-2)/2,it=(1n<et.toString(16).padStart(2,"0"));function toHex$1(_e,et={}){return typeof _e=="number"||typeof _e=="bigint"?numberToHex(_e,et):typeof _e=="string"?stringToHex(_e,et):typeof _e=="boolean"?boolToHex(_e,et):bytesToHex$1(_e,et)}function boolToHex(_e,et={}){const tt=`0x${Number(_e)}`;return typeof et.size=="number"?(assertSize(tt,{size:et.size}),pad(tt,{size:et.size})):tt}function bytesToHex$1(_e,et={}){let tt="";for(let nt=0;nt<_e.length;nt++)tt+=hexes$1[_e[nt]];const rt=`0x${tt}`;return typeof et.size=="number"?(assertSize(rt,{size:et.size}),pad(rt,{dir:"right",size:et.size})):rt}function numberToHex(_e,et={}){const{signed:tt,size:rt}=et,nt=BigInt(_e);let it;rt?tt?it=(1n<it||ntrt.trim().split(" "))?.map(rt=>({type:rt[0],name:rt[1]==="indexed"?rt[2]:rt[1],...rt[1]==="indexed"?{indexed:!0}:{}}))}function number$2(_e){if(!Number.isSafeInteger(_e)||_e<0)throw new Error(`Wrong positive integer: ${_e}`)}function bool$1(_e){if(typeof _e!="boolean")throw new Error(`Expected boolean, not ${_e}`)}function bytes$1(_e,...et){if(!(_e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(et.length>0&&!et.includes(_e.length))throw new TypeError(`Expected Uint8Array of length ${et}, not of length=${_e.length}`)}function hash$2(_e){if(typeof _e!="function"||typeof _e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number$2(_e.outputLen),number$2(_e.blockLen)}function exists$1(_e,et=!0){if(_e.destroyed)throw new Error("Hash instance has been destroyed");if(et&&_e.finished)throw new Error("Hash#digest() has already been called")}function output$1(_e,et){bytes$1(_e);const tt=et.outputLen;if(_e.length>_32n&U32_MASK64)}:{h:Number(_e>>_32n&U32_MASK64)|0,l:Number(_e&U32_MASK64)|0}}function split(_e,et=!1){let tt=new Uint32Array(_e.length),rt=new Uint32Array(_e.length);for(let nt=0;nt<_e.length;nt++){const{h:it,l:at}=fromBig(_e[nt],et);[tt[nt],rt[nt]]=[it,at]}return[tt,rt]}const toBig=(_e,et)=>BigInt(_e>>>0)<<_32n|BigInt(et>>>0),shrSH=(_e,et,tt)=>_e>>>tt,shrSL=(_e,et,tt)=>_e<<32-tt|et>>>tt,rotrSH=(_e,et,tt)=>_e>>>tt|et<<32-tt,rotrSL=(_e,et,tt)=>_e<<32-tt|et>>>tt,rotrBH=(_e,et,tt)=>_e<<64-tt|et>>>tt-32,rotrBL=(_e,et,tt)=>_e>>>tt-32|et<<64-tt,rotr32H=(_e,et)=>et,rotr32L=(_e,et)=>_e,rotlSH=(_e,et,tt)=>_e<>>32-tt,rotlSL=(_e,et,tt)=>et<>>32-tt,rotlBH=(_e,et,tt)=>et<>>64-tt,rotlBL=(_e,et,tt)=>_e<>>64-tt;function add(_e,et,tt,rt){const nt=(et>>>0)+(rt>>>0);return{h:_e+tt+(nt/2**32|0)|0,l:nt|0}}const add3L=(_e,et,tt)=>(_e>>>0)+(et>>>0)+(tt>>>0),add3H=(_e,et,tt,rt)=>et+tt+rt+(_e/2**32|0)|0,add4L=(_e,et,tt,rt)=>(_e>>>0)+(et>>>0)+(tt>>>0)+(rt>>>0),add4H=(_e,et,tt,rt,nt)=>et+tt+rt+nt+(_e/2**32|0)|0,add5L=(_e,et,tt,rt,nt)=>(_e>>>0)+(et>>>0)+(tt>>>0)+(rt>>>0)+(nt>>>0),add5H=(_e,et,tt,rt,nt,it)=>et+tt+rt+nt+it+(_e/2**32|0)|0,u64={fromBig,split,toBig,shrSH,shrSL,rotrSH,rotrSL,rotrBH,rotrBL,rotr32H,rotr32L,rotlSH,rotlSL,rotlBH,rotlBL,add,add3L,add3H,add4L,add4H,add5H,add5L};/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const u32=_e=>new Uint32Array(_e.buffer,_e.byteOffset,Math.floor(_e.byteLength/4)),isLE$1=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!isLE$1)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(_e,et)=>et.toString(16).padStart(2,"0"));function utf8ToBytes$2(_e){if(typeof _e!="string")throw new TypeError(`utf8ToBytes expected string, got ${typeof _e}`);return new TextEncoder().encode(_e)}function toBytes$1(_e){if(typeof _e=="string"&&(_e=utf8ToBytes$2(_e)),!(_e instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof _e})`);return _e}let Hash$1=class{clone(){return this._cloneInto()}};function wrapConstructor$1(_e){const et=rt=>_e().update(toBytes$1(rt)).digest(),tt=_e();return et.outputLen=tt.outputLen,et.blockLen=tt.blockLen,et.create=()=>_e(),et}function wrapConstructorWithOpts(_e){const et=(rt,nt)=>_e(nt).update(toBytes$1(rt)).digest(),tt=_e({});return et.outputLen=tt.outputLen,et.blockLen=tt.blockLen,et.create=rt=>_e(rt),et}const[SHA3_PI,SHA3_ROTL,_SHA3_IOTA]=[[],[],[]],_0n$4=BigInt(0),_1n$5=BigInt(1),_2n$3=BigInt(2),_7n=BigInt(7),_256n=BigInt(256),_0x71n=BigInt(113);for(let _e=0,et=_1n$5,tt=1,rt=0;_e<24;_e++){[tt,rt]=[rt,(2*tt+3*rt)%5],SHA3_PI.push(2*(5*rt+tt)),SHA3_ROTL.push((_e+1)*(_e+2)/2%64);let nt=_0n$4;for(let it=0;it<7;it++)et=(et<<_1n$5^(et>>_7n)*_0x71n)%_256n,et&_2n$3&&(nt^=_1n$5<<(_1n$5<tt>32?u64.rotlBH(_e,et,tt):u64.rotlSH(_e,et,tt),rotlL=(_e,et,tt)=>tt>32?u64.rotlBL(_e,et,tt):u64.rotlSL(_e,et,tt);function keccakP(_e,et=24){const tt=new Uint32Array(10);for(let rt=24-et;rt<24;rt++){for(let at=0;at<10;at++)tt[at]=_e[at]^_e[at+10]^_e[at+20]^_e[at+30]^_e[at+40];for(let at=0;at<10;at+=2){const st=(at+8)%10,lt=(at+2)%10,dt=tt[lt],ht=tt[lt+1],pt=rotlH(dt,ht,1)^tt[st],mt=rotlL(dt,ht,1)^tt[st+1];for(let gt=0;gt<50;gt+=10)_e[at+gt]^=pt,_e[at+gt+1]^=mt}let nt=_e[2],it=_e[3];for(let at=0;at<24;at++){const st=SHA3_ROTL[at],lt=rotlH(nt,it,st),dt=rotlL(nt,it,st),ht=SHA3_PI[at];nt=_e[ht],it=_e[ht+1],_e[ht]=lt,_e[ht+1]=dt}for(let at=0;at<50;at+=10){for(let st=0;st<10;st++)tt[st]=_e[at+st];for(let st=0;st<10;st++)_e[at+st]^=~tt[(st+2)%10]&tt[(st+4)%10]}_e[0]^=SHA3_IOTA_H[rt],_e[1]^=SHA3_IOTA_L[rt]}tt.fill(0)}class Keccak extends Hash$1{constructor(et,tt,rt,nt=!1,it=24){if(super(),this.blockLen=et,this.suffix=tt,this.outputLen=rt,this.enableXOF=nt,this.rounds=it,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,assert$1.number(rt),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=u32(this.state)}keccak(){keccakP(this.state32,this.rounds),this.posOut=0,this.pos=0}update(et){assert$1.exists(this);const{blockLen:tt,state:rt}=this;et=toBytes$1(et);const nt=et.length;for(let it=0;it=rt&&this.keccak();const at=Math.min(rt-this.posOut,it-nt);et.set(tt.subarray(this.posOut,this.posOut+at),nt),this.posOut+=at,nt+=at}return et}xofInto(et){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(et)}xof(et){return assert$1.number(et),this.xofInto(new Uint8Array(et))}digestInto(et){if(assert$1.output(et,this),this.finished)throw new Error("digest() was already called");return this.writeInto(et),this.destroy(),et}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(et){const{blockLen:tt,suffix:rt,outputLen:nt,rounds:it,enableXOF:at}=this;return et||(et=new Keccak(tt,rt,nt,at,it)),et.state32.set(this.state32),et.pos=this.pos,et.posOut=this.posOut,et.finished=this.finished,et.rounds=it,et.suffix=rt,et.outputLen=nt,et.enableXOF=at,et.destroyed=this.destroyed,et}}const gen=(_e,et,tt)=>wrapConstructor$1(()=>new Keccak(et,_e,tt));gen(6,144,224/8);gen(6,136,256/8);gen(6,104,384/8);gen(6,72,512/8);gen(1,144,224/8);const keccak_256=gen(1,136,256/8);gen(1,104,384/8);gen(1,72,512/8);const genShake=(_e,et,tt)=>wrapConstructorWithOpts((rt={})=>new Keccak(et,_e,rt.dkLen===void 0?tt:rt.dkLen,!0));genShake(31,168,128/8);genShake(31,136,256/8);function keccak256(_e,et){const tt=et||"hex",rt=keccak_256(isHex(_e,{strict:!1})?toBytes$2(_e):_e);return tt==="bytes"?rt:toHex$1(rt)}const hash$1=_e=>keccak256(toBytes$2(_e));function hashFunction(_e){const et=extractFunctionName(_e),tt=extractFunctionParams(_e)||[];return hash$1(`${et}(${tt.map(({type:rt})=>rt).join(",")})`)}function hashAbiItem(_e){return hash$1(formatAbiItem(_e))}const getEventSelector=_e=>typeof _e=="string"?hashFunction(_e):hashAbiItem(_e);class InvalidAddressError extends BaseError{constructor({address:et}){super(`Address "${et}" is invalid.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAddressError"})}}const addressRegex=/^0x[a-fA-F0-9]{40}$/;function isAddress(_e){return addressRegex.test(_e)}function concat(_e){return typeof _e[0]=="string"?concatHex(_e):concatBytes$2(_e)}function concatBytes$2(_e){let et=0;for(const nt of _e)et+=nt.length;const tt=new Uint8Array(et);let rt=0;for(const nt of _e)tt.set(nt,rt),rt+=nt.length;return tt}function concatHex(_e){return`0x${_e.reduce((et,tt)=>et+tt.replace("0x",""),"")}`}function slice$1(_e,et,tt,{strict:rt}={}){return isHex(_e,{strict:!1})?sliceHex(_e,et,tt,{strict:rt}):sliceBytes(_e,et,tt,{strict:rt})}function assertStartOffset(_e,et){if(typeof et=="number"&&et>0&&et>size$1(_e)-1)throw new SliceOffsetOutOfBoundsError({offset:et,position:"start",size:size$1(_e)})}function assertEndOffset(_e,et,tt){if(typeof et=="number"&&typeof tt=="number"&&size$1(_e)!==tt-et)throw new SliceOffsetOutOfBoundsError({offset:tt,position:"end",size:size$1(_e)})}function sliceBytes(_e,et,tt,{strict:rt}={}){assertStartOffset(_e,et);const nt=_e.slice(et,tt);return rt&&assertEndOffset(nt,et,tt),nt}function sliceHex(_e,et,tt,{strict:rt}={}){assertStartOffset(_e,et);const nt=`0x${_e.replace("0x","").slice((et??0)*2,(tt??_e.length)*2)}`;return rt&&assertEndOffset(nt,et,tt),nt}function encodeAbiParameters(_e,et){if(_e.length!==et.length)throw new AbiEncodingLengthMismatchError({expectedLength:_e.length,givenLength:et.length});const tt=prepareParams({params:_e,values:et}),rt=encodeParams(tt);return rt.length===0?"0x":rt}function prepareParams({params:_e,values:et}){const tt=[];for(let rt=0;rt<_e.length;rt++)tt.push(prepareParam({param:_e[rt],value:et[rt]}));return tt}function prepareParam({param:_e,value:et}){const tt=getArrayComponents(_e.type);if(tt){const[rt,nt]=tt;return encodeArray(et,{length:rt,param:{..._e,type:nt}})}if(_e.type==="tuple")return encodeTuple(et,{param:_e});if(_e.type==="address")return encodeAddress(et);if(_e.type==="bool")return encodeBool(et);if(_e.type.startsWith("uint")||_e.type.startsWith("int")){const rt=_e.type.startsWith("int");return encodeNumber(et,{signed:rt})}if(_e.type.startsWith("bytes"))return encodeBytes(et,{param:_e});if(_e.type==="string")return encodeString(et);throw new InvalidAbiEncodingTypeError(_e.type,{docsPath:"/docs/contract/encodeAbiParameters"})}function encodeParams(_e){let et=0;for(let it=0;it<_e.length;it++){const{dynamic:at,encoded:st}=_e[it];at?et+=32:et+=size$1(st)}const tt=[],rt=[];let nt=0;for(let it=0;it<_e.length;it++){const{dynamic:at,encoded:st}=_e[it];at?(tt.push(numberToHex(et+nt,{size:32})),rt.push(st),nt+=size$1(st)):tt.push(st)}return concat([...tt,...rt])}function encodeAddress(_e){if(!isAddress(_e))throw new InvalidAddressError({address:_e});return{dynamic:!1,encoded:padHex(_e.toLowerCase())}}function encodeArray(_e,{length:et,param:tt}){const rt=et===null;if(!Array.isArray(_e))throw new InvalidArrayError(_e);if(!rt&&_e.length!==et)throw new AbiEncodingArrayLengthMismatchError({expectedLength:et,givenLength:_e.length,type:`${tt.type}[${et}]`});let nt=!1;const it=[];for(let at=0;at<_e.length;at++){const st=prepareParam({param:tt,value:_e[at]});st.dynamic&&(nt=!0),it.push(st)}if(rt||nt){const at=encodeParams(it);if(rt){const st=numberToHex(it.length,{size:32});return{dynamic:!0,encoded:it.length>0?concat([st,at]):st}}if(nt)return{dynamic:!0,encoded:at}}return{dynamic:!1,encoded:concat(it.map(({encoded:at})=>at))}}function encodeBytes(_e,{param:et}){const[,tt]=et.type.split("bytes"),rt=size$1(_e);if(!tt){let nt=_e;return rt%32!==0&&(nt=padHex(nt,{dir:"right",size:Math.ceil((_e.length-2)/2/32)*32})),{dynamic:!0,encoded:concat([padHex(numberToHex(rt,{size:32})),nt])}}if(rt!==parseInt(tt))throw new AbiEncodingBytesSizeMismatchError({expectedSize:parseInt(tt),value:_e});return{dynamic:!1,encoded:padHex(_e,{dir:"right"})}}function encodeBool(_e){return{dynamic:!1,encoded:padHex(boolToHex(_e))}}function encodeNumber(_e,{signed:et}){return{dynamic:!1,encoded:numberToHex(_e,{size:32,signed:et})}}function encodeString(_e){const et=stringToHex(_e),tt=Math.ceil(size$1(et)/32),rt=[];for(let nt=0;ntnt))}}function getArrayComponents(_e){const et=_e.match(/^(.*)\[(\d+)?\]$/);return et?[et[2]?Number(et[2]):null,et[1]]:void 0}function getAbiItem({abi:_e,args:et=[],name:tt}){const rt=_e.filter(nt=>"name"in nt&&nt.name===tt);if(rt.length!==0){if(rt.length===1)return rt[0];for(const nt of rt){if(!("inputs"in nt))continue;if(!et||et.length===0){if(!nt.inputs||nt.inputs.length===0)return nt;continue}if(!nt.inputs||nt.inputs.length===0||nt.inputs.length!==et.length)continue;if(et.every((at,st)=>{const lt="inputs"in nt&&nt.inputs[st];return lt?isArgOfType(at,lt):!1}))return nt}return rt[0]}}function isArgOfType(_e,et){const tt=typeof _e,rt=et.type;switch(rt){case"address":return isAddress(_e);case"bool":return tt==="boolean";case"function":return tt==="string";case"string":return tt==="string";default:return rt==="tuple"&&"components"in et?Object.values(et.components).every((nt,it)=>isArgOfType(Object.values(_e)[it],nt)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(rt)?tt==="number"||tt==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(rt)?tt==="string"||_e instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(rt)?Array.isArray(_e)&&_e.every(nt=>isArgOfType(nt,{...et,type:rt.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function encodeEventTopics({abi:_e,eventName:et,args:tt}){let rt=_e[0];if(et&&(rt=getAbiItem({abi:_e,args:tt,name:et}),!rt))throw new AbiEventNotFoundError(et,{docsPath:"/docs/contract/encodeEventTopics"});if(rt.type!=="event")throw new AbiEventNotFoundError(void 0,{docsPath:"/docs/contract/encodeEventTopics"});const nt=formatAbiItem(rt),it=getEventSelector(nt);let at=[];if(tt&&"inputs"in rt){const st=rt.inputs?.filter(dt=>"indexed"in dt&&dt.indexed),lt=Array.isArray(tt)?tt:Object.values(tt).length>0?st?.map(dt=>tt[dt.name])??[]:[];lt.length>0&&(at=st?.map((dt,ht)=>Array.isArray(lt[ht])?lt[ht].map((pt,mt)=>encodeArg({param:dt,value:lt[ht][mt]})):lt[ht]?encodeArg({param:dt,value:lt[ht]}):null)??[])}return[it,...at]}function encodeArg({param:_e,value:et}){if(_e.type==="string"||_e.type==="bytes")return keccak256(toBytes$2(et));if(_e.type==="tuple"||_e.type.match(/^(.*)\[(\d+)?\]$/))throw new FilterTypeNotSupportedError(_e.type);return encodeAbiParameters([_e],[et])}function createFilterRequestScope(_e,{method:et}){const tt={};return _e.transport.type==="fallback"&&_e.transport.onResponse?.(({method:rt,response:nt,status:it,transport:at})=>{it==="success"&&et===rt&&(tt[nt]=at.request)}),rt=>tt[rt]||_e.request}async function createContractEventFilter(_e,{address:et,abi:tt,args:rt,eventName:nt,fromBlock:it,strict:at,toBlock:st}){const lt=createFilterRequestScope(_e,{method:"eth_newFilter"}),dt=nt?encodeEventTopics({abi:tt,args:rt,eventName:nt}):void 0,ht=await _e.request({method:"eth_newFilter",params:[{address:et,fromBlock:typeof it=="bigint"?numberToHex(it):it,toBlock:typeof st=="bigint"?numberToHex(st):st,topics:dt}]});return{abi:tt,args:rt,eventName:nt,id:ht,request:lt(ht),strict:at,type:"event"}}function parseAccount(_e){return typeof _e=="string"?{address:_e,type:"json-rpc"}:_e}const getFunctionSelector=_e=>slice$1(typeof _e=="string"?hashFunction(_e):hashAbiItem(_e),0,4);function encodeFunctionData({abi:_e,args:et,functionName:tt}){let rt=_e[0];if(tt&&(rt=getAbiItem({abi:_e,args:et,name:tt}),!rt))throw new AbiFunctionNotFoundError(tt,{docsPath:"/docs/contract/encodeFunctionData"});if(rt.type!=="function")throw new AbiFunctionNotFoundError(void 0,{docsPath:"/docs/contract/encodeFunctionData"});const nt=formatAbiItem(rt),it=getFunctionSelector(nt),at="inputs"in rt&&rt.inputs?encodeAbiParameters(rt.inputs,et??[]):void 0;return concatHex([it,at??"0x"])}const panicReasons={1:"An `assert` condition failed.",17:"Arithmic operation resulted in underflow or overflow.",18:"Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",33:"Attempted to convert to an invalid type.",34:"Attempted to access a storage byte array that is incorrectly encoded.",49:"Performed `.pop()` on an empty array",50:"Array index is out of bounds.",65:"Allocated too much memory or created an array which is too large.",81:"Attempted to call a zero-initialized variable of internal function type."},solidityError={inputs:[{name:"message",type:"string"}],name:"Error",type:"error"},solidityPanic={inputs:[{name:"reason",type:"uint256"}],name:"Panic",type:"error"};function checksumAddress(_e,et){const tt=et?`${et}${_e.toLowerCase()}`:_e.substring(2).toLowerCase(),rt=keccak256(stringToBytes(tt),"bytes"),nt=(et?tt.substring(`${et}0x`.length):tt).split("");for(let it=0;it<40;it+=2)rt[it>>1]>>4>=8&&nt[it]&&(nt[it]=nt[it].toUpperCase()),(rt[it>>1]&15)>=8&&nt[it+1]&&(nt[it+1]=nt[it+1].toUpperCase());return`0x${nt.join("")}`}function getAddress(_e,et){if(!isAddress(_e))throw new InvalidAddressError({address:_e});return checksumAddress(_e,et)}function decodeAbiParameters(_e,et){if(et==="0x"&&_e.length>0)throw new AbiDecodingZeroDataError;if(size$1(et)&&size$1(et)<32)throw new AbiDecodingDataSizeTooSmallError({data:et,params:_e,size:size$1(et)});return decodeParams({data:et,params:_e})}function decodeParams({data:_e,params:et}){const tt=[];let rt=0;for(let nt=0;nt=size$1(_e))throw new AbiDecodingDataSizeTooSmallError({data:_e,params:et,size:size$1(_e)});const it=et[nt],{consumed:at,value:st}=decodeParam({data:_e,param:it,position:rt});tt.push(st),rt+=at}return tt}function decodeParam({data:_e,param:et,position:tt}){const rt=getArrayComponents(et.type);if(rt){const[it,at]=rt;return decodeArray(_e,{length:it,param:{...et,type:at},position:tt})}if(et.type==="tuple")return decodeTuple(_e,{param:et,position:tt});if(et.type==="string")return decodeString(_e,{position:tt});if(et.type.startsWith("bytes"))return decodeBytes(_e,{param:et,position:tt});const nt=slice$1(_e,tt,tt+32,{strict:!0});if(et.type.startsWith("uint")||et.type.startsWith("int"))return decodeNumber(nt,{param:et});if(et.type==="address")return decodeAddress(nt);if(et.type==="bool")return decodeBool(nt);throw new InvalidAbiDecodingTypeError(et.type,{docsPath:"/docs/contract/decodeAbiParameters"})}function decodeAddress(_e){return{consumed:32,value:checksumAddress(slice$1(_e,-20))}}function decodeArray(_e,{param:et,length:tt,position:rt}){if(!tt){const at=hexToNumber$1(slice$1(_e,rt,rt+32,{strict:!0})),st=hexToNumber$1(slice$1(_e,at,at+32,{strict:!0}));let lt=0;const dt=[];for(let ht=0;ht48?hexToBigInt(_e,{signed:tt}):hexToNumber$1(_e,{signed:tt})}}function decodeString(_e,{position:et}){const tt=hexToNumber$1(slice$1(_e,et,et+32,{strict:!0})),rt=hexToNumber$1(slice$1(_e,tt,tt+32,{strict:!0}));return rt===0?{consumed:32,value:""}:{consumed:32,value:hexToString(trim$1(slice$1(_e,tt+32,tt+32+rt,{strict:!0})))}}function decodeTuple(_e,{param:et,position:tt}){const rt=et.components.length===0||et.components.some(({name:at})=>!at),nt=rt?[]:{};let it=0;if(hasDynamicChild(et)){const at=hexToNumber$1(slice$1(_e,tt,tt+32,{strict:!0}));for(let st=0;stit.type==="error"&&tt===getFunctionSelector(formatAbiItem(it)));if(!nt)throw new AbiErrorSignatureNotFoundError(tt,{docsPath:"/docs/contract/decodeErrorResult"});return{abiItem:nt,args:"inputs"in nt&&nt.inputs&&nt.inputs.length>0?decodeAbiParameters(nt.inputs,slice$1(et,4)):void 0,errorName:nt.name}}const stringify$2=(_e,et,tt)=>JSON.stringify(_e,(rt,nt)=>{const it=typeof nt=="bigint"?nt.toString():nt;return typeof et=="function"?et(rt,it):it},tt);function formatAbiItemWithArgs({abiItem:_e,args:et,includeFunctionName:tt=!0,includeName:rt=!1}){if("name"in _e&&"inputs"in _e&&_e.inputs)return`${tt?_e.name:""}(${_e.inputs.map((nt,it)=>`${rt&&nt.name?`${nt.name}: `:""}${typeof et[it]=="object"?stringify$2(et[it]):et[it]}`).join(", ")})`}const etherUnits={gwei:9,wei:18},gweiUnits={ether:-9,wei:9};function formatUnits(_e,et){let tt=_e.toString();const rt=tt.startsWith("-");rt&&(tt=tt.slice(1)),tt=tt.padStart(et,"0");let[nt,it]=[tt.slice(0,tt.length-et),tt.slice(tt.length-et)];return it=it.replace(/(0+)$/,""),`${rt?"-":""}${nt||"0"}${it?`.${it}`:""}`}function formatEther(_e,et="wei"){return formatUnits(_e,etherUnits[et])}function formatGwei(_e,et="wei"){return formatUnits(_e,gweiUnits[et])}function prettyPrint(_e){const et=Object.entries(_e).map(([rt,nt])=>nt===void 0||nt===!1?null:[rt,nt]).filter(Boolean),tt=et.reduce((rt,[nt])=>Math.max(rt,nt.length),0);return et.map(([rt,nt])=>` ${`${rt}:`.padEnd(tt+1)} ${nt}`).join(` +`)}class FeeConflictError extends BaseError{constructor(){super(["Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.","Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others."].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"FeeConflictError"})}}class InvalidLegacyVError extends BaseError{constructor({v:et}){super(`Invalid \`v\` value "${et}". Expected 27 or 28.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidLegacyVError"})}}class InvalidSerializableTransactionError extends BaseError{constructor({transaction:et}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",prettyPrint(et),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- a Legacy Transaction with `gasPrice`"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSerializableTransactionError"})}}class InvalidStorageKeySizeError extends BaseError{constructor({storageKey:et}){super(`Size for storage key "${et}" is invalid. Expected 32 bytes. Got ${Math.floor((et.length-2)/2)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStorageKeySizeError"})}}class TransactionExecutionError extends BaseError{constructor(et,{account:tt,docsPath:rt,chain:nt,data:it,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt}){const gt=prettyPrint({chain:nt&&`${nt?.name} (id: ${nt?.id})`,from:tt?.address,to:pt,value:typeof mt<"u"&&`${formatEther(mt)} ${nt?.nativeCurrency.symbol||"ETH"}`,data:it,gas:at,gasPrice:typeof st<"u"&&`${formatGwei(st)} gwei`,maxFeePerGas:typeof lt<"u"&&`${formatGwei(lt)} gwei`,maxPriorityFeePerGas:typeof dt<"u"&&`${formatGwei(dt)} gwei`,nonce:ht});super(et.shortMessage,{cause:et,docsPath:rt,metaMessages:[...et.metaMessages?[...et.metaMessages," "]:[],"Request Arguments:",gt].filter(Boolean)}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionExecutionError"}),this.cause=et}}class TransactionNotFoundError extends BaseError{constructor({blockHash:et,blockNumber:tt,blockTag:rt,hash:nt,index:it}){let at="Transaction";rt&&it!==void 0&&(at=`Transaction at block time "${rt}" at index "${it}"`),et&&it!==void 0&&(at=`Transaction at block hash "${et}" at index "${it}"`),tt&&it!==void 0&&(at=`Transaction at block number "${tt}" at index "${it}"`),nt&&(at=`Transaction with hash "${nt}"`),super(`${at} could not be found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionNotFoundError"})}}class TransactionReceiptNotFoundError extends BaseError{constructor({hash:et}){super(`Transaction receipt with hash "${et}" could not be found. The Transaction may not be processed on a block yet.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionReceiptNotFoundError"})}}class WaitForTransactionReceiptTimeoutError extends BaseError{constructor({hash:et}){super(`Timed out while waiting for transaction with hash "${et}" to be confirmed.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WaitForTransactionReceiptTimeoutError"})}}class CallExecutionError extends BaseError{constructor(et,{account:tt,docsPath:rt,chain:nt,data:it,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt}){const gt=tt?parseAccount(tt):void 0,vt=prettyPrint({from:gt?.address,to:pt,value:typeof mt<"u"&&`${formatEther(mt)} ${nt?.nativeCurrency.symbol||"ETH"}`,data:it,gas:at,gasPrice:typeof st<"u"&&`${formatGwei(st)} gwei`,maxFeePerGas:typeof lt<"u"&&`${formatGwei(lt)} gwei`,maxPriorityFeePerGas:typeof dt<"u"&&`${formatGwei(dt)} gwei`,nonce:ht});super(et.shortMessage,{cause:et,docsPath:rt,metaMessages:[...et.metaMessages?[...et.metaMessages," "]:[],"Raw Call Arguments:",vt].filter(Boolean)}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CallExecutionError"}),this.cause=et}}class ContractFunctionExecutionError extends BaseError{constructor(et,{abi:tt,args:rt,contractAddress:nt,docsPath:it,functionName:at,sender:st}){const lt=getAbiItem({abi:tt,args:rt,name:at}),dt=lt?formatAbiItemWithArgs({abiItem:lt,args:rt,includeFunctionName:!1,includeName:!1}):void 0,ht=lt?formatAbiItem(lt,{includeName:!0}):void 0,pt=prettyPrint({address:nt&&getContractAddress(nt),function:ht,args:dt&&dt!=="()"&&`${[...Array(at?.length??0).keys()].map(()=>" ").join("")}${dt}`,sender:st});super(et.shortMessage||`An unknown error occurred while executing the contract function "${at}".`,{cause:et,docsPath:it,metaMessages:[...et.metaMessages?[...et.metaMessages," "]:[],"Contract Call:",pt].filter(Boolean)}),Object.defineProperty(this,"abi",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"args",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"contractAddress",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formattedArgs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"functionName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sender",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ContractFunctionExecutionError"}),this.abi=tt,this.args=rt,this.cause=et,this.contractAddress=nt,this.functionName=at,this.sender=st}}class ContractFunctionRevertedError extends BaseError{constructor({abi:et,data:tt,functionName:rt,message:nt}){let it,at,st,lt;if(tt&&tt!=="0x")try{at=decodeErrorResult({abi:et,data:tt});const{abiItem:ht,errorName:pt,args:mt}=at;if(pt==="Error")lt=mt[0];else if(pt==="Panic"){const[gt]=mt;lt=panicReasons[gt]}else{const gt=ht?formatAbiItem(ht,{includeName:!0}):void 0,vt=ht&&mt?formatAbiItemWithArgs({abiItem:ht,args:mt,includeFunctionName:!1,includeName:!1}):void 0;st=[gt?`Error: ${gt}`:"",vt&&vt!=="()"?` ${[...Array(pt?.length??0).keys()].map(()=>" ").join("")}${vt}`:""]}}catch(ht){it=ht}else nt&&(lt=nt);let dt;it instanceof AbiErrorSignatureNotFoundError&&(dt=it.signature,st=[`Unable to decode signature "${dt}" as it was not found on the provided ABI.`,"Make sure you are using the correct ABI and that the error exists on it.",`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${dt}.`]),super(lt&<!=="execution reverted"||dt?[`The contract function "${rt}" reverted with the following ${dt?"signature":"reason"}:`,lt||dt].join(` +`):`The contract function "${rt}" reverted.`,{cause:it,metaMessages:st}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ContractFunctionRevertedError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reason",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"signature",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=at,this.reason=lt,this.signature=dt}}class ContractFunctionZeroDataError extends BaseError{constructor({functionName:et}){super(`The contract function "${et}" returned no data ("0x").`,{metaMessages:["This could be due to any of the following:",` - The contract does not have the function "${et}",`," - The parameters passed to the contract function may be invalid, or"," - The address is not a contract."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ContractFunctionZeroDataError"})}}class RawContractError extends BaseError{constructor({data:et,message:tt}){super(tt||""),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:3}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RawContractError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=et}}const EXECUTION_REVERTED_ERROR_CODE=3;function getContractError(_e,{abi:et,address:tt,args:rt,docsPath:nt,functionName:it,sender:at}){const{code:st,data:lt,message:dt,shortMessage:ht}=_e instanceof RawContractError?_e:_e instanceof BaseError?_e.walk(mt=>"data"in mt)||_e.walk():{};let pt=_e;return _e instanceof AbiDecodingZeroDataError?pt=new ContractFunctionZeroDataError({functionName:it}):st===EXECUTION_REVERTED_ERROR_CODE&&(lt||dt||ht)&&(pt=new ContractFunctionRevertedError({abi:et,data:typeof lt=="object"?lt.data:lt,functionName:it,message:ht??dt})),new ContractFunctionExecutionError(pt,{abi:et,args:rt,contractAddress:tt,docsPath:nt,functionName:it,sender:at})}class AccountNotFoundError extends BaseError{constructor({docsPath:et}={}){super(["Could not find an Account to execute with this Action.","Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient."].join(` +`),{docsPath:et,docsSlug:"account"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccountNotFoundError"})}}class EstimateGasExecutionError extends BaseError{constructor(et,{account:tt,docsPath:rt,chain:nt,data:it,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt}){const gt=prettyPrint({from:tt?.address,to:pt,value:typeof mt<"u"&&`${formatEther(mt)} ${nt?.nativeCurrency.symbol||"ETH"}`,data:it,gas:at,gasPrice:typeof st<"u"&&`${formatGwei(st)} gwei`,maxFeePerGas:typeof lt<"u"&&`${formatGwei(lt)} gwei`,maxPriorityFeePerGas:typeof dt<"u"&&`${formatGwei(dt)} gwei`,nonce:ht});super(et.shortMessage,{cause:et,docsPath:rt,metaMessages:[...et.metaMessages?[...et.metaMessages," "]:[],"Estimate Gas Arguments:",gt].filter(Boolean)}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"EstimateGasExecutionError"}),this.cause=et}}class ExecutionRevertedError extends BaseError{constructor({cause:et,message:tt}={}){const rt=tt?.replace("execution reverted: ","")?.replace("execution reverted","");super(`Execution reverted ${rt?`with reason: ${rt}`:"for an unknown reason"}.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ExecutionRevertedError"})}}Object.defineProperty(ExecutionRevertedError,"code",{enumerable:!0,configurable:!0,writable:!0,value:3});Object.defineProperty(ExecutionRevertedError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/execution reverted/});class FeeCapTooHighError extends BaseError{constructor({cause:et,maxFeePerGas:tt}={}){super(`The fee cap (\`maxFeePerGas\`${tt?` = ${formatGwei(tt)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"FeeCapTooHigh"})}}Object.defineProperty(FeeCapTooHighError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class FeeCapTooLowError extends BaseError{constructor({cause:et,maxFeePerGas:tt}={}){super(`The fee cap (\`maxFeePerGas\`${tt?` = ${formatGwei(tt)}`:""} gwei) cannot be lower than the block base fee.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"FeeCapTooLow"})}}Object.defineProperty(FeeCapTooLowError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/});class NonceTooHighError extends BaseError{constructor({cause:et,nonce:tt}={}){super(`Nonce provided for the transaction ${tt?`(${tt}) `:""}is higher than the next one expected.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"NonceTooHighError"})}}Object.defineProperty(NonceTooHighError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too high/});class NonceTooLowError extends BaseError{constructor({cause:et,nonce:tt}={}){super([`Nonce provided for the transaction ${tt?`(${tt}) `:""}is lower than the current nonce of the account.`,"Try increasing the nonce or find the latest nonce with `getTransactionCount`."].join(` +`),{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"NonceTooLowError"})}}Object.defineProperty(NonceTooLowError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce too low|transaction already imported|already known/});class NonceMaxValueError extends BaseError{constructor({cause:et,nonce:tt}={}){super(`Nonce provided for the transaction ${tt?`(${tt}) `:""}exceeds the maximum allowed nonce.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"NonceMaxValueError"})}}Object.defineProperty(NonceMaxValueError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/nonce has max value/});class InsufficientFundsError extends BaseError{constructor({cause:et}={}){super(["The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."].join(` +`),{cause:et,metaMessages:["This error could arise when the account does not have enough funds to:"," - pay for the total gas fee,"," - pay for the value to send."," ","The cost of the transaction is calculated as `gas * gas fee + value`, where:"," - `gas` is the amount of gas needed for transaction to execute,"," - `gas fee` is the gas fee,"," - `value` is the amount of ether to send to the recipient."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InsufficientFundsError"})}}Object.defineProperty(InsufficientFundsError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/insufficient funds/});class IntrinsicGasTooHighError extends BaseError{constructor({cause:et,gas:tt}={}){super(`The amount of gas ${tt?`(${tt}) `:""}provided for the transaction exceeds the limit allowed for the block.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"IntrinsicGasTooHighError"})}}Object.defineProperty(IntrinsicGasTooHighError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too high|gas limit reached/});class IntrinsicGasTooLowError extends BaseError{constructor({cause:et,gas:tt}={}){super(`The amount of gas ${tt?`(${tt}) `:""}provided for the transaction is too low.`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"IntrinsicGasTooLowError"})}}Object.defineProperty(IntrinsicGasTooLowError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/intrinsic gas too low/});class TransactionTypeNotSupportedError extends BaseError{constructor({cause:et}){super("The transaction type is not supported for this chain.",{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionTypeNotSupportedError"})}}Object.defineProperty(TransactionTypeNotSupportedError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/transaction type not valid/});class TipAboveFeeCapError extends BaseError{constructor({cause:et,maxPriorityFeePerGas:tt,maxFeePerGas:rt}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${tt?` = ${formatGwei(tt)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${rt?` = ${formatGwei(rt)} gwei`:""}).`].join(` +`),{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TipAboveFeeCapError"})}}Object.defineProperty(TipAboveFeeCapError,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class UnknownNodeError extends BaseError{constructor({cause:et}){super(`An error occurred while executing: ${et?.message}`,{cause:et}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownNodeError"})}}class HttpRequestError extends BaseError{constructor({body:et,details:tt,headers:rt,status:nt,url:it}){super("HTTP request failed.",{details:tt,metaMessages:[nt&&`Status: ${nt}`,`URL: ${getUrl$1(it)}`,et&&`Request body: ${stringify$2(et)}`].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"HttpRequestError"}),Object.defineProperty(this,"body",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"headers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.body=et,this.headers=rt,this.status=nt,this.url=it}}class WebSocketRequestError extends BaseError{constructor({body:et,details:tt,url:rt}){super("WebSocket request failed.",{details:tt,metaMessages:[`URL: ${getUrl$1(rt)}`,`Request body: ${stringify$2(et)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebSocketRequestError"})}}class RpcRequestError extends BaseError{constructor({body:et,error:tt,url:rt}){super("RPC Request failed.",{cause:tt,details:tt.message,metaMessages:[`URL: ${getUrl$1(rt)}`,`Request body: ${stringify$2(et)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcRequestError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.code=tt.code}}class TimeoutError extends BaseError{constructor({body:et,url:tt}){super("The request took too long to respond.",{details:"The request timed out.",metaMessages:[`URL: ${getUrl$1(tt)}`,`Request body: ${stringify$2(et)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TimeoutError"})}}const unknownErrorCode=-1;class RpcError extends BaseError{constructor(et,{code:tt,docsPath:rt,metaMessages:nt,shortMessage:it}){super(it,{cause:et,docsPath:rt,metaMessages:nt||et?.metaMessages}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"RpcError"}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=et.name,this.code=et instanceof RpcRequestError?et.code:tt??unknownErrorCode}}class ProviderRpcError extends RpcError{constructor(et,tt){super(et,tt),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ProviderRpcError"}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.data=tt.data}}class ParseRpcError extends RpcError{constructor(et){super(et,{code:ParseRpcError.code,shortMessage:"Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ParseRpcError"})}}Object.defineProperty(ParseRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32700});class InvalidRequestRpcError extends RpcError{constructor(et){super(et,{code:InvalidRequestRpcError.code,shortMessage:"JSON is not a valid request object."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidRequestRpcError"})}}Object.defineProperty(InvalidRequestRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32600});class MethodNotFoundRpcError extends RpcError{constructor(et){super(et,{code:MethodNotFoundRpcError.code,shortMessage:"The method does not exist / is not available."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"MethodNotFoundRpcError"})}}Object.defineProperty(MethodNotFoundRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32601});class InvalidParamsRpcError extends RpcError{constructor(et){super(et,{code:InvalidParamsRpcError.code,shortMessage:["Invalid parameters were provided to the RPC method.","Double check you have provided the correct parameters."].join(` +`)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParamsRpcError"})}}Object.defineProperty(InvalidParamsRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32602});class InternalRpcError extends RpcError{constructor(et){super(et,{code:InternalRpcError.code,shortMessage:"An internal error was received."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InternalRpcError"})}}Object.defineProperty(InternalRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32603});class InvalidInputRpcError extends RpcError{constructor(et){super(et,{code:InvalidInputRpcError.code,shortMessage:["Missing or invalid parameters.","Double check you have provided the correct parameters."].join(` +`)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidInputRpcError"})}}Object.defineProperty(InvalidInputRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32e3});class ResourceNotFoundRpcError extends RpcError{constructor(et){super(et,{code:ResourceNotFoundRpcError.code,shortMessage:"Requested resource not found."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceNotFoundRpcError"})}}Object.defineProperty(ResourceNotFoundRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32001});class ResourceUnavailableRpcError extends RpcError{constructor(et){super(et,{code:ResourceUnavailableRpcError.code,shortMessage:"Requested resource not available."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ResourceUnavailableRpcError"})}}Object.defineProperty(ResourceUnavailableRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32002});class TransactionRejectedRpcError extends RpcError{constructor(et){super(et,{code:TransactionRejectedRpcError.code,shortMessage:"Transaction creation failed."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionRejectedRpcError"})}}Object.defineProperty(TransactionRejectedRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32003});class MethodNotSupportedRpcError extends RpcError{constructor(et){super(et,{code:MethodNotSupportedRpcError.code,shortMessage:"Method is not implemented."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"MethodNotSupportedRpcError"})}}Object.defineProperty(MethodNotSupportedRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32004});class LimitExceededRpcError extends RpcError{constructor(et){super(et,{code:LimitExceededRpcError.code,shortMessage:"Request exceeds defined limit."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"LimitExceededRpcError"})}}Object.defineProperty(LimitExceededRpcError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32005});class JsonRpcVersionUnsupportedError extends RpcError{constructor(et){super(et,{code:JsonRpcVersionUnsupportedError.code,shortMessage:"Version of JSON-RPC protocol is not supported."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"JsonRpcVersionUnsupportedError"})}}Object.defineProperty(JsonRpcVersionUnsupportedError,"code",{enumerable:!0,configurable:!0,writable:!0,value:-32006});class UserRejectedRequestError extends ProviderRpcError{constructor(et){super(et,{code:UserRejectedRequestError.code,shortMessage:"User rejected the request."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UserRejectedRequestError"})}}Object.defineProperty(UserRejectedRequestError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4001});class UnauthorizedProviderError extends ProviderRpcError{constructor(et){super(et,{code:UnauthorizedProviderError.code,shortMessage:"The requested method and/or account has not been authorized by the user."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnauthorizedProviderError"})}}Object.defineProperty(UnauthorizedProviderError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4100});class UnsupportedProviderMethodError extends ProviderRpcError{constructor(et){super(et,{code:UnsupportedProviderMethodError.code,shortMessage:"The Provider does not support the requested method."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnsupportedProviderMethodError"})}}Object.defineProperty(UnsupportedProviderMethodError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4200});class ProviderDisconnectedError extends ProviderRpcError{constructor(et){super(et,{code:ProviderDisconnectedError.code,shortMessage:"The Provider is disconnected from all chains."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ProviderDisconnectedError"})}}Object.defineProperty(ProviderDisconnectedError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4900});class ChainDisconnectedError extends ProviderRpcError{constructor(et){super(et,{code:ChainDisconnectedError.code,shortMessage:"The Provider is not connected to the requested chain."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ChainDisconnectedError"})}}Object.defineProperty(ChainDisconnectedError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4901});class SwitchChainError extends ProviderRpcError{constructor(et){super(et,{code:SwitchChainError.code,shortMessage:"An error occurred when attempting to switch chain."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SwitchChainError"})}}Object.defineProperty(SwitchChainError,"code",{enumerable:!0,configurable:!0,writable:!0,value:4902});class UnknownRpcError extends RpcError{constructor(et){super(et,{shortMessage:"An unknown RPC error occurred."}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownRpcError"})}}function containsNodeError(_e){return _e instanceof TransactionRejectedRpcError||_e instanceof InvalidInputRpcError||_e instanceof RpcRequestError&&_e.code===ExecutionRevertedError.code}function getNodeError(_e,et){const tt=_e.details.toLowerCase();return FeeCapTooHighError.nodeMessage.test(tt)?new FeeCapTooHighError({cause:_e,maxFeePerGas:et?.maxFeePerGas}):FeeCapTooLowError.nodeMessage.test(tt)?new FeeCapTooLowError({cause:_e,maxFeePerGas:et?.maxFeePerGas}):NonceTooHighError.nodeMessage.test(tt)?new NonceTooHighError({cause:_e,nonce:et?.nonce}):NonceTooLowError.nodeMessage.test(tt)?new NonceTooLowError({cause:_e,nonce:et?.nonce}):NonceMaxValueError.nodeMessage.test(tt)?new NonceMaxValueError({cause:_e,nonce:et?.nonce}):InsufficientFundsError.nodeMessage.test(tt)?new InsufficientFundsError({cause:_e}):IntrinsicGasTooHighError.nodeMessage.test(tt)?new IntrinsicGasTooHighError({cause:_e,gas:et?.gas}):IntrinsicGasTooLowError.nodeMessage.test(tt)?new IntrinsicGasTooLowError({cause:_e,gas:et?.gas}):TransactionTypeNotSupportedError.nodeMessage.test(tt)?new TransactionTypeNotSupportedError({cause:_e}):TipAboveFeeCapError.nodeMessage.test(tt)?new TipAboveFeeCapError({cause:_e,maxFeePerGas:et?.maxFeePerGas,maxPriorityFeePerGas:et?.maxPriorityFeePerGas}):tt.match(ExecutionRevertedError.nodeMessage)||"code"in _e.cause&&_e.cause?.code===ExecutionRevertedError.code?new ExecutionRevertedError({cause:_e,message:_e.cause.details||_e.details}):new UnknownNodeError({cause:_e.cause.cause})}function getEstimateGasError(_e,{docsPath:et,...tt}){let rt=_e;return containsNodeError(_e)&&(rt=getNodeError(_e,tt)),new EstimateGasExecutionError(rt,{docsPath:et,...tt})}function extract(_e,{format:et}){return et?Object.keys(et({})).reduce((rt,nt)=>(_e?.hasOwnProperty(nt)&&(rt[nt]=_e[nt]),rt),{}):{}}function formatTransactionRequest(_e){return{..._e,gas:typeof _e.gas<"u"?numberToHex(_e.gas):void 0,gasPrice:typeof _e.gasPrice<"u"?numberToHex(_e.gasPrice):void 0,maxFeePerGas:typeof _e.maxFeePerGas<"u"?numberToHex(_e.maxFeePerGas):void 0,maxPriorityFeePerGas:typeof _e.maxPriorityFeePerGas<"u"?numberToHex(_e.maxPriorityFeePerGas):void 0,nonce:typeof _e.nonce<"u"?numberToHex(_e.nonce):void 0,value:typeof _e.value<"u"?numberToHex(_e.value):void 0}}function assertRequest(_e){const{account:et,gasPrice:tt,maxFeePerGas:rt,maxPriorityFeePerGas:nt,to:it}=_e,at=et?parseAccount(et):void 0;if(at&&!isAddress(at.address))throw new InvalidAddressError({address:at.address});if(it&&!isAddress(it))throw new InvalidAddressError({address:it});if(typeof tt<"u"&&(typeof rt<"u"||typeof nt<"u"))throw new FeeConflictError;if(rt&&rt>2n**256n-1n)throw new FeeCapTooHighError({maxFeePerGas:rt});if(nt&&rt&&nt>rt)throw new TipAboveFeeCapError({maxFeePerGas:rt,maxPriorityFeePerGas:nt})}class BlockNotFoundError extends BaseError{constructor({blockHash:et,blockNumber:tt}){let rt="Block";et&&(rt=`Block at hash "${et}"`),tt&&(rt=`Block at number "${tt}"`),super(`${rt} could not be found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BlockNotFoundError"})}}const transactionType={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559"};function formatTransaction(_e){const et={..._e,blockHash:_e.blockHash?_e.blockHash:null,blockNumber:_e.blockNumber?BigInt(_e.blockNumber):null,chainId:_e.chainId?hexToNumber$1(_e.chainId):void 0,gas:_e.gas?BigInt(_e.gas):void 0,gasPrice:_e.gasPrice?BigInt(_e.gasPrice):void 0,maxFeePerGas:_e.maxFeePerGas?BigInt(_e.maxFeePerGas):void 0,maxPriorityFeePerGas:_e.maxPriorityFeePerGas?BigInt(_e.maxPriorityFeePerGas):void 0,nonce:_e.nonce?hexToNumber$1(_e.nonce):void 0,to:_e.to?_e.to:null,transactionIndex:_e.transactionIndex?Number(_e.transactionIndex):null,type:_e.type?transactionType[_e.type]:void 0,typeHex:_e.type?_e.type:void 0,value:_e.value?BigInt(_e.value):void 0,v:_e.v?BigInt(_e.v):void 0};return et.type==="legacy"&&(delete et.accessList,delete et.maxFeePerGas,delete et.maxPriorityFeePerGas),et.type==="eip2930"&&(delete et.maxFeePerGas,delete et.maxPriorityFeePerGas),et}function formatBlock(_e){const et=_e.transactions?.map(tt=>typeof tt=="string"?tt:formatTransaction(tt));return{..._e,baseFeePerGas:_e.baseFeePerGas?BigInt(_e.baseFeePerGas):null,difficulty:_e.difficulty?BigInt(_e.difficulty):void 0,gasLimit:_e.gasLimit?BigInt(_e.gasLimit):void 0,gasUsed:_e.gasUsed?BigInt(_e.gasUsed):void 0,hash:_e.hash?_e.hash:null,logsBloom:_e.logsBloom?_e.logsBloom:null,nonce:_e.nonce?_e.nonce:null,number:_e.number?BigInt(_e.number):null,size:_e.size?BigInt(_e.size):void 0,timestamp:_e.timestamp?BigInt(_e.timestamp):void 0,transactions:et,totalDifficulty:_e.totalDifficulty?BigInt(_e.totalDifficulty):null}}async function getBlock(_e,{blockHash:et,blockNumber:tt,blockTag:rt,includeTransactions:nt}={}){const it=rt??"latest",at=nt??!1,st=tt!==void 0?numberToHex(tt):void 0;let lt=null;if(et?lt=await _e.request({method:"eth_getBlockByHash",params:[et,at]}):lt=await _e.request({method:"eth_getBlockByNumber",params:[st||it,at]}),!lt)throw new BlockNotFoundError({blockHash:et,blockNumber:tt});return(_e.chain?.formatters?.block?.format||formatBlock)(lt)}async function getGasPrice(_e){const et=await _e.request({method:"eth_gasPrice"});return BigInt(et)}async function getTransactionCount(_e,{address:et,blockTag:tt="latest",blockNumber:rt}){const nt=await _e.request({method:"eth_getTransactionCount",params:[et,rt?numberToHex(rt):tt]});return hexToNumber$1(nt)}async function prepareRequest(_e,et){const{account:tt,chain:rt=_e.chain,gas:nt,gasPrice:it,maxFeePerGas:at,maxPriorityFeePerGas:st,nonce:lt}=et;if(!tt)throw new AccountNotFoundError;const dt=parseAccount(tt),ht=await getBlock(_e,{blockTag:"latest"}),pt={...et,from:dt.address};if(typeof lt>"u"&&(pt.nonce=await getTransactionCount(_e,{address:dt.address,blockTag:"pending"})),typeof ht.baseFeePerGas=="bigint"&&typeof it>"u"){let mt=1500000000n;if(typeof rt?.fees?.defaultPriorityFee<"u"&&(mt=typeof rt.fees.defaultPriorityFee=="bigint"?rt.fees.defaultPriorityFee:await rt.fees.defaultPriorityFee({block:ht,request:pt})),typeof at>"u")pt.maxPriorityFeePerGas=st??mt,pt.maxFeePerGas=ht.baseFeePerGas*120n/100n+pt.maxPriorityFeePerGas;else{if(typeof st>"u"&&at"u"){if(typeof at<"u"||typeof st<"u")throw new BaseError("Chain does not support EIP-1559 fees.");pt.gasPrice=await getGasPrice(_e)*120n/100n}return typeof nt>"u"&&(pt.gas=await estimateGas(_e,{...pt,account:{address:dt.address,type:"json-rpc"}})),assertRequest(pt),pt}async function estimateGas(_e,et){const tt=et.account??_e.account;if(!tt)throw new AccountNotFoundError({docsPath:"/docs/actions/public/estimateGas"});const rt=parseAccount(tt);try{const{accessList:nt,blockNumber:it,blockTag:at,data:st,gas:lt,gasPrice:dt,maxFeePerGas:ht,maxPriorityFeePerGas:pt,nonce:mt,to:gt,value:vt,...bt}=rt.type==="local"?await prepareRequest(_e,et):et,xt=(it?numberToHex(it):void 0)||at;assertRequest(et);const wt=_e.chain?.formatters?.transactionRequest?.format||formatTransactionRequest,_t=wt({...extract(bt,{format:wt}),from:rt.address,accessList:nt,data:st,gas:lt,gasPrice:dt,maxFeePerGas:ht,maxPriorityFeePerGas:pt,nonce:mt,to:gt,value:vt}),At=await _e.request({method:"eth_estimateGas",params:xt?[_t,xt]:[_t]});return BigInt(At)}catch(nt){throw getEstimateGasError(nt,{...et,account:rt,chain:_e.chain})}}async function estimateContractGas(_e,{abi:et,address:tt,args:rt,functionName:nt,...it}){const at=encodeFunctionData({abi:et,args:rt,functionName:nt});try{return await estimateGas(_e,{data:at,to:tt,...it})}catch(st){const lt=it.account?parseAccount(it.account):void 0;throw getContractError(st,{abi:et,address:tt,args:rt,docsPath:"/docs/contract/estimateContractGas",functionName:nt,sender:lt?.address})}}const docsPath$2="/docs/contract/decodeFunctionResult";function decodeFunctionResult({abi:_e,args:et,functionName:tt,data:rt}){let nt=_e[0];if(tt&&(nt=getAbiItem({abi:_e,args:et,name:tt}),!nt))throw new AbiFunctionNotFoundError(tt,{docsPath:docsPath$2});if(nt.type!=="function")throw new AbiFunctionNotFoundError(void 0,{docsPath:docsPath$2});if(!nt.outputs)throw new AbiFunctionOutputsNotFoundError(nt.name,{docsPath:docsPath$2});const it=decodeAbiParameters(nt.outputs,rt);if(it&&it.length>1)return it;if(it&&it.length===1)return it[0]}const multicall3Abi=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"}],universalResolverErrors=[{inputs:[],name:"ResolverNotFound",type:"error"},{inputs:[],name:"ResolverWildcardNotSupported",type:"error"}],universalResolverResolveAbi=[...universalResolverErrors,{name:"resolve",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],universalResolverReverseAbi=[...universalResolverErrors,{name:"reverse",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolvedAddress"},{type:"address",name:"reverseResolver"},{type:"address",name:"resolver"}]}],textResolverAbi=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],addressResolverAbi=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],universalSignatureValidatorAbi=[{inputs:[{internalType:"address",name:"_signer",type:"address"},{internalType:"bytes32",name:"_hash",type:"bytes32"},{internalType:"bytes",name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"}],aggregate3Signature="0x82ad56cb";class ChainDoesNotSupportContract extends BaseError{constructor({blockNumber:et,chain:tt,contract:rt}){super(`Chain "${tt.name}" does not support contract "${rt.name}".`,{metaMessages:["This could be due to any of the following:",...et&&rt.blockCreated&&rt.blockCreated>et?[`- The contract "${rt.name}" was not deployed until block ${rt.blockCreated} (current block ${et}).`]:[`- The chain does not have the contract "${rt.name}" configured.`]]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ChainDoesNotSupportContract"})}}class ChainMismatchError extends BaseError{constructor({chain:et,currentChainId:tt}){super(`The current chain of the wallet (id: ${tt}) does not match the target chain for the transaction (id: ${et.id} – ${et.name}).`,{metaMessages:[`Current Chain ID: ${tt}`,`Expected Chain ID: ${et.id} – ${et.name}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ChainMismatchError"})}}class ChainNotFoundError extends BaseError{constructor(){super(["No chain was provided to the request.","Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient."].join(` +`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ChainNotFoundError"})}}class ClientChainNotConfiguredError extends BaseError{constructor(){super("No chain was provided to the Client."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ClientChainNotConfiguredError"})}}class InvalidChainIdError extends BaseError{constructor({chainId:et}){super(`Chain ID "${et}" is invalid.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidChainIdError"})}}function assertCurrentChain({chain:_e,currentChainId:et}){if(!_e)throw new ChainNotFoundError;if(et!==_e.id)throw new ChainMismatchError({chain:_e,currentChainId:et})}function defineChain(_e,et={}){const{fees:tt=_e.fees,formatters:rt=_e.formatters,serializers:nt=_e.serializers}=et;return{..._e,fees:tt,formatters:rt,serializers:nt}}function getChainContractAddress({blockNumber:_e,chain:et,contract:tt}){const rt=et?.contracts?.[tt];if(!rt)throw new ChainDoesNotSupportContract({chain:et,contract:{name:tt}});if(_e&&rt.blockCreated&&rt.blockCreated>_e)throw new ChainDoesNotSupportContract({blockNumber:_e,chain:et,contract:{name:tt,blockCreated:rt.blockCreated}});return rt.address}function getCallError(_e,{docsPath:et,...tt}){let rt=_e;return containsNodeError(_e)&&(rt=getNodeError(_e,tt)),new CallExecutionError(rt,{docsPath:et,...tt})}const schedulerCache=new Map;function createBatchScheduler({fn:_e,id:et,shouldSplitBatch:tt,wait:rt=0}){const nt=async()=>{const dt=st();it();const ht=dt.map(({args:pt})=>pt);ht.length!==0&&_e(ht).then(pt=>{dt.forEach(({pendingPromise:mt},gt)=>mt.resolve?.([pt[gt],pt]))}).catch(pt=>{dt.forEach(({pendingPromise:mt})=>mt.reject?.(pt))})},it=()=>schedulerCache.delete(et),at=()=>st().map(({args:dt})=>dt),st=()=>schedulerCache.get(et)||[],lt=dt=>schedulerCache.set(et,[...st(),dt]);return{flush:it,async schedule(dt){const ht={},pt=new Promise((vt,bt)=>{ht.resolve=vt,ht.reject=bt});return tt?.([...at(),dt])&&nt(),st().length>0?(lt({args:dt,pendingPromise:ht}),pt):(lt({args:dt,pendingPromise:ht}),setTimeout(nt,rt),pt)}}}async function call$1(_e,et){const{account:tt,batch:rt=!!_e.batch?.multicall,blockNumber:nt,blockTag:it="latest",accessList:at,data:st,gas:lt,gasPrice:dt,maxFeePerGas:ht,maxPriorityFeePerGas:pt,nonce:mt,to:gt,value:vt,...bt}=et,yt=tt?parseAccount(tt):void 0;try{assertRequest(et);const wt=(nt?numberToHex(nt):void 0)||it,_t=_e.chain?.formatters?.transactionRequest?.format||formatTransactionRequest,At=_t({...extract(bt,{format:_t}),from:yt?.address,accessList:at,data:st,gas:lt,gasPrice:dt,maxFeePerGas:ht,maxPriorityFeePerGas:pt,nonce:mt,to:gt,value:vt});if(rt&&shouldPerformMulticall({request:At}))try{return await scheduleMulticall(_e,{...At,blockNumber:nt,blockTag:it})}catch(kt){if(!(kt instanceof ClientChainNotConfiguredError)&&!(kt instanceof ChainDoesNotSupportContract))throw kt}const Tt=await _e.request({method:"eth_call",params:wt?[At,wt]:[At]});return Tt==="0x"?{data:void 0}:{data:Tt}}catch(xt){const wt=getRevertErrorData(xt),{offchainLookup:_t,offchainLookupSignature:At}=await __vitePreload(()=>import("./ccip-456d0e35.js"),[]);if(wt?.slice(0,10)===At&>)return{data:await _t(_e,{data:wt,to:gt})};throw getCallError(xt,{...et,account:yt,chain:_e.chain})}}function shouldPerformMulticall({request:_e}){const{data:et,to:tt,...rt}=_e;return!(!et||et.startsWith(aggregate3Signature)||!tt||Object.values(rt).filter(nt=>typeof nt<"u").length>0)}async function scheduleMulticall(_e,et){const{batchSize:tt=1024,wait:rt=0}=typeof _e.batch?.multicall=="object"?_e.batch.multicall:{},{blockNumber:nt,blockTag:it="latest",data:at,multicallAddress:st,to:lt}=et;let dt=st;if(!dt){if(!_e.chain)throw new ClientChainNotConfiguredError;dt=getChainContractAddress({blockNumber:nt,chain:_e.chain,contract:"multicall3"})}const pt=(nt?numberToHex(nt):void 0)||it,{schedule:mt}=createBatchScheduler({id:`${_e.uid}.${pt}`,wait:rt,shouldSplitBatch(bt){return bt.reduce((xt,{data:wt})=>xt+(wt.length-2),0)>tt*2},fn:async bt=>{const yt=bt.map(_t=>({allowFailure:!0,callData:_t.data,target:_t.to})),xt=encodeFunctionData({abi:multicall3Abi,args:[yt],functionName:"aggregate3"}),wt=await _e.request({method:"eth_call",params:[{data:xt,to:dt},pt]});return decodeFunctionResult({abi:multicall3Abi,args:[yt],functionName:"aggregate3",data:wt||"0x"})}}),[{returnData:gt,success:vt}]=await mt({data:at,to:lt});if(!vt)throw new RawContractError({data:gt});return gt==="0x"?{data:void 0}:{data:gt}}function getRevertErrorData(_e){if(!(_e instanceof BaseError))return;const et=_e.walk();return typeof et.data=="object"?et.data.data:et.data}async function readContract(_e,{abi:et,address:tt,args:rt,functionName:nt,...it}){const at=encodeFunctionData({abi:et,args:rt,functionName:nt});try{const{data:st}=await call$1(_e,{data:at,to:tt,...it});return decodeFunctionResult({abi:et,args:rt,functionName:nt,data:st||"0x"})}catch(st){throw getContractError(st,{abi:et,address:tt,args:rt,docsPath:"/docs/contract/readContract",functionName:nt})}}async function simulateContract(_e,{abi:et,address:tt,args:rt,dataSuffix:nt,functionName:it,...at}){const st=at.account?parseAccount(at.account):void 0,lt=encodeFunctionData({abi:et,args:rt,functionName:it});try{const{data:dt}=await call$1(_e,{batch:!1,data:`${lt}${nt?nt.replace("0x",""):""}`,to:tt,...at});return{result:decodeFunctionResult({abi:et,args:rt,functionName:it,data:dt||"0x"}),request:{abi:et,address:tt,args:rt,dataSuffix:nt,functionName:it,...at}}}catch(dt){throw getContractError(dt,{abi:et,address:tt,args:rt,docsPath:"/docs/contract/simulateContract",functionName:it,sender:st?.address})}}const listenersCache=new Map,cleanupCache=new Map;let callbackCount=0;function observe(_e,et,tt){const rt=++callbackCount,nt=()=>listenersCache.get(_e)||[],it=()=>{const ht=nt();listenersCache.set(_e,ht.filter(pt=>pt.id!==rt))},at=()=>{const ht=cleanupCache.get(_e);nt().length===1&&ht&&ht(),it()},st=nt();if(listenersCache.set(_e,[...st,{id:rt,fns:et}]),st&&st.length>0)return at;const lt={};for(const ht in et)lt[ht]=(...pt)=>{const mt=nt();mt.length!==0&&mt.forEach(gt=>gt.fns[ht]?.(...pt))};const dt=tt(lt);return typeof dt=="function"&&cleanupCache.set(_e,dt),at}async function wait$1(_e){return new Promise(et=>setTimeout(et,_e))}function poll(_e,{emitOnBegin:et,initialWaitTime:tt,interval:rt}){let nt=!0;const it=()=>nt=!1;return(async()=>{let st;et&&(st=await _e({unpoll:it}));const lt=await tt?.(st)??rt;await wait$1(lt);const dt=async()=>{nt&&(await _e({unpoll:it}),await wait$1(rt),dt())};dt()})(),it}const promiseCache=new Map,responseCache=new Map;function getCache(_e){const et=(nt,it)=>({clear:()=>it.delete(nt),get:()=>it.get(nt),set:at=>it.set(nt,at)}),tt=et(_e,promiseCache),rt=et(_e,responseCache);return{clear:()=>{tt.clear(),rt.clear()},promise:tt,response:rt}}async function withCache(_e,{cacheKey:et,cacheTime:tt=1/0}){const rt=getCache(et),nt=rt.response.get();if(nt&&tt>0&&new Date().getTime()-nt.created.getTime()`blockNumber.${_e}`;async function getBlockNumber(_e,{cacheTime:et=_e.cacheTime,maxAge:tt}={}){const rt=await withCache(()=>_e.request({method:"eth_blockNumber"}),{cacheKey:cacheKey(_e.uid),cacheTime:tt??et});return BigInt(rt)}const docsPath$1="/docs/contract/decodeEventLog";function decodeEventLog({abi:_e,data:et,strict:tt,topics:rt}){const nt=tt??!0,[it,...at]=rt;if(!it)throw new AbiEventSignatureEmptyTopicsError({docsPath:docsPath$1});const st=_e.find(vt=>vt.type==="event"&&it===getEventSelector(formatAbiItem(vt)));if(!(st&&"name"in st)||st.type!=="event")throw new AbiEventSignatureNotFoundError(it,{docsPath:docsPath$1});const{name:lt,inputs:dt}=st,ht=dt?.some(vt=>!("name"in vt&&vt.name));let pt=ht?[]:{};const mt=dt.filter(vt=>"indexed"in vt&&vt.indexed);if(at.length>0)for(let vt=0;vt!("indexed"in vt&&vt.indexed));if(gt.length>0){if(et&&et!=="0x")try{const vt=decodeAbiParameters(gt,et);if(vt)if(ht)pt=[...pt,...vt];else for(let bt=0;bt0?pt:void 0}}function decodeTopic({param:_e,value:et}){return _e.type==="string"||_e.type==="bytes"||_e.type==="tuple"||_e.type.match(/^(.*)\[(\d+)?\]$/)?et:(decodeAbiParameters([_e],et)||[])[0]}function formatLog(_e,{args:et,eventName:tt}={}){return{..._e,blockHash:_e.blockHash?_e.blockHash:null,blockNumber:_e.blockNumber?BigInt(_e.blockNumber):null,logIndex:_e.logIndex?Number(_e.logIndex):null,transactionHash:_e.transactionHash?_e.transactionHash:null,transactionIndex:_e.transactionIndex?Number(_e.transactionIndex):null,...tt?{args:et,eventName:tt}:{}}}async function getFilterChanges(_e,{filter:et}){const tt="strict"in et&&et.strict;return(await et.request({method:"eth_getFilterChanges",params:[et.id]})).map(nt=>{if(typeof nt=="string")return nt;try{const{eventName:it,args:at}="abi"in et&&et.abi?decodeEventLog({abi:et.abi,data:nt.data,topics:nt.topics,strict:tt}):{eventName:void 0,args:void 0};return formatLog(nt,{args:at,eventName:it})}catch(it){let at,st;if(it instanceof DecodeLogDataMismatch||it instanceof DecodeLogTopicsMismatch){if("strict"in et&&et.strict)return;at=it.abiItem.name,st=it.abiItem.inputs?.some(lt=>!("name"in lt&<.name))}return formatLog(nt,{args:st?[]:{},eventName:at})}}).filter(Boolean)}async function getLogs(_e,{address:et,blockHash:tt,fromBlock:rt,toBlock:nt,event:it,events:at,args:st,strict:lt}={}){const dt=lt??!1,ht=at??(it?[it]:void 0);let pt=[];ht&&(pt=[ht.flatMap(gt=>encodeEventTopics({abi:[gt],eventName:gt.name,args:st}))],it&&(pt=pt[0]));let mt;return tt?mt=await _e.request({method:"eth_getLogs",params:[{address:et,topics:pt,blockHash:tt}]}):mt=await _e.request({method:"eth_getLogs",params:[{address:et,topics:pt,fromBlock:typeof rt=="bigint"?numberToHex(rt):rt,toBlock:typeof nt=="bigint"?numberToHex(nt):nt}]}),mt.map(gt=>{try{const{eventName:vt,args:bt}=ht?decodeEventLog({abi:ht,data:gt.data,topics:gt.topics,strict:dt}):{eventName:void 0,args:void 0};return formatLog(gt,{args:bt,eventName:vt})}catch(vt){let bt,yt;if(vt instanceof DecodeLogDataMismatch||vt instanceof DecodeLogTopicsMismatch){if(dt)return;bt=vt.abiItem.name,yt=vt.abiItem.inputs?.some(xt=>!("name"in xt&&xt.name))}return formatLog(gt,{args:yt?[]:{},eventName:bt})}}).filter(Boolean)}async function uninstallFilter(_e,{filter:et}){return et.request({method:"eth_uninstallFilter",params:[et.id]})}function watchContractEvent(_e,{abi:et,address:tt,args:rt,batch:nt=!0,eventName:it,onError:at,onLogs:st,poll:lt,pollingInterval:dt=_e.pollingInterval,strict:ht}){return(typeof lt<"u"?lt:_e.transport.type!=="webSocket")?(()=>{const vt=stringify$2(["watchContractEvent",tt,rt,nt,_e.uid,it,dt]),bt=ht??!1;return observe(vt,{onLogs:st,onError:at},yt=>{let xt,wt,_t=!1;const At=poll(async()=>{if(!_t){try{wt=await createContractEventFilter(_e,{abi:et,address:tt,args:rt,eventName:it,strict:bt})}catch{}_t=!0;return}try{let Tt;if(wt)Tt=await getFilterChanges(_e,{filter:wt});else{const kt=await getBlockNumber(_e);xt&&xt!==kt?Tt=await getLogs(_e,{address:tt,args:rt,fromBlock:xt+1n,toBlock:kt,event:getAbiItem({abi:et,name:it})}):Tt=[],xt=kt}if(Tt.length===0)return;nt?yt.onLogs(Tt):Tt.forEach(kt=>yt.onLogs([kt]))}catch(Tt){wt&&Tt instanceof InvalidInputRpcError&&(_t=!1),yt.onError?.(Tt)}},{emitOnBegin:!0,interval:dt});return async()=>{wt&&await uninstallFilter(_e,{filter:wt}),At()}})})():(()=>{let vt=!0,bt=()=>vt=!1;return(async()=>{try{const yt=it?encodeEventTopics({abi:et,eventName:it,args:rt}):[],{unsubscribe:xt}=await _e.transport.subscribe({params:["logs",{address:tt,topics:yt}],onData(wt){if(!vt)return;const _t=wt.result;try{const{eventName:At,args:Tt}=decodeEventLog({abi:et,data:_t.data,topics:_t.topics,strict:ht}),kt=formatLog(_t,{args:Tt,eventName:At});st([kt])}catch(At){let Tt,kt;if(At instanceof DecodeLogDataMismatch||At instanceof DecodeLogTopicsMismatch){if(ht)return;Tt=At.abiItem.name,kt=At.abiItem.inputs?.some(Lt=>!("name"in Lt&&Lt.name))}const jt=formatLog(_t,{args:kt?[]:{},eventName:Tt});st([jt])}},onError(wt){at?.(wt)}});bt=xt,vt||bt()}catch(yt){at?.(yt)}})(),bt})()}function getTransactionError(_e,{docsPath:et,...tt}){let rt=_e;return containsNodeError(_e)&&(rt=getNodeError(_e,tt)),new TransactionExecutionError(rt,{docsPath:et,...tt})}async function getChainId(_e){const et=await _e.request({method:"eth_chainId"});return hexToNumber$1(et)}async function sendTransaction(_e,et){const{account:tt=_e.account,chain:rt=_e.chain,accessList:nt,data:it,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt,...gt}=et;if(!tt)throw new AccountNotFoundError({docsPath:"/docs/actions/wallet/sendTransaction"});const vt=parseAccount(tt);try{assertRequest(et);let bt;if(rt!==null&&(bt=await getChainId(_e),assertCurrentChain({currentChainId:bt,chain:rt})),vt.type==="local"){const wt=await prepareRequest(_e,{account:vt,accessList:nt,chain:rt,data:it,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt,...gt});bt||(bt=await getChainId(_e));const _t=rt?.serializers?.transaction,At=await vt.signTransaction({...wt,chainId:bt},{serializer:_t});return await _e.request({method:"eth_sendRawTransaction",params:[At]})}const yt=rt?.formatters?.transactionRequest?.format||formatTransactionRequest,xt=yt({...extract(gt,{format:yt}),accessList:nt,data:it,from:vt.address,gas:at,gasPrice:st,maxFeePerGas:lt,maxPriorityFeePerGas:dt,nonce:ht,to:pt,value:mt});return await _e.request({method:"eth_sendTransaction",params:[xt]})}catch(bt){throw getTransactionError(bt,{...et,account:vt,chain:et.chain||void 0})}}async function writeContract(_e,{abi:et,address:tt,args:rt,dataSuffix:nt,functionName:it,...at}){const st=encodeFunctionData({abi:et,args:rt,functionName:it});return await sendTransaction(_e,{data:`${st}${nt?nt.replace("0x",""):""}`,to:tt,...at})}function getContract({abi:_e,address:et,publicClient:tt,walletClient:rt}){const nt=tt!=null,it=rt!=null,at={};let st=!1,lt=!1,dt=!1;for(const ht of _e)if(ht.type==="function"?ht.stateMutability==="view"||ht.stateMutability==="pure"?st=!0:lt=!0:ht.type==="event"&&(dt=!0),st&<&&dt)break;return nt&&(st&&(at.read=new Proxy({},{get(ht,pt){return(...mt)=>{const{args:gt,options:vt}=getFunctionParameters(mt);return readContract(tt,{abi:_e,address:et,functionName:pt,args:gt,...vt})}}})),lt&&(at.simulate=new Proxy({},{get(ht,pt){return(...mt)=>{const{args:gt,options:vt}=getFunctionParameters(mt);return simulateContract(tt,{abi:_e,address:et,functionName:pt,args:gt,...vt})}}})),dt&&(at.createEventFilter=new Proxy({},{get(ht,pt){return(...mt)=>{const gt=_e.find(yt=>yt.type==="event"&&yt.name===pt),{args:vt,options:bt}=getEventParameters(mt,gt);return createContractEventFilter(tt,{abi:_e,address:et,eventName:pt,args:vt,...bt})}}}),at.watchEvent=new Proxy({},{get(ht,pt){return(...mt)=>{const gt=_e.find(yt=>yt.type==="event"&&yt.name===pt),{args:vt,options:bt}=getEventParameters(mt,gt);return watchContractEvent(tt,{abi:_e,address:et,eventName:pt,args:vt,...bt})}}}))),it&<&&(at.write=new Proxy({},{get(ht,pt){return(...mt)=>{const{args:gt,options:vt}=getFunctionParameters(mt);return writeContract(rt,{abi:_e,address:et,functionName:pt,args:gt,...vt})}}})),(nt||it)&<&&(at.estimateGas=new Proxy({},{get(ht,pt){return(...mt)=>{const{args:gt,options:vt}=getFunctionParameters(mt);return estimateContractGas(tt??rt,{abi:_e,address:et,functionName:pt,args:gt,...vt,account:vt.account??rt.account})}}})),at.address=et,at.abi=_e,at}function getFunctionParameters(_e){const et=_e.length&&Array.isArray(_e[0]),tt=et?_e[0]:[],rt=(et?_e[1]:_e[0])??{};return{args:tt,options:rt}}function getEventParameters(_e,et){let tt=!1;Array.isArray(_e[0])?tt=!0:_e.length===1?tt=et.inputs.some(it=>it.indexed):_e.length===2&&(tt=!0);const rt=tt?_e[0]:void 0,nt=(tt?_e[1]:_e[0])??{};return{args:rt,options:nt}}async function addChain(_e,{chain:et}){const{id:tt,name:rt,nativeCurrency:nt,rpcUrls:it,blockExplorers:at}=et;await _e.request({method:"wallet_addEthereumChain",params:[{chainId:numberToHex(tt),chainName:rt,nativeCurrency:nt,rpcUrls:it.default.http,blockExplorerUrls:at?Object.values(at).map(({url:st})=>st):void 0}]})}function publicKeyToAddress(_e){const et=keccak256(`0x${_e.substring(4)}`).substring(26);return checksumAddress(`0x${et}`)}const size=256;let index$1=size,buffer$1;function uid(_e=11){if(!buffer$1||index$1+_e>size*2){buffer$1="",index$1=0;for(let et=0;et{const xt=yt(bt);for(const _t in gt)delete xt[_t];const wt={...bt,...xt};return Object.assign(wt,{extend:vt(wt)})}}return Object.assign(gt,{extend:vt(gt)})}function withRetry(_e,{delay:et=100,retryCount:tt=2,shouldRetry:rt=()=>!0}={}){return new Promise((nt,it)=>{const at=async({count:st=0}={})=>{const lt=async({error:dt})=>{const ht=typeof et=="function"?et({count:st,error:dt}):et;ht&&await wait$1(ht),at({count:st+1})};try{const dt=await _e();nt(dt)}catch(dt){if(st"code"in _e?_e.code!==-1&&_e.code!==-32004&&_e.code!==-32005&&_e.code!==-32042&&_e.code!==-32603:_e instanceof HttpRequestError&&_e.status?_e.status!==403&&_e.status!==408&&_e.status!==413&&_e.status!==429&&_e.status!==500&&_e.status!==502&&_e.status!==503&&_e.status!==504:!1;function buildRequest(_e,{retryDelay:et=150,retryCount:tt=3}={}){return async rt=>withRetry(async()=>{try{return await _e(rt)}catch(nt){const it=nt;switch(it.code){case ParseRpcError.code:throw new ParseRpcError(it);case InvalidRequestRpcError.code:throw new InvalidRequestRpcError(it);case MethodNotFoundRpcError.code:throw new MethodNotFoundRpcError(it);case InvalidParamsRpcError.code:throw new InvalidParamsRpcError(it);case InternalRpcError.code:throw new InternalRpcError(it);case InvalidInputRpcError.code:throw new InvalidInputRpcError(it);case ResourceNotFoundRpcError.code:throw new ResourceNotFoundRpcError(it);case ResourceUnavailableRpcError.code:throw new ResourceUnavailableRpcError(it);case TransactionRejectedRpcError.code:throw new TransactionRejectedRpcError(it);case MethodNotSupportedRpcError.code:throw new MethodNotSupportedRpcError(it);case LimitExceededRpcError.code:throw new LimitExceededRpcError(it);case JsonRpcVersionUnsupportedError.code:throw new JsonRpcVersionUnsupportedError(it);case UserRejectedRequestError.code:throw new UserRejectedRequestError(it);case UnauthorizedProviderError.code:throw new UnauthorizedProviderError(it);case UnsupportedProviderMethodError.code:throw new UnsupportedProviderMethodError(it);case ProviderDisconnectedError.code:throw new ProviderDisconnectedError(it);case ChainDisconnectedError.code:throw new ChainDisconnectedError(it);case SwitchChainError.code:throw new SwitchChainError(it);default:throw nt instanceof BaseError?nt:new UnknownRpcError(it)}}},{delay:({count:nt,error:it})=>{if(it&&it instanceof HttpRequestError){const at=it?.headers?.get("Retry-After");if(at?.match(/\d/))return parseInt(at)*1e3}return~~(1<!isDeterministicError(nt)})}function createTransport({key:_e,name:et,request:tt,retryCount:rt=3,retryDelay:nt=150,timeout:it,type:at},st){return{config:{key:_e,name:et,request:tt,retryCount:rt,retryDelay:nt,timeout:it,type:at},request:buildRequest(tt,{retryCount:rt,retryDelay:nt}),value:st}}function fallback(_e,et={}){const{key:tt="fallback",name:rt="Fallback",rank:nt=!1,retryCount:it,retryDelay:at}=et;return({chain:st,pollingInterval:lt=4e3,timeout:dt})=>{let ht=_e,pt=()=>{};const mt=createTransport({key:tt,name:rt,async request({method:gt,params:vt}){const bt=async(yt=0)=>{const xt=ht[yt]({chain:st,retryCount:0,timeout:dt});try{const wt=await xt.request({method:gt,params:vt});return pt({method:gt,params:vt,response:wt,transport:xt,status:"success"}),wt}catch(wt){if(pt({error:wt,method:gt,params:vt,transport:xt,status:"error"}),isDeterministicError(wt)||yt===ht.length-1)throw wt;return bt(yt+1)}};return bt()},retryCount:it,retryDelay:at,type:"fallback"},{onResponse:gt=>pt=gt,transports:ht.map(gt=>gt({chain:st,retryCount:0}))});if(nt){const gt=typeof nt=="object"?nt:{};rankTransports({chain:st,interval:gt.interval??lt,onTransports:vt=>ht=vt,sampleCount:gt.sampleCount,timeout:gt.timeout,transports:ht,weights:gt.weights})}return mt}}function rankTransports({chain:_e,interval:et=4e3,onTransports:tt,sampleCount:rt=10,timeout:nt=1e3,transports:it,weights:at={}}){const{stability:st=.7,latency:lt=.3}=at,dt=[],ht=async()=>{const pt=await Promise.all(it.map(async vt=>{const bt=vt({chain:_e,retryCount:0,timeout:nt}),yt=Date.now();let xt,wt;try{await bt.request({method:"net_listening"}),wt=1}catch{wt=0}finally{xt=Date.now()}return{latency:xt-yt,success:wt}}));dt.push(pt),dt.length>rt&&dt.shift();const mt=Math.max(...dt.map(vt=>Math.max(...vt.map(({latency:bt})=>bt)))),gt=it.map((vt,bt)=>{const yt=dt.map(Tt=>Tt[bt].latency),wt=1-yt.reduce((Tt,kt)=>Tt+kt,0)/yt.length/mt,_t=dt.map(Tt=>Tt[bt].success),At=_t.reduce((Tt,kt)=>Tt+kt,0)/_t.length;return At===0?[0,bt]:[lt*wt+st*At,bt]}).sort((vt,bt)=>bt[0]-vt[0]);tt(gt.map(([,vt])=>it[vt])),await wait$1(et),ht()};ht()}class UrlRequiredError extends BaseError{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro"})}}function withTimeout(_e,{errorInstance:et,timeout:tt,signal:rt}){return new Promise((nt,it)=>{(async()=>{let at;try{const st=new AbortController;tt>0&&(at=setTimeout(()=>{rt?st.abort():it(et)},tt)),nt(await _e({signal:st?.signal}))}catch(st){st.name==="AbortError"&&it(et),it(st)}finally{clearTimeout(at)}})()})}let id$1=0;async function http$1(_e,{body:et,fetchOptions:tt={},timeout:rt=1e4}){const{headers:nt,method:it,signal:at}=tt;try{const st=await withTimeout(async({signal:dt})=>await fetch(_e,{...tt,body:Array.isArray(et)?stringify$2(et.map(pt=>({jsonrpc:"2.0",id:id$1++,...pt}))):stringify$2({jsonrpc:"2.0",id:id$1++,...et}),headers:{...nt,"Content-Type":"application/json"},method:it||"POST",signal:at||(rt>0?dt:void 0)}),{errorInstance:new TimeoutError({body:et,url:_e}),timeout:rt,signal:!0});let lt;if(st.headers.get("Content-Type")?.startsWith("application/json")?lt=await st.json():lt=await st.text(),!st.ok)throw new HttpRequestError({body:et,details:stringify$2(lt.error)||st.statusText,headers:st.headers,status:st.status,url:_e});return lt}catch(st){throw st instanceof HttpRequestError||st instanceof TimeoutError?st:new HttpRequestError({body:et,details:st.message,url:_e})}}const sockets=new Map;async function getSocket(_e){const et=new URL(_e),tt=et.toString();let rt=sockets.get(tt);if(rt)return rt;const{schedule:nt}=createBatchScheduler({id:tt,fn:async()=>{let st=await __vitePreload(()=>import("./browser-3852a342.js"),[]);st.default?.constructor?st=st.default:st=st.WebSocket;const lt=new st(et),dt=new Map,ht=new Map,pt=({data:gt})=>{const vt=JSON.parse(gt),bt=vt.method==="eth_subscription",yt=bt?vt.params.subscription:vt.id,xt=bt?ht:dt,wt=xt.get(yt);wt&&wt({data:gt}),bt||xt.delete(yt)},mt=()=>{sockets.delete(tt),lt.removeEventListener("close",mt),lt.removeEventListener("message",pt)};return lt.addEventListener("close",mt),lt.addEventListener("message",pt),lt.readyState===st.CONNECTING&&await new Promise((gt,vt)=>{lt&&(lt.onopen=gt,lt.onerror=vt)}),rt=Object.assign(lt,{requests:dt,subscriptions:ht}),sockets.set(tt,rt),[rt]}}),[it,[at]]=await nt();return at}function webSocket$1(_e,{body:et,onResponse:tt}){if(_e.readyState===_e.CLOSED||_e.readyState===_e.CLOSING)throw new WebSocketRequestError({body:et,url:_e.url,details:"Socket is closed."});const rt=id$1++,nt=({data:it})=>{const at=JSON.parse(it);typeof at.id=="number"&&rt!==at.id||(tt?.(at),et.method==="eth_subscribe"&&typeof at.result=="string"&&_e.subscriptions.set(at.result,nt),et.method==="eth_unsubscribe"&&_e.subscriptions.delete(et.params?.[0]))};return _e.requests.set(rt,nt),_e.send(JSON.stringify({jsonrpc:"2.0",...et,id:rt})),_e}async function webSocketAsync(_e,{body:et,timeout:tt=1e4}){return withTimeout(()=>new Promise(rt=>rpc$1.webSocket(_e,{body:et,onResponse:rt})),{errorInstance:new TimeoutError({body:et,url:_e.url}),timeout:tt})}const rpc$1={http:http$1,webSocket:webSocket$1,webSocketAsync};function http(_e,et={}){const{batch:tt,fetchOptions:rt,key:nt="http",name:it="HTTP JSON-RPC",retryDelay:at}=et;return({chain:st,retryCount:lt,timeout:dt})=>{const{batchSize:ht=1e3,wait:pt=0}=typeof tt=="object"?tt:{},mt=et.retryCount??lt,gt=dt??et.timeout??1e4,vt=_e||st?.rpcUrls.default.http[0];if(!vt)throw new UrlRequiredError;return createTransport({key:nt,name:it,async request({method:bt,params:yt}){const xt={method:bt,params:yt},{schedule:wt}=createBatchScheduler({id:`${_e}`,wait:pt,shouldSplitBatch(kt){return kt.length>ht},fn:kt=>rpc$1.http(vt,{body:kt,fetchOptions:rt,timeout:gt})}),_t=async kt=>tt?wt(kt):[await rpc$1.http(vt,{body:kt,fetchOptions:rt,timeout:gt})],[{error:At,result:Tt}]=await _t(xt);if(At)throw new RpcRequestError({body:xt,error:At,url:vt});return Tt},retryCount:mt,retryDelay:at,timeout:gt,type:"http"},{url:_e})}}function isNullUniversalResolverError(_e,et){if(!(_e instanceof BaseError))return!1;const tt=_e.walk(rt=>rt instanceof ContractFunctionRevertedError);return tt instanceof ContractFunctionRevertedError?!!(tt.data?.errorName==="ResolverNotFound"||tt.data?.errorName==="ResolverWildcardNotSupported"||tt.reason?.includes("Wildcard on non-extended resolvers is not supported")||et==="reverse"&&tt.reason===panicReasons[50]):!1}const bytesRegex=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,integerRegex=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function validateTypedData({domain:_e,message:et,primaryType:tt,types:rt}){const nt=rt,it=(at,st)=>{for(const lt of at){const{name:dt,type:ht}=lt,pt=ht,mt=st[dt],gt=pt.match(integerRegex);if(gt&&(typeof mt=="number"||typeof mt=="bigint")){const[yt,xt,wt]=gt;numberToHex(mt,{signed:xt==="int",size:parseInt(wt)/8})}if(pt==="address"&&typeof mt=="string"&&!isAddress(mt))throw new InvalidAddressError({address:mt});const vt=pt.match(bytesRegex);if(vt){const[yt,xt]=vt;if(xt&&size$1(mt)!==parseInt(xt))throw new BytesSizeMismatchError({expectedSize:parseInt(xt),givenSize:size$1(mt)})}const bt=nt[pt];bt&&it(bt,mt)}};if(nt.EIP712Domain&&_e&&it(nt.EIP712Domain,_e),tt!=="EIP712Domain"){const at=nt[tt];it(at,et)}}const docsPath="/docs/contract/encodeDeployData";function encodeDeployData({abi:_e,args:et,bytecode:tt}){if(!et||et.length===0)return tt;const rt=_e.find(it=>"type"in it&&it.type==="constructor");if(!rt)throw new AbiConstructorNotFoundError({docsPath});if(!("inputs"in rt))throw new AbiConstructorParamsNotFoundError({docsPath});if(!rt.inputs||rt.inputs.length===0)throw new AbiConstructorParamsNotFoundError({docsPath});const nt=encodeAbiParameters(rt.inputs,et);return concatHex([tt,nt])}function toRlp(_e,et){const tt=et||"hex";return format$2(bytesToRlp(parse$1(_e)),tt)}function parse$1(_e){return Array.isArray(_e)?_e.map(parse$1):typeof _e=="string"?toBytes$2(_e):_e}function format$2(_e,et="bytes"){return et==="hex"?bytesToHex$1(_e):_e}function bytesToRlp(_e){if(Array.isArray(_e)){const et=concat(_e.map(bytesToRlp));return new Uint8Array([...encodeLength(et.length,192),...et])}return _e.length===1&&_e[0]<128?_e:new Uint8Array([...encodeLength(_e.length,128),..._e])}function encodeLength(_e,et){return _e<56?[et+_e]:[toBytes$2(_e).length+et+55,...toBytes$2(_e)]}const statuses={"0x0":"reverted","0x1":"success"};function formatTransactionReceipt(_e){return{..._e,blockNumber:_e.blockNumber?BigInt(_e.blockNumber):null,contractAddress:_e.contractAddress?_e.contractAddress:null,cumulativeGasUsed:_e.cumulativeGasUsed?BigInt(_e.cumulativeGasUsed):null,effectiveGasPrice:_e.effectiveGasPrice?BigInt(_e.effectiveGasPrice):null,gasUsed:_e.gasUsed?BigInt(_e.gasUsed):null,logs:_e.logs?_e.logs.map(et=>formatLog(et)):null,to:_e.to?_e.to:null,transactionIndex:_e.transactionIndex?hexToNumber$1(_e.transactionIndex):null,status:_e.status?statuses[_e.status]:null,type:_e.type?transactionType[_e.type]||_e.type:null}}function hashTypedData({domain:_e,message:et,primaryType:tt,types:rt}){const nt=typeof _e>"u"?{}:_e,it={EIP712Domain:[typeof nt?.name=="string"&&{name:"name",type:"string"},nt?.version&&{name:"version",type:"string"},typeof nt?.chainId=="number"&&{name:"chainId",type:"uint256"},nt?.verifyingContract&&{name:"verifyingContract",type:"address"},nt?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean),...rt};validateTypedData({domain:nt,message:et,primaryType:tt,types:it});const at=["0x1901"];return nt&&at.push(hashDomain({domain:nt,types:it})),tt!=="EIP712Domain"&&at.push(hashStruct({data:et,primaryType:tt,types:it})),keccak256(concat(at))}function hashDomain({domain:_e,types:et}){return hashStruct({data:_e,primaryType:"EIP712Domain",types:et})}function hashStruct({data:_e,primaryType:et,types:tt}){const rt=encodeData({data:_e,primaryType:et,types:tt});return keccak256(rt)}function encodeData({data:_e,primaryType:et,types:tt}){const rt=[{type:"bytes32"}],nt=[hashType({primaryType:et,types:tt})];for(const it of tt[et]){const[at,st]=encodeField({types:tt,name:it.name,type:it.type,value:_e[it.name]});rt.push(at),nt.push(st)}return encodeAbiParameters(rt,nt)}function hashType({primaryType:_e,types:et}){const tt=toHex$1(encodeType({primaryType:_e,types:et}));return keccak256(tt)}function encodeType({primaryType:_e,types:et}){let tt="";const rt=findTypeDependencies({primaryType:_e,types:et});rt.delete(_e);const nt=[_e,...Array.from(rt).sort()];for(const it of nt)tt+=`${it}(${et[it].map(({name:at,type:st})=>`${st} ${at}`).join(",")})`;return tt}function findTypeDependencies({primaryType:_e,types:et},tt=new Set){const nt=_e.match(/^\w*/u)?.[0];if(tt.has(nt)||et[nt]===void 0)return tt;tt.add(nt);for(const it of et[nt])findTypeDependencies({primaryType:it.type,types:et},tt);return tt}function encodeField({types:_e,name:et,type:tt,value:rt}){if(_e[tt]!==void 0)return[{type:"bytes32"},keccak256(encodeData({data:rt,primaryType:tt,types:_e}))];if(tt==="bytes")return rt=`0x${(rt.length%2?"0":"")+rt.slice(2)}`,[{type:"bytes32"},keccak256(rt)];if(tt==="string")return[{type:"bytes32"},keccak256(toHex$1(rt))];if(tt.lastIndexOf("]")===tt.length-1){const nt=tt.slice(0,tt.lastIndexOf("[")),it=rt.map(at=>encodeField({name:et,type:nt,types:_e,value:at}));return[{type:"bytes32"},keccak256(encodeAbiParameters(it.map(([at])=>at),it.map(([,at])=>at)))]}return[{type:tt},rt]}function hashMessage(_e,et){const tt=(()=>typeof _e=="string"?stringToBytes(_e):_e.raw instanceof Uint8Array?_e.raw:toBytes$2(_e.raw))(),rt=stringToBytes(`Ethereum Signed Message: +${tt.length}`);return keccak256(concat([rt,tt]),et)}function getTransactionType(_e){if(_e.type)return _e.type;if(typeof _e.maxFeePerGas<"u"||typeof _e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof _e.gasPrice<"u")return typeof _e.accessList<"u"?"eip2930":"legacy";throw new InvalidSerializableTransactionError({transaction:_e})}function assertTransactionEIP1559(_e){const{chainId:et,maxPriorityFeePerGas:tt,gasPrice:rt,maxFeePerGas:nt,to:it}=_e;if(et<=0)throw new InvalidChainIdError({chainId:et});if(it&&!isAddress(it))throw new InvalidAddressError({address:it});if(rt)throw new BaseError("`gasPrice` is not a valid EIP-1559 Transaction attribute.");if(nt&&nt>2n**256n-1n)throw new FeeCapTooHighError({maxFeePerGas:nt});if(tt&&nt&&tt>nt)throw new TipAboveFeeCapError({maxFeePerGas:nt,maxPriorityFeePerGas:tt})}function assertTransactionEIP2930(_e){const{chainId:et,maxPriorityFeePerGas:tt,gasPrice:rt,maxFeePerGas:nt,to:it}=_e;if(et<=0)throw new InvalidChainIdError({chainId:et});if(it&&!isAddress(it))throw new InvalidAddressError({address:it});if(tt||nt)throw new BaseError("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(rt&&rt>2n**256n-1n)throw new FeeCapTooHighError({maxFeePerGas:rt})}function assertTransactionLegacy(_e){const{chainId:et,maxPriorityFeePerGas:tt,gasPrice:rt,maxFeePerGas:nt,to:it,accessList:at}=_e;if(it&&!isAddress(it))throw new InvalidAddressError({address:it});if(typeof et<"u"&&et<=0)throw new InvalidChainIdError({chainId:et});if(tt||nt)throw new BaseError("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(rt&&rt>2n**256n-1n)throw new FeeCapTooHighError({maxFeePerGas:rt});if(at)throw new BaseError("`accessList` is not a valid Legacy Transaction attribute.")}function serializeAccessList(_e){if(!_e||_e.length===0)return[];const et=[];for(let tt=0;tt<_e.length;tt++){const{address:rt,storageKeys:nt}=_e[tt];for(let it=0;it0)ht=BigInt(tt*2)+BigInt(35n+et.v-27n);else if(et.v!==ht)throw new InvalidLegacyVError({v:et.v});dt=[...dt,toHex$1(ht),et.r,et.s]}else tt>0&&(dt=[...dt,toHex$1(tt),"0x","0x"]);return toRlp(dt)}function parseUnits(_e,et){let[tt,rt="0"]=_e.split(".");const nt=tt.startsWith("-");if(nt&&(tt=tt.slice(1)),rt=rt.replace(/(0+)$/,""),et===0)Math.round(+`.${rt}`)===1&&(tt=`${BigInt(tt)+1n}`),rt="";else if(rt.length>et){const[it,at,st]=[rt.slice(0,et-1),rt.slice(et-1,et),rt.slice(et)],lt=Math.round(+`${at}.${st}`);lt>9?rt=`${BigInt(it)+BigInt(1)}0`.padStart(it.length+1,"0"):rt=`${it}${lt}`,rt.length>et&&(rt=rt.slice(1),tt=`${BigInt(tt)+1n}`),rt=rt.slice(0,et)}else rt=rt.padEnd(et,"0");return BigInt(`${nt?"-":""}${tt}${rt}`)}function parseEther(_e,et="wei"){return parseUnits(_e,etherUnits[et])}function encodedLabelToLabelhash(_e){if(_e.length!==66||_e.indexOf("[")!==0||_e.indexOf("]")!==65)return null;const et=`0x${_e.slice(1,65)}`;return isHex(et)?et:null}function namehash(_e){let et=new Uint8Array(32).fill(0);if(!_e)return bytesToHex$1(et);const tt=_e.split(".");for(let rt=tt.length-1;rt>=0;rt-=1){const nt=encodedLabelToLabelhash(tt[rt]),it=nt?toBytes$2(nt):keccak256(stringToBytes(tt[rt]),"bytes");et=keccak256(concat([et,it]),"bytes")}return bytesToHex$1(et)}function encodeLabelhash(_e){return`[${_e.slice(2)}]`}function labelhash(_e){const et=new Uint8Array(32).fill(0);return _e?encodedLabelToLabelhash(_e)||keccak256(stringToBytes(_e)):bytesToHex$1(et)}function packetToBytes(_e){const et=_e.replace(/^\.|\.$/gm,"");if(et.length===0)return new Uint8Array(1);const tt=new Uint8Array(stringToBytes(et).byteLength+2);let rt=0;const nt=et.split(".");for(let it=0;it255&&(at=stringToBytes(encodeLabelhash(labelhash(nt[it])))),tt[rt]=at.length,tt.set(at,rt+1),rt+=at.length+1}return tt.byteLength!==rt+1?tt.slice(0,rt+1):tt}async function getEnsAddress(_e,{blockNumber:et,blockTag:tt,coinType:rt,name:nt,universalResolverAddress:it}){let at=it;if(!at){if(!_e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");at=getChainContractAddress({blockNumber:et,chain:_e.chain,contract:"ensUniversalResolver"})}try{const st=encodeFunctionData({abi:addressResolverAbi,functionName:"addr",...rt!=null?{args:[namehash(nt),BigInt(rt)]}:{args:[namehash(nt)]}}),lt=await readContract(_e,{address:at,abi:universalResolverResolveAbi,functionName:"resolve",args:[toHex$1(packetToBytes(nt)),st],blockNumber:et,blockTag:tt});if(lt[0]==="0x")return null;const dt=trim$1(decodeFunctionResult({abi:addressResolverAbi,args:rt!=null?[namehash(nt),BigInt(rt)]:void 0,functionName:"addr",data:lt[0]}));return dt==="0x"||trim$1(dt)==="0x00"?null:dt}catch(st){if(isNullUniversalResolverError(st,"resolve"))return null;throw st}}class EnsAvatarInvalidMetadataError extends BaseError{constructor({data:et}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(et)}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"EnsAvatarInvalidMetadataError"})}}class EnsAvatarInvalidNftUriError extends BaseError{constructor({reason:et}){super(`ENS NFT avatar URI is invalid. ${et}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"EnsAvatarInvalidNftUriError"})}}class EnsAvatarUriResolutionError extends BaseError{constructor({uri:et}){super(`Unable to resolve ENS avatar URI "${et}". The URI may be malformed, invalid, or does not respond with a valid image.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"EnsAvatarUriResolutionError"})}}class EnsAvatarUnsupportedNamespaceError extends BaseError{constructor({namespace:et}){super(`ENS NFT avatar namespace "${et}" is not supported. Must be "erc721" or "erc1155".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"EnsAvatarUnsupportedNamespaceError"})}}const networkRegex=/(?https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?\/)?(?ipfs\/|ipns\/)?(?[\w\-.]+)(?\/.*)?/,ipfsHashRegex=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?[\w\-.]+))?(?\/.*)?$/,base64Regex=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,dataURIRegex=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function isImageUri(_e){try{const et=await fetch(_e,{method:"HEAD"});return et.status===200?et.headers.get("content-type")?.startsWith("image/"):!1}catch(et){return typeof et=="object"&&typeof et.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(tt=>{const rt=new Image;rt.onload=()=>{tt(!0)},rt.onerror=()=>{tt(!1)},rt.src=_e})}}function getGateway(_e,et){return _e?_e.endsWith("/")?_e.slice(0,-1):_e:et}function resolveAvatarUri({uri:_e,gatewayUrls:et}){const tt=base64Regex.test(_e);if(tt)return{uri:_e,isOnChain:!0,isEncoded:tt};const rt=getGateway(et?.ipfs,"https://ipfs.io"),nt=getGateway(et?.arweave,"https://arweave.net"),it=_e.match(networkRegex),{protocol:at,subpath:st,target:lt,subtarget:dt=""}=it?.groups||{},ht=at==="ipns:/"||st==="ipns/",pt=at==="ipfs:/"||st==="ipfs/"||ipfsHashRegex.test(_e);if(_e.startsWith("http")&&!ht&&!pt){let gt=_e;return et?.arweave&&(gt=_e.replace(/https:\/\/arweave.net/g,et?.arweave)),{uri:gt,isOnChain:!1,isEncoded:!1}}if((ht||pt)&<)return{uri:`${rt}/${ht?"ipns":"ipfs"}/${lt}${dt}`,isOnChain:!1,isEncoded:!1};if(at==="ar:/"&<)return{uri:`${nt}/${lt}${dt||""}`,isOnChain:!1,isEncoded:!1};let mt=_e.replace(dataURIRegex,"");if(mt.startsWith("nt.json());return await parseAvatarUri({gatewayUrls:_e,uri:getJsonImage(tt)})}catch{throw new EnsAvatarUriResolutionError({uri:et})}}async function parseAvatarUri({gatewayUrls:_e,uri:et}){const{uri:tt,isOnChain:rt}=resolveAvatarUri({uri:et,gatewayUrls:_e});if(rt||await isImageUri(tt))return tt;throw new EnsAvatarUriResolutionError({uri:et})}function parseNftUri(_e){let et=_e;et.startsWith("did:nft:")&&(et=et.replace("did:nft:","").replace(/_/g,"/"));const[tt,rt,nt]=et.split("/"),[it,at]=tt.split(":"),[st,lt]=rt.split(":");if(!it||it.toLowerCase()!=="eip155")throw new EnsAvatarInvalidNftUriError({reason:"Only EIP-155 supported"});if(!at)throw new EnsAvatarInvalidNftUriError({reason:"Chain ID not found"});if(!lt)throw new EnsAvatarInvalidNftUriError({reason:"Contract address not found"});if(!nt)throw new EnsAvatarInvalidNftUriError({reason:"Token ID not found"});if(!st)throw new EnsAvatarInvalidNftUriError({reason:"ERC namespace not found"});return{chainID:parseInt(at),namespace:st.toLowerCase(),contractAddress:lt,tokenID:nt}}async function getNftTokenUri(_e,{nft:et}){if(et.namespace==="erc721")return readContract(_e,{address:et.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(et.tokenID)]});if(et.namespace==="erc1155")return readContract(_e,{address:et.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(et.tokenID)]});throw new EnsAvatarUnsupportedNamespaceError({namespace:et.namespace})}async function parseAvatarRecord(_e,{gatewayUrls:et,record:tt}){return/eip155:/i.test(tt)?parseNftAvatarUri(_e,{gatewayUrls:et,record:tt}):parseAvatarUri({uri:tt,gatewayUrls:et})}async function parseNftAvatarUri(_e,{gatewayUrls:et,record:tt}){const rt=parseNftUri(tt),nt=await getNftTokenUri(_e,{nft:rt}),{uri:it,isOnChain:at,isEncoded:st}=resolveAvatarUri({uri:nt,gatewayUrls:et});if(at&&(it.includes("data:application/json;base64,")||it.startsWith("{"))){const dt=st?atob(it.replace("data:application/json;base64,","")):it,ht=JSON.parse(dt);return parseAvatarUri({uri:getJsonImage(ht),gatewayUrls:et})}let lt=rt.tokenID;return rt.namespace==="erc1155"&&(lt=lt.replace("0x","").padStart(64,"0")),getMetadataAvatarUri({gatewayUrls:et,uri:it.replace(/(?:0x)?{id}/,lt)})}async function getEnsText(_e,{blockNumber:et,blockTag:tt,name:rt,key:nt,universalResolverAddress:it}){let at=it;if(!at){if(!_e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");at=getChainContractAddress({blockNumber:et,chain:_e.chain,contract:"ensUniversalResolver"})}try{const st=await readContract(_e,{address:at,abi:universalResolverResolveAbi,functionName:"resolve",args:[toHex$1(packetToBytes(rt)),encodeFunctionData({abi:textResolverAbi,functionName:"text",args:[namehash(rt),nt]})],blockNumber:et,blockTag:tt});if(st[0]==="0x")return null;const lt=decodeFunctionResult({abi:textResolverAbi,functionName:"text",data:st[0]});return lt===""?null:lt}catch(st){if(isNullUniversalResolverError(st,"resolve"))return null;throw st}}async function getEnsAvatar(_e,{blockNumber:et,blockTag:tt,gatewayUrls:rt,name:nt,universalResolverAddress:it}){const at=await getEnsText(_e,{blockNumber:et,blockTag:tt,key:"avatar",name:nt,universalResolverAddress:it});if(!at)return null;try{return await parseAvatarRecord(_e,{record:at,gatewayUrls:rt})}catch{return null}}async function getEnsName(_e,{address:et,blockNumber:tt,blockTag:rt,universalResolverAddress:nt}){let it=nt;if(!it){if(!_e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");it=getChainContractAddress({blockNumber:tt,chain:_e.chain,contract:"ensUniversalResolver"})}const at=`${et.toLowerCase().substring(2)}.addr.reverse`;try{return(await readContract(_e,{address:it,abi:universalResolverReverseAbi,functionName:"reverse",args:[toHex$1(packetToBytes(at))],blockNumber:tt,blockTag:rt}))[0]}catch(st){if(isNullUniversalResolverError(st,"reverse"))return null;throw st}}async function getEnsResolver(_e,{blockNumber:et,blockTag:tt,name:rt,universalResolverAddress:nt}){let it=nt;if(!it){if(!_e.chain)throw new Error("client chain not configured. universalResolverAddress is required.");it=getChainContractAddress({blockNumber:et,chain:_e.chain,contract:"ensUniversalResolver"})}const[at]=await readContract(_e,{address:it,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[toHex$1(packetToBytes(rt))],blockNumber:et,blockTag:tt});return at}async function createBlockFilter(_e){const et=createFilterRequestScope(_e,{method:"eth_newBlockFilter"}),tt=await _e.request({method:"eth_newBlockFilter"});return{id:tt,request:et(tt),type:"block"}}async function createEventFilter(_e,{address:et,args:tt,event:rt,events:nt,fromBlock:it,strict:at,toBlock:st}={}){const lt=nt??(rt?[rt]:void 0),dt=createFilterRequestScope(_e,{method:"eth_newFilter"});let ht=[];lt&&(ht=[lt.flatMap(mt=>encodeEventTopics({abi:[mt],eventName:mt.name,args:tt}))],rt&&(ht=ht[0]));const pt=await _e.request({method:"eth_newFilter",params:[{address:et,fromBlock:typeof it=="bigint"?numberToHex(it):it,toBlock:typeof st=="bigint"?numberToHex(st):st,...ht.length?{topics:ht}:{}}]});return{abi:lt,args:tt,eventName:rt?rt.name:void 0,fromBlock:it,id:pt,request:dt(pt),strict:at,toBlock:st,type:"event"}}async function createPendingTransactionFilter(_e){const et=createFilterRequestScope(_e,{method:"eth_newPendingTransactionFilter"}),tt=await _e.request({method:"eth_newPendingTransactionFilter"});return{id:tt,request:et(tt),type:"transaction"}}async function getBalance(_e,{address:et,blockNumber:tt,blockTag:rt="latest"}){const nt=tt?numberToHex(tt):void 0,it=await _e.request({method:"eth_getBalance",params:[et,nt||rt]});return BigInt(it)}async function getBlockTransactionCount(_e,{blockHash:et,blockNumber:tt,blockTag:rt="latest"}={}){const nt=tt!==void 0?numberToHex(tt):void 0;let it;return et?it=await _e.request({method:"eth_getBlockTransactionCountByHash",params:[et]}):it=await _e.request({method:"eth_getBlockTransactionCountByNumber",params:[nt||rt]}),hexToNumber$1(it)}async function getBytecode(_e,{address:et,blockNumber:tt,blockTag:rt="latest"}){const nt=tt!==void 0?numberToHex(tt):void 0,it=await _e.request({method:"eth_getCode",params:[et,nt||rt]});if(it!=="0x")return it}function formatFeeHistory(_e){return{baseFeePerGas:_e.baseFeePerGas.map(et=>BigInt(et)),gasUsedRatio:_e.gasUsedRatio,oldestBlock:BigInt(_e.oldestBlock),reward:_e.reward?.map(et=>et.map(tt=>BigInt(tt)))}}async function getFeeHistory(_e,{blockCount:et,blockNumber:tt,blockTag:rt="latest",rewardPercentiles:nt}){const it=tt?numberToHex(tt):void 0,at=await _e.request({method:"eth_feeHistory",params:[numberToHex(et),it||rt,nt]});return formatFeeHistory(at)}async function getFilterLogs(_e,{filter:et}){const tt=et.strict??!1;return(await et.request({method:"eth_getFilterLogs",params:[et.id]})).map(nt=>{try{const{eventName:it,args:at}="abi"in et&&et.abi?decodeEventLog({abi:et.abi,data:nt.data,topics:nt.topics,strict:tt}):{eventName:void 0,args:void 0};return formatLog(nt,{args:at,eventName:it})}catch(it){let at,st;if(it instanceof DecodeLogDataMismatch||it instanceof DecodeLogTopicsMismatch){if("strict"in et&&et.strict)return;at=it.abiItem.name,st=it.abiItem.inputs?.some(lt=>!("name"in lt&<.name))}return formatLog(nt,{args:st?[]:{},eventName:at})}}).filter(Boolean)}async function getStorageAt(_e,{address:et,blockNumber:tt,blockTag:rt="latest",slot:nt}){const it=tt!==void 0?numberToHex(tt):void 0;return await _e.request({method:"eth_getStorageAt",params:[et,nt,it||rt]})}async function getTransaction(_e,{blockHash:et,blockNumber:tt,blockTag:rt,hash:nt,index:it}){const at=rt||"latest",st=tt!==void 0?numberToHex(tt):void 0;let lt=null;if(nt?lt=await _e.request({method:"eth_getTransactionByHash",params:[nt]}):et?lt=await _e.request({method:"eth_getTransactionByBlockHashAndIndex",params:[et,numberToHex(it)]}):(st||at)&&(lt=await _e.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[st||at,numberToHex(it)]})),!lt)throw new TransactionNotFoundError({blockHash:et,blockNumber:tt,blockTag:at,hash:nt,index:it});return(_e.chain?.formatters?.transaction?.format||formatTransaction)(lt)}async function getTransactionConfirmations(_e,{hash:et,transactionReceipt:tt}){const[rt,nt]=await Promise.all([getBlockNumber(_e),et?getTransaction(_e,{hash:et}):void 0]),it=tt?.blockNumber||nt?.blockNumber;return it?rt-it+1n:0n}async function getTransactionReceipt(_e,{hash:et}){const tt=await _e.request({method:"eth_getTransactionReceipt",params:[et]});if(!tt)throw new TransactionReceiptNotFoundError({hash:et});return(_e.chain?.formatters?.transactionReceipt?.format||formatTransactionReceipt)(tt)}async function multicall(_e,et){const{allowFailure:tt=!0,batchSize:rt,blockNumber:nt,blockTag:it,contracts:at,multicallAddress:st}=et,lt=rt??(typeof _e.batch?.multicall=="object"&&_e.batch.multicall.batchSize||1024),dt=at;let ht=st;if(!ht){if(!_e.chain)throw new Error("client chain not configured. multicallAddress is required.");ht=getChainContractAddress({blockNumber:nt,chain:_e.chain,contract:"multicall3"})}const pt=[[]];let mt=0,gt=0;for(let bt=0;bt0&>>lt&&(mt++,gt=(At.length-2)/2,pt[mt]=[]),pt[mt]=[...pt[mt],{allowFailure:!0,callData:At,target:xt}]}catch(At){const Tt=getContractError(At,{abi:yt,address:xt,args:wt,docsPath:"/docs/contract/multicall",functionName:_t});if(!tt)throw Tt;pt[mt]=[...pt[mt],{allowFailure:!0,callData:"0x",target:xt}]}}return(await Promise.all(pt.map(bt=>readContract(_e,{abi:multicall3Abi,address:ht,args:[bt],blockNumber:nt,blockTag:it,functionName:"aggregate3"})))).flat().map(({returnData:bt,success:yt},xt)=>{const wt=pt.flat(),{callData:_t}=wt[xt],{abi:At,address:Tt,functionName:kt,args:jt}=dt[xt];try{if(_t==="0x")throw new AbiDecodingZeroDataError;if(!yt)throw new RawContractError({data:bt});const Lt=decodeFunctionResult({abi:At,args:jt,data:bt,functionName:kt});return tt?{result:Lt,status:"success"}:Lt}catch(Lt){const qt=getContractError(Lt,{abi:At,address:Tt,args:jt,docsPath:"/docs/contract/multicall",functionName:kt});if(!tt)throw qt;return{error:qt,result:void 0,status:"failure"}}})}const universalSignatureValidatorByteCode="0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _0n$3=BigInt(0),_1n$4=BigInt(1),_2n$2=BigInt(2),u8a$1=_e=>_e instanceof Uint8Array,hexes=Array.from({length:256},(_e,et)=>et.toString(16).padStart(2,"0"));function bytesToHex(_e){if(!u8a$1(_e))throw new Error("Uint8Array expected");let et="";for(let tt=0;tt<_e.length;tt++)et+=hexes[_e[tt]];return et}function numberToHexUnpadded(_e){const et=_e.toString(16);return et.length&1?`0${et}`:et}function hexToNumber(_e){if(typeof _e!="string")throw new Error("hex string expected, got "+typeof _e);return BigInt(_e===""?"0":`0x${_e}`)}function hexToBytes(_e){if(typeof _e!="string")throw new Error("hex string expected, got "+typeof _e);const et=_e.length;if(et%2)throw new Error("padded hex string expected, got unpadded hex of length "+et);const tt=new Uint8Array(et/2);for(let rt=0;rtrt+nt.length,0));let tt=0;return _e.forEach(rt=>{if(!u8a$1(rt))throw new Error("Uint8Array expected");et.set(rt,tt),tt+=rt.length}),et}function equalBytes(_e,et){if(_e.length!==et.length)return!1;for(let tt=0;tt<_e.length;tt++)if(_e[tt]!==et[tt])return!1;return!0}function utf8ToBytes$1(_e){if(typeof _e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof _e}`);return new Uint8Array(new TextEncoder().encode(_e))}function bitLen(_e){let et;for(et=0;_e>_0n$3;_e>>=_1n$4,et+=1);return et}function bitGet(_e,et){return _e>>BigInt(et)&_1n$4}const bitSet=(_e,et,tt)=>_e|(tt?_1n$4:_0n$3)<(_2n$2<new Uint8Array(_e),u8fr=_e=>Uint8Array.from(_e);function createHmacDrbg(_e,et,tt){if(typeof _e!="number"||_e<2)throw new Error("hashLen must be a number");if(typeof et!="number"||et<2)throw new Error("qByteLen must be a number");if(typeof tt!="function")throw new Error("hmacFn must be a function");let rt=u8n(_e),nt=u8n(_e),it=0;const at=()=>{rt.fill(1),nt.fill(0),it=0},st=(...pt)=>tt(nt,rt,...pt),lt=(pt=u8n())=>{nt=st(u8fr([0]),pt),rt=st(),pt.length!==0&&(nt=st(u8fr([1]),pt),rt=st())},dt=()=>{if(it++>=1e3)throw new Error("drbg: tried 1000 values");let pt=0;const mt=[];for(;pt{at(),lt(pt);let gt;for(;!(gt=mt(dt()));)lt();return at(),gt}}const validatorFns={bigint:_e=>typeof _e=="bigint",function:_e=>typeof _e=="function",boolean:_e=>typeof _e=="boolean",string:_e=>typeof _e=="string",isSafeInteger:_e=>Number.isSafeInteger(_e),array:_e=>Array.isArray(_e),field:(_e,et)=>et.Fp.isValid(_e),hash:_e=>typeof _e=="function"&&Number.isSafeInteger(_e.outputLen)};function validateObject(_e,et,tt={}){const rt=(nt,it,at)=>{const st=validatorFns[it];if(typeof st!="function")throw new Error(`Invalid validator "${it}", expected function`);const lt=_e[nt];if(!(at&<===void 0)&&!st(lt,_e))throw new Error(`Invalid param ${String(nt)}=${lt} (${typeof lt}), expected ${it}`)};for(const[nt,it]of Object.entries(et))rt(nt,it,!1);for(const[nt,it]of Object.entries(tt))rt(nt,it,!0);return _e}const ut$1=Object.freeze(Object.defineProperty({__proto__:null,bitGet,bitLen,bitMask,bitSet,bytesToHex,bytesToNumberBE,bytesToNumberLE,concatBytes:concatBytes$1,createHmacDrbg,ensureBytes,equalBytes,hexToBytes,hexToNumber,numberToBytesBE,numberToBytesLE,numberToHexUnpadded,numberToVarBytesBE,utf8ToBytes:utf8ToBytes$1,validateObject},Symbol.toStringTag,{value:"Module"}));function isBytesEqual(_e,et){const tt=isHex(_e)?toBytes$2(_e):_e,rt=isHex(et)?toBytes$2(et):et;return equalBytes(tt,rt)}async function verifyHash(_e,{address:et,hash:tt,signature:rt,...nt}){const it=isHex(rt)?rt:toHex$1(rt);try{const{data:at}=await call$1(_e,{data:encodeDeployData({abi:universalSignatureValidatorAbi,args:[et,tt,it],bytecode:universalSignatureValidatorByteCode}),...nt});return isBytesEqual(at??"0x0","0x1")}catch(at){if(at instanceof CallExecutionError)return!1;throw at}}async function verifyMessage(_e,{address:et,message:tt,signature:rt,...nt}){const it=hashMessage(tt);return verifyHash(_e,{address:et,hash:it,signature:rt,...nt})}async function verifyTypedData(_e,{address:et,signature:tt,message:rt,primaryType:nt,types:it,domain:at,...st}){const lt=hashTypedData({message:rt,primaryType:nt,types:it,domain:at});return verifyHash(_e,{address:et,hash:lt,signature:tt,...st})}function watchBlockNumber(_e,{emitOnBegin:et=!1,emitMissed:tt=!1,onBlockNumber:rt,onError:nt,poll:it,pollingInterval:at=_e.pollingInterval}){const st=typeof it<"u"?it:_e.transport.type!=="webSocket";let lt;return st?(()=>{const pt=stringify$2(["watchBlockNumber",_e.uid,et,tt,at]);return observe(pt,{onBlockNumber:rt,onError:nt},mt=>poll(async()=>{try{const gt=await getBlockNumber(_e,{cacheTime:0});if(lt){if(gt===lt)return;if(gt-lt>1&&tt)for(let vt=lt+1n;vtlt)&&(mt.onBlockNumber(gt,lt),lt=gt)}catch(gt){mt.onError?.(gt)}},{emitOnBegin:et,interval:at}))})():(()=>{let pt=!0,mt=()=>pt=!1;return(async()=>{try{const{unsubscribe:gt}=await _e.transport.subscribe({params:["newHeads"],onData(vt){if(!pt)return;const bt=hexToBigInt(vt.result?.number);rt(bt,lt),lt=bt},onError(vt){nt?.(vt)}});mt=gt,pt||mt()}catch(gt){nt?.(gt)}})(),mt})()}async function waitForTransactionReceipt(_e,{confirmations:et=1,hash:tt,onReplaced:rt,pollingInterval:nt=_e.pollingInterval,timeout:it}){const at=stringify$2(["waitForTransactionReceipt",_e.uid,tt]);let st,lt,dt,ht=!1;return new Promise((pt,mt)=>{it&&setTimeout(()=>mt(new WaitForTransactionReceiptTimeoutError({hash:tt})),it);const gt=observe(at,{onReplaced:rt,resolve:pt,reject:mt},vt=>{const bt=watchBlockNumber(_e,{emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:nt,async onBlockNumber(yt){if(ht)return;let xt=yt;const wt=_t=>{bt(),_t(),gt()};try{if(dt){if(xt-dt.blockNumber+1nvt.resolve(dt));return}if(st||(ht=!0,await withRetry(async()=>{st=await getTransaction(_e,{hash:tt}),st.blockNumber&&(xt=st.blockNumber)},{delay:({count:_t})=>~~(1<<_t)*200,retryCount:6}),ht=!1),dt=await getTransactionReceipt(_e,{hash:tt}),et>0&&xt-dt.blockNumber+1nvt.resolve(dt))}catch(_t){if(st&&(_t instanceof TransactionNotFoundError||_t instanceof TransactionReceiptNotFoundError)){lt=st;const Tt=(await getBlock(_e,{blockNumber:xt,includeTransactions:!0})).transactions.find(({from:jt,nonce:Lt})=>jt===lt.from&&Lt===lt.nonce);if(!Tt||(dt=await getTransactionReceipt(_e,{hash:Tt.hash}),xt-dt.blockNumber+1n{vt.onReplaced?.({reason:kt,replacedTransaction:lt,transaction:Tt,transactionReceipt:dt}),vt.resolve(dt)})}else wt(()=>vt.reject(_t))}}})})})}function watchBlocks(_e,{blockTag:et="latest",emitMissed:tt=!1,emitOnBegin:rt=!1,onBlock:nt,onError:it,includeTransactions:at,poll:st,pollingInterval:lt=_e.pollingInterval}){const dt=typeof st<"u"?st:_e.transport.type!=="webSocket",ht=at??!1;let pt;return dt?(()=>{const vt=stringify$2(["watchBlocks",_e.uid,tt,rt,ht,lt]);return observe(vt,{onBlock:nt,onError:it},bt=>poll(async()=>{try{const yt=await getBlock(_e,{blockTag:et,includeTransactions:ht});if(yt.number&&pt?.number){if(yt.number===pt.number)return;if(yt.number-pt.number>1&&tt)for(let xt=pt?.number+1n;xtpt.number)&&(bt.onBlock(yt,pt),pt=yt)}catch(yt){bt.onError?.(yt)}},{emitOnBegin:rt,interval:lt}))})():(()=>{let vt=!0,bt=()=>vt=!1;return(async()=>{try{const{unsubscribe:yt}=await _e.transport.subscribe({params:["newHeads"],onData(xt){if(!vt)return;const _t=(_e.chain?.formatters?.block?.format||formatBlock)(xt.result);nt(_t,pt),pt=_t},onError(xt){it?.(xt)}});bt=yt,vt||bt()}catch(yt){it?.(yt)}})(),bt})()}function watchEvent(_e,{address:et,args:tt,batch:rt=!0,event:nt,events:it,onError:at,onLogs:st,poll:lt,pollingInterval:dt=_e.pollingInterval,strict:ht}){const pt=typeof lt<"u"?lt:_e.transport.type!=="webSocket",mt=ht??!1;return pt?(()=>{const bt=stringify$2(["watchEvent",et,tt,rt,_e.uid,nt,dt]);return observe(bt,{onLogs:st,onError:at},yt=>{let xt,wt,_t=!1;const At=poll(async()=>{if(!_t){try{wt=await createEventFilter(_e,{address:et,args:tt,event:nt,events:it,strict:mt})}catch{}_t=!0;return}try{let Tt;if(wt)Tt=await getFilterChanges(_e,{filter:wt});else{const kt=await getBlockNumber(_e);xt&&xt!==kt?Tt=await getLogs(_e,{address:et,args:tt,event:nt,events:it,fromBlock:xt+1n,toBlock:kt}):Tt=[],xt=kt}if(Tt.length===0)return;rt?yt.onLogs(Tt):Tt.forEach(kt=>yt.onLogs([kt]))}catch(Tt){wt&&Tt instanceof InvalidInputRpcError&&(_t=!1),yt.onError?.(Tt)}},{emitOnBegin:!0,interval:dt});return async()=>{wt&&await uninstallFilter(_e,{filter:wt}),At()}})})():(()=>{let bt=!0,yt=()=>bt=!1;return(async()=>{try{const xt=it??(nt?[nt]:void 0);let wt=[];xt&&(wt=[xt.flatMap(At=>encodeEventTopics({abi:[At],eventName:At.name,args:tt}))],nt&&(wt=wt[0]));const{unsubscribe:_t}=await _e.transport.subscribe({params:["logs",{address:et,topics:wt}],onData(At){if(!bt)return;const Tt=At.result;try{const{eventName:kt,args:jt}=decodeEventLog({abi:xt,data:Tt.data,topics:Tt.topics,strict:mt}),Lt=formatLog(Tt,{args:jt,eventName:kt});st([Lt])}catch(kt){let jt,Lt;if(kt instanceof DecodeLogDataMismatch||kt instanceof DecodeLogTopicsMismatch){if(ht)return;jt=kt.abiItem.name,Lt=kt.abiItem.inputs?.some(Dt=>!("name"in Dt&&Dt.name))}const qt=formatLog(Tt,{args:Lt?[]:{},eventName:jt});st([qt])}},onError(At){at?.(At)}});yt=_t,bt||yt()}catch(xt){at?.(xt)}})(),yt})()}function watchPendingTransactions(_e,{batch:et=!0,onError:tt,onTransactions:rt,poll:nt,pollingInterval:it=_e.pollingInterval}){return(typeof nt<"u"?nt:_e.transport.type!=="webSocket")?(()=>{const dt=stringify$2(["watchPendingTransactions",_e.uid,et,it]);return observe(dt,{onTransactions:rt,onError:tt},ht=>{let pt;const mt=poll(async()=>{try{if(!pt)try{pt=await createPendingTransactionFilter(_e);return}catch(vt){throw mt(),vt}const gt=await getFilterChanges(_e,{filter:pt});if(gt.length===0)return;et?ht.onTransactions(gt):gt.forEach(vt=>ht.onTransactions([vt]))}catch(gt){ht.onError?.(gt)}},{emitOnBegin:!0,interval:it});return async()=>{pt&&await uninstallFilter(_e,{filter:pt}),mt()}})})():(()=>{let dt=!0,ht=()=>dt=!1;return(async()=>{try{const{unsubscribe:pt}=await _e.transport.subscribe({params:["newPendingTransactions"],onData(mt){if(!dt)return;const gt=mt.result;rt([gt])},onError(mt){tt?.(mt)}});ht=pt,dt||ht()}catch(pt){tt?.(pt)}})(),ht})()}function publicActions(_e){return{call:et=>call$1(_e,et),createBlockFilter:()=>createBlockFilter(_e),createContractEventFilter:et=>createContractEventFilter(_e,et),createEventFilter:et=>createEventFilter(_e,et),createPendingTransactionFilter:()=>createPendingTransactionFilter(_e),estimateContractGas:et=>estimateContractGas(_e,et),estimateGas:et=>estimateGas(_e,et),getBalance:et=>getBalance(_e,et),getBlock:et=>getBlock(_e,et),getBlockNumber:et=>getBlockNumber(_e,et),getBlockTransactionCount:et=>getBlockTransactionCount(_e,et),getBytecode:et=>getBytecode(_e,et),getChainId:()=>getChainId(_e),getEnsAddress:et=>getEnsAddress(_e,et),getEnsAvatar:et=>getEnsAvatar(_e,et),getEnsName:et=>getEnsName(_e,et),getEnsResolver:et=>getEnsResolver(_e,et),getEnsText:et=>getEnsText(_e,et),getFeeHistory:et=>getFeeHistory(_e,et),getFilterChanges:et=>getFilterChanges(_e,et),getFilterLogs:et=>getFilterLogs(_e,et),getGasPrice:()=>getGasPrice(_e),getLogs:et=>getLogs(_e,et),getStorageAt:et=>getStorageAt(_e,et),getTransaction:et=>getTransaction(_e,et),getTransactionConfirmations:et=>getTransactionConfirmations(_e,et),getTransactionCount:et=>getTransactionCount(_e,et),getTransactionReceipt:et=>getTransactionReceipt(_e,et),multicall:et=>multicall(_e,et),readContract:et=>readContract(_e,et),simulateContract:et=>simulateContract(_e,et),verifyMessage:et=>verifyMessage(_e,et),verifyTypedData:et=>verifyTypedData(_e,et),uninstallFilter:et=>uninstallFilter(_e,et),waitForTransactionReceipt:et=>waitForTransactionReceipt(_e,et),watchBlocks:et=>watchBlocks(_e,et),watchBlockNumber:et=>watchBlockNumber(_e,et),watchContractEvent:et=>watchContractEvent(_e,et),watchEvent:et=>watchEvent(_e,et),watchPendingTransactions:et=>watchPendingTransactions(_e,et)}}function createPublicClient(_e){const{key:et="public",name:tt="Public Client"}=_e;return createClient$1({..._e,key:et,name:tt,type:"publicClient"}).extend(publicActions)}function deployContract(_e,{abi:et,args:tt,bytecode:rt,...nt}){const it=encodeDeployData({abi:et,args:tt,bytecode:rt});return sendTransaction(_e,{...nt,data:it})}async function getAddresses(_e){return(await _e.request({method:"eth_accounts"})).map(tt=>checksumAddress(tt))}async function getPermissions(_e){return await _e.request({method:"wallet_getPermissions"})}async function requestAddresses(_e){return(await _e.request({method:"eth_requestAccounts"})).map(tt=>getAddress(tt))}async function requestPermissions(_e,et){return _e.request({method:"wallet_requestPermissions",params:[et]})}async function signMessage$1(_e,{account:et=_e.account,message:tt}){if(!et)throw new AccountNotFoundError({docsPath:"/docs/actions/wallet/signMessage"});const rt=parseAccount(et);if(rt.type==="local")return rt.signMessage({message:tt});const nt=(()=>typeof tt=="string"?stringToHex(tt):tt.raw instanceof Uint8Array?toHex$1(tt.raw):tt.raw)();return _e.request({method:"personal_sign",params:[nt,rt.address]})}async function signTypedData$1(_e,{account:et=_e.account,domain:tt,message:rt,primaryType:nt,types:it}){if(!et)throw new AccountNotFoundError({docsPath:"/docs/actions/wallet/signTypedData"});const at=parseAccount(et),st={EIP712Domain:[typeof tt?.name=="string"&&{name:"name",type:"string"},tt?.version&&{name:"version",type:"string"},typeof tt?.chainId=="number"&&{name:"chainId",type:"uint256"},tt?.verifyingContract&&{name:"verifyingContract",type:"address"},tt?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean),...it};if(validateTypedData({domain:tt,message:rt,primaryType:nt,types:st}),at.type==="local")return at.signTypedData({domain:tt,primaryType:nt,types:st,message:rt});const lt=stringify$2({domain:tt??{},primaryType:nt,types:st,message:rt},(dt,ht)=>isHex(ht)?ht.toLowerCase():ht);return _e.request({method:"eth_signTypedData_v4",params:[at.address,lt]})}async function switchChain(_e,{id:et}){await _e.request({method:"wallet_switchEthereumChain",params:[{chainId:numberToHex(et)}]})}async function watchAsset(_e,et){return await _e.request({method:"wallet_watchAsset",params:et})}function walletActions(_e){return{addChain:et=>addChain(_e,et),deployContract:et=>deployContract(_e,et),getAddresses:()=>getAddresses(_e),getChainId:()=>getChainId(_e),getPermissions:()=>getPermissions(_e),requestAddresses:()=>requestAddresses(_e),requestPermissions:et=>requestPermissions(_e,et),sendTransaction:et=>sendTransaction(_e,et),signMessage:et=>signMessage$1(_e,et),signTypedData:et=>signTypedData$1(_e,et),switchChain:et=>switchChain(_e,et),watchAsset:et=>watchAsset(_e,et),writeContract:et=>writeContract(_e,et)}}function createWalletClient(_e){const{key:et="wallet",name:tt="Wallet Client",transport:rt}=_e;return createClient$1({..._e,key:et,name:tt,transport:it=>rt({...it,retryCount:0}),type:"walletClient"}).extend(walletActions)}function webSocket(_e,et={}){const{key:tt="webSocket",name:rt="WebSocket JSON-RPC",retryDelay:nt}=et;return({chain:it,retryCount:at,timeout:st})=>{const lt=et.retryCount??at,dt=st??et.timeout??1e4,ht=_e||it?.rpcUrls.default.webSocket?.[0];if(!ht)throw new UrlRequiredError;return createTransport({key:tt,name:rt,async request({method:pt,params:mt}){const gt={method:pt,params:mt},vt=await getSocket(ht),{error:bt,result:yt}=await rpc$1.webSocketAsync(vt,{body:gt,timeout:dt});if(bt)throw new RpcRequestError({body:gt,error:bt,url:ht});return yt},retryCount:lt,retryDelay:nt,timeout:dt,type:"webSocket"},{getSocket(){return getSocket(ht)},async subscribe({params:pt,onData:mt,onError:gt}){const vt=await getSocket(ht),{result:bt}=await new Promise((yt,xt)=>rpc$1.webSocket(vt,{body:{method:"eth_subscribe",params:pt},onResponse(wt){if(wt.error){xt(wt.error),gt?.(wt.error);return}if(typeof wt.id=="number"){yt(wt);return}wt.method==="eth_subscription"&&mt(wt.params)}}));return{subscriptionId:bt,async unsubscribe(){return new Promise(yt=>rpc$1.webSocket(vt,{body:{method:"eth_unsubscribe",params:[bt]},onResponse:yt}))}}}})}}function number$1(_e){if(!Number.isSafeInteger(_e)||_e<0)throw new Error(`Wrong positive integer: ${_e}`)}function bool(_e){if(typeof _e!="boolean")throw new Error(`Expected boolean, not ${_e}`)}function bytes(_e,...et){if(!(_e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(et.length>0&&!et.includes(_e.length))throw new Error(`Expected Uint8Array of length ${et}, not of length=${_e.length}`)}function hash(_e){if(typeof _e!="function"||typeof _e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number$1(_e.outputLen),number$1(_e.blockLen)}function exists(_e,et=!0){if(_e.destroyed)throw new Error("Hash instance has been destroyed");if(et&&_e.finished)throw new Error("Hash#digest() has already been called")}function output(_e,et){bytes(_e);const tt=et.outputLen;if(_e.length_e instanceof Uint8Array,createView=_e=>new DataView(_e.buffer,_e.byteOffset,_e.byteLength),rotr=(_e,et)=>_e<<32-et|_e>>>et,isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!isLE)throw new Error("Non little-endian hardware is not supported");Array.from({length:256},(_e,et)=>et.toString(16).padStart(2,"0"));function utf8ToBytes(_e){if(typeof _e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof _e}`);return new Uint8Array(new TextEncoder().encode(_e))}function toBytes(_e){if(typeof _e=="string"&&(_e=utf8ToBytes(_e)),!u8a(_e))throw new Error(`expected Uint8Array, got ${typeof _e}`);return _e}function concatBytes(..._e){const et=new Uint8Array(_e.reduce((rt,nt)=>rt+nt.length,0));let tt=0;return _e.forEach(rt=>{if(!u8a(rt))throw new Error("Uint8Array expected");et.set(rt,tt),tt+=rt.length}),et}class Hash{clone(){return this._cloneInto()}}function wrapConstructor(_e){const et=rt=>_e().update(toBytes(rt)).digest(),tt=_e();return et.outputLen=tt.outputLen,et.blockLen=tt.blockLen,et.create=()=>_e(),et}function randomBytes(_e=32){if(crypto&&typeof crypto.getRandomValues=="function")return crypto.getRandomValues(new Uint8Array(_e));throw new Error("crypto.getRandomValues must be defined")}function setBigUint64(_e,et,tt,rt){if(typeof _e.setBigUint64=="function")return _e.setBigUint64(et,tt,rt);const nt=BigInt(32),it=BigInt(4294967295),at=Number(tt>>nt&it),st=Number(tt&it),lt=rt?4:0,dt=rt?0:4;_e.setUint32(et+lt,at,rt),_e.setUint32(et+dt,st,rt)}class SHA2 extends Hash{constructor(et,tt,rt,nt){super(),this.blockLen=et,this.outputLen=tt,this.padOffset=rt,this.isLE=nt,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(et),this.view=createView(this.buffer)}update(et){assert.exists(this);const{view:tt,buffer:rt,blockLen:nt}=this;et=toBytes(et);const it=et.length;for(let at=0;atnt-at&&(this.process(rt,0),at=0);for(let pt=at;ptht.length)throw new Error("_sha2: outputLen bigger than state");for(let pt=0;pt_e&et^~_e&tt,Maj=(_e,et,tt)=>_e&et^_e&tt^et&tt,SHA256_K=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]),IV=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),SHA256_W=new Uint32Array(64);class SHA256 extends SHA2{constructor(){super(64,32,8,!1),this.A=IV[0]|0,this.B=IV[1]|0,this.C=IV[2]|0,this.D=IV[3]|0,this.E=IV[4]|0,this.F=IV[5]|0,this.G=IV[6]|0,this.H=IV[7]|0}get(){const{A:et,B:tt,C:rt,D:nt,E:it,F:at,G:st,H:lt}=this;return[et,tt,rt,nt,it,at,st,lt]}set(et,tt,rt,nt,it,at,st,lt){this.A=et|0,this.B=tt|0,this.C=rt|0,this.D=nt|0,this.E=it|0,this.F=at|0,this.G=st|0,this.H=lt|0}process(et,tt){for(let pt=0;pt<16;pt++,tt+=4)SHA256_W[pt]=et.getUint32(tt,!1);for(let pt=16;pt<64;pt++){const mt=SHA256_W[pt-15],gt=SHA256_W[pt-2],vt=rotr(mt,7)^rotr(mt,18)^mt>>>3,bt=rotr(gt,17)^rotr(gt,19)^gt>>>10;SHA256_W[pt]=bt+SHA256_W[pt-7]+vt+SHA256_W[pt-16]|0}let{A:rt,B:nt,C:it,D:at,E:st,F:lt,G:dt,H:ht}=this;for(let pt=0;pt<64;pt++){const mt=rotr(st,6)^rotr(st,11)^rotr(st,25),gt=ht+mt+Chi(st,lt,dt)+SHA256_K[pt]+SHA256_W[pt]|0,bt=(rotr(rt,2)^rotr(rt,13)^rotr(rt,22))+Maj(rt,nt,it)|0;ht=dt,dt=lt,lt=st,st=at+gt|0,at=it,it=nt,nt=rt,rt=gt+bt|0}rt=rt+this.A|0,nt=nt+this.B|0,it=it+this.C|0,at=at+this.D|0,st=st+this.E|0,lt=lt+this.F|0,dt=dt+this.G|0,ht=ht+this.H|0,this.set(rt,nt,it,at,st,lt,dt,ht)}roundClean(){SHA256_W.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class SHA224 extends SHA256{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const sha256$1=wrapConstructor(()=>new SHA256);wrapConstructor(()=>new SHA224);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _0n$2=BigInt(0),_1n$3=BigInt(1),_2n$1=BigInt(2),_3n$1=BigInt(3),_4n=BigInt(4),_5n=BigInt(5),_8n=BigInt(8);BigInt(9);BigInt(16);function mod(_e,et){const tt=_e%et;return tt>=_0n$2?tt:et+tt}function pow(_e,et,tt){if(tt<=_0n$2||et<_0n$2)throw new Error("Expected power/modulo > 0");if(tt===_1n$3)return _0n$2;let rt=_1n$3;for(;et>_0n$2;)et&_1n$3&&(rt=rt*_e%tt),_e=_e*_e%tt,et>>=_1n$3;return rt}function pow2(_e,et,tt){let rt=_e;for(;et-- >_0n$2;)rt*=rt,rt%=tt;return rt}function invert$1(_e,et){if(_e===_0n$2||et<=_0n$2)throw new Error(`invert: expected positive integers, got n=${_e} mod=${et}`);let tt=mod(_e,et),rt=et,nt=_0n$2,it=_1n$3;for(;tt!==_0n$2;){const st=rt/tt,lt=rt%tt,dt=nt-it*st;rt=tt,tt=lt,nt=it,it=dt}if(rt!==_1n$3)throw new Error("invert: does not exist");return mod(nt,et)}function tonelliShanks(_e){const et=(_e-_1n$3)/_2n$1;let tt,rt,nt;for(tt=_e-_1n$3,rt=0;tt%_2n$1===_0n$2;tt/=_2n$1,rt++);for(nt=_2n$1;nt<_e&&pow(nt,et,_e)!==_e-_1n$3;nt++);if(rt===1){const at=(_e+_1n$3)/_4n;return function(lt,dt){const ht=lt.pow(dt,at);if(!lt.eql(lt.sqr(ht),dt))throw new Error("Cannot find square root");return ht}}const it=(tt+_1n$3)/_2n$1;return function(st,lt){if(st.pow(lt,et)===st.neg(st.ONE))throw new Error("Cannot find square root");let dt=rt,ht=st.pow(st.mul(st.ONE,nt),tt),pt=st.pow(lt,it),mt=st.pow(lt,tt);for(;!st.eql(mt,st.ONE);){if(st.eql(mt,st.ZERO))return st.ZERO;let gt=1;for(let bt=st.sqr(mt);gt(rt[nt]="function",rt),et);return validateObject(_e,tt)}function FpPow(_e,et,tt){if(tt<_0n$2)throw new Error("Expected power > 0");if(tt===_0n$2)return _e.ONE;if(tt===_1n$3)return et;let rt=_e.ONE,nt=et;for(;tt>_0n$2;)tt&_1n$3&&(rt=_e.mul(rt,nt)),nt=_e.sqr(nt),tt>>=_1n$3;return rt}function FpInvertBatch(_e,et){const tt=new Array(et.length),rt=et.reduce((it,at,st)=>_e.is0(at)?it:(tt[st]=it,_e.mul(it,at)),_e.ONE),nt=_e.inv(rt);return et.reduceRight((it,at,st)=>_e.is0(at)?it:(tt[st]=_e.mul(it,tt[st]),_e.mul(it,at)),nt),tt}function nLength(_e,et){const tt=et!==void 0?et:_e.toString(2).length,rt=Math.ceil(tt/8);return{nBitLength:tt,nByteLength:rt}}function Field$1(_e,et,tt=!1,rt={}){if(_e<=_0n$2)throw new Error(`Expected Fp ORDER > 0, got ${_e}`);const{nBitLength:nt,nByteLength:it}=nLength(_e,et);if(it>2048)throw new Error("Field lengths over 2048 bytes are not supported");const at=FpSqrt(_e),st=Object.freeze({ORDER:_e,BITS:nt,BYTES:it,MASK:bitMask(nt),ZERO:_0n$2,ONE:_1n$3,create:lt=>mod(lt,_e),isValid:lt=>{if(typeof lt!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof lt}`);return _0n$2<=lt&<<_e},is0:lt=>lt===_0n$2,isOdd:lt=>(lt&_1n$3)===_1n$3,neg:lt=>mod(-lt,_e),eql:(lt,dt)=>lt===dt,sqr:lt=>mod(lt*lt,_e),add:(lt,dt)=>mod(lt+dt,_e),sub:(lt,dt)=>mod(lt-dt,_e),mul:(lt,dt)=>mod(lt*dt,_e),pow:(lt,dt)=>FpPow(st,lt,dt),div:(lt,dt)=>mod(lt*invert$1(dt,_e),_e),sqrN:lt=>lt*lt,addN:(lt,dt)=>lt+dt,subN:(lt,dt)=>lt-dt,mulN:(lt,dt)=>lt*dt,inv:lt=>invert$1(lt,_e),sqrt:rt.sqrt||(lt=>at(st,lt)),invertBatch:lt=>FpInvertBatch(st,lt),cmov:(lt,dt,ht)=>ht?dt:lt,toBytes:lt=>tt?numberToBytesLE(lt,it):numberToBytesBE(lt,it),fromBytes:lt=>{if(lt.length!==it)throw new Error(`Fp.fromBytes: expected ${it}, got ${lt.length}`);return tt?bytesToNumberLE(lt):bytesToNumberBE(lt)}});return Object.freeze(st)}function hashToPrivateScalar(_e,et,tt=!1){_e=ensureBytes("privateHash",_e);const rt=_e.length,nt=nLength(et).nByteLength+8;if(nt<24||rt1024)throw new Error(`hashToPrivateScalar: expected ${nt}-1024 bytes of input, got ${rt}`);const it=tt?bytesToNumberLE(_e):bytesToNumberBE(_e);return mod(it,et-_1n$3)+_1n$3}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _0n$1=BigInt(0),_1n$2=BigInt(1);function wNAF(_e,et){const tt=(nt,it)=>{const at=it.negate();return nt?at:it},rt=nt=>{const it=Math.ceil(et/nt)+1,at=2**(nt-1);return{windows:it,windowSize:at}};return{constTimeNegate:tt,unsafeLadder(nt,it){let at=_e.ZERO,st=nt;for(;it>_0n$1;)it&_1n$2&&(at=at.add(st)),st=st.double(),it>>=_1n$2;return at},precomputeWindow(nt,it){const{windows:at,windowSize:st}=rt(it),lt=[];let dt=nt,ht=dt;for(let pt=0;pt>=gt,yt>lt&&(yt-=mt,at+=_1n$2);const xt=bt,wt=bt+Math.abs(yt)-1,_t=vt%2!==0,At=yt<0;yt===0?ht=ht.add(tt(_t,it[xt])):dt=dt.add(tt(At,it[wt]))}return{p:dt,f:ht}},wNAFCached(nt,it,at,st){const lt=nt._WINDOW_SIZE||1;let dt=it.get(nt);return dt||(dt=this.precomputeWindow(nt,lt),lt!==1&&it.set(nt,st(dt))),this.wNAF(lt,dt,at)}}}function validateBasic(_e){return validateField(_e.Fp),validateObject(_e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...nLength(_e.n,_e.nBitLength),..._e,p:_e.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function validatePointOpts(_e){const et=validateBasic(_e);validateObject(et,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:tt,Fp:rt,a:nt}=et;if(tt){if(!rt.eql(nt,rt.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof tt!="object"||typeof tt.beta!="bigint"||typeof tt.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...et})}const{bytesToNumberBE:b2n,hexToBytes:h2b}=ut$1,DER={Err:class extends Error{constructor(et=""){super(et)}},_parseInt(_e){const{Err:et}=DER;if(_e.length<2||_e[0]!==2)throw new et("Invalid signature integer tag");const tt=_e[1],rt=_e.subarray(2,tt+2);if(!tt||rt.length!==tt)throw new et("Invalid signature integer: wrong length");if(rt[0]&128)throw new et("Invalid signature integer: negative");if(rt[0]===0&&!(rt[1]&128))throw new et("Invalid signature integer: unnecessary leading zero");return{d:b2n(rt),l:_e.subarray(tt+2)}},toSig(_e){const{Err:et}=DER,tt=typeof _e=="string"?h2b(_e):_e;if(!(tt instanceof Uint8Array))throw new Error("ui8a expected");let rt=tt.length;if(rt<2||tt[0]!=48)throw new et("Invalid signature tag");if(tt[1]!==rt-2)throw new et("Invalid signature: incorrect length");const{d:nt,l:it}=DER._parseInt(tt.subarray(2)),{d:at,l:st}=DER._parseInt(it);if(st.length)throw new et("Invalid signature: left bytes after parsing");return{r:nt,s:at}},hexFromSig(_e){const et=dt=>Number.parseInt(dt[0],16)&8?"00"+dt:dt,tt=dt=>{const ht=dt.toString(16);return ht.length&1?`0${ht}`:ht},rt=et(tt(_e.s)),nt=et(tt(_e.r)),it=rt.length/2,at=nt.length/2,st=tt(it),lt=tt(at);return`30${tt(at+it+4)}02${lt}${nt}02${st}${rt}`}},_0n=BigInt(0),_1n$1=BigInt(1);BigInt(2);const _3n=BigInt(3);BigInt(4);function weierstrassPoints(_e){const et=validatePointOpts(_e),{Fp:tt}=et,rt=et.toBytes||((vt,bt,yt)=>{const xt=bt.toAffine();return concatBytes$1(Uint8Array.from([4]),tt.toBytes(xt.x),tt.toBytes(xt.y))}),nt=et.fromBytes||(vt=>{const bt=vt.subarray(1),yt=tt.fromBytes(bt.subarray(0,tt.BYTES)),xt=tt.fromBytes(bt.subarray(tt.BYTES,2*tt.BYTES));return{x:yt,y:xt}});function it(vt){const{a:bt,b:yt}=et,xt=tt.sqr(vt),wt=tt.mul(xt,vt);return tt.add(tt.add(wt,tt.mul(vt,bt)),yt)}if(!tt.eql(tt.sqr(et.Gy),it(et.Gx)))throw new Error("bad generator point: equation left != right");function at(vt){return typeof vt=="bigint"&&_0ntt.eql(_t,tt.ZERO);return wt(yt)&&wt(xt)?pt.ZERO:new pt(yt,xt,tt.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(bt){const yt=tt.invertBatch(bt.map(xt=>xt.pz));return bt.map((xt,wt)=>xt.toAffine(yt[wt])).map(pt.fromAffine)}static fromHex(bt){const yt=pt.fromAffine(nt(ensureBytes("pointHex",bt)));return yt.assertValidity(),yt}static fromPrivateKey(bt){return pt.BASE.multiply(lt(bt))}_setWindowSize(bt){this._WINDOW_SIZE=bt,dt.delete(this)}assertValidity(){if(this.is0()){if(et.allowInfinityPoint)return;throw new Error("bad point: ZERO")}const{x:bt,y:yt}=this.toAffine();if(!tt.isValid(bt)||!tt.isValid(yt))throw new Error("bad point: x or y not FE");const xt=tt.sqr(yt),wt=it(bt);if(!tt.eql(xt,wt))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:bt}=this.toAffine();if(tt.isOdd)return!tt.isOdd(bt);throw new Error("Field doesn't support isOdd")}equals(bt){ht(bt);const{px:yt,py:xt,pz:wt}=this,{px:_t,py:At,pz:Tt}=bt,kt=tt.eql(tt.mul(yt,Tt),tt.mul(_t,wt)),jt=tt.eql(tt.mul(xt,Tt),tt.mul(At,wt));return kt&&jt}negate(){return new pt(this.px,tt.neg(this.py),this.pz)}double(){const{a:bt,b:yt}=et,xt=tt.mul(yt,_3n),{px:wt,py:_t,pz:At}=this;let Tt=tt.ZERO,kt=tt.ZERO,jt=tt.ZERO,Lt=tt.mul(wt,wt),qt=tt.mul(_t,_t),Dt=tt.mul(At,At),zt=tt.mul(wt,_t);return zt=tt.add(zt,zt),jt=tt.mul(wt,At),jt=tt.add(jt,jt),Tt=tt.mul(bt,jt),kt=tt.mul(xt,Dt),kt=tt.add(Tt,kt),Tt=tt.sub(qt,kt),kt=tt.add(qt,kt),kt=tt.mul(Tt,kt),Tt=tt.mul(zt,Tt),jt=tt.mul(xt,jt),Dt=tt.mul(bt,Dt),zt=tt.sub(Lt,Dt),zt=tt.mul(bt,zt),zt=tt.add(zt,jt),jt=tt.add(Lt,Lt),Lt=tt.add(jt,Lt),Lt=tt.add(Lt,Dt),Lt=tt.mul(Lt,zt),kt=tt.add(kt,Lt),Dt=tt.mul(_t,At),Dt=tt.add(Dt,Dt),Lt=tt.mul(Dt,zt),Tt=tt.sub(Tt,Lt),jt=tt.mul(Dt,qt),jt=tt.add(jt,jt),jt=tt.add(jt,jt),new pt(Tt,kt,jt)}add(bt){ht(bt);const{px:yt,py:xt,pz:wt}=this,{px:_t,py:At,pz:Tt}=bt;let kt=tt.ZERO,jt=tt.ZERO,Lt=tt.ZERO;const qt=et.a,Dt=tt.mul(et.b,_3n);let zt=tt.mul(yt,_t),Zt=tt.mul(xt,At),Bt=tt.mul(wt,Tt),Et=tt.add(yt,xt),Ct=tt.add(_t,At);Et=tt.mul(Et,Ct),Ct=tt.add(zt,Zt),Et=tt.sub(Et,Ct),Ct=tt.add(yt,wt);let Pt=tt.add(_t,Tt);return Ct=tt.mul(Ct,Pt),Pt=tt.add(zt,Bt),Ct=tt.sub(Ct,Pt),Pt=tt.add(xt,wt),kt=tt.add(At,Tt),Pt=tt.mul(Pt,kt),kt=tt.add(Zt,Bt),Pt=tt.sub(Pt,kt),Lt=tt.mul(qt,Ct),kt=tt.mul(Dt,Bt),Lt=tt.add(kt,Lt),kt=tt.sub(Zt,Lt),Lt=tt.add(Zt,Lt),jt=tt.mul(kt,Lt),Zt=tt.add(zt,zt),Zt=tt.add(Zt,zt),Bt=tt.mul(qt,Bt),Ct=tt.mul(Dt,Ct),Zt=tt.add(Zt,Bt),Bt=tt.sub(zt,Bt),Bt=tt.mul(qt,Bt),Ct=tt.add(Ct,Bt),zt=tt.mul(Zt,Ct),jt=tt.add(jt,zt),zt=tt.mul(Pt,Ct),kt=tt.mul(Et,kt),kt=tt.sub(kt,zt),zt=tt.mul(Et,Zt),Lt=tt.mul(Pt,Lt),Lt=tt.add(Lt,zt),new pt(kt,jt,Lt)}subtract(bt){return this.add(bt.negate())}is0(){return this.equals(pt.ZERO)}wNAF(bt){return gt.wNAFCached(this,dt,bt,yt=>{const xt=tt.invertBatch(yt.map(wt=>wt.pz));return yt.map((wt,_t)=>wt.toAffine(xt[_t])).map(pt.fromAffine)})}multiplyUnsafe(bt){const yt=pt.ZERO;if(bt===_0n)return yt;if(st(bt),bt===_1n$1)return this;const{endo:xt}=et;if(!xt)return gt.unsafeLadder(this,bt);let{k1neg:wt,k1:_t,k2neg:At,k2:Tt}=xt.splitScalar(bt),kt=yt,jt=yt,Lt=this;for(;_t>_0n||Tt>_0n;)_t&_1n$1&&(kt=kt.add(Lt)),Tt&_1n$1&&(jt=jt.add(Lt)),Lt=Lt.double(),_t>>=_1n$1,Tt>>=_1n$1;return wt&&(kt=kt.negate()),At&&(jt=jt.negate()),jt=new pt(tt.mul(jt.px,xt.beta),jt.py,jt.pz),kt.add(jt)}multiply(bt){st(bt);let yt=bt,xt,wt;const{endo:_t}=et;if(_t){const{k1neg:At,k1:Tt,k2neg:kt,k2:jt}=_t.splitScalar(yt);let{p:Lt,f:qt}=this.wNAF(Tt),{p:Dt,f:zt}=this.wNAF(jt);Lt=gt.constTimeNegate(At,Lt),Dt=gt.constTimeNegate(kt,Dt),Dt=new pt(tt.mul(Dt.px,_t.beta),Dt.py,Dt.pz),xt=Lt.add(Dt),wt=qt.add(zt)}else{const{p:At,f:Tt}=this.wNAF(yt);xt=At,wt=Tt}return pt.normalizeZ([xt,wt])[0]}multiplyAndAddUnsafe(bt,yt,xt){const wt=pt.BASE,_t=(Tt,kt)=>kt===_0n||kt===_1n$1||!Tt.equals(wt)?Tt.multiplyUnsafe(kt):Tt.multiply(kt),At=_t(this,yt).add(_t(bt,xt));return At.is0()?void 0:At}toAffine(bt){const{px:yt,py:xt,pz:wt}=this,_t=this.is0();bt==null&&(bt=_t?tt.ONE:tt.inv(wt));const At=tt.mul(yt,bt),Tt=tt.mul(xt,bt),kt=tt.mul(wt,bt);if(_t)return{x:tt.ZERO,y:tt.ZERO};if(!tt.eql(kt,tt.ONE))throw new Error("invZ was invalid");return{x:At,y:Tt}}isTorsionFree(){const{h:bt,isTorsionFree:yt}=et;if(bt===_1n$1)return!0;if(yt)return yt(pt,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:bt,clearCofactor:yt}=et;return bt===_1n$1?this:yt?yt(pt,this):this.multiplyUnsafe(et.h)}toRawBytes(bt=!0){return this.assertValidity(),rt(pt,this,bt)}toHex(bt=!0){return bytesToHex(this.toRawBytes(bt))}}pt.BASE=new pt(et.Gx,et.Gy,tt.ONE),pt.ZERO=new pt(tt.ZERO,tt.ONE,tt.ZERO);const mt=et.nBitLength,gt=wNAF(pt,et.endo?Math.ceil(mt/2):mt);return{CURVE:et,ProjectivePoint:pt,normPrivateKeyToScalar:lt,weierstrassEquation:it,isWithinCurveOrder:at}}function validateOpts(_e){const et=validateBasic(_e);return validateObject(et,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...et})}function weierstrass(_e){const et=validateOpts(_e),{Fp:tt,n:rt}=et,nt=tt.BYTES+1,it=2*tt.BYTES+1;function at(Ct){return _0nbytesToHex(numberToBytesBE(Ct,et.nByteLength));function vt(Ct){const Pt=rt>>_1n$1;return Ct>Pt}function bt(Ct){return vt(Ct)?st(-Ct):Ct}const yt=(Ct,Pt,Ot)=>bytesToNumberBE(Ct.slice(Pt,Ot));class xt{constructor(Pt,Ot,Mt){this.r=Pt,this.s=Ot,this.recovery=Mt,this.assertValidity()}static fromCompact(Pt){const Ot=et.nByteLength;return Pt=ensureBytes("compactSignature",Pt,Ot*2),new xt(yt(Pt,0,Ot),yt(Pt,Ot,2*Ot))}static fromDER(Pt){const{r:Ot,s:Mt}=DER.toSig(ensureBytes("DER",Pt));return new xt(Ot,Mt)}assertValidity(){if(!mt(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!mt(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(Pt){return new xt(this.r,this.s,Pt)}recoverPublicKey(Pt){const{r:Ot,s:Mt,recovery:Ut}=this,Wt=jt(ensureBytes("msgHash",Pt));if(Ut==null||![0,1,2,3].includes(Ut))throw new Error("recovery id invalid");const $t=Ut===2||Ut===3?Ot+et.n:Ot;if($t>=tt.ORDER)throw new Error("recovery id 2 or 3 invalid");const St=Ut&1?"03":"02",Ft=dt.fromHex(St+gt($t)),Vt=lt($t),Rt=st(-Wt*Vt),Yt=st(Mt*Vt),Kt=dt.BASE.multiplyAndAddUnsafe(Ft,Rt,Yt);if(!Kt)throw new Error("point at infinify");return Kt.assertValidity(),Kt}hasHighS(){return vt(this.s)}normalizeS(){return this.hasHighS()?new xt(this.r,st(-this.s),this.recovery):this}toDERRawBytes(){return hexToBytes(this.toDERHex())}toDERHex(){return DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hexToBytes(this.toCompactHex())}toCompactHex(){return gt(this.r)+gt(this.s)}}const wt={isValidPrivateKey(Ct){try{return ht(Ct),!0}catch{return!1}},normPrivateKeyToScalar:ht,randomPrivateKey:()=>{const Ct=et.randomBytes(tt.BYTES+8),Pt=hashToPrivateScalar(Ct,rt);return numberToBytesBE(Pt,et.nByteLength)},precompute(Ct=8,Pt=dt.BASE){return Pt._setWindowSize(Ct),Pt.multiply(BigInt(3)),Pt}};function _t(Ct,Pt=!0){return dt.fromPrivateKey(Ct).toRawBytes(Pt)}function At(Ct){const Pt=Ct instanceof Uint8Array,Ot=typeof Ct=="string",Mt=(Pt||Ot)&&Ct.length;return Pt?Mt===nt||Mt===it:Ot?Mt===2*nt||Mt===2*it:Ct instanceof dt}function Tt(Ct,Pt,Ot=!0){if(At(Ct))throw new Error("first arg must be private key");if(!At(Pt))throw new Error("second arg must be public key");return dt.fromHex(Pt).multiply(ht(Ct)).toRawBytes(Ot)}const kt=et.bits2int||function(Ct){const Pt=bytesToNumberBE(Ct),Ot=Ct.length*8-et.nBitLength;return Ot>0?Pt>>BigInt(Ot):Pt},jt=et.bits2int_modN||function(Ct){return st(kt(Ct))},Lt=bitMask(et.nBitLength);function qt(Ct){if(typeof Ct!="bigint")throw new Error("bigint expected");if(!(_0n<=Ct&&Ctrr in Ot))throw new Error("sign() legacy options not supported");const{hash:Mt,randomBytes:Ut}=et;let{lowS:Wt,prehash:$t,extraEntropy:St}=Ot;Wt==null&&(Wt=!0),Ct=ensureBytes("msgHash",Ct),$t&&(Ct=ensureBytes("prehashed msgHash",Mt(Ct)));const Ft=jt(Ct),Vt=ht(Pt),Rt=[qt(Vt),qt(Ft)];if(St!=null){const rr=St===!0?Ut(tt.BYTES):St;Rt.push(ensureBytes("extraEntropy",rr,tt.BYTES))}const Yt=concatBytes$1(...Rt),Kt=Ft;function Xt(rr){const or=kt(rr);if(!mt(or))return;const ar=lt(or),ir=dt.BASE.multiply(or).toAffine(),pr=st(ir.x);if(pr===_0n)return;const nr=st(ar*st(Kt+pr*Vt));if(nr===_0n)return;let hr=(ir.x===pr?0:2)|Number(ir.y&_1n$1),Ar=nr;return Wt&&vt(nr)&&(Ar=bt(nr),hr^=1),new xt(pr,Ar,hr)}return{seed:Yt,k2sig:Xt}}const zt={lowS:et.lowS,prehash:!1},Zt={lowS:et.lowS,prehash:!1};function Bt(Ct,Pt,Ot=zt){const{seed:Mt,k2sig:Ut}=Dt(Ct,Pt,Ot),Wt=et;return createHmacDrbg(Wt.hash.outputLen,Wt.nByteLength,Wt.hmac)(Mt,Ut)}dt.BASE._setWindowSize(8);function Et(Ct,Pt,Ot,Mt=Zt){const Ut=Ct;if(Pt=ensureBytes("msgHash",Pt),Ot=ensureBytes("publicKey",Ot),"strict"in Mt)throw new Error("options.strict was renamed to lowS");const{lowS:Wt,prehash:$t}=Mt;let St,Ft;try{if(typeof Ut=="string"||Ut instanceof Uint8Array)try{St=xt.fromDER(Ut)}catch(ir){if(!(ir instanceof DER.Err))throw ir;St=xt.fromCompact(Ut)}else if(typeof Ut=="object"&&typeof Ut.r=="bigint"&&typeof Ut.s=="bigint"){const{r:ir,s:pr}=Ut;St=new xt(ir,pr)}else throw new Error("PARSE");Ft=dt.fromHex(Ot)}catch(ir){if(ir.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(Wt&&St.hasHighS())return!1;$t&&(Pt=et.hash(Pt));const{r:Vt,s:Rt}=St,Yt=jt(Pt),Kt=lt(Rt),Xt=st(Yt*Kt),rr=st(Vt*Kt),or=dt.BASE.multiplyAndAddUnsafe(Ft,Xt,rr)?.toAffine();return or?st(or.x)===Vt:!1}return{CURVE:et,getPublicKey:_t,getSharedSecret:Tt,sign:Bt,verify:Et,ProjectivePoint:dt,Signature:xt,utils:wt}}class HMAC extends Hash{constructor(et,tt){super(),this.finished=!1,this.destroyed=!1,assert.hash(et);const rt=toBytes(tt);if(this.iHash=et.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const nt=this.blockLen,it=new Uint8Array(nt);it.set(rt.length>nt?et.create().update(rt).digest():rt);for(let at=0;atnew HMAC(_e,et).update(tt).digest();hmac$1.create=(_e,et)=>new HMAC(_e,et);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function getHash(_e){return{hash:_e,hmac:(et,...tt)=>hmac$1(_e,et,concatBytes(...tt)),randomBytes}}function createCurve(_e,et){const tt=rt=>weierstrass({..._e,...getHash(rt)});return Object.freeze({...tt(et),create:tt})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const secp256k1P=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),secp256k1N=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),_1n=BigInt(1),_2n=BigInt(2),divNearest=(_e,et)=>(_e+et/_2n)/et;function sqrtMod(_e){const et=secp256k1P,tt=BigInt(3),rt=BigInt(6),nt=BigInt(11),it=BigInt(22),at=BigInt(23),st=BigInt(44),lt=BigInt(88),dt=_e*_e*_e%et,ht=dt*dt*_e%et,pt=pow2(ht,tt,et)*ht%et,mt=pow2(pt,tt,et)*ht%et,gt=pow2(mt,_2n,et)*dt%et,vt=pow2(gt,nt,et)*gt%et,bt=pow2(vt,it,et)*vt%et,yt=pow2(bt,st,et)*bt%et,xt=pow2(yt,lt,et)*yt%et,wt=pow2(xt,st,et)*bt%et,_t=pow2(wt,tt,et)*ht%et,At=pow2(_t,at,et)*vt%et,Tt=pow2(At,rt,et)*dt%et,kt=pow2(Tt,_2n,et);if(!Fp.eql(Fp.sqr(kt),_e))throw new Error("Cannot find square root");return kt}const Fp=Field$1(secp256k1P,void 0,void 0,{sqrt:sqrtMod}),secp256k1=createCurve({a:BigInt(0),b:BigInt(7),Fp,n:secp256k1N,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:_e=>{const et=secp256k1N,tt=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),rt=-_1n*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),nt=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),it=tt,at=BigInt("0x100000000000000000000000000000000"),st=divNearest(it*_e,et),lt=divNearest(-rt*_e,et);let dt=mod(_e-st*tt-lt*nt,et),ht=mod(-st*rt-lt*it,et);const pt=dt>at,mt=ht>at;if(pt&&(dt=et-dt),mt&&(ht=et-ht),dt>at||ht>at)throw new Error("splitScalar: Endomorphism failed, k="+_e);return{k1neg:pt,k1:dt,k2neg:mt,k2:ht}}}},sha256$1);BigInt(0);secp256k1.ProjectivePoint;function signatureToHex({r:_e,s:et,v:tt}){return`0x${new secp256k1.Signature(hexToBigInt(_e),hexToBigInt(et)).toCompactHex()}${toHex$1(tt).slice(2)}`}function t$4(_e,et){throw new Error(et??`Unexpected value: ${_e}`)}function u$3(..._e){return _e.reduce((et,tt)=>ttet?1:0}function*f$4(_e,et){for(let tt=0;tt<_e.length;tt+=et)yield _e.slice(tt,tt+et)}function P$7(_e){return _e!==void 0}function b$4(_e){return new Promise(et=>setTimeout(()=>et(),_e))}var r$2=class extends Error{name="MUDError"};function ne$2(_e){let et=[],tt=[];for(let rt of _e)T$4(rt)?tt.push(rt):et.push(rt);return{staticFields:et,dynamicFields:tt}}var d$5=class extends r$2{name="InvalidHexValueError";constructor(et){super(`Hex value "${et}" is an odd length (${et.length-2}). It must be an even length.`)}},f$3=class extends r$2{name="InvalidHexLengthForSchemaError";constructor(et){super(`Hex value "${et}" has length of ${et.length-2}, but expected length of 64 for a schema.`)}},x$6=class extends r$2{name="InvalidHexLengthForPackedCounterError";constructor(et){super(`Hex value "${et}" has length of ${et.length-2}, but expected length of 64 for a packed counter.`)}},g$6=class extends r$2{name="InvalidHexLengthForStaticFieldError";constructor(et,tt){super(`Hex value "${tt}" has length of ${tt.length-2}, but expected length of ${A$4[et]*2} for ${et} type.`)}},S$3=class extends r$2{name="InvalidHexLengthForArrayFieldError";constructor(et,tt){super(`Hex value "${tt}" has length of ${tt.length-2}, but expected a multiple of ${A$4[et]*2} for ${et}[] type.`)}},A$3=class extends r$2{name="SchemaStaticLengthMismatchError";constructor(et,tt,rt){super(`Schema "${et}" static data length (${tt}) did not match the summed length of all static fields (${rt}). Is \`staticAbiTypeToByteLength\` up to date with Solidity schema types?`)}},v$6=class extends r$2{name="PackedCounterLengthMismatchError";constructor(et,tt,rt){super(`PackedCounter "${et}" total bytes length (${tt}) did not match the summed length of all field byte lengths (${rt}).`)}};function p$3(_e,et){if(et.length>3&&et.length%2!==0)throw new d$5(et);if((et.length-2)/2!==A$4[_e])throw new g$6(_e,et);switch(_e){case"uint8":case"uint16":case"uint24":case"uint32":case"uint40":case"uint48":case"uint56":case"uint64":case"uint72":case"uint80":case"uint88":case"uint96":case"uint104":case"uint112":case"uint120":case"uint128":case"uint136":case"uint144":case"uint152":case"uint160":case"uint168":case"uint176":case"uint184":case"uint192":case"uint200":case"uint208":case"uint216":case"uint224":case"uint232":case"uint240":case"uint248":case"uint256":case"int8":case"int16":case"int24":case"int32":case"int40":case"int48":case"int56":case"int64":case"int72":case"int80":case"int88":case"int96":case"int104":case"int112":case"int120":case"int128":case"int136":case"int144":case"int152":case"int160":case"int168":case"int176":case"int184":case"int192":case"int200":case"int208":case"int216":case"int224":case"int232":case"int240":case"int248":case"int256":{let tt=hexToBigInt(et,{signed:_e.startsWith("int")}),rt=typeof a$4[_e];if(rt==="number")return Number(tt);if(rt==="bigint")return tt;throw new Error(`Unexpected default value type (${rt}) for ABI type (${_e})`)}case"bytes1":case"bytes2":case"bytes3":case"bytes4":case"bytes5":case"bytes6":case"bytes7":case"bytes8":case"bytes9":case"bytes10":case"bytes11":case"bytes12":case"bytes13":case"bytes14":case"bytes15":case"bytes16":case"bytes17":case"bytes18":case"bytes19":case"bytes20":case"bytes21":case"bytes22":case"bytes23":case"bytes24":case"bytes25":case"bytes26":case"bytes27":case"bytes28":case"bytes29":case"bytes30":case"bytes31":case"bytes32":return et;case"bool":return hexToBool(et);case"address":return getAddress(et)}return t$4(_e,`Unsupported static ABI type: ${_e}`)}function h$5(_e,et){if(_e==="bytes")return et;if(_e==="string")return hexToString(et);if(et.length>3&&et.length%2!==0)throw new d$5(et);let tt=(et.length-2)/2;switch(_e){case"uint8[]":case"uint16[]":case"uint24[]":case"uint32[]":case"uint40[]":case"uint48[]":case"uint56[]":case"uint64[]":case"uint72[]":case"uint80[]":case"uint88[]":case"uint96[]":case"uint104[]":case"uint112[]":case"uint120[]":case"uint128[]":case"uint136[]":case"uint144[]":case"uint152[]":case"uint160[]":case"uint168[]":case"uint176[]":case"uint184[]":case"uint192[]":case"uint200[]":case"uint208[]":case"uint216[]":case"uint224[]":case"uint232[]":case"uint240[]":case"uint248[]":case"uint256[]":case"int8[]":case"int16[]":case"int24[]":case"int32[]":case"int40[]":case"int48[]":case"int56[]":case"int64[]":case"int72[]":case"int80[]":case"int88[]":case"int96[]":case"int104[]":case"int112[]":case"int120[]":case"int128[]":case"int136[]":case"int144[]":case"int152[]":case"int160[]":case"int168[]":case"int176[]":case"int184[]":case"int192[]":case"int200[]":case"int208[]":case"int216[]":case"int224[]":case"int232[]":case"int240[]":case"int248[]":case"int256[]":case"bytes1[]":case"bytes2[]":case"bytes3[]":case"bytes4[]":case"bytes5[]":case"bytes6[]":case"bytes7[]":case"bytes8[]":case"bytes9[]":case"bytes10[]":case"bytes11[]":case"bytes12[]":case"bytes13[]":case"bytes14[]":case"bytes15[]":case"bytes16[]":case"bytes17[]":case"bytes18[]":case"bytes19[]":case"bytes20[]":case"bytes21[]":case"bytes22[]":case"bytes23[]":case"bytes24[]":case"bytes25[]":case"bytes26[]":case"bytes27[]":case"bytes28[]":case"bytes29[]":case"bytes30[]":case"bytes31[]":case"bytes32[]":case"bool[]":case"address[]":{let rt=r$3(_e),nt=A$4[rt];if(tt%nt!==0)throw new S$3(rt,et);return new Array(tt/nt).fill(void 0).map((it,at)=>{let st=sliceHex(et,at*nt,(at+1)*nt);return p$3(rt,st)})}}return t$4(_e,`Unsupported dynamic ABI type: ${_e}`)}function ke$1(_e,et){return T$4(_e)?h$5(_e,et):p$3(_e,et)}function ze$1(_e,et){if(_e.staticFields.length!==et.length)throw new Error(`key tuple length ${et.length} does not match key schema length ${_e.staticFields.length}`);return et.map((tt,rt)=>decodeAbiParameters([{type:_e.staticFields[rt]}],tt)[0])}function B$4(_e){if(_e.length!==66)throw new x$6(_e);let et=p$3("uint56",sliceHex(_e,32-7,32)),tt=h$5("uint40[]",sliceHex(_e,0,32-7)),rt=Object.freeze([...tt].reverse()),nt=BigInt(rt.reduce((it,at)=>it+at,0));if(nt!==et)throw new v$6(_e,et,nt);return{totalByteLength:et,fieldByteLengths:rt}}function P$6(_e){return _e.reduce((et,tt)=>et+A$4[tt],0)}function ct(_e,et){let tt=[],rt=0;_e.staticFields.forEach(at=>{let st=A$4[at],lt=p$3(at,sliceHex(et,rt,rt+st));rt+=st,tt.push(lt)});let nt=P$6(_e.staticFields),it=rt;if(it!==nt&&console.warn("Decoded static data length does not match schema's expected static data length. Data may get corrupted. Is `getStaticByteLength` outdated?",{expectedLength:nt,actualLength:it,bytesOffset:rt}),_e.dynamicFields.length>0){let at=B$4(sliceHex(et,rt,rt+32));rt+=32,_e.dynamicFields.forEach((lt,dt)=>{let ht=at.fieldByteLengths[dt];if(ht>0){let pt=h$5(lt,sliceHex(et,rt,rt+ht));rt+=ht,tt.push(pt)}else tt.push(s$3[lt])});let st=rt-32-it;BigInt(st)!==at.totalByteLength&&console.warn("Decoded dynamic data length does not match data layout's expected data length. Data may get corrupted. Did the data layout change?",{expectedLength:at.totalByteLength,actualLength:st,bytesOffset:rt})}return tt}function D$2(_e){if(_e.length!==66)throw new f$3(_e);let et=hexToNumber$1(sliceHex(_e,0,2)),tt=hexToNumber$1(sliceHex(_e,2,3)),rt=hexToNumber$1(sliceHex(_e,3,4)),nt=[],it=[];for(let st=4;st<4+tt;st++){let lt=hexToNumber$1(sliceHex(_e,st,st+1));nt.push(n$2[lt])}for(let st=4+tt;st<4+tt+rt;st++){let lt=hexToNumber$1(sliceHex(_e,st,st+1));it.push(n$2[lt])}let at=nt.reduce((st,lt)=>st+A$4[lt],0);if(at!==et)throw console.warn(`Schema "${_e}" static data length (${et}) did not match the summed length of all static fields (${at}). Is \`staticAbiTypeToByteLength\` up to date with Solidity schema types?`),new A$3(_e,et,at);return{staticFields:nt,dynamicFields:it}}var browser={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var _e=1e3,et=_e*60,tt=et*60,rt=tt*24,nt=rt*7,it=rt*365.25;ms=function(ht,pt){pt=pt||{};var mt=typeof ht;if(mt==="string"&&ht.length>0)return at(ht);if(mt==="number"&&isFinite(ht))return pt.long?lt(ht):st(ht);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(ht))};function at(ht){if(ht=String(ht),!(ht.length>100)){var pt=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(ht);if(pt){var mt=parseFloat(pt[1]),gt=(pt[2]||"ms").toLowerCase();switch(gt){case"years":case"year":case"yrs":case"yr":case"y":return mt*it;case"weeks":case"week":case"w":return mt*nt;case"days":case"day":case"d":return mt*rt;case"hours":case"hour":case"hrs":case"hr":case"h":return mt*tt;case"minutes":case"minute":case"mins":case"min":case"m":return mt*et;case"seconds":case"second":case"secs":case"sec":case"s":return mt*_e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return mt;default:return}}}}function st(ht){var pt=Math.abs(ht);return pt>=rt?Math.round(ht/rt)+"d":pt>=tt?Math.round(ht/tt)+"h":pt>=et?Math.round(ht/et)+"m":pt>=_e?Math.round(ht/_e)+"s":ht+"ms"}function lt(ht){var pt=Math.abs(ht);return pt>=rt?dt(ht,pt,rt,"day"):pt>=tt?dt(ht,pt,tt,"hour"):pt>=et?dt(ht,pt,et,"minute"):pt>=_e?dt(ht,pt,_e,"second"):ht+" ms"}function dt(ht,pt,mt,gt){var vt=pt>=mt*1.5;return Math.round(ht/mt)+" "+gt+(vt?"s":"")}return ms}function setup$1(_e){tt.debug=tt,tt.default=tt,tt.coerce=lt,tt.disable=it,tt.enable=nt,tt.enabled=at,tt.humanize=requireMs(),tt.destroy=dt,Object.keys(_e).forEach(ht=>{tt[ht]=_e[ht]}),tt.names=[],tt.skips=[],tt.formatters={};function et(ht){let pt=0;for(let mt=0;mt{if(kt==="%%")return"%";At++;const Lt=tt.formatters[jt];if(typeof Lt=="function"){const qt=yt[At];kt=Lt.call(xt,qt),yt.splice(At,1),At--}return kt}),tt.formatArgs.call(xt,yt),(xt.log||tt.log).apply(xt,yt)}return bt.namespace=ht,bt.useColors=tt.useColors(),bt.color=tt.selectColor(ht),bt.extend=rt,bt.destroy=tt.destroy,Object.defineProperty(bt,"enabled",{enumerable:!0,configurable:!1,get:()=>mt!==null?mt:(gt!==tt.namespaces&&(gt=tt.namespaces,vt=tt.enabled(ht)),vt),set:yt=>{mt=yt}}),typeof tt.init=="function"&&tt.init(bt),bt}function rt(ht,pt){const mt=tt(this.namespace+(typeof pt>"u"?":":pt)+ht);return mt.log=this.log,mt}function nt(ht){tt.save(ht),tt.namespaces=ht,tt.names=[],tt.skips=[];let pt;const mt=(typeof ht=="string"?ht:"").split(/[\s,]+/),gt=mt.length;for(pt=0;pt"-"+pt)].join(",");return tt.enable(""),ht}function at(ht){if(ht[ht.length-1]==="*")return!0;let pt,mt;for(pt=0,mt=tt.skips.length;pt{let lt=!1;return()=>{lt||(lt=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),et.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function tt(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function rt(lt){if(lt[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+lt[0]+(this.useColors?"%c ":" ")+"+"+_e.exports.humanize(this.diff),!this.useColors)return;const dt="color: "+this.color;lt.splice(1,0,dt,"color: inherit");let ht=0,pt=0;lt[0].replace(/%[a-zA-Z%]/g,mt=>{mt!=="%%"&&(ht++,mt==="%c"&&(pt=ht))}),lt.splice(pt,0,dt)}et.log=console.debug||console.log||(()=>{});function nt(lt){try{lt?et.storage.setItem("debug",lt):et.storage.removeItem("debug")}catch{}}function it(){let lt;try{lt=et.storage.getItem("debug")}catch{}return!lt&&typeof process<"u"&&"env"in process&&(lt={}.DEBUG),lt}function at(){try{return localStorage}catch{}}_e.exports=common$1(et);const{formatters:st}=_e.exports;st.j=function(lt){try{return JSON.stringify(lt)}catch(dt){return"[UnexpectedJSONParseError]: "+dt.message}}})(browser,browser.exports);var browserExports=browser.exports;const g$5=getDefaultExportFromCjs(browserExports);function generatePrivateKey(){return toHex$1(secp256k1.utils.randomPrivateKey())}function toAccount(_e){if(typeof _e=="string"){if(!isAddress(_e))throw new InvalidAddressError({address:_e});return{address:_e,type:"json-rpc"}}if(!isAddress(_e.address))throw new InvalidAddressError({address:_e.address});return{address:_e.address,signMessage:_e.signMessage,signTransaction:_e.signTransaction,signTypedData:_e.signTypedData,source:"custom",type:"local"}}async function sign({hash:_e,privateKey:et}){const{r:tt,s:rt,recovery:nt}=secp256k1.sign(_e.slice(2),et.slice(2));return{r:toHex$1(tt),s:toHex$1(rt),v:nt?28n:27n}}async function signMessage({message:_e,privateKey:et}){const tt=await sign({hash:hashMessage(_e),privateKey:et});return signatureToHex(tt)}async function signTransaction({privateKey:_e,transaction:et,serializer:tt=serializeTransaction}){const rt=await sign({hash:keccak256(tt(et)),privateKey:_e});return tt(et,rt)}async function signTypedData({privateKey:_e,...et}){const tt=await sign({hash:hashTypedData(et),privateKey:_e});return signatureToHex(tt)}function privateKeyToAccount(_e){const et=toHex$1(secp256k1.getPublicKey(_e.slice(2),!1)),tt=publicKeyToAddress(et);return{...toAccount({address:tt,async signMessage({message:nt}){return signMessage({message:nt,privateKey:_e})},async signTransaction(nt,{serializer:it}={}){return signTransaction({privateKey:_e,transaction:nt,serializer:it})},async signTypedData(nt){return signTypedData({...nt,privateKey:_e})}}),publicKey:et,source:"privateKey"}}var retry$3={};function RetryOperation(_e,et){typeof et=="boolean"&&(et={forever:et}),this._originalTimeouts=JSON.parse(JSON.stringify(_e)),this._timeouts=_e,this._options=et||{},this._maxRetryTime=et&&et.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var retry_operation=RetryOperation;RetryOperation.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};RetryOperation.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};RetryOperation.prototype.retry=function(_e){if(this._timeout&&clearTimeout(this._timeout),!_e)return!1;var et=new Date().getTime();if(_e&&et-this._operationStart>=this._maxRetryTime)return this._errors.push(_e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(_e);var tt=this._timeouts.shift();if(tt===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),tt=this._cachedTimeouts.slice(-1);else return!1;var rt=this;return this._timer=setTimeout(function(){rt._attempts++,rt._operationTimeoutCb&&(rt._timeout=setTimeout(function(){rt._operationTimeoutCb(rt._attempts)},rt._operationTimeout),rt._options.unref&&rt._timeout.unref()),rt._fn(rt._attempts)},tt),this._options.unref&&this._timer.unref(),!0};RetryOperation.prototype.attempt=function(_e,et){this._fn=_e,et&&(et.timeout&&(this._operationTimeout=et.timeout),et.cb&&(this._operationTimeoutCb=et.cb));var tt=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){tt._operationTimeoutCb()},tt._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};RetryOperation.prototype.try=function(_e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(_e)};RetryOperation.prototype.start=function(_e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(_e)};RetryOperation.prototype.start=RetryOperation.prototype.try;RetryOperation.prototype.errors=function(){return this._errors};RetryOperation.prototype.attempts=function(){return this._attempts};RetryOperation.prototype.mainError=function(){if(this._errors.length===0)return null;for(var _e={},et=null,tt=0,rt=0;rt=tt&&(et=nt,tt=at)}return et};(function(_e){var et=retry_operation;_e.operation=function(tt){var rt=_e.timeouts(tt);return new et(rt,{forever:tt&&(tt.forever||tt.retries===1/0),unref:tt&&tt.unref,maxRetryTime:tt&&tt.maxRetryTime})},_e.timeouts=function(tt){if(tt instanceof Array)return[].concat(tt);var rt={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var nt in tt)rt[nt]=tt[nt];if(rt.minTimeout>rt.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var it=[],at=0;at{const rt=tt.retries-(et-1);return _e.attemptNumber=et,_e.retriesLeft=rt,_e},isNetworkError=_e=>networkErrorMsgs.has(_e),getDOMException=_e=>globalThis.DOMException===void 0?new Error(_e):new DOMException(_e);async function pRetry(_e,et){return new Promise((tt,rt)=>{et={onFailedAttempt(){},retries:10,...et};const nt=retry$2.operation(et);nt.attempt(async it=>{try{tt(await _e(it))}catch(at){if(!(at instanceof Error)){rt(new TypeError(`Non-error was thrown: "${at}". You should only throw errors.`));return}if(at instanceof AbortError$1)nt.stop(),rt(at.originalError);else if(at instanceof TypeError&&!isNetworkError(at.message))nt.stop(),rt(at);else{decorateErrorWithCounts(at,it,et);try{await et.onFailedAttempt(at)}catch(st){rt(st);return}nt.retry(at)||rt(nt.mainError())}}}),et.signal&&!et.signal.aborted&&et.signal.addEventListener("abort",()=>{nt.stop();const it=et.signal.reason===void 0?getDOMException("The operation was aborted."):et.signal.reason;rt(it instanceof Error?it:getDOMException(it))},{once:!0})})}function J$1(_e){return{...privateKeyToAccount(_e)}}var p$2=g$5("mud:common"),x$5=p$2.extend("createNonceManager");function b$3({publicClient:_e,address:et,blockTag:tt}){let rt={current:-1},nt=typeof BroadcastChannel<"u"?new BroadcastChannel(`mud:createNonceManager:${_e.chain?.id}:${et}`):null;nt&&nt.addEventListener("message",dt=>{let ht=JSON.parse(dt.data);x$5("got nonce from broadcast channel",ht),rt.current=ht});function it(){return rt.current>=0}function at(){if(!it())throw new Error("call resetNonce before using nextNonce");let dt=rt.current++;return nt?.postMessage(JSON.stringify(rt.current)),dt}async function st(){let dt=await _e.getTransactionCount({address:et,blockTag:tt});rt.current=dt,nt?.postMessage(JSON.stringify(rt.current)),x$5("reset nonce to",rt.current)}function lt(dt){return dt instanceof BaseError&&dt.walk(ht=>ht instanceof NonceTooLowError||ht instanceof NonceTooHighError)!=null}return{hasNonce:it,nextNonce:at,resetNonce:st,shouldResetNonce:lt}}var m$4=p$2.extend("createContract");function E$2(_e){let et=_e.length&&Array.isArray(_e[0]),tt=et?_e[0]:[],rt=(et?_e[1]:_e[0])??{};return{args:tt,options:rt}}function me$1({abi:_e,address:et,publicClient:tt,walletClient:rt,onWrite:nt}){let it=getContract({abi:_e,address:et,publicClient:tt,walletClient:rt});if(it.write){let at=0,st=b$3({publicClient:tt,address:rt.account.address});it.write=new Proxy({},{get(lt,dt){async function ht(mt){if(mt.gas)return m$4("gas provided, skipping simulate",dt,mt),mt;m$4("simulating write",dt,mt);let{request:gt}=await tt.simulateContract({...mt,account:mt.account??rt.account});return gt}async function pt(mt){let gt=await ht(mt);return await pRetry(async()=>{st.hasNonce()||await st.resetNonce();let vt=st.nextNonce();return m$4("calling write function with nonce",vt,gt),await rt.writeContract({nonce:vt,...gt})},{retries:3,onFailedAttempt:async vt=>{if(st.shouldResetNonce(vt)){m$4("got nonce error, retrying",vt),await st.resetNonce();return}throw vt}})}return(...mt)=>{let gt=`${rt.chain.id}:${rt.account.address}:${at++}`,{args:vt,options:bt}=E$2(mt),yt={address:et,abi:_e,functionName:dt,args:vt,...bt},xt=pt(yt);return nt?.({id:gt,request:yt,result:xt}),xt}}})}return it}function B$3(_e,et){if(!isHex(_e))throw console.error("Private key found in cache is not valid hex",{privateKey:_e,cacheKey:et}),new Error(`Private key found in cache (${et}) is not valid hex`);privateKeyToAccount(_e)}function be$2(_e="mud:burnerWallet"){let et=localStorage.getItem(_e);if(et!=null)return B$3(et,_e),et;let tt=generatePrivateKey();return console.log("New burner wallet created:",privateKeyToAccount(tt)),localStorage.setItem(_e,tt),tt}function ye$1(_e){let et=hexToString(sliceHex(_e,0,16)).replace(/\0+$/,""),tt=hexToString(sliceHex(_e,16,32)).replace(/\0+$/,"");return{namespace:et,name:tt}}function He$1(_e,et){return concatHex([stringToHex(_e.substring(0,16),{size:16}),stringToHex(et.substring(0,16),{size:16})])}var I$3=p$2.extend("transportObserver");function Ee$1(_e){return et=>{let tt=_e(et);return{...tt,request:async rt=>{if(rt.method==="eth_sendRawTransaction"&&rt.params instanceof Array){let nt=rt.params.map(it=>keccak256(it));I$3("saw txs",nt)}return tt.request(rt)}}}}var I$2=(_e=>(_e[_e.UINT8=0]="UINT8",_e[_e.UINT16=1]="UINT16",_e[_e.UINT24=2]="UINT24",_e[_e.UINT32=3]="UINT32",_e[_e.UINT40=4]="UINT40",_e[_e.UINT48=5]="UINT48",_e[_e.UINT56=6]="UINT56",_e[_e.UINT64=7]="UINT64",_e[_e.UINT72=8]="UINT72",_e[_e.UINT80=9]="UINT80",_e[_e.UINT88=10]="UINT88",_e[_e.UINT96=11]="UINT96",_e[_e.UINT104=12]="UINT104",_e[_e.UINT112=13]="UINT112",_e[_e.UINT120=14]="UINT120",_e[_e.UINT128=15]="UINT128",_e[_e.UINT136=16]="UINT136",_e[_e.UINT144=17]="UINT144",_e[_e.UINT152=18]="UINT152",_e[_e.UINT160=19]="UINT160",_e[_e.UINT168=20]="UINT168",_e[_e.UINT176=21]="UINT176",_e[_e.UINT184=22]="UINT184",_e[_e.UINT192=23]="UINT192",_e[_e.UINT200=24]="UINT200",_e[_e.UINT208=25]="UINT208",_e[_e.UINT216=26]="UINT216",_e[_e.UINT224=27]="UINT224",_e[_e.UINT232=28]="UINT232",_e[_e.UINT240=29]="UINT240",_e[_e.UINT248=30]="UINT248",_e[_e.UINT256=31]="UINT256",_e[_e.INT8=32]="INT8",_e[_e.INT16=33]="INT16",_e[_e.INT24=34]="INT24",_e[_e.INT32=35]="INT32",_e[_e.INT40=36]="INT40",_e[_e.INT48=37]="INT48",_e[_e.INT56=38]="INT56",_e[_e.INT64=39]="INT64",_e[_e.INT72=40]="INT72",_e[_e.INT80=41]="INT80",_e[_e.INT88=42]="INT88",_e[_e.INT96=43]="INT96",_e[_e.INT104=44]="INT104",_e[_e.INT112=45]="INT112",_e[_e.INT120=46]="INT120",_e[_e.INT128=47]="INT128",_e[_e.INT136=48]="INT136",_e[_e.INT144=49]="INT144",_e[_e.INT152=50]="INT152",_e[_e.INT160=51]="INT160",_e[_e.INT168=52]="INT168",_e[_e.INT176=53]="INT176",_e[_e.INT184=54]="INT184",_e[_e.INT192=55]="INT192",_e[_e.INT200=56]="INT200",_e[_e.INT208=57]="INT208",_e[_e.INT216=58]="INT216",_e[_e.INT224=59]="INT224",_e[_e.INT232=60]="INT232",_e[_e.INT240=61]="INT240",_e[_e.INT248=62]="INT248",_e[_e.INT256=63]="INT256",_e[_e.BYTES1=64]="BYTES1",_e[_e.BYTES2=65]="BYTES2",_e[_e.BYTES3=66]="BYTES3",_e[_e.BYTES4=67]="BYTES4",_e[_e.BYTES5=68]="BYTES5",_e[_e.BYTES6=69]="BYTES6",_e[_e.BYTES7=70]="BYTES7",_e[_e.BYTES8=71]="BYTES8",_e[_e.BYTES9=72]="BYTES9",_e[_e.BYTES10=73]="BYTES10",_e[_e.BYTES11=74]="BYTES11",_e[_e.BYTES12=75]="BYTES12",_e[_e.BYTES13=76]="BYTES13",_e[_e.BYTES14=77]="BYTES14",_e[_e.BYTES15=78]="BYTES15",_e[_e.BYTES16=79]="BYTES16",_e[_e.BYTES17=80]="BYTES17",_e[_e.BYTES18=81]="BYTES18",_e[_e.BYTES19=82]="BYTES19",_e[_e.BYTES20=83]="BYTES20",_e[_e.BYTES21=84]="BYTES21",_e[_e.BYTES22=85]="BYTES22",_e[_e.BYTES23=86]="BYTES23",_e[_e.BYTES24=87]="BYTES24",_e[_e.BYTES25=88]="BYTES25",_e[_e.BYTES26=89]="BYTES26",_e[_e.BYTES27=90]="BYTES27",_e[_e.BYTES28=91]="BYTES28",_e[_e.BYTES29=92]="BYTES29",_e[_e.BYTES30=93]="BYTES30",_e[_e.BYTES31=94]="BYTES31",_e[_e.BYTES32=95]="BYTES32",_e[_e.BOOL=96]="BOOL",_e[_e.ADDRESS=97]="ADDRESS",_e[_e.UINT8_ARRAY=98]="UINT8_ARRAY",_e[_e.UINT16_ARRAY=99]="UINT16_ARRAY",_e[_e.UINT24_ARRAY=100]="UINT24_ARRAY",_e[_e.UINT32_ARRAY=101]="UINT32_ARRAY",_e[_e.UINT40_ARRAY=102]="UINT40_ARRAY",_e[_e.UINT48_ARRAY=103]="UINT48_ARRAY",_e[_e.UINT56_ARRAY=104]="UINT56_ARRAY",_e[_e.UINT64_ARRAY=105]="UINT64_ARRAY",_e[_e.UINT72_ARRAY=106]="UINT72_ARRAY",_e[_e.UINT80_ARRAY=107]="UINT80_ARRAY",_e[_e.UINT88_ARRAY=108]="UINT88_ARRAY",_e[_e.UINT96_ARRAY=109]="UINT96_ARRAY",_e[_e.UINT104_ARRAY=110]="UINT104_ARRAY",_e[_e.UINT112_ARRAY=111]="UINT112_ARRAY",_e[_e.UINT120_ARRAY=112]="UINT120_ARRAY",_e[_e.UINT128_ARRAY=113]="UINT128_ARRAY",_e[_e.UINT136_ARRAY=114]="UINT136_ARRAY",_e[_e.UINT144_ARRAY=115]="UINT144_ARRAY",_e[_e.UINT152_ARRAY=116]="UINT152_ARRAY",_e[_e.UINT160_ARRAY=117]="UINT160_ARRAY",_e[_e.UINT168_ARRAY=118]="UINT168_ARRAY",_e[_e.UINT176_ARRAY=119]="UINT176_ARRAY",_e[_e.UINT184_ARRAY=120]="UINT184_ARRAY",_e[_e.UINT192_ARRAY=121]="UINT192_ARRAY",_e[_e.UINT200_ARRAY=122]="UINT200_ARRAY",_e[_e.UINT208_ARRAY=123]="UINT208_ARRAY",_e[_e.UINT216_ARRAY=124]="UINT216_ARRAY",_e[_e.UINT224_ARRAY=125]="UINT224_ARRAY",_e[_e.UINT232_ARRAY=126]="UINT232_ARRAY",_e[_e.UINT240_ARRAY=127]="UINT240_ARRAY",_e[_e.UINT248_ARRAY=128]="UINT248_ARRAY",_e[_e.UINT256_ARRAY=129]="UINT256_ARRAY",_e[_e.INT8_ARRAY=130]="INT8_ARRAY",_e[_e.INT16_ARRAY=131]="INT16_ARRAY",_e[_e.INT24_ARRAY=132]="INT24_ARRAY",_e[_e.INT32_ARRAY=133]="INT32_ARRAY",_e[_e.INT40_ARRAY=134]="INT40_ARRAY",_e[_e.INT48_ARRAY=135]="INT48_ARRAY",_e[_e.INT56_ARRAY=136]="INT56_ARRAY",_e[_e.INT64_ARRAY=137]="INT64_ARRAY",_e[_e.INT72_ARRAY=138]="INT72_ARRAY",_e[_e.INT80_ARRAY=139]="INT80_ARRAY",_e[_e.INT88_ARRAY=140]="INT88_ARRAY",_e[_e.INT96_ARRAY=141]="INT96_ARRAY",_e[_e.INT104_ARRAY=142]="INT104_ARRAY",_e[_e.INT112_ARRAY=143]="INT112_ARRAY",_e[_e.INT120_ARRAY=144]="INT120_ARRAY",_e[_e.INT128_ARRAY=145]="INT128_ARRAY",_e[_e.INT136_ARRAY=146]="INT136_ARRAY",_e[_e.INT144_ARRAY=147]="INT144_ARRAY",_e[_e.INT152_ARRAY=148]="INT152_ARRAY",_e[_e.INT160_ARRAY=149]="INT160_ARRAY",_e[_e.INT168_ARRAY=150]="INT168_ARRAY",_e[_e.INT176_ARRAY=151]="INT176_ARRAY",_e[_e.INT184_ARRAY=152]="INT184_ARRAY",_e[_e.INT192_ARRAY=153]="INT192_ARRAY",_e[_e.INT200_ARRAY=154]="INT200_ARRAY",_e[_e.INT208_ARRAY=155]="INT208_ARRAY",_e[_e.INT216_ARRAY=156]="INT216_ARRAY",_e[_e.INT224_ARRAY=157]="INT224_ARRAY",_e[_e.INT232_ARRAY=158]="INT232_ARRAY",_e[_e.INT240_ARRAY=159]="INT240_ARRAY",_e[_e.INT248_ARRAY=160]="INT248_ARRAY",_e[_e.INT256_ARRAY=161]="INT256_ARRAY",_e[_e.BYTES1_ARRAY=162]="BYTES1_ARRAY",_e[_e.BYTES2_ARRAY=163]="BYTES2_ARRAY",_e[_e.BYTES3_ARRAY=164]="BYTES3_ARRAY",_e[_e.BYTES4_ARRAY=165]="BYTES4_ARRAY",_e[_e.BYTES5_ARRAY=166]="BYTES5_ARRAY",_e[_e.BYTES6_ARRAY=167]="BYTES6_ARRAY",_e[_e.BYTES7_ARRAY=168]="BYTES7_ARRAY",_e[_e.BYTES8_ARRAY=169]="BYTES8_ARRAY",_e[_e.BYTES9_ARRAY=170]="BYTES9_ARRAY",_e[_e.BYTES10_ARRAY=171]="BYTES10_ARRAY",_e[_e.BYTES11_ARRAY=172]="BYTES11_ARRAY",_e[_e.BYTES12_ARRAY=173]="BYTES12_ARRAY",_e[_e.BYTES13_ARRAY=174]="BYTES13_ARRAY",_e[_e.BYTES14_ARRAY=175]="BYTES14_ARRAY",_e[_e.BYTES15_ARRAY=176]="BYTES15_ARRAY",_e[_e.BYTES16_ARRAY=177]="BYTES16_ARRAY",_e[_e.BYTES17_ARRAY=178]="BYTES17_ARRAY",_e[_e.BYTES18_ARRAY=179]="BYTES18_ARRAY",_e[_e.BYTES19_ARRAY=180]="BYTES19_ARRAY",_e[_e.BYTES20_ARRAY=181]="BYTES20_ARRAY",_e[_e.BYTES21_ARRAY=182]="BYTES21_ARRAY",_e[_e.BYTES22_ARRAY=183]="BYTES22_ARRAY",_e[_e.BYTES23_ARRAY=184]="BYTES23_ARRAY",_e[_e.BYTES24_ARRAY=185]="BYTES24_ARRAY",_e[_e.BYTES25_ARRAY=186]="BYTES25_ARRAY",_e[_e.BYTES26_ARRAY=187]="BYTES26_ARRAY",_e[_e.BYTES27_ARRAY=188]="BYTES27_ARRAY",_e[_e.BYTES28_ARRAY=189]="BYTES28_ARRAY",_e[_e.BYTES29_ARRAY=190]="BYTES29_ARRAY",_e[_e.BYTES30_ARRAY=191]="BYTES30_ARRAY",_e[_e.BYTES31_ARRAY=192]="BYTES31_ARRAY",_e[_e.BYTES32_ARRAY=193]="BYTES32_ARRAY",_e[_e.BOOL_ARRAY=194]="BOOL_ARRAY",_e[_e.ADDRESS_ARRAY=195]="ADDRESS_ARRAY",_e[_e.BYTES=196]="BYTES",_e[_e.STRING=197]="STRING",_e))(I$2||{}),Y$3={0:"uint8",1:"uint16",2:"uint24",3:"uint32",4:"uint40",5:"uint48",6:"uint56",7:"uint64",8:"uint72",9:"uint80",10:"uint88",11:"uint96",12:"uint104",13:"uint112",14:"uint120",15:"uint128",16:"uint136",17:"uint144",18:"uint152",19:"uint160",20:"uint168",21:"uint176",22:"uint184",23:"uint192",24:"uint200",25:"uint208",26:"uint216",27:"uint224",28:"uint232",29:"uint240",30:"uint248",31:"uint256",32:"int8",33:"int16",34:"int24",35:"int32",36:"int40",37:"int48",38:"int56",39:"int64",40:"int72",41:"int80",42:"int88",43:"int96",44:"int104",45:"int112",46:"int120",47:"int128",48:"int136",49:"int144",50:"int152",51:"int160",52:"int168",53:"int176",54:"int184",55:"int192",56:"int200",57:"int208",58:"int216",59:"int224",60:"int232",61:"int240",62:"int248",63:"int256",64:"bytes1",65:"bytes2",66:"bytes3",67:"bytes4",68:"bytes5",69:"bytes6",70:"bytes7",71:"bytes8",72:"bytes9",73:"bytes10",74:"bytes11",75:"bytes12",76:"bytes13",77:"bytes14",78:"bytes15",79:"bytes16",80:"bytes17",81:"bytes18",82:"bytes19",83:"bytes20",84:"bytes21",85:"bytes22",86:"bytes23",87:"bytes24",88:"bytes25",89:"bytes26",90:"bytes27",91:"bytes28",92:"bytes29",93:"bytes30",94:"bytes31",95:"bytes32",96:"bool",97:"address",98:"uint8[]",99:"uint16[]",100:"uint24[]",101:"uint32[]",102:"uint40[]",103:"uint48[]",104:"uint56[]",105:"uint64[]",106:"uint72[]",107:"uint80[]",108:"uint88[]",109:"uint96[]",110:"uint104[]",111:"uint112[]",112:"uint120[]",113:"uint128[]",114:"uint136[]",115:"uint144[]",116:"uint152[]",117:"uint160[]",118:"uint168[]",119:"uint176[]",120:"uint184[]",121:"uint192[]",122:"uint200[]",123:"uint208[]",124:"uint216[]",125:"uint224[]",126:"uint232[]",127:"uint240[]",128:"uint248[]",129:"uint256[]",130:"int8[]",131:"int16[]",132:"int24[]",133:"int32[]",134:"int40[]",135:"int48[]",136:"int56[]",137:"int64[]",138:"int72[]",139:"int80[]",140:"int88[]",141:"int96[]",142:"int104[]",143:"int112[]",144:"int120[]",145:"int128[]",146:"int136[]",147:"int144[]",148:"int152[]",149:"int160[]",150:"int168[]",151:"int176[]",152:"int184[]",153:"int192[]",154:"int200[]",155:"int208[]",156:"int216[]",157:"int224[]",158:"int232[]",159:"int240[]",160:"int248[]",161:"int256[]",162:"bytes1[]",163:"bytes2[]",164:"bytes3[]",165:"bytes4[]",166:"bytes5[]",167:"bytes6[]",168:"bytes7[]",169:"bytes8[]",170:"bytes9[]",171:"bytes10[]",172:"bytes11[]",173:"bytes12[]",174:"bytes13[]",175:"bytes14[]",176:"bytes15[]",177:"bytes16[]",178:"bytes17[]",179:"bytes18[]",180:"bytes19[]",181:"bytes20[]",182:"bytes21[]",183:"bytes22[]",184:"bytes23[]",185:"bytes24[]",186:"bytes25[]",187:"bytes26[]",188:"bytes27[]",189:"bytes28[]",190:"bytes29[]",191:"bytes30[]",192:"bytes31[]",193:"bytes32[]",194:"bool[]",195:"address[]",196:"bytes",197:"string"},s$2=Object.values(Y$3),_$1=Object.fromEntries(Object.entries(Y$3).map(([_e,et])=>[et,parseInt(_e)]));function n$1(_e){let et=_e.valueOf();return et<32?et+1:et<64?et+1-32:et<96?et+1-64:_e==96?1:_e==97?20:0}var U$5=s$2.filter(_e=>n$1(_$1[_e])>0),util$5;(function(_e){_e.assertEqual=nt=>nt;function et(nt){}_e.assertIs=et;function tt(nt){throw new Error}_e.assertNever=tt,_e.arrayToEnum=nt=>{const it={};for(const at of nt)it[at]=at;return it},_e.getValidEnumValues=nt=>{const it=_e.objectKeys(nt).filter(st=>typeof nt[nt[st]]!="number"),at={};for(const st of it)at[st]=nt[st];return _e.objectValues(at)},_e.objectValues=nt=>_e.objectKeys(nt).map(function(it){return nt[it]}),_e.objectKeys=typeof Object.keys=="function"?nt=>Object.keys(nt):nt=>{const it=[];for(const at in nt)Object.prototype.hasOwnProperty.call(nt,at)&&it.push(at);return it},_e.find=(nt,it)=>{for(const at of nt)if(it(at))return at},_e.isInteger=typeof Number.isInteger=="function"?nt=>Number.isInteger(nt):nt=>typeof nt=="number"&&isFinite(nt)&&Math.floor(nt)===nt;function rt(nt,it=" | "){return nt.map(at=>typeof at=="string"?`'${at}'`:at).join(it)}_e.joinValues=rt,_e.jsonStringifyReplacer=(nt,it)=>typeof it=="bigint"?it.toString():it})(util$5||(util$5={}));var objectUtil;(function(_e){_e.mergeShapes=(et,tt)=>({...et,...tt})})(objectUtil||(objectUtil={}));const ZodParsedType=util$5.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=_e=>{switch(typeof _e){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return isNaN(_e)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(_e)?ZodParsedType.array:_e===null?ZodParsedType.null:_e.then&&typeof _e.then=="function"&&_e.catch&&typeof _e.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&_e instanceof Map?ZodParsedType.map:typeof Set<"u"&&_e instanceof Set?ZodParsedType.set:typeof Date<"u"&&_e instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}},ZodIssueCode=util$5.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),quotelessJson=_e=>JSON.stringify(_e,null,2).replace(/"([^"]+)":/g,"$1:");class ZodError extends Error{constructor(et){super(),this.issues=[],this.addIssue=rt=>{this.issues=[...this.issues,rt]},this.addIssues=(rt=[])=>{this.issues=[...this.issues,...rt]};const tt=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,tt):this.__proto__=tt,this.name="ZodError",this.issues=et}get errors(){return this.issues}format(et){const tt=et||function(it){return it.message},rt={_errors:[]},nt=it=>{for(const at of it.issues)if(at.code==="invalid_union")at.unionErrors.map(nt);else if(at.code==="invalid_return_type")nt(at.returnTypeError);else if(at.code==="invalid_arguments")nt(at.argumentsError);else if(at.path.length===0)rt._errors.push(tt(at));else{let st=rt,lt=0;for(;lttt.message){const tt={},rt=[];for(const nt of this.issues)nt.path.length>0?(tt[nt.path[0]]=tt[nt.path[0]]||[],tt[nt.path[0]].push(et(nt))):rt.push(et(nt));return{formErrors:rt,fieldErrors:tt}}get formErrors(){return this.flatten()}}ZodError.create=_e=>new ZodError(_e);const errorMap=(_e,et)=>{let tt;switch(_e.code){case ZodIssueCode.invalid_type:_e.received===ZodParsedType.undefined?tt="Required":tt=`Expected ${_e.expected}, received ${_e.received}`;break;case ZodIssueCode.invalid_literal:tt=`Invalid literal value, expected ${JSON.stringify(_e.expected,util$5.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:tt=`Unrecognized key(s) in object: ${util$5.joinValues(_e.keys,", ")}`;break;case ZodIssueCode.invalid_union:tt="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:tt=`Invalid discriminator value. Expected ${util$5.joinValues(_e.options)}`;break;case ZodIssueCode.invalid_enum_value:tt=`Invalid enum value. Expected ${util$5.joinValues(_e.options)}, received '${_e.received}'`;break;case ZodIssueCode.invalid_arguments:tt="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:tt="Invalid function return type";break;case ZodIssueCode.invalid_date:tt="Invalid date";break;case ZodIssueCode.invalid_string:typeof _e.validation=="object"?"includes"in _e.validation?(tt=`Invalid input: must include "${_e.validation.includes}"`,typeof _e.validation.position=="number"&&(tt=`${tt} at one or more positions greater than or equal to ${_e.validation.position}`)):"startsWith"in _e.validation?tt=`Invalid input: must start with "${_e.validation.startsWith}"`:"endsWith"in _e.validation?tt=`Invalid input: must end with "${_e.validation.endsWith}"`:util$5.assertNever(_e.validation):_e.validation!=="regex"?tt=`Invalid ${_e.validation}`:tt="Invalid";break;case ZodIssueCode.too_small:_e.type==="array"?tt=`Array must contain ${_e.exact?"exactly":_e.inclusive?"at least":"more than"} ${_e.minimum} element(s)`:_e.type==="string"?tt=`String must contain ${_e.exact?"exactly":_e.inclusive?"at least":"over"} ${_e.minimum} character(s)`:_e.type==="number"?tt=`Number must be ${_e.exact?"exactly equal to ":_e.inclusive?"greater than or equal to ":"greater than "}${_e.minimum}`:_e.type==="date"?tt=`Date must be ${_e.exact?"exactly equal to ":_e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_e.minimum))}`:tt="Invalid input";break;case ZodIssueCode.too_big:_e.type==="array"?tt=`Array must contain ${_e.exact?"exactly":_e.inclusive?"at most":"less than"} ${_e.maximum} element(s)`:_e.type==="string"?tt=`String must contain ${_e.exact?"exactly":_e.inclusive?"at most":"under"} ${_e.maximum} character(s)`:_e.type==="number"?tt=`Number must be ${_e.exact?"exactly":_e.inclusive?"less than or equal to":"less than"} ${_e.maximum}`:_e.type==="bigint"?tt=`BigInt must be ${_e.exact?"exactly":_e.inclusive?"less than or equal to":"less than"} ${_e.maximum}`:_e.type==="date"?tt=`Date must be ${_e.exact?"exactly":_e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_e.maximum))}`:tt="Invalid input";break;case ZodIssueCode.custom:tt="Invalid input";break;case ZodIssueCode.invalid_intersection_types:tt="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:tt=`Number must be a multiple of ${_e.multipleOf}`;break;case ZodIssueCode.not_finite:tt="Number must be finite";break;default:tt=et.defaultError,util$5.assertNever(_e)}return{message:tt}};let overrideErrorMap=errorMap;function setErrorMap(_e){overrideErrorMap=_e}function getErrorMap(){return overrideErrorMap}const makeIssue=_e=>{const{data:et,path:tt,errorMaps:rt,issueData:nt}=_e,it=[...tt,...nt.path||[]],at={...nt,path:it};let st="";const lt=rt.filter(dt=>!!dt).slice().reverse();for(const dt of lt)st=dt(at,{data:et,defaultError:st}).message;return{...nt,path:it,message:nt.message||st}},EMPTY_PATH=[];function addIssueToContext(_e,et){const tt=makeIssue({issueData:et,data:_e.data,path:_e.path,errorMaps:[_e.common.contextualErrorMap,_e.schemaErrorMap,getErrorMap(),errorMap].filter(rt=>!!rt)});_e.common.issues.push(tt)}class ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(et,tt){const rt=[];for(const nt of tt){if(nt.status==="aborted")return INVALID;nt.status==="dirty"&&et.dirty(),rt.push(nt.value)}return{status:et.value,value:rt}}static async mergeObjectAsync(et,tt){const rt=[];for(const nt of tt)rt.push({key:await nt.key,value:await nt.value});return ParseStatus.mergeObjectSync(et,rt)}static mergeObjectSync(et,tt){const rt={};for(const nt of tt){const{key:it,value:at}=nt;if(it.status==="aborted"||at.status==="aborted")return INVALID;it.status==="dirty"&&et.dirty(),at.status==="dirty"&&et.dirty(),it.value!=="__proto__"&&(typeof at.value<"u"||nt.alwaysSet)&&(rt[it.value]=at.value)}return{status:et.value,value:rt}}}const INVALID=Object.freeze({status:"aborted"}),DIRTY=_e=>({status:"dirty",value:_e}),OK=_e=>({status:"valid",value:_e}),isAborted=_e=>_e.status==="aborted",isDirty=_e=>_e.status==="dirty",isValid=_e=>_e.status==="valid",isAsync=_e=>typeof Promise<"u"&&_e instanceof Promise;var errorUtil;(function(_e){_e.errToObj=et=>typeof et=="string"?{message:et}:et||{},_e.toString=et=>typeof et=="string"?et:et?.message})(errorUtil||(errorUtil={}));class ParseInputLazyPath{constructor(et,tt,rt,nt){this._cachedPath=[],this.parent=et,this.data=tt,this._path=rt,this._key=nt}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const handleResult=(_e,et)=>{if(isValid(et))return{success:!0,data:et.value};if(!_e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const tt=new ZodError(_e.common.issues);return this._error=tt,this._error}}};function processCreateParams(_e){if(!_e)return{};const{errorMap:et,invalid_type_error:tt,required_error:rt,description:nt}=_e;if(et&&(tt||rt))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return et?{errorMap:et,description:nt}:{errorMap:(at,st)=>at.code!=="invalid_type"?{message:st.defaultError}:typeof st.data>"u"?{message:rt??st.defaultError}:{message:tt??st.defaultError},description:nt}}class ZodType{constructor(et){this.spa=this.safeParseAsync,this._def=et,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(et){return getParsedType(et.data)}_getOrReturnCtx(et,tt){return tt||{common:et.parent.common,data:et.data,parsedType:getParsedType(et.data),schemaErrorMap:this._def.errorMap,path:et.path,parent:et.parent}}_processInputParams(et){return{status:new ParseStatus,ctx:{common:et.parent.common,data:et.data,parsedType:getParsedType(et.data),schemaErrorMap:this._def.errorMap,path:et.path,parent:et.parent}}}_parseSync(et){const tt=this._parse(et);if(isAsync(tt))throw new Error("Synchronous parse encountered promise.");return tt}_parseAsync(et){const tt=this._parse(et);return Promise.resolve(tt)}parse(et,tt){const rt=this.safeParse(et,tt);if(rt.success)return rt.data;throw rt.error}safeParse(et,tt){var rt;const nt={common:{issues:[],async:(rt=tt?.async)!==null&&rt!==void 0?rt:!1,contextualErrorMap:tt?.errorMap},path:tt?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:et,parsedType:getParsedType(et)},it=this._parseSync({data:et,path:nt.path,parent:nt});return handleResult(nt,it)}async parseAsync(et,tt){const rt=await this.safeParseAsync(et,tt);if(rt.success)return rt.data;throw rt.error}async safeParseAsync(et,tt){const rt={common:{issues:[],contextualErrorMap:tt?.errorMap,async:!0},path:tt?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:et,parsedType:getParsedType(et)},nt=this._parse({data:et,path:rt.path,parent:rt}),it=await(isAsync(nt)?nt:Promise.resolve(nt));return handleResult(rt,it)}refine(et,tt){const rt=nt=>typeof tt=="string"||typeof tt>"u"?{message:tt}:typeof tt=="function"?tt(nt):tt;return this._refinement((nt,it)=>{const at=et(nt),st=()=>it.addIssue({code:ZodIssueCode.custom,...rt(nt)});return typeof Promise<"u"&&at instanceof Promise?at.then(lt=>lt?!0:(st(),!1)):at?!0:(st(),!1)})}refinement(et,tt){return this._refinement((rt,nt)=>et(rt)?!0:(nt.addIssue(typeof tt=="function"?tt(rt,nt):tt),!1))}_refinement(et){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement:et}})}superRefine(et){return this._refinement(et)}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this,this._def)}promise(){return ZodPromise.create(this,this._def)}or(et){return ZodUnion.create([this,et],this._def)}and(et){return ZodIntersection.create(this,et,this._def)}transform(et){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:et}})}default(et){const tt=typeof et=="function"?et:()=>et;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:tt,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(et){const tt=typeof et=="function"?et:()=>et;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:tt,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(et){const tt=this.constructor;return new tt({...this._def,description:et})}pipe(et){return ZodPipeline.create(this,et)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[a-z][a-z0-9]*$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/,uuidRegex=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let emojiRegex;const ipv4Regex=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,ipv6Regex=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,datetimeRegex=_e=>_e.precision?_e.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${_e.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${_e.precision}}Z$`):_e.precision===0?_e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):_e.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function isValidIP(_e,et){return!!((et==="v4"||!et)&&ipv4Regex.test(_e)||(et==="v6"||!et)&&ipv6Regex.test(_e))}class ZodString extends ZodType{_parse(et){if(this._def.coerce&&(et.data=String(et.data)),this._getType(et)!==ZodParsedType.string){const it=this._getOrReturnCtx(et);return addIssueToContext(it,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:it.parsedType}),INVALID}const rt=new ParseStatus;let nt;for(const it of this._def.checks)if(it.kind==="min")et.data.lengthit.value&&(nt=this._getOrReturnCtx(et,nt),addIssueToContext(nt,{code:ZodIssueCode.too_big,maximum:it.value,type:"string",inclusive:!0,exact:!1,message:it.message}),rt.dirty());else if(it.kind==="length"){const at=et.data.length>it.value,st=et.data.lengthet.test(nt),{validation:tt,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(rt)})}_addCheck(et){return new ZodString({...this._def,checks:[...this._def.checks,et]})}email(et){return this._addCheck({kind:"email",...errorUtil.errToObj(et)})}url(et){return this._addCheck({kind:"url",...errorUtil.errToObj(et)})}emoji(et){return this._addCheck({kind:"emoji",...errorUtil.errToObj(et)})}uuid(et){return this._addCheck({kind:"uuid",...errorUtil.errToObj(et)})}cuid(et){return this._addCheck({kind:"cuid",...errorUtil.errToObj(et)})}cuid2(et){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(et)})}ulid(et){return this._addCheck({kind:"ulid",...errorUtil.errToObj(et)})}ip(et){return this._addCheck({kind:"ip",...errorUtil.errToObj(et)})}datetime(et){var tt;return typeof et=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:et}):this._addCheck({kind:"datetime",precision:typeof et?.precision>"u"?null:et?.precision,offset:(tt=et?.offset)!==null&&tt!==void 0?tt:!1,...errorUtil.errToObj(et?.message)})}regex(et,tt){return this._addCheck({kind:"regex",regex:et,...errorUtil.errToObj(tt)})}includes(et,tt){return this._addCheck({kind:"includes",value:et,position:tt?.position,...errorUtil.errToObj(tt?.message)})}startsWith(et,tt){return this._addCheck({kind:"startsWith",value:et,...errorUtil.errToObj(tt)})}endsWith(et,tt){return this._addCheck({kind:"endsWith",value:et,...errorUtil.errToObj(tt)})}min(et,tt){return this._addCheck({kind:"min",value:et,...errorUtil.errToObj(tt)})}max(et,tt){return this._addCheck({kind:"max",value:et,...errorUtil.errToObj(tt)})}length(et,tt){return this._addCheck({kind:"length",value:et,...errorUtil.errToObj(tt)})}nonempty(et){return this.min(1,errorUtil.errToObj(et))}trim(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ZodString({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(et=>et.kind==="datetime")}get isEmail(){return!!this._def.checks.find(et=>et.kind==="email")}get isURL(){return!!this._def.checks.find(et=>et.kind==="url")}get isEmoji(){return!!this._def.checks.find(et=>et.kind==="emoji")}get isUUID(){return!!this._def.checks.find(et=>et.kind==="uuid")}get isCUID(){return!!this._def.checks.find(et=>et.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(et=>et.kind==="cuid2")}get isULID(){return!!this._def.checks.find(et=>et.kind==="ulid")}get isIP(){return!!this._def.checks.find(et=>et.kind==="ip")}get minLength(){let et=null;for(const tt of this._def.checks)tt.kind==="min"&&(et===null||tt.value>et)&&(et=tt.value);return et}get maxLength(){let et=null;for(const tt of this._def.checks)tt.kind==="max"&&(et===null||tt.value{var et;return new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:(et=_e?.coerce)!==null&&et!==void 0?et:!1,...processCreateParams(_e)})};function floatSafeRemainder(_e,et){const tt=(_e.toString().split(".")[1]||"").length,rt=(et.toString().split(".")[1]||"").length,nt=tt>rt?tt:rt,it=parseInt(_e.toFixed(nt).replace(".","")),at=parseInt(et.toFixed(nt).replace(".",""));return it%at/Math.pow(10,nt)}class ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(et){if(this._def.coerce&&(et.data=Number(et.data)),this._getType(et)!==ZodParsedType.number){const it=this._getOrReturnCtx(et);return addIssueToContext(it,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:it.parsedType}),INVALID}let rt;const nt=new ParseStatus;for(const it of this._def.checks)it.kind==="int"?util$5.isInteger(et.data)||(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:it.message}),nt.dirty()):it.kind==="min"?(it.inclusive?et.datait.value:et.data>=it.value)&&(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.too_big,maximum:it.value,type:"number",inclusive:it.inclusive,exact:!1,message:it.message}),nt.dirty()):it.kind==="multipleOf"?floatSafeRemainder(et.data,it.value)!==0&&(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.not_multiple_of,multipleOf:it.value,message:it.message}),nt.dirty()):it.kind==="finite"?Number.isFinite(et.data)||(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.not_finite,message:it.message}),nt.dirty()):util$5.assertNever(it);return{status:nt.value,value:et.data}}gte(et,tt){return this.setLimit("min",et,!0,errorUtil.toString(tt))}gt(et,tt){return this.setLimit("min",et,!1,errorUtil.toString(tt))}lte(et,tt){return this.setLimit("max",et,!0,errorUtil.toString(tt))}lt(et,tt){return this.setLimit("max",et,!1,errorUtil.toString(tt))}setLimit(et,tt,rt,nt){return new ZodNumber({...this._def,checks:[...this._def.checks,{kind:et,value:tt,inclusive:rt,message:errorUtil.toString(nt)}]})}_addCheck(et){return new ZodNumber({...this._def,checks:[...this._def.checks,et]})}int(et){return this._addCheck({kind:"int",message:errorUtil.toString(et)})}positive(et){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(et)})}negative(et){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(et)})}nonpositive(et){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(et)})}nonnegative(et){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(et)})}multipleOf(et,tt){return this._addCheck({kind:"multipleOf",value:et,message:errorUtil.toString(tt)})}finite(et){return this._addCheck({kind:"finite",message:errorUtil.toString(et)})}safe(et){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(et)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(et)})}get minValue(){let et=null;for(const tt of this._def.checks)tt.kind==="min"&&(et===null||tt.value>et)&&(et=tt.value);return et}get maxValue(){let et=null;for(const tt of this._def.checks)tt.kind==="max"&&(et===null||tt.valueet.kind==="int"||et.kind==="multipleOf"&&util$5.isInteger(et.value))}get isFinite(){let et=null,tt=null;for(const rt of this._def.checks){if(rt.kind==="finite"||rt.kind==="int"||rt.kind==="multipleOf")return!0;rt.kind==="min"?(tt===null||rt.value>tt)&&(tt=rt.value):rt.kind==="max"&&(et===null||rt.valuenew ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:_e?.coerce||!1,...processCreateParams(_e)});class ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(et){if(this._def.coerce&&(et.data=BigInt(et.data)),this._getType(et)!==ZodParsedType.bigint){const it=this._getOrReturnCtx(et);return addIssueToContext(it,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:it.parsedType}),INVALID}let rt;const nt=new ParseStatus;for(const it of this._def.checks)it.kind==="min"?(it.inclusive?et.datait.value:et.data>=it.value)&&(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.too_big,type:"bigint",maximum:it.value,inclusive:it.inclusive,message:it.message}),nt.dirty()):it.kind==="multipleOf"?et.data%it.value!==BigInt(0)&&(rt=this._getOrReturnCtx(et,rt),addIssueToContext(rt,{code:ZodIssueCode.not_multiple_of,multipleOf:it.value,message:it.message}),nt.dirty()):util$5.assertNever(it);return{status:nt.value,value:et.data}}gte(et,tt){return this.setLimit("min",et,!0,errorUtil.toString(tt))}gt(et,tt){return this.setLimit("min",et,!1,errorUtil.toString(tt))}lte(et,tt){return this.setLimit("max",et,!0,errorUtil.toString(tt))}lt(et,tt){return this.setLimit("max",et,!1,errorUtil.toString(tt))}setLimit(et,tt,rt,nt){return new ZodBigInt({...this._def,checks:[...this._def.checks,{kind:et,value:tt,inclusive:rt,message:errorUtil.toString(nt)}]})}_addCheck(et){return new ZodBigInt({...this._def,checks:[...this._def.checks,et]})}positive(et){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(et)})}negative(et){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(et)})}nonpositive(et){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(et)})}nonnegative(et){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(et)})}multipleOf(et,tt){return this._addCheck({kind:"multipleOf",value:et,message:errorUtil.toString(tt)})}get minValue(){let et=null;for(const tt of this._def.checks)tt.kind==="min"&&(et===null||tt.value>et)&&(et=tt.value);return et}get maxValue(){let et=null;for(const tt of this._def.checks)tt.kind==="max"&&(et===null||tt.value{var et;return new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:(et=_e?.coerce)!==null&&et!==void 0?et:!1,...processCreateParams(_e)})};class ZodBoolean extends ZodType{_parse(et){if(this._def.coerce&&(et.data=!!et.data),this._getType(et)!==ZodParsedType.boolean){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:rt.parsedType}),INVALID}return OK(et.data)}}ZodBoolean.create=_e=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:_e?.coerce||!1,...processCreateParams(_e)});class ZodDate extends ZodType{_parse(et){if(this._def.coerce&&(et.data=new Date(et.data)),this._getType(et)!==ZodParsedType.date){const it=this._getOrReturnCtx(et);return addIssueToContext(it,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:it.parsedType}),INVALID}if(isNaN(et.data.getTime())){const it=this._getOrReturnCtx(et);return addIssueToContext(it,{code:ZodIssueCode.invalid_date}),INVALID}const rt=new ParseStatus;let nt;for(const it of this._def.checks)it.kind==="min"?et.data.getTime()it.value&&(nt=this._getOrReturnCtx(et,nt),addIssueToContext(nt,{code:ZodIssueCode.too_big,message:it.message,inclusive:!0,exact:!1,maximum:it.value,type:"date"}),rt.dirty()):util$5.assertNever(it);return{status:rt.value,value:new Date(et.data.getTime())}}_addCheck(et){return new ZodDate({...this._def,checks:[...this._def.checks,et]})}min(et,tt){return this._addCheck({kind:"min",value:et.getTime(),message:errorUtil.toString(tt)})}max(et,tt){return this._addCheck({kind:"max",value:et.getTime(),message:errorUtil.toString(tt)})}get minDate(){let et=null;for(const tt of this._def.checks)tt.kind==="min"&&(et===null||tt.value>et)&&(et=tt.value);return et!=null?new Date(et):null}get maxDate(){let et=null;for(const tt of this._def.checks)tt.kind==="max"&&(et===null||tt.valuenew ZodDate({checks:[],coerce:_e?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(_e)});class ZodSymbol extends ZodType{_parse(et){if(this._getType(et)!==ZodParsedType.symbol){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:rt.parsedType}),INVALID}return OK(et.data)}}ZodSymbol.create=_e=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(_e)});class ZodUndefined extends ZodType{_parse(et){if(this._getType(et)!==ZodParsedType.undefined){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:rt.parsedType}),INVALID}return OK(et.data)}}ZodUndefined.create=_e=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(_e)});class ZodNull extends ZodType{_parse(et){if(this._getType(et)!==ZodParsedType.null){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:rt.parsedType}),INVALID}return OK(et.data)}}ZodNull.create=_e=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(_e)});class ZodAny extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(et){return OK(et.data)}}ZodAny.create=_e=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(_e)});class ZodUnknown extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(et){return OK(et.data)}}ZodUnknown.create=_e=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(_e)});class ZodNever extends ZodType{_parse(et){const tt=this._getOrReturnCtx(et);return addIssueToContext(tt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:tt.parsedType}),INVALID}}ZodNever.create=_e=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(_e)});class ZodVoid extends ZodType{_parse(et){if(this._getType(et)!==ZodParsedType.undefined){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:rt.parsedType}),INVALID}return OK(et.data)}}ZodVoid.create=_e=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(_e)});class ZodArray extends ZodType{_parse(et){const{ctx:tt,status:rt}=this._processInputParams(et),nt=this._def;if(tt.parsedType!==ZodParsedType.array)return addIssueToContext(tt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:tt.parsedType}),INVALID;if(nt.exactLength!==null){const at=tt.data.length>nt.exactLength.value,st=tt.data.lengthnt.maxLength.value&&(addIssueToContext(tt,{code:ZodIssueCode.too_big,maximum:nt.maxLength.value,type:"array",inclusive:!0,exact:!1,message:nt.maxLength.message}),rt.dirty()),tt.common.async)return Promise.all([...tt.data].map((at,st)=>nt.type._parseAsync(new ParseInputLazyPath(tt,at,tt.path,st)))).then(at=>ParseStatus.mergeArray(rt,at));const it=[...tt.data].map((at,st)=>nt.type._parseSync(new ParseInputLazyPath(tt,at,tt.path,st)));return ParseStatus.mergeArray(rt,it)}get element(){return this._def.type}min(et,tt){return new ZodArray({...this._def,minLength:{value:et,message:errorUtil.toString(tt)}})}max(et,tt){return new ZodArray({...this._def,maxLength:{value:et,message:errorUtil.toString(tt)}})}length(et,tt){return new ZodArray({...this._def,exactLength:{value:et,message:errorUtil.toString(tt)}})}nonempty(et){return this.min(1,et)}}ZodArray.create=(_e,et)=>new ZodArray({type:_e,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(et)});function deepPartialify(_e){if(_e instanceof ZodObject){const et={};for(const tt in _e.shape){const rt=_e.shape[tt];et[tt]=ZodOptional.create(deepPartialify(rt))}return new ZodObject({..._e._def,shape:()=>et})}else return _e instanceof ZodArray?new ZodArray({..._e._def,type:deepPartialify(_e.element)}):_e instanceof ZodOptional?ZodOptional.create(deepPartialify(_e.unwrap())):_e instanceof ZodNullable?ZodNullable.create(deepPartialify(_e.unwrap())):_e instanceof ZodTuple?ZodTuple.create(_e.items.map(et=>deepPartialify(et))):_e}class ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const et=this._def.shape(),tt=util$5.objectKeys(et);return this._cached={shape:et,keys:tt}}_parse(et){if(this._getType(et)!==ZodParsedType.object){const dt=this._getOrReturnCtx(et);return addIssueToContext(dt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:dt.parsedType}),INVALID}const{status:rt,ctx:nt}=this._processInputParams(et),{shape:it,keys:at}=this._getCached(),st=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(const dt in nt.data)at.includes(dt)||st.push(dt);const lt=[];for(const dt of at){const ht=it[dt],pt=nt.data[dt];lt.push({key:{status:"valid",value:dt},value:ht._parse(new ParseInputLazyPath(nt,pt,nt.path,dt)),alwaysSet:dt in nt.data})}if(this._def.catchall instanceof ZodNever){const dt=this._def.unknownKeys;if(dt==="passthrough")for(const ht of st)lt.push({key:{status:"valid",value:ht},value:{status:"valid",value:nt.data[ht]}});else if(dt==="strict")st.length>0&&(addIssueToContext(nt,{code:ZodIssueCode.unrecognized_keys,keys:st}),rt.dirty());else if(dt!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const dt=this._def.catchall;for(const ht of st){const pt=nt.data[ht];lt.push({key:{status:"valid",value:ht},value:dt._parse(new ParseInputLazyPath(nt,pt,nt.path,ht)),alwaysSet:ht in nt.data})}}return nt.common.async?Promise.resolve().then(async()=>{const dt=[];for(const ht of lt){const pt=await ht.key;dt.push({key:pt,value:await ht.value,alwaysSet:ht.alwaysSet})}return dt}).then(dt=>ParseStatus.mergeObjectSync(rt,dt)):ParseStatus.mergeObjectSync(rt,lt)}get shape(){return this._def.shape()}strict(et){return errorUtil.errToObj,new ZodObject({...this._def,unknownKeys:"strict",...et!==void 0?{errorMap:(tt,rt)=>{var nt,it,at,st;const lt=(at=(it=(nt=this._def).errorMap)===null||it===void 0?void 0:it.call(nt,tt,rt).message)!==null&&at!==void 0?at:rt.defaultError;return tt.code==="unrecognized_keys"?{message:(st=errorUtil.errToObj(et).message)!==null&&st!==void 0?st:lt}:{message:lt}}}:{}})}strip(){return new ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new ZodObject({...this._def,unknownKeys:"passthrough"})}extend(et){return new ZodObject({...this._def,shape:()=>({...this._def.shape(),...et})})}merge(et){return new ZodObject({unknownKeys:et._def.unknownKeys,catchall:et._def.catchall,shape:()=>({...this._def.shape(),...et._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(et,tt){return this.augment({[et]:tt})}catchall(et){return new ZodObject({...this._def,catchall:et})}pick(et){const tt={};return util$5.objectKeys(et).forEach(rt=>{et[rt]&&this.shape[rt]&&(tt[rt]=this.shape[rt])}),new ZodObject({...this._def,shape:()=>tt})}omit(et){const tt={};return util$5.objectKeys(this.shape).forEach(rt=>{et[rt]||(tt[rt]=this.shape[rt])}),new ZodObject({...this._def,shape:()=>tt})}deepPartial(){return deepPartialify(this)}partial(et){const tt={};return util$5.objectKeys(this.shape).forEach(rt=>{const nt=this.shape[rt];et&&!et[rt]?tt[rt]=nt:tt[rt]=nt.optional()}),new ZodObject({...this._def,shape:()=>tt})}required(et){const tt={};return util$5.objectKeys(this.shape).forEach(rt=>{if(et&&!et[rt])tt[rt]=this.shape[rt];else{let it=this.shape[rt];for(;it instanceof ZodOptional;)it=it._def.innerType;tt[rt]=it}}),new ZodObject({...this._def,shape:()=>tt})}keyof(){return createZodEnum(util$5.objectKeys(this.shape))}}ZodObject.create=(_e,et)=>new ZodObject({shape:()=>_e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(et)});ZodObject.strictCreate=(_e,et)=>new ZodObject({shape:()=>_e,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(et)});ZodObject.lazycreate=(_e,et)=>new ZodObject({shape:_e,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(et)});class ZodUnion extends ZodType{_parse(et){const{ctx:tt}=this._processInputParams(et),rt=this._def.options;function nt(it){for(const st of it)if(st.result.status==="valid")return st.result;for(const st of it)if(st.result.status==="dirty")return tt.common.issues.push(...st.ctx.common.issues),st.result;const at=it.map(st=>new ZodError(st.ctx.common.issues));return addIssueToContext(tt,{code:ZodIssueCode.invalid_union,unionErrors:at}),INVALID}if(tt.common.async)return Promise.all(rt.map(async it=>{const at={...tt,common:{...tt.common,issues:[]},parent:null};return{result:await it._parseAsync({data:tt.data,path:tt.path,parent:at}),ctx:at}})).then(nt);{let it;const at=[];for(const lt of rt){const dt={...tt,common:{...tt.common,issues:[]},parent:null},ht=lt._parseSync({data:tt.data,path:tt.path,parent:dt});if(ht.status==="valid")return ht;ht.status==="dirty"&&!it&&(it={result:ht,ctx:dt}),dt.common.issues.length&&at.push(dt.common.issues)}if(it)return tt.common.issues.push(...it.ctx.common.issues),it.result;const st=at.map(lt=>new ZodError(lt));return addIssueToContext(tt,{code:ZodIssueCode.invalid_union,unionErrors:st}),INVALID}}get options(){return this._def.options}}ZodUnion.create=(_e,et)=>new ZodUnion({options:_e,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(et)});const getDiscriminator=_e=>_e instanceof ZodLazy?getDiscriminator(_e.schema):_e instanceof ZodEffects?getDiscriminator(_e.innerType()):_e instanceof ZodLiteral?[_e.value]:_e instanceof ZodEnum?_e.options:_e instanceof ZodNativeEnum?Object.keys(_e.enum):_e instanceof ZodDefault?getDiscriminator(_e._def.innerType):_e instanceof ZodUndefined?[void 0]:_e instanceof ZodNull?[null]:null;class ZodDiscriminatedUnion extends ZodType{_parse(et){const{ctx:tt}=this._processInputParams(et);if(tt.parsedType!==ZodParsedType.object)return addIssueToContext(tt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:tt.parsedType}),INVALID;const rt=this.discriminator,nt=tt.data[rt],it=this.optionsMap.get(nt);return it?tt.common.async?it._parseAsync({data:tt.data,path:tt.path,parent:tt}):it._parseSync({data:tt.data,path:tt.path,parent:tt}):(addIssueToContext(tt,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[rt]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(et,tt,rt){const nt=new Map;for(const it of tt){const at=getDiscriminator(it.shape[et]);if(!at)throw new Error(`A discriminator value for key \`${et}\` could not be extracted from all schema options`);for(const st of at){if(nt.has(st))throw new Error(`Discriminator property ${String(et)} has duplicate value ${String(st)}`);nt.set(st,it)}}return new ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator:et,options:tt,optionsMap:nt,...processCreateParams(rt)})}}function mergeValues(_e,et){const tt=getParsedType(_e),rt=getParsedType(et);if(_e===et)return{valid:!0,data:_e};if(tt===ZodParsedType.object&&rt===ZodParsedType.object){const nt=util$5.objectKeys(et),it=util$5.objectKeys(_e).filter(st=>nt.indexOf(st)!==-1),at={..._e,...et};for(const st of it){const lt=mergeValues(_e[st],et[st]);if(!lt.valid)return{valid:!1};at[st]=lt.data}return{valid:!0,data:at}}else if(tt===ZodParsedType.array&&rt===ZodParsedType.array){if(_e.length!==et.length)return{valid:!1};const nt=[];for(let it=0;it<_e.length;it++){const at=_e[it],st=et[it],lt=mergeValues(at,st);if(!lt.valid)return{valid:!1};nt.push(lt.data)}return{valid:!0,data:nt}}else return tt===ZodParsedType.date&&rt===ZodParsedType.date&&+_e==+et?{valid:!0,data:_e}:{valid:!1}}class ZodIntersection extends ZodType{_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et),nt=(it,at)=>{if(isAborted(it)||isAborted(at))return INVALID;const st=mergeValues(it.value,at.value);return st.valid?((isDirty(it)||isDirty(at))&&tt.dirty(),{status:tt.value,value:st.data}):(addIssueToContext(rt,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return rt.common.async?Promise.all([this._def.left._parseAsync({data:rt.data,path:rt.path,parent:rt}),this._def.right._parseAsync({data:rt.data,path:rt.path,parent:rt})]).then(([it,at])=>nt(it,at)):nt(this._def.left._parseSync({data:rt.data,path:rt.path,parent:rt}),this._def.right._parseSync({data:rt.data,path:rt.path,parent:rt}))}}ZodIntersection.create=(_e,et,tt)=>new ZodIntersection({left:_e,right:et,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(tt)});class ZodTuple extends ZodType{_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et);if(rt.parsedType!==ZodParsedType.array)return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:rt.parsedType}),INVALID;if(rt.data.lengththis._def.items.length&&(addIssueToContext(rt,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),tt.dirty());const it=[...rt.data].map((at,st)=>{const lt=this._def.items[st]||this._def.rest;return lt?lt._parse(new ParseInputLazyPath(rt,at,rt.path,st)):null}).filter(at=>!!at);return rt.common.async?Promise.all(it).then(at=>ParseStatus.mergeArray(tt,at)):ParseStatus.mergeArray(tt,it)}get items(){return this._def.items}rest(et){return new ZodTuple({...this._def,rest:et})}}ZodTuple.create=(_e,et)=>{if(!Array.isArray(_e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:_e,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(et)})};class ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et);if(rt.parsedType!==ZodParsedType.object)return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:rt.parsedType}),INVALID;const nt=[],it=this._def.keyType,at=this._def.valueType;for(const st in rt.data)nt.push({key:it._parse(new ParseInputLazyPath(rt,st,rt.path,st)),value:at._parse(new ParseInputLazyPath(rt,rt.data[st],rt.path,st))});return rt.common.async?ParseStatus.mergeObjectAsync(tt,nt):ParseStatus.mergeObjectSync(tt,nt)}get element(){return this._def.valueType}static create(et,tt,rt){return tt instanceof ZodType?new ZodRecord({keyType:et,valueType:tt,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(rt)}):new ZodRecord({keyType:ZodString.create(),valueType:et,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(tt)})}}class ZodMap extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et);if(rt.parsedType!==ZodParsedType.map)return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:rt.parsedType}),INVALID;const nt=this._def.keyType,it=this._def.valueType,at=[...rt.data.entries()].map(([st,lt],dt)=>({key:nt._parse(new ParseInputLazyPath(rt,st,rt.path,[dt,"key"])),value:it._parse(new ParseInputLazyPath(rt,lt,rt.path,[dt,"value"]))}));if(rt.common.async){const st=new Map;return Promise.resolve().then(async()=>{for(const lt of at){const dt=await lt.key,ht=await lt.value;if(dt.status==="aborted"||ht.status==="aborted")return INVALID;(dt.status==="dirty"||ht.status==="dirty")&&tt.dirty(),st.set(dt.value,ht.value)}return{status:tt.value,value:st}})}else{const st=new Map;for(const lt of at){const dt=lt.key,ht=lt.value;if(dt.status==="aborted"||ht.status==="aborted")return INVALID;(dt.status==="dirty"||ht.status==="dirty")&&tt.dirty(),st.set(dt.value,ht.value)}return{status:tt.value,value:st}}}}ZodMap.create=(_e,et,tt)=>new ZodMap({valueType:et,keyType:_e,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(tt)});class ZodSet extends ZodType{_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et);if(rt.parsedType!==ZodParsedType.set)return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:rt.parsedType}),INVALID;const nt=this._def;nt.minSize!==null&&rt.data.sizent.maxSize.value&&(addIssueToContext(rt,{code:ZodIssueCode.too_big,maximum:nt.maxSize.value,type:"set",inclusive:!0,exact:!1,message:nt.maxSize.message}),tt.dirty());const it=this._def.valueType;function at(lt){const dt=new Set;for(const ht of lt){if(ht.status==="aborted")return INVALID;ht.status==="dirty"&&tt.dirty(),dt.add(ht.value)}return{status:tt.value,value:dt}}const st=[...rt.data.values()].map((lt,dt)=>it._parse(new ParseInputLazyPath(rt,lt,rt.path,dt)));return rt.common.async?Promise.all(st).then(lt=>at(lt)):at(st)}min(et,tt){return new ZodSet({...this._def,minSize:{value:et,message:errorUtil.toString(tt)}})}max(et,tt){return new ZodSet({...this._def,maxSize:{value:et,message:errorUtil.toString(tt)}})}size(et,tt){return this.min(et,tt).max(et,tt)}nonempty(et){return this.min(1,et)}}ZodSet.create=(_e,et)=>new ZodSet({valueType:_e,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(et)});class ZodFunction extends ZodType{constructor(){super(...arguments),this.validate=this.implement}_parse(et){const{ctx:tt}=this._processInputParams(et);if(tt.parsedType!==ZodParsedType.function)return addIssueToContext(tt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.function,received:tt.parsedType}),INVALID;function rt(st,lt){return makeIssue({data:st,path:tt.path,errorMaps:[tt.common.contextualErrorMap,tt.schemaErrorMap,getErrorMap(),errorMap].filter(dt=>!!dt),issueData:{code:ZodIssueCode.invalid_arguments,argumentsError:lt}})}function nt(st,lt){return makeIssue({data:st,path:tt.path,errorMaps:[tt.common.contextualErrorMap,tt.schemaErrorMap,getErrorMap(),errorMap].filter(dt=>!!dt),issueData:{code:ZodIssueCode.invalid_return_type,returnTypeError:lt}})}const it={errorMap:tt.common.contextualErrorMap},at=tt.data;if(this._def.returns instanceof ZodPromise){const st=this;return OK(async function(...lt){const dt=new ZodError([]),ht=await st._def.args.parseAsync(lt,it).catch(gt=>{throw dt.addIssue(rt(lt,gt)),dt}),pt=await Reflect.apply(at,this,ht);return await st._def.returns._def.type.parseAsync(pt,it).catch(gt=>{throw dt.addIssue(nt(pt,gt)),dt})})}else{const st=this;return OK(function(...lt){const dt=st._def.args.safeParse(lt,it);if(!dt.success)throw new ZodError([rt(lt,dt.error)]);const ht=Reflect.apply(at,this,dt.data),pt=st._def.returns.safeParse(ht,it);if(!pt.success)throw new ZodError([nt(ht,pt.error)]);return pt.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...et){return new ZodFunction({...this._def,args:ZodTuple.create(et).rest(ZodUnknown.create())})}returns(et){return new ZodFunction({...this._def,returns:et})}implement(et){return this.parse(et)}strictImplement(et){return this.parse(et)}static create(et,tt,rt){return new ZodFunction({args:et||ZodTuple.create([]).rest(ZodUnknown.create()),returns:tt||ZodUnknown.create(),typeName:ZodFirstPartyTypeKind.ZodFunction,...processCreateParams(rt)})}}class ZodLazy extends ZodType{get schema(){return this._def.getter()}_parse(et){const{ctx:tt}=this._processInputParams(et);return this._def.getter()._parse({data:tt.data,path:tt.path,parent:tt})}}ZodLazy.create=(_e,et)=>new ZodLazy({getter:_e,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(et)});class ZodLiteral extends ZodType{_parse(et){if(et.data!==this._def.value){const tt=this._getOrReturnCtx(et);return addIssueToContext(tt,{received:tt.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:et.data}}get value(){return this._def.value}}ZodLiteral.create=(_e,et)=>new ZodLiteral({value:_e,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(et)});function createZodEnum(_e,et){return new ZodEnum({values:_e,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(et)})}class ZodEnum extends ZodType{_parse(et){if(typeof et.data!="string"){const tt=this._getOrReturnCtx(et),rt=this._def.values;return addIssueToContext(tt,{expected:util$5.joinValues(rt),received:tt.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._def.values.indexOf(et.data)===-1){const tt=this._getOrReturnCtx(et),rt=this._def.values;return addIssueToContext(tt,{received:tt.data,code:ZodIssueCode.invalid_enum_value,options:rt}),INVALID}return OK(et.data)}get options(){return this._def.values}get enum(){const et={};for(const tt of this._def.values)et[tt]=tt;return et}get Values(){const et={};for(const tt of this._def.values)et[tt]=tt;return et}get Enum(){const et={};for(const tt of this._def.values)et[tt]=tt;return et}extract(et){return ZodEnum.create(et)}exclude(et){return ZodEnum.create(this.options.filter(tt=>!et.includes(tt)))}}ZodEnum.create=createZodEnum;class ZodNativeEnum extends ZodType{_parse(et){const tt=util$5.getValidEnumValues(this._def.values),rt=this._getOrReturnCtx(et);if(rt.parsedType!==ZodParsedType.string&&rt.parsedType!==ZodParsedType.number){const nt=util$5.objectValues(tt);return addIssueToContext(rt,{expected:util$5.joinValues(nt),received:rt.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(tt.indexOf(et.data)===-1){const nt=util$5.objectValues(tt);return addIssueToContext(rt,{received:rt.data,code:ZodIssueCode.invalid_enum_value,options:nt}),INVALID}return OK(et.data)}get enum(){return this._def.values}}ZodNativeEnum.create=(_e,et)=>new ZodNativeEnum({values:_e,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(et)});class ZodPromise extends ZodType{unwrap(){return this._def.type}_parse(et){const{ctx:tt}=this._processInputParams(et);if(tt.parsedType!==ZodParsedType.promise&&tt.common.async===!1)return addIssueToContext(tt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:tt.parsedType}),INVALID;const rt=tt.parsedType===ZodParsedType.promise?tt.data:Promise.resolve(tt.data);return OK(rt.then(nt=>this._def.type.parseAsync(nt,{path:tt.path,errorMap:tt.common.contextualErrorMap})))}}ZodPromise.create=(_e,et)=>new ZodPromise({type:_e,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(et)});class ZodEffects extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et),nt=this._def.effect||null,it={addIssue:at=>{addIssueToContext(rt,at),at.fatal?tt.abort():tt.dirty()},get path(){return rt.path}};if(it.addIssue=it.addIssue.bind(it),nt.type==="preprocess"){const at=nt.transform(rt.data,it);return rt.common.issues.length?{status:"dirty",value:rt.data}:rt.common.async?Promise.resolve(at).then(st=>this._def.schema._parseAsync({data:st,path:rt.path,parent:rt})):this._def.schema._parseSync({data:at,path:rt.path,parent:rt})}if(nt.type==="refinement"){const at=st=>{const lt=nt.refinement(st,it);if(rt.common.async)return Promise.resolve(lt);if(lt instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return st};if(rt.common.async===!1){const st=this._def.schema._parseSync({data:rt.data,path:rt.path,parent:rt});return st.status==="aborted"?INVALID:(st.status==="dirty"&&tt.dirty(),at(st.value),{status:tt.value,value:st.value})}else return this._def.schema._parseAsync({data:rt.data,path:rt.path,parent:rt}).then(st=>st.status==="aborted"?INVALID:(st.status==="dirty"&&tt.dirty(),at(st.value).then(()=>({status:tt.value,value:st.value}))))}if(nt.type==="transform")if(rt.common.async===!1){const at=this._def.schema._parseSync({data:rt.data,path:rt.path,parent:rt});if(!isValid(at))return at;const st=nt.transform(at.value,it);if(st instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:tt.value,value:st}}else return this._def.schema._parseAsync({data:rt.data,path:rt.path,parent:rt}).then(at=>isValid(at)?Promise.resolve(nt.transform(at.value,it)).then(st=>({status:tt.value,value:st})):at);util$5.assertNever(nt)}}ZodEffects.create=(_e,et,tt)=>new ZodEffects({schema:_e,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:et,...processCreateParams(tt)});ZodEffects.createWithPreprocess=(_e,et,tt)=>new ZodEffects({schema:et,effect:{type:"preprocess",transform:_e},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(tt)});class ZodOptional extends ZodType{_parse(et){return this._getType(et)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(et)}unwrap(){return this._def.innerType}}ZodOptional.create=(_e,et)=>new ZodOptional({innerType:_e,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(et)});class ZodNullable extends ZodType{_parse(et){return this._getType(et)===ZodParsedType.null?OK(null):this._def.innerType._parse(et)}unwrap(){return this._def.innerType}}ZodNullable.create=(_e,et)=>new ZodNullable({innerType:_e,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(et)});class ZodDefault extends ZodType{_parse(et){const{ctx:tt}=this._processInputParams(et);let rt=tt.data;return tt.parsedType===ZodParsedType.undefined&&(rt=this._def.defaultValue()),this._def.innerType._parse({data:rt,path:tt.path,parent:tt})}removeDefault(){return this._def.innerType}}ZodDefault.create=(_e,et)=>new ZodDefault({innerType:_e,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof et.default=="function"?et.default:()=>et.default,...processCreateParams(et)});class ZodCatch extends ZodType{_parse(et){const{ctx:tt}=this._processInputParams(et),rt={...tt,common:{...tt.common,issues:[]}},nt=this._def.innerType._parse({data:rt.data,path:rt.path,parent:{...rt}});return isAsync(nt)?nt.then(it=>({status:"valid",value:it.status==="valid"?it.value:this._def.catchValue({get error(){return new ZodError(rt.common.issues)},input:rt.data})})):{status:"valid",value:nt.status==="valid"?nt.value:this._def.catchValue({get error(){return new ZodError(rt.common.issues)},input:rt.data})}}removeCatch(){return this._def.innerType}}ZodCatch.create=(_e,et)=>new ZodCatch({innerType:_e,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof et.catch=="function"?et.catch:()=>et.catch,...processCreateParams(et)});class ZodNaN extends ZodType{_parse(et){if(this._getType(et)!==ZodParsedType.nan){const rt=this._getOrReturnCtx(et);return addIssueToContext(rt,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:rt.parsedType}),INVALID}return{status:"valid",value:et.data}}}ZodNaN.create=_e=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(_e)});const BRAND=Symbol("zod_brand");class ZodBranded extends ZodType{_parse(et){const{ctx:tt}=this._processInputParams(et),rt=tt.data;return this._def.type._parse({data:rt,path:tt.path,parent:tt})}unwrap(){return this._def.type}}class ZodPipeline extends ZodType{_parse(et){const{status:tt,ctx:rt}=this._processInputParams(et);if(rt.common.async)return(async()=>{const it=await this._def.in._parseAsync({data:rt.data,path:rt.path,parent:rt});return it.status==="aborted"?INVALID:it.status==="dirty"?(tt.dirty(),DIRTY(it.value)):this._def.out._parseAsync({data:it.value,path:rt.path,parent:rt})})();{const nt=this._def.in._parseSync({data:rt.data,path:rt.path,parent:rt});return nt.status==="aborted"?INVALID:nt.status==="dirty"?(tt.dirty(),{status:"dirty",value:nt.value}):this._def.out._parseSync({data:nt.value,path:rt.path,parent:rt})}}static create(et,tt){return new ZodPipeline({in:et,out:tt,typeName:ZodFirstPartyTypeKind.ZodPipeline})}}class ZodReadonly extends ZodType{_parse(et){const tt=this._def.innerType._parse(et);return isValid(tt)&&(tt.value=Object.freeze(tt.value)),tt}}ZodReadonly.create=(_e,et)=>new ZodReadonly({innerType:_e,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(et)});const custom=(_e,et={},tt)=>_e?ZodAny.create().superRefine((rt,nt)=>{var it,at;if(!_e(rt)){const st=typeof et=="function"?et(rt):typeof et=="string"?{message:et}:et,lt=(at=(it=st.fatal)!==null&&it!==void 0?it:tt)!==null&&at!==void 0?at:!0,dt=typeof st=="string"?{message:st}:st;nt.addIssue({code:"custom",...dt,fatal:lt})}}):ZodAny.create(),late={object:ZodObject.lazycreate};var ZodFirstPartyTypeKind;(function(_e){_e.ZodString="ZodString",_e.ZodNumber="ZodNumber",_e.ZodNaN="ZodNaN",_e.ZodBigInt="ZodBigInt",_e.ZodBoolean="ZodBoolean",_e.ZodDate="ZodDate",_e.ZodSymbol="ZodSymbol",_e.ZodUndefined="ZodUndefined",_e.ZodNull="ZodNull",_e.ZodAny="ZodAny",_e.ZodUnknown="ZodUnknown",_e.ZodNever="ZodNever",_e.ZodVoid="ZodVoid",_e.ZodArray="ZodArray",_e.ZodObject="ZodObject",_e.ZodUnion="ZodUnion",_e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",_e.ZodIntersection="ZodIntersection",_e.ZodTuple="ZodTuple",_e.ZodRecord="ZodRecord",_e.ZodMap="ZodMap",_e.ZodSet="ZodSet",_e.ZodFunction="ZodFunction",_e.ZodLazy="ZodLazy",_e.ZodLiteral="ZodLiteral",_e.ZodEnum="ZodEnum",_e.ZodEffects="ZodEffects",_e.ZodNativeEnum="ZodNativeEnum",_e.ZodOptional="ZodOptional",_e.ZodNullable="ZodNullable",_e.ZodDefault="ZodDefault",_e.ZodCatch="ZodCatch",_e.ZodPromise="ZodPromise",_e.ZodBranded="ZodBranded",_e.ZodPipeline="ZodPipeline",_e.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));const instanceOfType=(_e,et={message:`Input not instance of ${_e.name}`})=>custom(tt=>tt instanceof _e,et),stringType=ZodString.create,numberType=ZodNumber.create,nanType=ZodNaN.create,bigIntType=ZodBigInt.create,booleanType=ZodBoolean.create,dateType=ZodDate.create,symbolType=ZodSymbol.create,undefinedType=ZodUndefined.create,nullType=ZodNull.create,anyType=ZodAny.create,unknownType=ZodUnknown.create,neverType=ZodNever.create,voidType=ZodVoid.create,arrayType=ZodArray.create,objectType=ZodObject.create,strictObjectType=ZodObject.strictCreate,unionType=ZodUnion.create,discriminatedUnionType=ZodDiscriminatedUnion.create,intersectionType=ZodIntersection.create,tupleType=ZodTuple.create,recordType=ZodRecord.create,mapType=ZodMap.create,setType=ZodSet.create,functionType=ZodFunction.create,lazyType=ZodLazy.create,literalType=ZodLiteral.create,enumType=ZodEnum.create,nativeEnumType=ZodNativeEnum.create,promiseType=ZodPromise.create,effectsType=ZodEffects.create,optionalType=ZodOptional.create,nullableType=ZodNullable.create,preprocessType=ZodEffects.createWithPreprocess,pipelineType=ZodPipeline.create,ostring=()=>stringType().optional(),onumber=()=>numberType().optional(),oboolean=()=>booleanType().optional(),coerce={string:_e=>ZodString.create({..._e,coerce:!0}),number:_e=>ZodNumber.create({..._e,coerce:!0}),boolean:_e=>ZodBoolean.create({..._e,coerce:!0}),bigint:_e=>ZodBigInt.create({..._e,coerce:!0}),date:_e=>ZodDate.create({..._e,coerce:!0})},NEVER=INVALID;var z$4=Object.freeze({__proto__:null,defaultErrorMap:errorMap,setErrorMap,getErrorMap,makeIssue,EMPTY_PATH,addIssueToContext,ParseStatus,INVALID,DIRTY,OK,isAborted,isDirty,isValid,isAsync,get util(){return util$5},get objectUtil(){return objectUtil},ZodParsedType,getParsedType,ZodType,ZodString,ZodNumber,ZodBigInt,ZodBoolean,ZodDate,ZodSymbol,ZodUndefined,ZodNull,ZodAny,ZodUnknown,ZodNever,ZodVoid,ZodArray,ZodObject,ZodUnion,ZodDiscriminatedUnion,ZodIntersection,ZodTuple,ZodRecord,ZodMap,ZodSet,ZodFunction,ZodLazy,ZodLiteral,ZodEnum,ZodNativeEnum,ZodPromise,ZodEffects,ZodTransformer:ZodEffects,ZodOptional,ZodNullable,ZodDefault,ZodCatch,ZodNaN,BRAND,ZodBranded,ZodPipeline,ZodReadonly,custom,Schema:ZodType,ZodSchema:ZodType,late,get ZodFirstPartyTypeKind(){return ZodFirstPartyTypeKind},coerce,any:anyType,array:arrayType,bigint:bigIntType,boolean:booleanType,date:dateType,discriminatedUnion:discriminatedUnionType,effect:effectsType,enum:enumType,function:functionType,instanceof:instanceOfType,intersection:intersectionType,lazy:lazyType,literal:literalType,map:mapType,nan:nanType,nativeEnum:nativeEnumType,never:neverType,null:nullType,nullable:nullableType,number:numberType,object:objectType,oboolean,onumber,optional:optionalType,ostring,pipeline:pipelineType,preprocess:preprocessType,promise:promiseType,record:recordType,set:setType,strictObject:strictObjectType,string:stringType,symbol:symbolType,transformer:effectsType,tuple:tupleType,undefined:undefinedType,union:unionType,unknown:unknownType,void:voidType,NEVER,ZodIssueCode,quotelessJson,ZodError});const ANSI_BACKGROUND_OFFSET=10,wrapAnsi16=(_e=0)=>et=>`\x1B[${et+_e}m`,wrapAnsi256=(_e=0)=>et=>`\x1B[${38+_e};5;${et}m`,wrapAnsi16m=(_e=0)=>(et,tt,rt)=>`\x1B[${38+_e};2;${et};${tt};${rt}m`,styles$h={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(styles$h.modifier);const foregroundColorNames=Object.keys(styles$h.color),backgroundColorNames=Object.keys(styles$h.bgColor);[...foregroundColorNames,...backgroundColorNames];function assembleStyles(){const _e=new Map;for(const[et,tt]of Object.entries(styles$h)){for(const[rt,nt]of Object.entries(tt))styles$h[rt]={open:`\x1B[${nt[0]}m`,close:`\x1B[${nt[1]}m`},tt[rt]=styles$h[rt],_e.set(nt[0],nt[1]);Object.defineProperty(styles$h,et,{value:tt,enumerable:!1})}return Object.defineProperty(styles$h,"codes",{value:_e,enumerable:!1}),styles$h.color.close="\x1B[39m",styles$h.bgColor.close="\x1B[49m",styles$h.color.ansi=wrapAnsi16(),styles$h.color.ansi256=wrapAnsi256(),styles$h.color.ansi16m=wrapAnsi16m(),styles$h.bgColor.ansi=wrapAnsi16(ANSI_BACKGROUND_OFFSET),styles$h.bgColor.ansi256=wrapAnsi256(ANSI_BACKGROUND_OFFSET),styles$h.bgColor.ansi16m=wrapAnsi16m(ANSI_BACKGROUND_OFFSET),Object.defineProperties(styles$h,{rgbToAnsi256:{value(et,tt,rt){return et===tt&&tt===rt?et<8?16:et>248?231:Math.round((et-8)/247*24)+232:16+36*Math.round(et/255*5)+6*Math.round(tt/255*5)+Math.round(rt/255*5)},enumerable:!1},hexToRgb:{value(et){const tt=/[a-f\d]{6}|[a-f\d]{3}/i.exec(et.toString(16));if(!tt)return[0,0,0];let[rt]=tt;rt.length===3&&(rt=[...rt].map(it=>it+it).join(""));const nt=Number.parseInt(rt,16);return[nt>>16&255,nt>>8&255,nt&255]},enumerable:!1},hexToAnsi256:{value:et=>styles$h.rgbToAnsi256(...styles$h.hexToRgb(et)),enumerable:!1},ansi256ToAnsi:{value(et){if(et<8)return 30+et;if(et<16)return 90+(et-8);let tt,rt,nt;if(et>=232)tt=((et-232)*10+8)/255,rt=tt,nt=tt;else{et-=16;const st=et%36;tt=Math.floor(et/36)/5,rt=Math.floor(st/6)/5,nt=st%6/5}const it=Math.max(tt,rt,nt)*2;if(it===0)return 30;let at=30+(Math.round(nt)<<2|Math.round(rt)<<1|Math.round(tt));return it===2&&(at+=60),at},enumerable:!1},rgbToAnsi:{value:(et,tt,rt)=>styles$h.ansi256ToAnsi(styles$h.rgbToAnsi256(et,tt,rt)),enumerable:!1},hexToAnsi:{value:et=>styles$h.ansi256ToAnsi(styles$h.hexToAnsi256(et)),enumerable:!1}}),styles$h}const ansiStyles=assembleStyles(),ansiStyles$1=ansiStyles,level=(()=>{if(navigator.userAgentData){const _e=navigator.userAgentData.brands.find(({brand:et})=>et==="Chromium");if(_e&&_e.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),colorSupport=level!==0&&{level,hasBasic:!0,has256:level>=2,has16m:level>=3},supportsColor={stdout:colorSupport,stderr:colorSupport},supportsColor$1=supportsColor;function stringReplaceAll(_e,et,tt){let rt=_e.indexOf(et);if(rt===-1)return _e;const nt=et.length;let it=0,at="";do at+=_e.slice(it,rt)+et+tt,it=rt+nt,rt=_e.indexOf(et,it);while(rt!==-1);return at+=_e.slice(it),at}function stringEncaseCRLFWithFirstIndex(_e,et,tt,rt){let nt=0,it="";do{const at=_e[rt-1]==="\r";it+=_e.slice(nt,at?rt-1:rt)+et+(at?`\r +`:` +`)+tt,nt=rt+1,rt=_e.indexOf(` +`,nt)}while(rt!==-1);return it+=_e.slice(nt),it}const{stdout:stdoutColor,stderr:stderrColor}=supportsColor$1,GENERATOR=Symbol("GENERATOR"),STYLER=Symbol("STYLER"),IS_EMPTY=Symbol("IS_EMPTY"),levelMapping=["ansi","ansi","ansi256","ansi16m"],styles$g=Object.create(null),applyOptions=(_e,et={})=>{if(et.level&&!(Number.isInteger(et.level)&&et.level>=0&&et.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const tt=stdoutColor?stdoutColor.level:0;_e.level=et.level===void 0?tt:et.level},chalkFactory=_e=>{const et=(...tt)=>tt.join(" ");return applyOptions(et,_e),Object.setPrototypeOf(et,createChalk.prototype),et};function createChalk(_e){return chalkFactory(_e)}Object.setPrototypeOf(createChalk.prototype,Function.prototype);for(const[_e,et]of Object.entries(ansiStyles$1))styles$g[_e]={get(){const tt=createBuilder(this,createStyler(et.open,et.close,this[STYLER]),this[IS_EMPTY]);return Object.defineProperty(this,_e,{value:tt}),tt}};styles$g.visible={get(){const _e=createBuilder(this,this[STYLER],!0);return Object.defineProperty(this,"visible",{value:_e}),_e}};const getModelAnsi=(_e,et,tt,...rt)=>_e==="rgb"?et==="ansi16m"?ansiStyles$1[tt].ansi16m(...rt):et==="ansi256"?ansiStyles$1[tt].ansi256(ansiStyles$1.rgbToAnsi256(...rt)):ansiStyles$1[tt].ansi(ansiStyles$1.rgbToAnsi(...rt)):_e==="hex"?getModelAnsi("rgb",et,tt,...ansiStyles$1.hexToRgb(...rt)):ansiStyles$1[tt][_e](...rt),usedModels=["rgb","hex","ansi256"];for(const _e of usedModels){styles$g[_e]={get(){const{level:tt}=this;return function(...rt){const nt=createStyler(getModelAnsi(_e,levelMapping[tt],"color",...rt),ansiStyles$1.color.close,this[STYLER]);return createBuilder(this,nt,this[IS_EMPTY])}}};const et="bg"+_e[0].toUpperCase()+_e.slice(1);styles$g[et]={get(){const{level:tt}=this;return function(...rt){const nt=createStyler(getModelAnsi(_e,levelMapping[tt],"bgColor",...rt),ansiStyles$1.bgColor.close,this[STYLER]);return createBuilder(this,nt,this[IS_EMPTY])}}}}const proto=Object.defineProperties(()=>{},{...styles$g,level:{enumerable:!0,get(){return this[GENERATOR].level},set(_e){this[GENERATOR].level=_e}}}),createStyler=(_e,et,tt)=>{let rt,nt;return tt===void 0?(rt=_e,nt=et):(rt=tt.openAll+_e,nt=et+tt.closeAll),{open:_e,close:et,openAll:rt,closeAll:nt,parent:tt}},createBuilder=(_e,et,tt)=>{const rt=(...nt)=>applyStyle(rt,nt.length===1?""+nt[0]:nt.join(" "));return Object.setPrototypeOf(rt,proto),rt[GENERATOR]=_e,rt[STYLER]=et,rt[IS_EMPTY]=tt,rt},applyStyle=(_e,et)=>{if(_e.level<=0||!et)return _e[IS_EMPTY]?"":et;let tt=_e[STYLER];if(tt===void 0)return et;const{openAll:rt,closeAll:nt}=tt;if(et.includes("\x1B"))for(;tt!==void 0;)et=stringReplaceAll(et,tt.close,tt.open),tt=tt.parent;const it=et.indexOf(` +`);return it!==-1&&(et=stringEncaseCRLFWithFirstIndex(et,nt,rt,it)),rt+et+nt};Object.defineProperties(createChalk.prototype,styles$g);const chalk=createChalk();createChalk({level:stderrColor?stderrColor.level:0});const d$4=chalk,identifierRegex=/[$_\p{ID_Start}][$\u200c\u200d\p{ID_Continue}]*/u;function joinPath(_e){return _e.length===1?_e[0].toString():_e.reduce((et,tt)=>{if(typeof tt=="number")return et+"["+tt.toString()+"]";if(tt.includes('"'))return et+'["'+escapeQuotes(tt)+'"]';if(!identifierRegex.test(tt))return et+'["'+tt+'"]';const rt=et.length===0?"":".";return et+rt+tt},"")}function escapeQuotes(_e){return _e.replace(/"/g,'\\"')}function isNonEmptyArray(_e){return _e.length!==0}const MAX_ISSUES_IN_MESSAGE=99,ISSUE_SEPARATOR="; ",UNION_SEPARATOR=", or ",PREFIX="Validation error",PREFIX_SEPARATOR=": ";class ValidationError extends Error{details;name;constructor(et,tt=[]){super(et),this.details=tt,this.name="ZodValidationError"}toString(){return this.message}}function getMessageFromZodIssue(_e,et,tt){if(_e.code==="invalid_union")return _e.unionErrors.reduce((rt,nt)=>{const it=nt.issues.map(at=>getMessageFromZodIssue(at,et,tt)).join(et);return rt.includes(it)||rt.push(it),rt},[]).join(tt);if(isNonEmptyArray(_e.path)){if(_e.path.length===1){const rt=_e.path[0];if(typeof rt=="number")return`${_e.message} at index ${rt}`}return`${_e.message} at "${joinPath(_e.path)}"`}return _e.message}function conditionallyPrefixMessage(_e,et,tt){return et!==null?_e.length>0?[et,_e].join(tt):et:_e.length>0?_e:PREFIX}function fromZodError(_e,et={}){const{maxIssuesInMessage:tt=MAX_ISSUES_IN_MESSAGE,issueSeparator:rt=ISSUE_SEPARATOR,unionSeparator:nt=UNION_SEPARATOR,prefixSeparator:it=PREFIX_SEPARATOR,prefix:at=PREFIX}=et,st=_e.errors.slice(0,tt).map(dt=>getMessageFromZodIssue(dt,rt,nt)).join(rt),lt=conditionallyPrefixMessage(st,at,it);return new ValidationError(lt,_e.errors)}var a$3=Object.defineProperty,m$3=(_e,et,tt)=>et in _e?a$3(_e,et,{enumerable:!0,configurable:!0,writable:!0,value:tt}):_e[et]=tt,x$4=(_e,et,tt)=>(m$3(_e,typeof et!="symbol"?et+"":et,tt),tt),t$3=class extends Error{name="MUDContextAlreadyCreatedError";message="MUD context was already created"},s$1=class extends Error{name="MUDContextNotCreatedError";message="MUD context has not been created"};function l$3(_e,et){return fromZodError(_e,{prefix:d$4.red(et),prefixSeparator:` +- `,issueSeparator:` +- `})}var g$4=16;function d$3(_e,et){/^\w+$/.test(_e)||et.addIssue({code:ZodIssueCode.custom,message:"Name must contain only alphanumeric & underscore characters"})}function x$3(_e,et){d$3(_e,et),/^[A-Z]/.test(_e)||et.addIssue({code:ZodIssueCode.custom,message:"Name must start with a capital letter"})}function C$2(_e,et){d$3(_e,et),/^[a-z]/.test(_e)||et.addIssue({code:ZodIssueCode.custom,message:"Name must start with a lowercase letter"})}function h$4(_e,et){_e.length===0&&et.addIssue({code:ZodIssueCode.custom,message:"Enum must not be empty"}),_e.length>=256&&et.addIssue({code:ZodIssueCode.custom,message:"Length of enum must be < 256"});let tt=M$6(_e);tt.length>0&&et.addIssue({code:ZodIssueCode.custom,message:`Enum must not have duplicate names for: ${tt.join(", ")}`})}function c$2(_e,et){return(tt,rt)=>{if(tt===""){_e&&rt.addIssue({code:ZodIssueCode.custom,message:"Route must not be empty"});return}tt[0]!=="/"&&rt.addIssue({code:ZodIssueCode.custom,message:'Route must start with "/"'}),tt[tt.length-1]==="/"&&rt.addIssue({code:ZodIssueCode.custom,message:'Route must not end with "/"'});let nt=tt.split("/");et&&nt.length>2&&rt.addIssue({code:ZodIssueCode.custom,message:'Route must only have one level (e.g. "/foo")'});for(let it=1;itg$4&&et.addIssue({code:ZodIssueCode.custom,message:`Selector must be <= ${g$4} characters`}),/^\w*$/.test(_e)||et.addIssue({code:ZodIssueCode.custom,message:"Selector must contain only alphanumeric & underscore characters"})}function z$3(_e){let et=_e.match(/^(\w+)\[(\d+)\]$/);return et?{elementType:et[1],staticLength:Number.parseInt(et[2])}:null}var v$5=z$4.string().superRefine(x$3),$$2=z$4.string().superRefine(C$2);z$4.string().superRefine(d$3);var G$3=z$4.array(v$5).superRefine(h$4);z$4.string().superRefine(y$1);z$4.string().superRefine(b$2);z$4.string().superRefine(R$2);var k$2=z$4.string().superRefine(D$1),P$5=z$4.string().superRefine(U$4),l$2=class{static isCreated(){return this._global.__mudCoreContext!==void 0}static createContext(){if(this.isCreated())throw new t$3;let et=this._global,tt=new l$2;return et.__mudCoreContext=tt,tt}static getContext(){let et=this._global.__mudCoreContext;if(et===void 0)throw new s$1;return et}configExtenders=[]},i$1=l$2;x$4(i$1,"_global",typeof global>"u"?window.global??{}:global);function Y$2(_e){let et=_e,tt=i$1.getContext();for(let rt of tt.configExtenders)et=rt(et);return et}function q$2(_e){i$1.getContext().configExtenders.push(_e)}var w$1=(_e=>(_e[_e.TABLE_ID=0]="TABLE_ID",_e[_e.SYSTEM_ADDRESS=1]="SYSTEM_ADDRESS",_e))(w$1||{}),l$1={storeImportPath:"@latticexyz/store/src/",userTypesPath:"Types",codegenDirectory:"codegen"},g$3={namespace:"",enums:{}},m$2={directory:"tables",keySchema:{key:"bytes32"},tableIdArgument:!1,storeArgument:!0,ephemeral:!1},j=v$5,O$4=$$2,v$4=$$2,I$1=v$5,d$2=z$4.string(),_=z$4.string(),P$4=z$4.record(O$4,_).default(m$2.keySchema),U$3=z$4.record(v$4,d$2).refine(_e=>Object.keys(_e).length>0,"Table schema may not be empty"),K$2=d$2.transform(_e=>U$3.parse({value:_e})),q$1=U$3.or(K$2),h$3=z$4.object({directory:z$4.string().default(m$2.directory),name:P$5.optional(),tableIdArgument:z$4.boolean().default(m$2.tableIdArgument),storeArgument:z$4.boolean().default(m$2.storeArgument),dataStruct:z$4.boolean().optional(),keySchema:P$4,schema:q$1,ephemeral:z$4.boolean().default(m$2.ephemeral)}).transform(_e=>(Object.keys(_e.schema).length===1?_e.dataStruct??=!1:_e.dataStruct??=!0,_e)),B$2=d$2.transform(_e=>h$3.parse({schema:{value:_e}})),M$5=h$3.or(B$2),$$1=z$4.record(j,M$5).transform(_e=>{for(let et of Object.keys(_e)){let tt=_e[et];tt.name=et.slice(0,g$4),_e[et]=tt}return _e}),H$1=z$4.object({enums:z$4.record(I$1,G$3).default(g$3.enums)}),x$2=z$4.object({namespace:P$5.default(g$3.namespace),storeImportPath:z$4.string().default(l$1.storeImportPath),tables:$$1,userTypesPath:z$4.string().default(l$1.userTypesPath),codegenDirectory:z$4.string().default(l$1.codegenDirectory)}).merge(H$1);x$2.superRefine(C$1);var re$1=x$2.catchall(z$4.any()).superRefine(C$1);function C$1(_e,et){for(let dt of Object.values(_e.tables)){let ht=Object.keys(dt.keySchema),pt=Object.keys(dt.schema),mt=M$6([...ht,...pt]);mt.length>0&&et.addIssue({code:ZodIssueCode.custom,message:`Field and key names within one table must be unique: ${mt.join(", ")}`})}let tt=Object.keys(_e.tables),rt=Object.keys(_e.enums),nt=rt,it=[...tt,...nt],at=M$6(it);at.length>0&&et.addIssue({code:ZodIssueCode.custom,message:`Table library names, enum names must be globally unique: ${at.join(", ")}`});let st=Object.values(_e.tables).map(({name:dt})=>dt),lt=M$6(st);lt.length>0&&et.addIssue({code:ZodIssueCode.custom,message:`Table names must be unique: ${lt.join(", ")}`});for(let dt of Object.values(_e.tables)){for(let ht of Object.values(dt.keySchema))F$1(rt,ht,et);for(let ht of Object.values(dt.schema))G$2(nt,rt,ht,et)}}function G$2(_e,et,tt,rt){if(!s$2.includes(tt)&&!_e.includes(tt)){let nt=z$3(tt);nt?V$1(et,nt.elementType,nt.staticLength,rt):rt.addIssue({code:ZodIssueCode.custom,message:`${tt} is not a valid abi type, and is not defined in userTypes`})}}function F$1(_e,et,tt){!U$5.includes(et)&&!_e.includes(et)&&tt.addIssue({code:ZodIssueCode.custom,message:`${et} is not a static type`})}function V$1(_e,et,tt,rt){F$1(_e,et,rt),tt===0?rt.addIssue({code:ZodIssueCode.custom,message:"Static array length must not be 0"}):tt>=2**16&&rt.addIssue({code:ZodIssueCode.custom,message:"Static array length must be less than 2**16"})}i$1.isCreated()||i$1.createContext();q$2(_e=>{try{return re$1.parse(_e)}catch(et){throw et instanceof ZodError?l$3(et,"StoreConfig Validation Error"):et}});function s(_e){return Y$2(_e)}var a$2=s({storeImportPath:"../../",namespace:"mudstore",enums:{ExampleEnum:["None","First","Second","Third"]},tables:{Hooks:"address[]",Callbacks:"bytes24[]",Tables:{keySchema:{tableId:"bytes32"},schema:{keySchema:"bytes32",valueSchema:"bytes32",abiEncodedKeyNames:"bytes",abiEncodedFieldNames:"bytes"}},Mixed:{schema:{u32:"uint32",u128:"uint128",a32:"uint32[]",s:"string"}},Vector2:{schema:{x:"uint32",y:"uint32"}},KeyEncoding:{keySchema:{k1:"uint256",k2:"int32",k3:"bytes16",k4:"address",k5:"bool",k6:"ExampleEnum"},schema:"bool"}}}),g$2=g$5("mud:store-sync"),k$1=a$2.tables.Tables,A$2=He$1(a$2.namespace,k$1.name);function G$1({registerTables:_e,getTables:et,storeOperations:tt}){return async rt=>{let nt=rt.logs.map(lt=>{if(lt.eventName!=="StoreSetRecord"||lt.args.table!==A$2)return;let[dt,...ht]=lt.args.key;ht.length&&console.warn("registerSchema event is expected to have only one key in key tuple, but got multiple",lt);let pt=ye$1(dt),mt=ct(ne$2(Object.values(k$1.schema)),lt.args.data),gt=Object.fromEntries(Object.keys(k$1.schema).map((_t,At)=>[_t,mt[At]])),vt=D$2(gt.keySchema),bt=D$2(gt.valueSchema),yt=decodeAbiParameters(parseAbiParameters("string[]"),gt.abiEncodedKeyNames)[0],xt=decodeAbiParameters(parseAbiParameters("string[]"),gt.abiEncodedFieldNames)[0],wt=[...bt.staticFields,...bt.dynamicFields];return{address:lt.address,tableId:dt,namespace:pt.namespace,name:pt.name,keySchema:Object.fromEntries(vt.staticFields.map((_t,At)=>[yt[At],_t])),valueSchema:Object.fromEntries(wt.map((_t,At)=>[xt[At],_t]))}}).filter(P$7);nt.length>0&&await _e({blockNumber:rt.blockNumber,tables:nt});let it=Array.from(new Set(rt.logs.map(lt=>JSON.stringify({address:getAddress(lt.address),tableId:lt.args.table,...ye$1(lt.args.table)})))).map(lt=>JSON.parse(lt)),at=Object.fromEntries((await et({blockNumber:rt.blockNumber,tables:it})).map(lt=>[`${getAddress(lt.address)}:${lt.tableId}`,lt])),st=rt.logs.map(lt=>{let dt=at[`${getAddress(lt.address)}:${lt.args.table}`];if(!dt){g$2("no table found for event, skipping",ye$1(lt.args.table),lt);return}let ht=Object.keys(dt.keySchema),pt=ze$1({staticFields:Object.values(dt.keySchema),dynamicFields:[]},lt.args.key),mt=Object.fromEntries(pt.map((yt,xt)=>[ht[xt],yt])),gt=Object.values(dt.valueSchema),vt=ne$2(gt),bt=Object.keys(dt.valueSchema);if(lt.eventName==="StoreSetRecord"||lt.eventName==="StoreEphemeralRecord"){let yt=ct(vt,lt.args.data),xt=Object.fromEntries(bt.map((wt,_t)=>[wt,yt[_t]]));return{log:lt,address:getAddress(lt.address),namespace:dt.namespace,name:dt.name,type:"SetRecord",key:mt,value:xt}}if(lt.eventName==="StoreSetField"){let yt=bt[lt.args.schemaIndex],xt=ke$1(gt[lt.args.schemaIndex],lt.args.data);return{log:lt,address:getAddress(lt.address),namespace:dt.namespace,name:dt.name,type:"SetField",key:mt,fieldName:yt,fieldValue:xt}}if(lt.eventName==="StoreDeleteRecord")return{log:lt,address:getAddress(lt.address),namespace:dt.namespace,name:dt.name,type:"DeleteRecord",key:mt};g$2("unknown store event or log, skipping",lt)}).filter(P$7);return await tt({blockNumber:rt.blockNumber,operations:st}),{blockNumber:rt.blockNumber,operations:st}}}var w=(_e=>(_e.INITIALIZE="initialize",_e.SNAPSHOT="snapshot",_e.RPC="rpc",_e.LIVE="live",_e))(w||{});function invert(_e){const et=Object.create(null);for(const tt in _e){const rt=_e[tt];et[rt]=tt}return et}const TRPC_ERROR_CODES_BY_KEY={PARSE_ERROR:-32700,BAD_REQUEST:-32600,INTERNAL_SERVER_ERROR:-32603,UNAUTHORIZED:-32001,FORBIDDEN:-32003,NOT_FOUND:-32004,METHOD_NOT_SUPPORTED:-32005,TIMEOUT:-32008,CONFLICT:-32009,PRECONDITION_FAILED:-32012,PAYLOAD_TOO_LARGE:-32013,UNPROCESSABLE_CONTENT:-32022,TOO_MANY_REQUESTS:-32029,CLIENT_CLOSED_REQUEST:-32099};invert(TRPC_ERROR_CODES_BY_KEY);invert(TRPC_ERROR_CODES_BY_KEY);const noop$2=()=>{};function createInnerProxy(_e,et){return new Proxy(noop$2,{get(rt,nt){if(!(typeof nt!="string"||nt==="then"))return createInnerProxy(_e,[...et,nt])},apply(rt,nt,it){const at=et[et.length-1]==="apply";return _e({args:at?it.length>=2?it[1]:[]:it,path:at?et.slice(0,-1):et})}})}const createRecursiveProxy=_e=>createInnerProxy(_e,[]),createFlatProxy=_e=>new Proxy(noop$2,{get(et,tt){if(!(typeof tt!="string"||tt==="then"))return _e(tt)}});typeof window>"u"||"Deno"in window||globalThis.process?.env?.NODE_ENV==="test"||globalThis.process?.env?.JEST_WORKER_ID||globalThis.process?.env?.VITEST_WORKER_ID;var DoubleIndexedKV=function(){function _e(){this.keyToValue=new Map,this.valueToKey=new Map}return _e.prototype.set=function(et,tt){this.keyToValue.set(et,tt),this.valueToKey.set(tt,et)},_e.prototype.getByKey=function(et){return this.keyToValue.get(et)},_e.prototype.getByValue=function(et){return this.valueToKey.get(et)},_e.prototype.clear=function(){this.keyToValue.clear(),this.valueToKey.clear()},_e}(),Registry=function(){function _e(et){this.generateIdentifier=et,this.kv=new DoubleIndexedKV}return _e.prototype.register=function(et,tt){this.kv.getByValue(et)||(tt||(tt=this.generateIdentifier(et)),this.kv.set(tt,et))},_e.prototype.clear=function(){this.kv.clear()},_e.prototype.getIdentifier=function(et){return this.kv.getByValue(et)},_e.prototype.getValue=function(et){return this.kv.getByKey(et)},_e}(),__extends=globalThis&&globalThis.__extends||function(){var _e=function(et,tt){return _e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(rt,nt){rt.__proto__=nt}||function(rt,nt){for(var it in nt)Object.prototype.hasOwnProperty.call(nt,it)&&(rt[it]=nt[it])},_e(et,tt)};return function(et,tt){if(typeof tt!="function"&&tt!==null)throw new TypeError("Class extends value "+String(tt)+" is not a constructor or null");_e(et,tt);function rt(){this.constructor=et}et.prototype=tt===null?Object.create(tt):(rt.prototype=tt.prototype,new rt)}}(),ClassRegistry=function(_e){__extends(et,_e);function et(){var tt=_e.call(this,function(rt){return rt.name})||this;return tt.classToAllowedProps=new Map,tt}return et.prototype.register=function(tt,rt){typeof rt=="object"?(rt.allowProps&&this.classToAllowedProps.set(tt,rt.allowProps),_e.prototype.register.call(this,tt,rt.identifier)):_e.prototype.register.call(this,tt,rt)},et.prototype.getAllowedProps=function(tt){return this.classToAllowedProps.get(tt)},et}(Registry),__read$3=globalThis&&globalThis.__read||function(_e,et){var tt=typeof Symbol=="function"&&_e[Symbol.iterator];if(!tt)return _e;var rt=tt.call(_e),nt,it=[],at;try{for(;(et===void 0||et-- >0)&&!(nt=rt.next()).done;)it.push(nt.value)}catch(st){at={error:st}}finally{try{nt&&!nt.done&&(tt=rt.return)&&tt.call(rt)}finally{if(at)throw at.error}}return it};function valuesOfObj(_e){if("values"in Object)return Object.values(_e);var et=[];for(var tt in _e)_e.hasOwnProperty(tt)&&et.push(_e[tt]);return et}function find(_e,et){var tt=valuesOfObj(_e);if("find"in tt)return tt.find(et);for(var rt=tt,nt=0;nt"u"},isNull=function(_e){return _e===null},isPlainObject$1=function(_e){return typeof _e!="object"||_e===null||_e===Object.prototype?!1:Object.getPrototypeOf(_e)===null?!0:Object.getPrototypeOf(_e)===Object.prototype},isEmptyObject=function(_e){return isPlainObject$1(_e)&&Object.keys(_e).length===0},isArray$1=function(_e){return Array.isArray(_e)},isString$1=function(_e){return typeof _e=="string"},isNumber=function(_e){return typeof _e=="number"&&!isNaN(_e)},isBoolean=function(_e){return typeof _e=="boolean"},isRegExp=function(_e){return _e instanceof RegExp},isMap=function(_e){return _e instanceof Map},isSet=function(_e){return _e instanceof Set},isSymbol=function(_e){return getType$1(_e)==="Symbol"},isDate=function(_e){return _e instanceof Date&&!isNaN(_e.valueOf())},isError=function(_e){return _e instanceof Error},isNaNValue=function(_e){return typeof _e=="number"&&isNaN(_e)},isPrimitive=function(_e){return isBoolean(_e)||isNull(_e)||isUndefined(_e)||isNumber(_e)||isString$1(_e)||isSymbol(_e)},isBigint=function(_e){return typeof _e=="bigint"},isInfinite=function(_e){return _e===1/0||_e===-1/0},isTypedArray=function(_e){return ArrayBuffer.isView(_e)&&!(_e instanceof DataView)},isURL=function(_e){return _e instanceof URL},escapeKey=function(_e){return _e.replace(/\./g,"\\.")},stringifyPath=function(_e){return _e.map(String).map(escapeKey).join(".")},parsePath$1=function(_e){for(var et=[],tt="",rt=0;rt<_e.length;rt++){var nt=_e.charAt(rt),it=nt==="\\"&&_e.charAt(rt+1)===".";if(it){tt+=".",rt++;continue}var at=nt===".";if(at){et.push(tt),tt="";continue}tt+=nt}var st=tt;return et.push(st),et},__assign$1=globalThis&&globalThis.__assign||function(){return __assign$1=Object.assign||function(_e){for(var et,tt=1,rt=arguments.length;tt0)&&!(nt=rt.next()).done;)it.push(nt.value)}catch(st){at={error:st}}finally{try{nt&&!nt.done&&(tt=rt.return)&&tt.call(rt)}finally{if(at)throw at.error}}return it},__spreadArray$2=globalThis&&globalThis.__spreadArray||function(_e,et){for(var tt=0,rt=et.length,nt=_e.length;tt0?"Infinity":"-Infinity"},Number),simpleTransformation(function(_e){return _e===0&&1/_e===-1/0},"number",function(){return"-0"},Number),simpleTransformation(isURL,"URL",function(_e){return _e.toString()},function(_e){return new URL(_e)})];function compositeTransformation(_e,et,tt,rt){return{isApplicable:_e,annotation:et,transform:tt,untransform:rt}}var symbolRule=compositeTransformation(function(_e,et){if(isSymbol(_e)){var tt=!!et.symbolRegistry.getIdentifier(_e);return tt}return!1},function(_e,et){var tt=et.symbolRegistry.getIdentifier(_e);return["symbol",tt]},function(_e){return _e.description},function(_e,et,tt){var rt=tt.symbolRegistry.getValue(et[1]);if(!rt)throw new Error("Trying to deserialize unknown symbol");return rt}),constructorToName=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce(function(_e,et){return _e[et.name]=et,_e},{}),typedArrayRule=compositeTransformation(isTypedArray,function(_e){return["typed-array",_e.constructor.name]},function(_e){return __spreadArray$2([],__read$2(_e))},function(_e,et){var tt=constructorToName[et[1]];if(!tt)throw new Error("Trying to deserialize unknown typed array");return new tt(_e)});function isInstanceOfRegisteredClass(_e,et){if(_e?.constructor){var tt=!!et.classRegistry.getIdentifier(_e.constructor);return tt}return!1}var classRule=compositeTransformation(isInstanceOfRegisteredClass,function(_e,et){var tt=et.classRegistry.getIdentifier(_e.constructor);return["class",tt]},function(_e,et){var tt=et.classRegistry.getAllowedProps(_e.constructor);if(!tt)return __assign$1({},_e);var rt={};return tt.forEach(function(nt){rt[nt]=_e[nt]}),rt},function(_e,et,tt){var rt=tt.classRegistry.getValue(et[1]);if(!rt)throw new Error("Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564");return Object.assign(Object.create(rt.prototype),_e)}),customRule=compositeTransformation(function(_e,et){return!!et.customTransformerRegistry.findApplicable(_e)},function(_e,et){var tt=et.customTransformerRegistry.findApplicable(_e);return["custom",tt.name]},function(_e,et){var tt=et.customTransformerRegistry.findApplicable(_e);return tt.serialize(_e)},function(_e,et,tt){var rt=tt.customTransformerRegistry.findByName(et[1]);if(!rt)throw new Error("Trying to deserialize unknown custom value");return rt.deserialize(_e)}),compositeRules=[classRule,symbolRule,customRule,typedArrayRule],transformValue=function(_e,et){var tt=findArr(compositeRules,function(nt){return nt.isApplicable(_e,et)});if(tt)return{value:tt.transform(_e,et),type:tt.annotation(_e,et)};var rt=findArr(simpleRules,function(nt){return nt.isApplicable(_e,et)});if(rt)return{value:rt.transform(_e,et),type:rt.annotation}},simpleRulesByAnnotation={};simpleRules.forEach(function(_e){simpleRulesByAnnotation[_e.annotation]=_e});var untransformValue=function(_e,et,tt){if(isArray$1(et))switch(et[0]){case"symbol":return symbolRule.untransform(_e,et,tt);case"class":return classRule.untransform(_e,et,tt);case"custom":return customRule.untransform(_e,et,tt);case"typed-array":return typedArrayRule.untransform(_e,et,tt);default:throw new Error("Unknown transformation: "+et)}else{var rt=simpleRulesByAnnotation[et];if(!rt)throw new Error("Unknown transformation: "+et);return rt.untransform(_e,tt)}},getNthKey=function(_e,et){for(var tt=_e.keys();et>0;)tt.next(),et--;return tt.next().value};function validatePath(_e){if(includes(_e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(includes(_e,"prototype"))throw new Error("prototype is not allowed as a property");if(includes(_e,"constructor"))throw new Error("constructor is not allowed as a property")}var getDeep=function(_e,et){validatePath(et);for(var tt=0;tt0)&&!(nt=rt.next()).done;)it.push(nt.value)}catch(st){at={error:st}}finally{try{nt&&!nt.done&&(tt=rt.return)&&tt.call(rt)}finally{if(at)throw at.error}}return it},__spreadArray$1=globalThis&&globalThis.__spreadArray||function(_e,et){for(var tt=0,rt=et.length,nt=_e.length;ttcopy$1(nt,et));if(!isPlainObject(_e))return _e;const tt=Object.getOwnPropertyNames(_e),rt=Object.getOwnPropertySymbols(_e);return[...tt,...rt].reduce((nt,it)=>{if(isArray(et.props)&&!et.props.includes(it))return nt;const at=_e[it],st=copy$1(at,et);return assignProp(nt,it,st,_e,et.nonenumerable),nt},{})}var __assign=globalThis&&globalThis.__assign||function(){return __assign=Object.assign||function(_e){for(var et,tt=1,rt=arguments.length;tt0)&&!(nt=rt.next()).done;)it.push(nt.value)}catch(st){at={error:st}}finally{try{nt&&!nt.done&&(tt=rt.return)&&tt.call(rt)}finally{if(at)throw at.error}}return it},__spreadArray=globalThis&&globalThis.__spreadArray||function(_e,et){for(var tt=0,rt=et.length,nt=_e.length;ttnt(rt),tt)}}function observable(_e){const et={subscribe(tt){let rt=null,nt=!1,it=!1,at=!1;function st(){if(rt===null){at=!0;return}it||(it=!0,typeof rt=="function"?rt():rt&&rt.unsubscribe())}return rt=_e({next(lt){nt||tt.next?.(lt)},error(lt){nt||(nt=!0,tt.error?.(lt),st())},complete(){nt||(nt=!0,tt.complete?.(),st())}}),at&&st(),{unsubscribe:st}},pipe(...tt){return pipeFromArray(tt)(et)}};return et}function share(_e){return et=>{let tt=0,rt=null;const nt=[];function it(){rt||(rt=et.subscribe({next(st){for(const lt of nt)lt.next?.(st)},error(st){for(const lt of nt)lt.error?.(st)},complete(){for(const st of nt)st.complete?.()}}))}function at(){if(tt===0&&rt){const st=rt;rt=null,st.unsubscribe()}}return{subscribe(st){return tt++,nt.push(st),it(),{unsubscribe(){tt--,at();const lt=nt.findIndex(dt=>dt===st);lt>-1&&nt.splice(lt,1)}}}}}}class ObservableAbortError extends Error{constructor(et){super(et),this.name="ObservableAbortError",Object.setPrototypeOf(this,ObservableAbortError.prototype)}}function observableToPromise(_e){let et;return{promise:new Promise((rt,nt)=>{let it=!1;function at(){it||(it=!0,nt(new ObservableAbortError("This operation was aborted.")),st.unsubscribe())}const st=_e.subscribe({next(lt){it=!0,rt(lt),at()},error(lt){it=!0,nt(lt),at()},complete(){it=!0,at()}});et=at}),abort:et}}function createChain(_e){return observable(et=>{function tt(nt=0,it=_e.op){const at=_e.links[nt];if(!at)throw new Error("No more links to execute - did you forget to add an ending link?");return at({op:it,next(lt){return tt(nt+1,lt)}})}return tt().subscribe(et)})}function isTRPCClientError(_e){return _e instanceof TRPCClientError||_e.name==="TRPCClientError"}class TRPCClientError extends Error{static from(et,tt={}){return et instanceof Error?isTRPCClientError(et)?(tt.meta&&(et.meta={...et.meta,...tt.meta}),et):new TRPCClientError(et.message,{...tt,cause:et,result:null}):new TRPCClientError(et.error.message??"",{...tt,cause:void 0,result:et})}constructor(et,tt){const rt=tt?.cause;super(et,{cause:rt}),this.meta=tt?.meta,this.cause=rt,this.shape=tt?.result?.error,this.data=tt?.result?.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,TRPCClientError.prototype)}}const isFunction$1=_e=>typeof _e=="function";function getFetch(_e){if(_e)return _e;if(typeof window<"u"&&isFunction$1(window.fetch))return window.fetch;if(typeof globalThis<"u"&&isFunction$1(globalThis.fetch))return globalThis.fetch;throw new Error("No fetch implementation found")}function getAbortController(_e){return _e||(typeof window<"u"&&window.AbortController?window.AbortController:typeof globalThis<"u"&&globalThis.AbortController?globalThis.AbortController:null)}function resolveHTTPLinkOptions(_e){return{url:_e.url,fetch:_e.fetch,AbortController:getAbortController(_e.AbortController)}}function arrayToDict(_e){const et={};for(let tt=0;tt<_e.length;tt++){const rt=_e[tt];et[tt]=rt}return et}const METHOD={query:"GET",mutation:"POST"};function getInput(_e){return"input"in _e?_e.runtime.transformer.serialize(_e.input):arrayToDict(_e.inputs.map(et=>_e.runtime.transformer.serialize(et)))}const getUrl=_e=>{let et=_e.url+"/"+_e.path;const tt=[];if("inputs"in _e&&tt.push("batch=1"),_e.type==="query"){const rt=getInput(_e);rt!==void 0&&tt.push(`input=${encodeURIComponent(JSON.stringify(rt))}`)}return tt.length&&(et+="?"+tt.join("&")),et},getBody=_e=>{if(_e.type==="query")return;const et=getInput(_e);return et!==void 0?JSON.stringify(et):void 0},jsonHttpRequester=_e=>httpRequest({..._e,contentTypeHeader:"application/json",getUrl,getBody});async function fetchHTTPResponse(_e,et){const tt=_e.getUrl(_e),rt=_e.getBody(_e),{type:nt}=_e,it=await _e.headers();/* istanbul ignore if -- @preserve */if(nt==="subscription")throw new Error("Subscriptions should use wsLink");const at={..._e.contentTypeHeader?{"content-type":_e.contentTypeHeader}:{},..._e.batchModeHeader?{"trpc-batch-mode":_e.batchModeHeader}:{},...it};return getFetch(_e.fetch)(tt,{method:METHOD[nt],signal:et?.signal,body:rt,headers:at})}function httpRequest(_e){const et=_e.AbortController?new _e.AbortController:null,tt={};return{promise:new Promise((it,at)=>{fetchHTTPResponse(_e,et).then(st=>(tt.response=st,st.json())).then(st=>{tt.responseJSON=st,it({json:st,meta:tt})}).catch(st=>{at(TRPCClientError.from(st,{meta:tt}))})}),cancel:()=>{et?.abort()}}}function isObject$1(_e){return!!_e&&!Array.isArray(_e)&&typeof _e=="object"}function transformResultInner(_e,et){if("error"in _e){const rt=et.transformer.deserialize(_e.error);return{ok:!1,error:{..._e,error:rt}}}return{ok:!0,result:{..._e.result,...(!_e.result.type||_e.result.type==="data")&&{type:"data",data:et.transformer.deserialize(_e.result.data)}}}}class TransformResultError extends Error{constructor(){super("Unable to transform response from server")}}function transformResult(_e,et){let tt;try{tt=transformResultInner(_e,et)}catch{throw new TransformResultError}if(!tt.ok&&(!isObject$1(tt.error.error)||typeof tt.error.error.code!="number"))throw new TransformResultError;if(tt.ok&&!isObject$1(tt.result))throw new TransformResultError;return tt}const throwFatalError=()=>{throw new Error("Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new")};function dataLoader(_e){let et=null,tt=null;const rt=()=>{clearTimeout(tt),tt=null,et=null};function nt(st){const lt=[[]];let dt=0;for(;;){const ht=st[dt];if(!ht)break;const pt=lt[lt.length-1];if(ht.aborted){ht.reject?.(new Error("Aborted")),dt++;continue}if(_e.validate(pt.concat(ht).map(gt=>gt.key))){pt.push(ht),dt++;continue}if(pt.length===0){ht.reject?.(new Error("Input is too big for a single dispatch")),dt++;continue}lt.push([])}return lt}function it(){const st=nt(et);rt();for(const lt of st){if(!lt.length)continue;const dt={items:lt,cancel:throwFatalError};for(const gt of lt)gt.batch=dt;const ht=(gt,vt)=>{const bt=dt.items[gt];bt.resolve?.(vt),bt.batch=null,bt.reject=null,bt.resolve=null},{promise:pt,cancel:mt}=_e.fetch(dt.items.map(gt=>gt.key),ht);dt.cancel=mt,pt.then(gt=>{for(let vt=0;vt{for(const vt of dt.items)vt.reject?.(gt),vt.batch=null})}}function at(st){const lt={aborted:!1,key:st,batch:null,resolve:throwFatalError,reject:throwFatalError},dt=new Promise((pt,mt)=>{lt.reject=mt,lt.resolve=pt,et||(et=[]),et.push(lt)});return tt||(tt=setTimeout(it)),{promise:dt,cancel:()=>{lt.aborted=!0,lt.batch?.items.every(pt=>pt.aborted)&&(lt.batch.cancel(),lt.batch=null)}}}return{load:at}}function createHTTPBatchLink(_e){return function(tt){const rt=resolveHTTPLinkOptions(tt),nt=tt.maxURLLength??1/0;return it=>{const at=pt=>{const mt=vt=>{if(nt===1/0)return!0;const bt=vt.map(wt=>wt.path).join(","),yt=vt.map(wt=>wt.input);return getUrl({...rt,runtime:it,type:pt,path:bt,inputs:yt}).length<=nt},gt=_e({...rt,runtime:it,type:pt,opts:tt});return{validate:mt,fetch:gt}},st=dataLoader(at("query")),lt=dataLoader(at("mutation")),dt=dataLoader(at("subscription")),ht={query:st,subscription:dt,mutation:lt};return({op:pt})=>observable(mt=>{const gt=ht[pt.type],{promise:vt,cancel:bt}=gt.load(pt);let yt;return vt.then(xt=>{yt=xt;const wt=transformResult(xt.json,it);if(!wt.ok){mt.error(TRPCClientError.from(wt.error,{meta:xt.meta}));return}mt.next({context:xt.meta,result:wt.result}),mt.complete()}).catch(xt=>{mt.error(TRPCClientError.from(xt,{meta:yt?.meta}))}),()=>{bt()}})}}}const batchRequester=_e=>et=>{const tt=et.map(at=>at.path).join(","),rt=et.map(at=>at.input),{promise:nt,cancel:it}=jsonHttpRequester({..._e,path:tt,inputs:rt,headers(){return _e.opts.headers?typeof _e.opts.headers=="function"?_e.opts.headers({opList:et}):_e.opts.headers:{}}});return{promise:nt.then(at=>(Array.isArray(at.json)?at.json:et.map(()=>at.json)).map(dt=>({meta:at.meta,json:dt}))),cancel:it}},httpBatchLink=createHTTPBatchLink(batchRequester);class TRPCUntypedClient{$request({type:et,input:tt,path:rt,context:nt={}}){return createChain({links:this.links,op:{id:++this.requestId,type:et,path:rt,input:tt,context:nt}}).pipe(share())}requestAsPromise(et){const tt=this.$request(et),{promise:rt,abort:nt}=observableToPromise(tt);return new Promise((at,st)=>{et.signal?.addEventListener("abort",nt),rt.then(lt=>{at(lt.result.data)}).catch(lt=>{st(TRPCClientError.from(lt))})})}query(et,tt,rt){return this.requestAsPromise({type:"query",path:et,input:tt,context:rt?.context,signal:rt?.signal})}mutation(et,tt,rt){return this.requestAsPromise({type:"mutation",path:et,input:tt,context:rt?.context,signal:rt?.signal})}subscription(et,tt,rt){return this.$request({type:"subscription",path:et,input:tt,context:rt?.context}).subscribe({next(it){it.result.type==="started"?rt.onStarted?.():it.result.type==="stopped"?rt.onStopped?.():rt.onData?.(it.result.data)},error(it){rt.onError?.(it)},complete(){rt.onComplete?.()}})}constructor(et){this.requestId=0;const tt=(()=>{const rt=et.transformer;return rt?"input"in rt?et.transformer:{input:rt,output:rt}:{input:{serialize:nt=>nt,deserialize:nt=>nt},output:{serialize:nt=>nt,deserialize:nt=>nt}}})();this.runtime={transformer:{serialize:rt=>tt.input.serialize(rt),deserialize:rt=>tt.output.deserialize(rt)},combinedTransformer:tt},this.links=et.links.map(rt=>rt(this.runtime))}}const clientCallTypeMap={query:"query",mutate:"mutation",subscribe:"subscription"},clientCallTypeToProcedureType=_e=>clientCallTypeMap[_e];function createTRPCClientProxy(_e){return createFlatProxy(et=>_e.hasOwnProperty(et)?_e[et]:et==="__untypedClient"?_e:createRecursiveProxy(({path:tt,args:rt})=>{const nt=[et,...tt],it=clientCallTypeToProcedureType(nt.pop()),at=nt.join(".");return _e[it](at,...rt)}))}function createTRPCProxyClient(_e){const et=new TRPCUntypedClient(_e);return createTRPCClientProxy(et)}function P$3({url:_e}){return createTRPCProxyClient({transformer:SuperJSON,links:[httpBatchLink({url:_e})]})}var e$1=["event StoreDeleteRecord(bytes32 table, bytes32[] key)","event StoreSetField(bytes32 table, bytes32[] key, uint8 schemaIndex, bytes data)","event StoreSetRecord(bytes32 table, bytes32[] key, bytes data)","event StoreEphemeralRecord(bytes32 table, bytes32[] key, bytes data)"],f$2=parseAbi(e$1),u$2=g$5("mud:block-events-stream");async function*a$1({maxBlockRange:_e=1000n,maxRetryCount:et=3,publicClient:tt,...rt}){let nt=rt.fromBlock,it=u$3(_e,rt.toBlock-nt),at=0;for(;nt<=rt.toBlock;)try{let st=nt+it,lt=await tt.getLogs({...rt,fromBlock:nt,toBlock:st,strict:!0});yield{fromBlock:nt,toBlock:st,logs:lt},nt=st+1n,it=u$3(_e,rt.toBlock-nt)}catch(st){if(!(st instanceof Error))throw st;if(st.message.includes("rate limit exceeded")&&at{nt??=st,it=at}),concatMap(()=>nt>it?EMPTY:from$1(a$1({publicClient:_e,address:et,events:tt,fromBlock:nt,toBlock:it,maxBlockRange:rt})).pipe(tap(({toBlock:at})=>{nt=at+1n}))))}function O$3({publicClient:_e,blockTag:et}){return new Observable(function(tt){return _e.watchBlocks({blockTag:et,emitOnBegin:!0,onBlock:rt=>tt.next(rt),onError:rt=>tt.error(rt)})})}function M$4(_e,et){let tt=Array.from(new Set(_e.map(it=>it.blockNumber)));tt.sort(m$5);let rt=tt.map(it=>{let at=_e.filter(st=>st.blockNumber===it);if(at.length&&(at.sort((st,lt)=>st.logIndexlt.logIndex?1:0),!!at.length))return{blockNumber:it,logs:at}}).filter(P$7),nt=tt.length>0?tt[tt.length-1]:null;return et!=null&&(nt==null||et>nt)&&rt.push({blockNumber:et,logs:[]}),rt}function U$2(_e){return Object.fromEntries(Object.entries(_e).map(([et,tt])=>[et,P$8[tt]]))}var r$1=g$2.extend("createStoreSync");async function be$1({storageAdapter:_e,onProgress:et,address:tt,publicClient:rt,startBlock:nt=0n,maxBlockRange:it,initialState:at,indexerUrl:st}){let lt=defer(async()=>{if(at)return at;if(!st)return;r$1("fetching initial state from indexer",st),et?.({step:"snapshot",percentage:0,latestBlockNumber:0n,lastBlockNumberProcessed:0n,message:"Fetching snapshot from indexer"});let _t=P$3({url:st}),At=rt.chain?.id??await rt.getChainId(),Tt=await _t.findAll.query({chainId:At,address:tt});return et?.({step:"snapshot",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:0n,message:"Fetched snapshot from indexer"}),Tt}).pipe(catchError(_t=>(r$1("error fetching initial state from indexer",_t),et?.({step:"snapshot",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:nt,message:"Failed to fetch snapshot from indexer"}),of$1(void 0))),shareReplay(1)),dt=lt.pipe(map(_t=>_t?.blockNumber??nt),tap(_t=>r$1("starting sync from block",_t))),ht=lt.pipe(filter(_t=>_t!=null&&_t.blockNumber!=null&&_t.tables.length>0),concatMap(async({blockNumber:_t,tables:At})=>{r$1("hydrating from initial state to block",_t),et?.({step:"snapshot",percentage:0,latestBlockNumber:0n,lastBlockNumberProcessed:_t,message:"Hydrating from snapshot"}),await _e.registerTables({blockNumber:_t,tables:At});let Tt=At.flatMap(Lt=>Lt.records.map(qt=>({type:"SetRecord",address:Lt.address,namespace:Lt.namespace,name:Lt.name,key:qt.key,value:qt.value}))),kt=Math.max(100,Math.floor(Tt.length/50)),jt=Array.from(f$4(Tt,kt));for(let[Lt,qt]of jt.entries())await _e.storeOperations({blockNumber:_t,operations:qt}),et?.({step:"snapshot",percentage:(Lt+qt.length)/jt.length,latestBlockNumber:0n,lastBlockNumberProcessed:_t,message:"Hydrating from snapshot"});return et?.({step:"snapshot",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:_t,message:"Hydrated from snapshot"}),{blockNumber:_t,operations:Tt}}),shareReplay(1)),pt=O$3({publicClient:rt,blockTag:"latest"}).pipe(shareReplay(1)),mt=pt.pipe(map(_t=>_t.number),tap(_t=>{r$1("latest block number",_t)}),shareReplay(1)),gt=null,vt=null,bt=combineLatest([dt,mt]).pipe(map(([_t,At])=>({startBlock:_t,endBlock:At})),tap(_t=>{gt=_t.startBlock,vt=_t.endBlock}),P$2({publicClient:rt,address:tt,events:f$2,maxBlockRange:it}),mergeMap(({toBlock:_t,logs:At})=>from$1(M$4(At,_t))),share$1()),yt=null,xt=concat$2(ht,bt.pipe(concatMap(G$1(_e)),tap(({blockNumber:_t,operations:At})=>{if(r$1("stored",At.length,"operations for block",_t),yt=_t,gt!=null&&vt!=null)if(_t(r$1("waiting for tx receipt",_t,"attempt",Tt),rt.waitForTransactionReceipt({hash:_t,timeout:rt.pollingInterval*2*Tt})),{retries:3,onFailedAttempt:Tt=>{if(Tt instanceof WaitForTransactionReceiptTimeoutError){r$1("timed out waiting for tx receipt, trying again",_t);return}throw Tt}});return r$1("got tx receipt",_t,At),(yt==null||ytTt>=At.blockNumber)))),r$1("tx block was processed",_t,At.blockNumber),{receipt:At}}return{latestBlock$:pt,latestBlockNumber$:mt,blockLogs$:bt,blockStorageOperations$:xt,waitForTransaction:wt}}var d$1={registerFunctionSelector:!0,openAccess:!0,accessList:[]},o={worldContractName:void 0,worldInterfaceName:"IWorld",systems:{},excludeSystems:[],postDeployScript:"PostDeploy",deploysDirectory:"./deploys",worldsFile:"./worlds.json",worldgenDirectory:"world",worldImportPath:"@latticexyz/world/src/",modules:[]},y=v$5,h$2=v$5,z$2=z$4.array(y.or(k$2)).default(d$1.accessList),v$3=z$4.intersection(z$4.object({name:P$5.optional(),registerFunctionSelectors:z$4.boolean().default(d$1.registerFunctionSelector)}),z$4.discriminatedUnion("openAccess",[z$4.object({openAccess:z$4.literal(!0).default(d$1.openAccess)}),z$4.object({openAccess:z$4.literal(!1),accessList:z$2})])),x$1=z$4.object({value:z$4.union([z$4.string(),z$4.number(),z$4.instanceof(Uint8Array)]),type:z$4.string()}),E$1=z$4.object({type:z$4.nativeEnum(w$1),input:z$4.string()}),N$2=z$4.object({name:h$2,root:z$4.boolean().default(!1),args:z$4.array(z$4.union([x$1,E$1])).default([])}),T$3=z$4.object({worldContractName:z$4.string().optional(),worldInterfaceName:z$4.string().default(o.worldInterfaceName),systems:z$4.record(y,v$3).default(o.systems),excludeSystems:z$4.array(y).default(o.excludeSystems),postDeployScript:z$4.string().default(o.postDeployScript),deploysDirectory:z$4.string().default(o.deploysDirectory),worldsFile:z$4.string().default(o.worldsFile),worldgenDirectory:z$4.string().default(o.worldgenDirectory),worldImportPath:z$4.string().default(o.worldImportPath),modules:z$4.array(N$2).default(o.modules)}),M$3=T$3.catchall(z$4.any());q$2(_e=>{try{return M$3.parse(_e)}catch(et){throw et instanceof ZodError?l$3(et,"WorldConfig Validation Error"):et}});var t$2=s({worldImportPath:"../",worldgenDirectory:"interfaces",worldInterfaceName:"IBaseWorld",codegenDirectory:"",tables:{NamespaceOwner:{keySchema:{namespace:"bytes16"},schema:{owner:"address"}},ResourceAccess:{keySchema:{resourceSelector:"bytes32",caller:"address"},schema:{access:"bool"}},InstalledModules:{keySchema:{moduleName:"bytes16",argumentsHash:"bytes32"},schema:{moduleAddress:"address"},dataStruct:!0},Systems:{directory:"modules/core/tables",keySchema:{resourceSelector:"bytes32"},schema:{system:"address",publicAccess:"bool"},dataStruct:!1},SystemRegistry:{directory:"modules/core/tables",keySchema:{system:"address"},schema:{resourceSelector:"bytes32"}},SystemHooks:{directory:"modules/core/tables",keySchema:{resourceSelector:"bytes32"},schema:"address[]"},ResourceType:{directory:"modules/core/tables",keySchema:{resourceSelector:"bytes32"},schema:{resourceType:"Resource"}},FunctionSelectors:{directory:"modules/core/tables",keySchema:{functionSelector:"bytes4"},schema:{resourceSelector:"bytes32",systemFunctionSelector:"bytes4"},dataStruct:!1},KeysWithValue:{directory:"modules/keyswithvalue/tables",keySchema:{valueHash:"bytes32"},schema:{keysWithValue:"bytes32[]"},tableIdArgument:!0},KeysInTable:{directory:"modules/keysintable/tables",keySchema:{sourceTable:"bytes32"},schema:{keys0:"bytes32[]",keys1:"bytes32[]",keys2:"bytes32[]",keys3:"bytes32[]",keys4:"bytes32[]"}},UsedKeysIndex:{directory:"modules/keysintable/tables",keySchema:{sourceTable:"bytes32",keysHash:"bytes32"},schema:{has:"bool",index:"uint40"},dataStruct:!1},UniqueEntity:{directory:"modules/uniqueentity/tables",keySchema:{},schema:"uint256",tableIdArgument:!0,storeArgument:!0},Bool:{directory:"../test/tables",keySchema:{},schema:{value:"bool"},tableIdArgument:!0},AddressArray:{directory:"../test/tables",schema:"address[]",tableIdArgument:!0}},enums:{Resource:["NONE","NAMESPACE","TABLE","SYSTEM"]},excludeSystems:["UniqueEntitySystem","StoreRegistrationSystem","EphemeralRecordSystem"]});function T$2(_e){if(!isHex(_e))throw new Error(`entity ${_e} is not a hex string`);let et=size$1(_e);if(et%32!==0)throw new Error(`entity length ${et} is not a multiple of 32 bytes`);return new Array(et/32).fill(0).map((tt,rt)=>sliceHex(_e,rt*32,(rt+1)*32))}function ot(_e,et){let tt=T$2(et);if(tt.length!==Object.keys(_e).length)throw new Error(`entity key tuple length ${tt.length} does not match key schema length ${Object.keys(_e).length}`);return Object.fromEntries(Object.entries(_e).map(([rt,nt],it)=>[rt,decodeAbiParameters([{type:nt}],tt[it])[0]]))}function c$1(_e){return concatHex(_e)}function u$1(_e,et){if(Object.keys(_e).length!==Object.keys(et).length)throw new Error(`key length ${Object.keys(et).length} does not match key schema length ${Object.keys(_e).length}`);return c$1(Object.entries(_e).map(([tt,rt])=>encodeAbiParameters([{type:rt}],[et[tt]])))}function ut(_e){return _e.metadata?.componentName!=null&&_e.metadata?.tableName!=null&&_e.metadata?.keySchema!=null&&_e.metadata?.valueSchema!=null}var g$1=g$2.extend("recs");function b$1(_e){return u$1({address:"address",namespace:"bytes16",name:"bytes16"},{address:_e.address,namespace:stringToHex(_e.namespace,{size:16}),name:stringToHex(_e.name,{size:16})})}function R$1({components:_e}){let et=Object.fromEntries(Object.entries(_e).map(([tt,rt])=>[rt.id,rt]));return{async registerTables({tables:tt}){for(let rt of tt)E$3(_e.RegisteredTables,b$1(rt),{table:rt})},async getTables({tables:tt}){return tt.map(rt=>g$7(_e.RegisteredTables,b$1(rt))?.table).filter(P$7)},async storeOperations({operations:tt}){for(let rt of tt){let nt=g$7(_e.RegisteredTables,b$1({address:rt.address,namespace:rt.namespace,name:rt.name}))?.table;if(!nt){g$1(`skipping update for unknown table: ${rt.namespace}:${rt.name} at ${rt.address}`);continue}let it=He$1(rt.namespace,rt.name),at=et[it];if(!at){g$1(`skipping update for unknown component: ${it}. Available components: ${Object.keys(_e)}`);continue}let st=u$1(nt.keySchema,rt.key);rt.type==="SetRecord"?(g$1("setting component",it,st,rt.value),E$3(at,st,rt.value)):rt.type==="SetField"?(g$1("updating component",it,st,{[rt.fieldName]:rt.fieldValue}),ue$1(at,st,{[rt.fieldName]:rt.fieldValue},U$2(nt.valueSchema))):rt.type==="DeleteRecord"&&(g$1("deleting component",it,st),se$1(at,st))}}}}var f$1=c$1([]);function N$1(_e){return{RegisteredTables:ie$1(_e,{table:P$a.T},{metadata:{componentName:"RegisteredTables"}}),SyncProgress:ie$1(_e,{step:P$a.String,message:P$a.String,percentage:P$a.Number,latestBlockNumber:P$a.BigInt,lastBlockNumberProcessed:P$a.BigInt},{metadata:{componentName:"SyncProgress"}})}}var O$2={uint8:P$a.Number,uint16:P$a.Number,uint24:P$a.Number,uint32:P$a.Number,uint40:P$a.Number,uint48:P$a.Number,uint56:P$a.BigInt,uint64:P$a.BigInt,uint72:P$a.BigInt,uint80:P$a.BigInt,uint88:P$a.BigInt,uint96:P$a.BigInt,uint104:P$a.BigInt,uint112:P$a.BigInt,uint120:P$a.BigInt,uint128:P$a.BigInt,uint136:P$a.BigInt,uint144:P$a.BigInt,uint152:P$a.BigInt,uint160:P$a.BigInt,uint168:P$a.BigInt,uint176:P$a.BigInt,uint184:P$a.BigInt,uint192:P$a.BigInt,uint200:P$a.BigInt,uint208:P$a.BigInt,uint216:P$a.BigInt,uint224:P$a.BigInt,uint232:P$a.BigInt,uint240:P$a.BigInt,uint248:P$a.BigInt,uint256:P$a.BigInt,int8:P$a.Number,int16:P$a.Number,int24:P$a.Number,int32:P$a.Number,int40:P$a.Number,int48:P$a.Number,int56:P$a.BigInt,int64:P$a.BigInt,int72:P$a.BigInt,int80:P$a.BigInt,int88:P$a.BigInt,int96:P$a.BigInt,int104:P$a.BigInt,int112:P$a.BigInt,int120:P$a.BigInt,int128:P$a.BigInt,int136:P$a.BigInt,int144:P$a.BigInt,int152:P$a.BigInt,int160:P$a.BigInt,int168:P$a.BigInt,int176:P$a.BigInt,int184:P$a.BigInt,int192:P$a.BigInt,int200:P$a.BigInt,int208:P$a.BigInt,int216:P$a.BigInt,int224:P$a.BigInt,int232:P$a.BigInt,int240:P$a.BigInt,int248:P$a.BigInt,int256:P$a.BigInt,bytes1:P$a.String,bytes2:P$a.String,bytes3:P$a.String,bytes4:P$a.String,bytes5:P$a.String,bytes6:P$a.String,bytes7:P$a.String,bytes8:P$a.String,bytes9:P$a.String,bytes10:P$a.String,bytes11:P$a.String,bytes12:P$a.String,bytes13:P$a.String,bytes14:P$a.String,bytes15:P$a.String,bytes16:P$a.String,bytes17:P$a.String,bytes18:P$a.String,bytes19:P$a.String,bytes20:P$a.String,bytes21:P$a.String,bytes22:P$a.String,bytes23:P$a.String,bytes24:P$a.String,bytes25:P$a.String,bytes26:P$a.String,bytes27:P$a.String,bytes28:P$a.String,bytes29:P$a.String,bytes30:P$a.String,bytes31:P$a.String,bytes32:P$a.String,bool:P$a.Boolean,address:P$a.String,"uint8[]":P$a.NumberArray,"uint16[]":P$a.NumberArray,"uint24[]":P$a.NumberArray,"uint32[]":P$a.NumberArray,"uint40[]":P$a.NumberArray,"uint48[]":P$a.NumberArray,"uint56[]":P$a.BigIntArray,"uint64[]":P$a.BigIntArray,"uint72[]":P$a.BigIntArray,"uint80[]":P$a.BigIntArray,"uint88[]":P$a.BigIntArray,"uint96[]":P$a.BigIntArray,"uint104[]":P$a.BigIntArray,"uint112[]":P$a.BigIntArray,"uint120[]":P$a.BigIntArray,"uint128[]":P$a.BigIntArray,"uint136[]":P$a.BigIntArray,"uint144[]":P$a.BigIntArray,"uint152[]":P$a.BigIntArray,"uint160[]":P$a.BigIntArray,"uint168[]":P$a.BigIntArray,"uint176[]":P$a.BigIntArray,"uint184[]":P$a.BigIntArray,"uint192[]":P$a.BigIntArray,"uint200[]":P$a.BigIntArray,"uint208[]":P$a.BigIntArray,"uint216[]":P$a.BigIntArray,"uint224[]":P$a.BigIntArray,"uint232[]":P$a.BigIntArray,"uint240[]":P$a.BigIntArray,"uint248[]":P$a.BigIntArray,"uint256[]":P$a.BigIntArray,"int8[]":P$a.NumberArray,"int16[]":P$a.NumberArray,"int24[]":P$a.NumberArray,"int32[]":P$a.NumberArray,"int40[]":P$a.NumberArray,"int48[]":P$a.NumberArray,"int56[]":P$a.BigIntArray,"int64[]":P$a.BigIntArray,"int72[]":P$a.BigIntArray,"int80[]":P$a.BigIntArray,"int88[]":P$a.BigIntArray,"int96[]":P$a.BigIntArray,"int104[]":P$a.BigIntArray,"int112[]":P$a.BigIntArray,"int120[]":P$a.BigIntArray,"int128[]":P$a.BigIntArray,"int136[]":P$a.BigIntArray,"int144[]":P$a.BigIntArray,"int152[]":P$a.BigIntArray,"int160[]":P$a.BigIntArray,"int168[]":P$a.BigIntArray,"int176[]":P$a.BigIntArray,"int184[]":P$a.BigIntArray,"int192[]":P$a.BigIntArray,"int200[]":P$a.BigIntArray,"int208[]":P$a.BigIntArray,"int216[]":P$a.BigIntArray,"int224[]":P$a.BigIntArray,"int232[]":P$a.BigIntArray,"int240[]":P$a.BigIntArray,"int248[]":P$a.BigIntArray,"int256[]":P$a.BigIntArray,"bytes1[]":P$a.StringArray,"bytes2[]":P$a.StringArray,"bytes3[]":P$a.StringArray,"bytes4[]":P$a.StringArray,"bytes5[]":P$a.StringArray,"bytes6[]":P$a.StringArray,"bytes7[]":P$a.StringArray,"bytes8[]":P$a.StringArray,"bytes9[]":P$a.StringArray,"bytes10[]":P$a.StringArray,"bytes11[]":P$a.StringArray,"bytes12[]":P$a.StringArray,"bytes13[]":P$a.StringArray,"bytes14[]":P$a.StringArray,"bytes15[]":P$a.StringArray,"bytes16[]":P$a.StringArray,"bytes17[]":P$a.StringArray,"bytes18[]":P$a.StringArray,"bytes19[]":P$a.StringArray,"bytes20[]":P$a.StringArray,"bytes21[]":P$a.StringArray,"bytes22[]":P$a.StringArray,"bytes23[]":P$a.StringArray,"bytes24[]":P$a.StringArray,"bytes25[]":P$a.StringArray,"bytes26[]":P$a.StringArray,"bytes27[]":P$a.StringArray,"bytes28[]":P$a.StringArray,"bytes29[]":P$a.StringArray,"bytes30[]":P$a.StringArray,"bytes31[]":P$a.StringArray,"bytes32[]":P$a.StringArray,"bool[]":P$a.T,"address[]":P$a.StringArray,bytes:P$a.String,string:P$a.String};function S$2(_e,et){return Object.fromEntries(Object.entries(et.tables).map(([tt,rt])=>[tt,ie$1(_e,Object.fromEntries(Object.entries(rt.schema).map(([nt,it])=>[nt,O$2[it]])),{id:He$1(et.namespace,tt),metadata:{componentName:tt,tableName:`${et.namespace}:${tt}`,keySchema:rt.keySchema,valueSchema:rt.schema}})]))}async function ae$1({world:_e,config:et,address:tt,publicClient:rt,startBlock:nt,maxBlockRange:it,initialState:at,indexerUrl:st,startSync:lt=!0}){let dt={...S$2(_e,et),...S$2(_e,a$2),...S$2(_e,t$2),...N$1(_e)};_e.registerEntity({id:f$1});let ht=await be$1({storageAdapter:R$1({components:dt,config:et}),config:et,address:tt,publicClient:rt,startBlock:nt,maxBlockRange:it,indexerUrl:st,initialState:at,onProgress:({step:gt,percentage:vt,latestBlockNumber:bt,lastBlockNumberProcessed:yt,message:xt})=>{g$7(dt.SyncProgress,f$1)?.step!=="live"&&E$3(dt.SyncProgress,f$1,{step:gt,percentage:vt,latestBlockNumber:bt,lastBlockNumberProcessed:yt,message:xt})}}),pt=lt?ht.blockStorageOperations$.subscribe():null,mt=()=>{pt?.unsubscribe()};return _e.registerDisposer(mt),{...ht,components:dt,stopSync:mt}}var classnames={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(_e){(function(){var et={}.hasOwnProperty;function tt(){for(var rt=[],nt=0;nt1&&arguments[1]!==void 0?arguments[1]:{},tt=[];return React.Children.forEach(_e,function(rt){rt==null&&!et.keepEmpty||(Array.isArray(rt)?tt=tt.concat(toArray$1(rt)):reactIsExports.isFragment(rt)&&rt.props?tt=tt.concat(toArray$1(rt.props.children,et)):tt.push(rt))}),tt}var warned={},preMessage=function(et){};function warning$3(_e,et){}function note(_e,et){}function resetWarned(){warned={}}function call(_e,et,tt){!et&&!warned[tt]&&(_e(!1,tt),warned[tt]=!0)}function warningOnce(_e,et){call(warning$3,_e,et)}function noteOnce(_e,et){call(note,_e,et)}warningOnce.preMessage=preMessage;warningOnce.resetWarned=resetWarned;warningOnce.noteOnce=noteOnce;function _typeof$1(_e){"@babel/helpers - typeof";return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(et){return typeof et}:function(et){return et&&typeof Symbol=="function"&&et.constructor===Symbol&&et!==Symbol.prototype?"symbol":typeof et},_typeof$1(_e)}function _toPrimitive(_e,et){if(_typeof$1(_e)!=="object"||_e===null)return _e;var tt=_e[Symbol.toPrimitive];if(tt!==void 0){var rt=tt.call(_e,et||"default");if(_typeof$1(rt)!=="object")return rt;throw new TypeError("@@toPrimitive must return a primitive value.")}return(et==="string"?String:Number)(_e)}function _toPropertyKey(_e){var et=_toPrimitive(_e,"string");return _typeof$1(et)==="symbol"?et:String(et)}function _defineProperty$1(_e,et,tt){return et=_toPropertyKey(et),et in _e?Object.defineProperty(_e,et,{value:tt,enumerable:!0,configurable:!0,writable:!0}):_e[et]=tt,_e}function ownKeys$1(_e,et){var tt=Object.keys(_e);if(Object.getOwnPropertySymbols){var rt=Object.getOwnPropertySymbols(_e);et&&(rt=rt.filter(function(nt){return Object.getOwnPropertyDescriptor(_e,nt).enumerable})),tt.push.apply(tt,rt)}return tt}function _objectSpread2(_e){for(var et=1;et>>1,St=Mt[$t];if(0>>1;$tnt(Rt,Wt))Ytnt(Kt,Rt)?(Mt[$t]=Kt,Mt[Yt]=Wt,$t=Yt):(Mt[$t]=Rt,Mt[Vt]=Wt,$t=Vt);else if(Ytnt(Kt,Wt))Mt[$t]=Kt,Mt[Yt]=Wt,$t=Yt;else break e}}return Ut}function nt(Mt,Ut){var Wt=Mt.sortIndex-Ut.sortIndex;return Wt!==0?Wt:Mt.id-Ut.id}if(typeof performance=="object"&&typeof performance.now=="function"){var it=performance;_e.unstable_now=function(){return it.now()}}else{var at=Date,st=at.now();_e.unstable_now=function(){return at.now()-st}}var lt=[],dt=[],ht=1,pt=null,mt=3,gt=!1,vt=!1,bt=!1,yt=typeof setTimeout=="function"?setTimeout:null,xt=typeof clearTimeout=="function"?clearTimeout:null,wt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _t(Mt){for(var Ut=tt(dt);Ut!==null;){if(Ut.callback===null)rt(dt);else if(Ut.startTime<=Mt)rt(dt),Ut.sortIndex=Ut.expirationTime,et(lt,Ut);else break;Ut=tt(dt)}}function At(Mt){if(bt=!1,_t(Mt),!vt)if(tt(lt)!==null)vt=!0,Pt(Tt);else{var Ut=tt(dt);Ut!==null&&Ot(At,Ut.startTime-Mt)}}function Tt(Mt,Ut){vt=!1,bt&&(bt=!1,xt(Lt),Lt=-1),gt=!0;var Wt=mt;try{for(_t(Ut),pt=tt(lt);pt!==null&&(!(pt.expirationTime>Ut)||Mt&&!zt());){var $t=pt.callback;if(typeof $t=="function"){pt.callback=null,mt=pt.priorityLevel;var St=$t(pt.expirationTime<=Ut);Ut=_e.unstable_now(),typeof St=="function"?pt.callback=St:pt===tt(lt)&&rt(lt),_t(Ut)}else rt(lt);pt=tt(lt)}if(pt!==null)var Ft=!0;else{var Vt=tt(dt);Vt!==null&&Ot(At,Vt.startTime-Ut),Ft=!1}return Ft}finally{pt=null,mt=Wt,gt=!1}}var kt=!1,jt=null,Lt=-1,qt=5,Dt=-1;function zt(){return!(_e.unstable_now()-DtMt||125$t?(Mt.sortIndex=Wt,et(dt,Mt),tt(lt)===null&&Mt===tt(dt)&&(bt?(xt(Lt),Lt=-1):bt=!0,Ot(At,Wt-$t))):(Mt.sortIndex=St,et(lt,Mt),vt||gt||(vt=!0,Pt(Tt))),Mt},_e.unstable_shouldYield=zt,_e.unstable_wrapCallback=function(Mt){var Ut=mt;return function(){var Wt=mt;mt=Ut;try{return Mt.apply(this,arguments)}finally{mt=Wt}}}})(scheduler_production_min);scheduler.exports=scheduler_production_min;var schedulerExports=scheduler.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var aa=reactExports,ca=schedulerExports;function p(_e){for(var et="https://reactjs.org/docs/error-decoder.html?invariant="+_e,tt=1;tt"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,la={},ma={};function oa(_e){return ja.call(ma,_e)?!0:ja.call(la,_e)?!1:ka.test(_e)?ma[_e]=!0:(la[_e]=!0,!1)}function pa(_e,et,tt,rt){if(tt!==null&&tt.type===0)return!1;switch(typeof et){case"function":case"symbol":return!0;case"boolean":return rt?!1:tt!==null?!tt.acceptsBooleans:(_e=_e.toLowerCase().slice(0,5),_e!=="data-"&&_e!=="aria-");default:return!1}}function qa(_e,et,tt,rt){if(et===null||typeof et>"u"||pa(_e,et,tt,rt))return!0;if(rt)return!1;if(tt!==null)switch(tt.type){case 3:return!et;case 4:return et===!1;case 5:return isNaN(et);case 6:return isNaN(et)||1>et}return!1}function v$1(_e,et,tt,rt,nt,it,at){this.acceptsBooleans=et===2||et===3||et===4,this.attributeName=rt,this.attributeNamespace=nt,this.mustUseProperty=tt,this.propertyName=_e,this.type=et,this.sanitizeURL=it,this.removeEmptyString=at}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(_e){z$1[_e]=new v$1(_e,0,!1,_e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(_e){var et=_e[0];z$1[et]=new v$1(et,1,!1,_e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(_e){z$1[_e]=new v$1(_e,2,!1,_e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(_e){z$1[_e]=new v$1(_e,2,!1,_e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(_e){z$1[_e]=new v$1(_e,3,!1,_e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(_e){z$1[_e]=new v$1(_e,3,!0,_e,null,!1,!1)});["capture","download"].forEach(function(_e){z$1[_e]=new v$1(_e,4,!1,_e,null,!1,!1)});["cols","rows","size","span"].forEach(function(_e){z$1[_e]=new v$1(_e,6,!1,_e,null,!1,!1)});["rowSpan","start"].forEach(function(_e){z$1[_e]=new v$1(_e,5,!1,_e.toLowerCase(),null,!1,!1)});var ra=/[\-:]([a-z])/g;function sa(_e){return _e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(_e){var et=_e.replace(ra,sa);z$1[et]=new v$1(et,1,!1,_e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(_e){var et=_e.replace(ra,sa);z$1[et]=new v$1(et,1,!1,_e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(_e){var et=_e.replace(ra,sa);z$1[et]=new v$1(et,1,!1,_e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(_e){z$1[_e]=new v$1(_e,1,!1,_e.toLowerCase(),null,!1,!1)});z$1.xlinkHref=new v$1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(_e){z$1[_e]=new v$1(_e,1,!1,_e.toLowerCase(),null,!0,!0)});function ta(_e,et,tt,rt){var nt=z$1.hasOwnProperty(et)?z$1[et]:null;(nt!==null?nt.type!==0:rt||!(2st||nt[at]!==it[st]){var lt=` +`+nt[at].replace(" at new "," at ");return _e.displayName&<.includes("")&&(lt=lt.replace("",_e.displayName)),lt}while(1<=at&&0<=st);break}}}finally{Na=!1,Error.prepareStackTrace=tt}return(_e=_e?_e.displayName||_e.name:"")?Ma(_e):""}function Pa(_e){switch(_e.tag){case 5:return Ma(_e.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return _e=Oa(_e.type,!1),_e;case 11:return _e=Oa(_e.type.render,!1),_e;case 1:return _e=Oa(_e.type,!0),_e;default:return""}}function Qa(_e){if(_e==null)return null;if(typeof _e=="function")return _e.displayName||_e.name||null;if(typeof _e=="string")return _e;switch(_e){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof _e=="object")switch(_e.$$typeof){case Ca:return(_e.displayName||"Context")+".Consumer";case Ba:return(_e._context.displayName||"Context")+".Provider";case Da:var et=_e.render;return _e=_e.displayName,_e||(_e=et.displayName||et.name||"",_e=_e!==""?"ForwardRef("+_e+")":"ForwardRef"),_e;case Ga:return et=_e.displayName||null,et!==null?et:Qa(_e.type)||"Memo";case Ha:et=_e._payload,_e=_e._init;try{return Qa(_e(et))}catch{}}return null}function Ra(_e){var et=_e.type;switch(_e.tag){case 24:return"Cache";case 9:return(et.displayName||"Context")+".Consumer";case 10:return(et._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return _e=et.render,_e=_e.displayName||_e.name||"",et.displayName||(_e!==""?"ForwardRef("+_e+")":"ForwardRef");case 7:return"Fragment";case 5:return et;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(et);case 8:return et===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof et=="function")return et.displayName||et.name||null;if(typeof et=="string")return et}return null}function Sa(_e){switch(typeof _e){case"boolean":case"number":case"string":case"undefined":return _e;case"object":return _e;default:return""}}function Ta(_e){var et=_e.type;return(_e=_e.nodeName)&&_e.toLowerCase()==="input"&&(et==="checkbox"||et==="radio")}function Ua(_e){var et=Ta(_e)?"checked":"value",tt=Object.getOwnPropertyDescriptor(_e.constructor.prototype,et),rt=""+_e[et];if(!_e.hasOwnProperty(et)&&typeof tt<"u"&&typeof tt.get=="function"&&typeof tt.set=="function"){var nt=tt.get,it=tt.set;return Object.defineProperty(_e,et,{configurable:!0,get:function(){return nt.call(this)},set:function(at){rt=""+at,it.call(this,at)}}),Object.defineProperty(_e,et,{enumerable:tt.enumerable}),{getValue:function(){return rt},setValue:function(at){rt=""+at},stopTracking:function(){_e._valueTracker=null,delete _e[et]}}}}function Va(_e){_e._valueTracker||(_e._valueTracker=Ua(_e))}function Wa(_e){if(!_e)return!1;var et=_e._valueTracker;if(!et)return!0;var tt=et.getValue(),rt="";return _e&&(rt=Ta(_e)?_e.checked?"true":"false":_e.value),_e=rt,_e!==tt?(et.setValue(_e),!0):!1}function Xa(_e){if(_e=_e||(typeof document<"u"?document:void 0),typeof _e>"u")return null;try{return _e.activeElement||_e.body}catch{return _e.body}}function Ya(_e,et){var tt=et.checked;return A$1({},et,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:tt??_e._wrapperState.initialChecked})}function Za(_e,et){var tt=et.defaultValue==null?"":et.defaultValue,rt=et.checked!=null?et.checked:et.defaultChecked;tt=Sa(et.value!=null?et.value:tt),_e._wrapperState={initialChecked:rt,initialValue:tt,controlled:et.type==="checkbox"||et.type==="radio"?et.checked!=null:et.value!=null}}function ab(_e,et){et=et.checked,et!=null&&ta(_e,"checked",et,!1)}function bb(_e,et){ab(_e,et);var tt=Sa(et.value),rt=et.type;if(tt!=null)rt==="number"?(tt===0&&_e.value===""||_e.value!=tt)&&(_e.value=""+tt):_e.value!==""+tt&&(_e.value=""+tt);else if(rt==="submit"||rt==="reset"){_e.removeAttribute("value");return}et.hasOwnProperty("value")?cb(_e,et.type,tt):et.hasOwnProperty("defaultValue")&&cb(_e,et.type,Sa(et.defaultValue)),et.checked==null&&et.defaultChecked!=null&&(_e.defaultChecked=!!et.defaultChecked)}function db(_e,et,tt){if(et.hasOwnProperty("value")||et.hasOwnProperty("defaultValue")){var rt=et.type;if(!(rt!=="submit"&&rt!=="reset"||et.value!==void 0&&et.value!==null))return;et=""+_e._wrapperState.initialValue,tt||et===_e.value||(_e.value=et),_e.defaultValue=et}tt=_e.name,tt!==""&&(_e.name=""),_e.defaultChecked=!!_e._wrapperState.initialChecked,tt!==""&&(_e.name=tt)}function cb(_e,et,tt){(et!=="number"||Xa(_e.ownerDocument)!==_e)&&(tt==null?_e.defaultValue=""+_e._wrapperState.initialValue:_e.defaultValue!==""+tt&&(_e.defaultValue=""+tt))}var eb=Array.isArray;function fb(_e,et,tt,rt){if(_e=_e.options,et){et={};for(var nt=0;nt"+et.valueOf().toString()+"",et=mb.firstChild;_e.firstChild;)_e.removeChild(_e.firstChild);for(;et.firstChild;)_e.appendChild(et.firstChild)}});function ob(_e,et){if(et){var tt=_e.firstChild;if(tt&&tt===_e.lastChild&&tt.nodeType===3){tt.nodeValue=et;return}}_e.textContent=et}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(_e){qb.forEach(function(et){et=et+_e.charAt(0).toUpperCase()+_e.substring(1),pb[et]=pb[_e]})});function rb(_e,et,tt){return et==null||typeof et=="boolean"||et===""?"":tt||typeof et!="number"||et===0||pb.hasOwnProperty(_e)&&pb[_e]?(""+et).trim():et+"px"}function sb(_e,et){_e=_e.style;for(var tt in et)if(et.hasOwnProperty(tt)){var rt=tt.indexOf("--")===0,nt=rb(tt,et[tt],rt);tt==="float"&&(tt="cssFloat"),rt?_e.setProperty(tt,nt):_e[tt]=nt}}var tb=A$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(_e,et){if(et){if(tb[_e]&&(et.children!=null||et.dangerouslySetInnerHTML!=null))throw Error(p(137,_e));if(et.dangerouslySetInnerHTML!=null){if(et.children!=null)throw Error(p(60));if(typeof et.dangerouslySetInnerHTML!="object"||!("__html"in et.dangerouslySetInnerHTML))throw Error(p(61))}if(et.style!=null&&typeof et.style!="object")throw Error(p(62))}}function vb(_e,et){if(_e.indexOf("-")===-1)return typeof et.is=="string";switch(_e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(_e){return _e=_e.target||_e.srcElement||window,_e.correspondingUseElement&&(_e=_e.correspondingUseElement),_e.nodeType===3?_e.parentNode:_e}var yb=null,zb=null,Ab=null;function Bb(_e){if(_e=Cb(_e)){if(typeof yb!="function")throw Error(p(280));var et=_e.stateNode;et&&(et=Db(et),yb(_e.stateNode,_e.type,et))}}function Eb(_e){zb?Ab?Ab.push(_e):Ab=[_e]:zb=_e}function Fb(){if(zb){var _e=zb,et=Ab;if(Ab=zb=null,Bb(_e),et)for(_e=0;_e>>=0,_e===0?32:31-(pc(_e)/qc|0)|0}var rc=64,sc=4194304;function tc(_e){switch(_e&-_e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return _e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return _e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return _e}}function uc(_e,et){var tt=_e.pendingLanes;if(tt===0)return 0;var rt=0,nt=_e.suspendedLanes,it=_e.pingedLanes,at=tt&268435455;if(at!==0){var st=at&~nt;st!==0?rt=tc(st):(it&=at,it!==0&&(rt=tc(it)))}else at=tt&~nt,at!==0?rt=tc(at):it!==0&&(rt=tc(it));if(rt===0)return 0;if(et!==0&&et!==rt&&!(et&nt)&&(nt=rt&-rt,it=et&-et,nt>=it||nt===16&&(it&4194240)!==0))return et;if(rt&4&&(rt|=tt&16),et=_e.entangledLanes,et!==0)for(_e=_e.entanglements,et&=rt;0tt;tt++)et.push(_e);return et}function Ac(_e,et,tt){_e.pendingLanes|=et,et!==536870912&&(_e.suspendedLanes=0,_e.pingedLanes=0),_e=_e.eventTimes,et=31-oc(et),_e[et]=tt}function Bc(_e,et){var tt=_e.pendingLanes&~et;_e.pendingLanes=et,_e.suspendedLanes=0,_e.pingedLanes=0,_e.expiredLanes&=et,_e.mutableReadLanes&=et,_e.entangledLanes&=et,et=_e.entanglements;var rt=_e.eventTimes;for(_e=_e.expirationTimes;0=be),ee=String.fromCharCode(32),fe$1=!1;function ge(_e,et){switch(_e){case"keyup":return $d.indexOf(et.keyCode)!==-1;case"keydown":return et.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(_e){return _e=_e.detail,typeof _e=="object"&&"data"in _e?_e.data:null}var ie=!1;function je(_e,et){switch(_e){case"compositionend":return he(et);case"keypress":return et.which!==32?null:(fe$1=!0,ee);case"textInput":return _e=et.data,_e===ee&&fe$1?null:_e;default:return null}}function ke(_e,et){if(ie)return _e==="compositionend"||!ae&&ge(_e,et)?(_e=nd(),md=ld=kd=null,ie=!1,_e):null;switch(_e){case"paste":return null;case"keypress":if(!(et.ctrlKey||et.altKey||et.metaKey)||et.ctrlKey&&et.altKey){if(et.char&&1=et)return{node:tt,offset:et-_e};_e=rt}e:{for(;tt;){if(tt.nextSibling){tt=tt.nextSibling;break e}tt=tt.parentNode}tt=void 0}tt=Je(tt)}}function Le(_e,et){return _e&&et?_e===et?!0:_e&&_e.nodeType===3?!1:et&&et.nodeType===3?Le(_e,et.parentNode):"contains"in _e?_e.contains(et):_e.compareDocumentPosition?!!(_e.compareDocumentPosition(et)&16):!1:!1}function Me(){for(var _e=window,et=Xa();et instanceof _e.HTMLIFrameElement;){try{var tt=typeof et.contentWindow.location.href=="string"}catch{tt=!1}if(tt)_e=et.contentWindow;else break;et=Xa(_e.document)}return et}function Ne(_e){var et=_e&&_e.nodeName&&_e.nodeName.toLowerCase();return et&&(et==="input"&&(_e.type==="text"||_e.type==="search"||_e.type==="tel"||_e.type==="url"||_e.type==="password")||et==="textarea"||_e.contentEditable==="true")}function Oe$1(_e){var et=Me(),tt=_e.focusedElem,rt=_e.selectionRange;if(et!==tt&&tt&&tt.ownerDocument&&Le(tt.ownerDocument.documentElement,tt)){if(rt!==null&&Ne(tt)){if(et=rt.start,_e=rt.end,_e===void 0&&(_e=et),"selectionStart"in tt)tt.selectionStart=et,tt.selectionEnd=Math.min(_e,tt.value.length);else if(_e=(et=tt.ownerDocument||document)&&et.defaultView||window,_e.getSelection){_e=_e.getSelection();var nt=tt.textContent.length,it=Math.min(rt.start,nt);rt=rt.end===void 0?it:Math.min(rt.end,nt),!_e.extend&&it>rt&&(nt=rt,rt=it,it=nt),nt=Ke(tt,it);var at=Ke(tt,rt);nt&&at&&(_e.rangeCount!==1||_e.anchorNode!==nt.node||_e.anchorOffset!==nt.offset||_e.focusNode!==at.node||_e.focusOffset!==at.offset)&&(et=et.createRange(),et.setStart(nt.node,nt.offset),_e.removeAllRanges(),it>rt?(_e.addRange(et),_e.extend(at.node,at.offset)):(et.setEnd(at.node,at.offset),_e.addRange(et)))}}for(et=[],_e=tt;_e=_e.parentNode;)_e.nodeType===1&&et.push({element:_e,left:_e.scrollLeft,top:_e.scrollTop});for(typeof tt.focus=="function"&&tt.focus(),tt=0;tt=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(_e,et,tt){var rt=tt.window===tt?tt.document:tt.nodeType===9?tt:tt.ownerDocument;Te||Qe==null||Qe!==Xa(rt)||(rt=Qe,"selectionStart"in rt&&Ne(rt)?rt={start:rt.selectionStart,end:rt.selectionEnd}:(rt=(rt.ownerDocument&&rt.ownerDocument.defaultView||window).getSelection(),rt={anchorNode:rt.anchorNode,anchorOffset:rt.anchorOffset,focusNode:rt.focusNode,focusOffset:rt.focusOffset}),Se&&Ie(Se,rt)||(Se=rt,rt=oe(Re,"onSelect"),0Tf||(_e.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(_e,et){Tf++,Sf[Tf]=_e.current,_e.current=et}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(_e,et){var tt=_e.type.contextTypes;if(!tt)return Vf;var rt=_e.stateNode;if(rt&&rt.__reactInternalMemoizedUnmaskedChildContext===et)return rt.__reactInternalMemoizedMaskedChildContext;var nt={},it;for(it in tt)nt[it]=et[it];return rt&&(_e=_e.stateNode,_e.__reactInternalMemoizedUnmaskedChildContext=et,_e.__reactInternalMemoizedMaskedChildContext=nt),nt}function Zf(_e){return _e=_e.childContextTypes,_e!=null}function $f(){E(Wf),E(H)}function ag(_e,et,tt){if(H.current!==Vf)throw Error(p(168));G(H,et),G(Wf,tt)}function bg(_e,et,tt){var rt=_e.stateNode;if(et=et.childContextTypes,typeof rt.getChildContext!="function")return tt;rt=rt.getChildContext();for(var nt in rt)if(!(nt in et))throw Error(p(108,Ra(_e)||"Unknown",nt));return A$1({},tt,rt)}function cg(_e){return _e=(_e=_e.stateNode)&&_e.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,_e),G(Wf,Wf.current),!0}function dg(_e,et,tt){var rt=_e.stateNode;if(!rt)throw Error(p(169));tt?(_e=bg(_e,et,Xf),rt.__reactInternalMemoizedMergedChildContext=_e,E(Wf),E(H),G(H,_e)):E(Wf),G(Wf,tt)}var eg=null,fg=!1,gg=!1;function hg(_e){eg===null?eg=[_e]:eg.push(_e)}function ig(_e){fg=!0,hg(_e)}function jg(){if(!gg&&eg!==null){gg=!0;var _e=0,et=C;try{var tt=eg;for(C=1;_e>=at,nt-=at,rg=1<<32-oc(et)+nt|tt<Lt?(qt=jt,jt=null):qt=jt.sibling;var Dt=mt(xt,jt,_t[Lt],At);if(Dt===null){jt===null&&(jt=qt);break}_e&&jt&&Dt.alternate===null&&et(xt,jt),wt=it(Dt,wt,Lt),kt===null?Tt=Dt:kt.sibling=Dt,kt=Dt,jt=qt}if(Lt===_t.length)return tt(xt,jt),I&&tg(xt,Lt),Tt;if(jt===null){for(;Lt<_t.length;Lt++)jt=pt(xt,_t[Lt],At),jt!==null&&(wt=it(jt,wt,Lt),kt===null?Tt=jt:kt.sibling=jt,kt=jt);return I&&tg(xt,Lt),Tt}for(jt=rt(xt,jt);Lt<_t.length;Lt++)qt=gt(jt,xt,Lt,_t[Lt],At),qt!==null&&(_e&&qt.alternate!==null&&jt.delete(qt.key===null?Lt:qt.key),wt=it(qt,wt,Lt),kt===null?Tt=qt:kt.sibling=qt,kt=qt);return _e&&jt.forEach(function(zt){return et(xt,zt)}),I&&tg(xt,Lt),Tt}function bt(xt,wt,_t,At){var Tt=Ka(_t);if(typeof Tt!="function")throw Error(p(150));if(_t=Tt.call(_t),_t==null)throw Error(p(151));for(var kt=Tt=null,jt=wt,Lt=wt=0,qt=null,Dt=_t.next();jt!==null&&!Dt.done;Lt++,Dt=_t.next()){jt.index>Lt?(qt=jt,jt=null):qt=jt.sibling;var zt=mt(xt,jt,Dt.value,At);if(zt===null){jt===null&&(jt=qt);break}_e&&jt&&zt.alternate===null&&et(xt,jt),wt=it(zt,wt,Lt),kt===null?Tt=zt:kt.sibling=zt,kt=zt,jt=qt}if(Dt.done)return tt(xt,jt),I&&tg(xt,Lt),Tt;if(jt===null){for(;!Dt.done;Lt++,Dt=_t.next())Dt=pt(xt,Dt.value,At),Dt!==null&&(wt=it(Dt,wt,Lt),kt===null?Tt=Dt:kt.sibling=Dt,kt=Dt);return I&&tg(xt,Lt),Tt}for(jt=rt(xt,jt);!Dt.done;Lt++,Dt=_t.next())Dt=gt(jt,xt,Lt,Dt.value,At),Dt!==null&&(_e&&Dt.alternate!==null&&jt.delete(Dt.key===null?Lt:Dt.key),wt=it(Dt,wt,Lt),kt===null?Tt=Dt:kt.sibling=Dt,kt=Dt);return _e&&jt.forEach(function(Zt){return et(xt,Zt)}),I&&tg(xt,Lt),Tt}function yt(xt,wt,_t,At){if(typeof _t=="object"&&_t!==null&&_t.type===ya&&_t.key===null&&(_t=_t.props.children),typeof _t=="object"&&_t!==null){switch(_t.$$typeof){case va:e:{for(var Tt=_t.key,kt=wt;kt!==null;){if(kt.key===Tt){if(Tt=_t.type,Tt===ya){if(kt.tag===7){tt(xt,kt.sibling),wt=nt(kt,_t.props.children),wt.return=xt,xt=wt;break e}}else if(kt.elementType===Tt||typeof Tt=="object"&&Tt!==null&&Tt.$$typeof===Ha&&uh(Tt)===kt.type){tt(xt,kt.sibling),wt=nt(kt,_t.props),wt.ref=sh(xt,kt,_t),wt.return=xt,xt=wt;break e}tt(xt,kt);break}else et(xt,kt);kt=kt.sibling}_t.type===ya?(wt=Ah(_t.props.children,xt.mode,At,_t.key),wt.return=xt,xt=wt):(At=yh(_t.type,_t.key,_t.props,null,xt.mode,At),At.ref=sh(xt,wt,_t),At.return=xt,xt=At)}return at(xt);case wa:e:{for(kt=_t.key;wt!==null;){if(wt.key===kt)if(wt.tag===4&&wt.stateNode.containerInfo===_t.containerInfo&&wt.stateNode.implementation===_t.implementation){tt(xt,wt.sibling),wt=nt(wt,_t.children||[]),wt.return=xt,xt=wt;break e}else{tt(xt,wt);break}else et(xt,wt);wt=wt.sibling}wt=zh(_t,xt.mode,At),wt.return=xt,xt=wt}return at(xt);case Ha:return kt=_t._init,yt(xt,wt,kt(_t._payload),At)}if(eb(_t))return vt(xt,wt,_t,At);if(Ka(_t))return bt(xt,wt,_t,At);th(xt,_t)}return typeof _t=="string"&&_t!==""||typeof _t=="number"?(_t=""+_t,wt!==null&&wt.tag===6?(tt(xt,wt.sibling),wt=nt(wt,_t),wt.return=xt,xt=wt):(tt(xt,wt),wt=xh(_t,xt.mode,At),wt.return=xt,xt=wt),at(xt)):tt(xt,wt)}return yt}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(_e){if(_e===Dh)throw Error(p(174));return _e}function Ih(_e,et){switch(G(Gh,et),G(Fh,_e),G(Eh,Dh),_e=et.nodeType,_e){case 9:case 11:et=(et=et.documentElement)?et.namespaceURI:lb(null,"");break;default:_e=_e===8?et.parentNode:et,et=_e.namespaceURI||null,_e=_e.tagName,et=lb(et,_e)}E(Eh),G(Eh,et)}function Jh(){E(Eh),E(Fh),E(Gh)}function Kh(_e){Hh(Gh.current);var et=Hh(Eh.current),tt=lb(et,_e.type);et!==tt&&(G(Fh,_e),G(Eh,tt))}function Lh(_e){Fh.current===_e&&(E(Eh),E(Fh))}var M$2=Uf(0);function Mh(_e){for(var et=_e;et!==null;){if(et.tag===13){var tt=et.memoizedState;if(tt!==null&&(tt=tt.dehydrated,tt===null||tt.data==="$?"||tt.data==="$!"))return et}else if(et.tag===19&&et.memoizedProps.revealOrder!==void 0){if(et.flags&128)return et}else if(et.child!==null){et.child.return=et,et=et.child;continue}if(et===_e)break;for(;et.sibling===null;){if(et.return===null||et.return===_e)return null;et=et.return}et.sibling.return=et.return,et=et.sibling}return null}var Nh=[];function Oh(){for(var _e=0;_ett?tt:4,_e(!0);var rt=Qh.transition;Qh.transition={};try{_e(!1),et()}finally{C=tt,Qh.transition=rt}}function Fi(){return di().memoizedState}function Gi(_e,et,tt){var rt=lh(_e);if(tt={lane:rt,action:tt,hasEagerState:!1,eagerState:null,next:null},Hi(_e))Ii(et,tt);else if(tt=Yg(_e,et,tt,rt),tt!==null){var nt=L$1();mh(tt,_e,rt,nt),Ji(tt,et,rt)}}function ri(_e,et,tt){var rt=lh(_e),nt={lane:rt,action:tt,hasEagerState:!1,eagerState:null,next:null};if(Hi(_e))Ii(et,nt);else{var it=_e.alternate;if(_e.lanes===0&&(it===null||it.lanes===0)&&(it=et.lastRenderedReducer,it!==null))try{var at=et.lastRenderedState,st=it(at,tt);if(nt.hasEagerState=!0,nt.eagerState=st,He(st,at)){var lt=et.interleaved;lt===null?(nt.next=nt,Xg(et)):(nt.next=lt.next,lt.next=nt),et.interleaved=nt;return}}catch{}finally{}tt=Yg(_e,et,nt,rt),tt!==null&&(nt=L$1(),mh(tt,_e,rt,nt),Ji(tt,et,rt))}}function Hi(_e){var et=_e.alternate;return _e===N||et!==null&&et===N}function Ii(_e,et){Th=Sh=!0;var tt=_e.pending;tt===null?et.next=et:(et.next=tt.next,tt.next=et),_e.pending=et}function Ji(_e,et,tt){if(tt&4194240){var rt=et.lanes;rt&=_e.pendingLanes,tt|=rt,et.lanes=tt,Cc(_e,tt)}}var ai={readContext:Vg,useCallback:Q$1,useContext:Q$1,useEffect:Q$1,useImperativeHandle:Q$1,useInsertionEffect:Q$1,useLayoutEffect:Q$1,useMemo:Q$1,useReducer:Q$1,useRef:Q$1,useState:Q$1,useDebugValue:Q$1,useDeferredValue:Q$1,useTransition:Q$1,useMutableSource:Q$1,useSyncExternalStore:Q$1,useId:Q$1,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(_e,et){return ci().memoizedState=[_e,et===void 0?null:et],_e},useContext:Vg,useEffect:vi,useImperativeHandle:function(_e,et,tt){return tt=tt!=null?tt.concat([_e]):null,ti(4194308,4,yi.bind(null,et,_e),tt)},useLayoutEffect:function(_e,et){return ti(4194308,4,_e,et)},useInsertionEffect:function(_e,et){return ti(4,2,_e,et)},useMemo:function(_e,et){var tt=ci();return et=et===void 0?null:et,_e=_e(),tt.memoizedState=[_e,et],_e},useReducer:function(_e,et,tt){var rt=ci();return et=tt!==void 0?tt(et):et,rt.memoizedState=rt.baseState=et,_e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:_e,lastRenderedState:et},rt.queue=_e,_e=_e.dispatch=Gi.bind(null,N,_e),[rt.memoizedState,_e]},useRef:function(_e){var et=ci();return _e={current:_e},et.memoizedState=_e},useState:qi,useDebugValue:Ai,useDeferredValue:function(_e){return ci().memoizedState=_e},useTransition:function(){var _e=qi(!1),et=_e[0];return _e=Ei.bind(null,_e[1]),ci().memoizedState=_e,[et,_e]},useMutableSource:function(){},useSyncExternalStore:function(_e,et,tt){var rt=N,nt=ci();if(I){if(tt===void 0)throw Error(p(407));tt=tt()}else{if(tt=et(),R===null)throw Error(p(349));Rh&30||ni(rt,et,tt)}nt.memoizedState=tt;var it={value:tt,getSnapshot:et};return nt.queue=it,vi(ki.bind(null,rt,it,_e),[_e]),rt.flags|=2048,li(9,mi.bind(null,rt,it,tt,et),void 0,null),tt},useId:function(){var _e=ci(),et=R.identifierPrefix;if(I){var tt=sg,rt=rg;tt=(rt&~(1<<32-oc(rt)-1)).toString(32)+tt,et=":"+et+"R"+tt,tt=Uh++,0<\/script>",_e=_e.removeChild(_e.firstChild)):typeof rt.is=="string"?_e=at.createElement(tt,{is:rt.is}):(_e=at.createElement(tt),tt==="select"&&(at=_e,rt.multiple?at.multiple=!0:rt.size&&(at.size=rt.size))):_e=at.createElementNS(_e,tt),_e[Of]=et,_e[Pf]=rt,Aj(_e,et,!1,!1),et.stateNode=_e;e:{switch(at=vb(tt,rt),tt){case"dialog":D("cancel",_e),D("close",_e),nt=rt;break;case"iframe":case"object":case"embed":D("load",_e),nt=rt;break;case"video":case"audio":for(nt=0;ntHj&&(et.flags|=128,rt=!0,Ej(it,!1),et.lanes=4194304)}else{if(!rt)if(_e=Mh(at),_e!==null){if(et.flags|=128,rt=!0,tt=_e.updateQueue,tt!==null&&(et.updateQueue=tt,et.flags|=4),Ej(it,!0),it.tail===null&&it.tailMode==="hidden"&&!at.alternate&&!I)return S$1(et),null}else 2*B$1()-it.renderingStartTime>Hj&&tt!==1073741824&&(et.flags|=128,rt=!0,Ej(it,!1),et.lanes=4194304);it.isBackwards?(at.sibling=et.child,et.child=at):(tt=it.last,tt!==null?tt.sibling=at:et.child=at,it.last=at)}return it.tail!==null?(et=it.tail,it.rendering=et,it.tail=et.sibling,it.renderingStartTime=B$1(),et.sibling=null,tt=M$2.current,G(M$2,rt?tt&1|2:tt&1),et):(S$1(et),null);case 22:case 23:return Ij(),rt=et.memoizedState!==null,_e!==null&&_e.memoizedState!==null!==rt&&(et.flags|=8192),rt&&et.mode&1?gj&1073741824&&(S$1(et),et.subtreeFlags&6&&(et.flags|=8192)):S$1(et),null;case 24:return null;case 25:return null}throw Error(p(156,et.tag))}function Jj(_e,et){switch(wg(et),et.tag){case 1:return Zf(et.type)&&$f(),_e=et.flags,_e&65536?(et.flags=_e&-65537|128,et):null;case 3:return Jh(),E(Wf),E(H),Oh(),_e=et.flags,_e&65536&&!(_e&128)?(et.flags=_e&-65537|128,et):null;case 5:return Lh(et),null;case 13:if(E(M$2),_e=et.memoizedState,_e!==null&&_e.dehydrated!==null){if(et.alternate===null)throw Error(p(340));Ig()}return _e=et.flags,_e&65536?(et.flags=_e&-65537|128,et):null;case 19:return E(M$2),null;case 4:return Jh(),null;case 10:return Rg(et.type._context),null;case 22:case 23:return Ij(),null;case 24:return null;default:return null}}var Kj=!1,U$1=!1,Lj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Mj(_e,et){var tt=_e.ref;if(tt!==null)if(typeof tt=="function")try{tt(null)}catch(rt){W$1(_e,et,rt)}else tt.current=null}function Nj(_e,et,tt){try{tt()}catch(rt){W$1(_e,et,rt)}}var Oj=!1;function Pj(_e,et){if(Cf=dd,_e=Me(),Ne(_e)){if("selectionStart"in _e)var tt={start:_e.selectionStart,end:_e.selectionEnd};else e:{tt=(tt=_e.ownerDocument)&&tt.defaultView||window;var rt=tt.getSelection&&tt.getSelection();if(rt&&rt.rangeCount!==0){tt=rt.anchorNode;var nt=rt.anchorOffset,it=rt.focusNode;rt=rt.focusOffset;try{tt.nodeType,it.nodeType}catch{tt=null;break e}var at=0,st=-1,lt=-1,dt=0,ht=0,pt=_e,mt=null;t:for(;;){for(var gt;pt!==tt||nt!==0&&pt.nodeType!==3||(st=at+nt),pt!==it||rt!==0&&pt.nodeType!==3||(lt=at+rt),pt.nodeType===3&&(at+=pt.nodeValue.length),(gt=pt.firstChild)!==null;)mt=pt,pt=gt;for(;;){if(pt===_e)break t;if(mt===tt&&++dt===nt&&(st=at),mt===it&&++ht===rt&&(lt=at),(gt=pt.nextSibling)!==null)break;pt=mt,mt=pt.parentNode}pt=gt}tt=st===-1||lt===-1?null:{start:st,end:lt}}else tt=null}tt=tt||{start:0,end:0}}else tt=null;for(Df={focusedElem:_e,selectionRange:tt},dd=!1,V=et;V!==null;)if(et=V,_e=et.child,(et.subtreeFlags&1028)!==0&&_e!==null)_e.return=et,V=_e;else for(;V!==null;){et=V;try{var vt=et.alternate;if(et.flags&1024)switch(et.tag){case 0:case 11:case 15:break;case 1:if(vt!==null){var bt=vt.memoizedProps,yt=vt.memoizedState,xt=et.stateNode,wt=xt.getSnapshotBeforeUpdate(et.elementType===et.type?bt:Lg(et.type,bt),yt);xt.__reactInternalSnapshotBeforeUpdate=wt}break;case 3:var _t=et.stateNode.containerInfo;_t.nodeType===1?_t.textContent="":_t.nodeType===9&&_t.documentElement&&_t.removeChild(_t.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163))}}catch(At){W$1(et,et.return,At)}if(_e=et.sibling,_e!==null){_e.return=et.return,V=_e;break}V=et.return}return vt=Oj,Oj=!1,vt}function Qj(_e,et,tt){var rt=et.updateQueue;if(rt=rt!==null?rt.lastEffect:null,rt!==null){var nt=rt=rt.next;do{if((nt.tag&_e)===_e){var it=nt.destroy;nt.destroy=void 0,it!==void 0&&Nj(et,tt,it)}nt=nt.next}while(nt!==rt)}}function Rj(_e,et){if(et=et.updateQueue,et=et!==null?et.lastEffect:null,et!==null){var tt=et=et.next;do{if((tt.tag&_e)===_e){var rt=tt.create;tt.destroy=rt()}tt=tt.next}while(tt!==et)}}function Sj(_e){var et=_e.ref;if(et!==null){var tt=_e.stateNode;switch(_e.tag){case 5:_e=tt;break;default:_e=tt}typeof et=="function"?et(_e):et.current=_e}}function Tj(_e){var et=_e.alternate;et!==null&&(_e.alternate=null,Tj(et)),_e.child=null,_e.deletions=null,_e.sibling=null,_e.tag===5&&(et=_e.stateNode,et!==null&&(delete et[Of],delete et[Pf],delete et[of],delete et[Qf],delete et[Rf])),_e.stateNode=null,_e.return=null,_e.dependencies=null,_e.memoizedProps=null,_e.memoizedState=null,_e.pendingProps=null,_e.stateNode=null,_e.updateQueue=null}function Uj(_e){return _e.tag===5||_e.tag===3||_e.tag===4}function Vj(_e){e:for(;;){for(;_e.sibling===null;){if(_e.return===null||Uj(_e.return))return null;_e=_e.return}for(_e.sibling.return=_e.return,_e=_e.sibling;_e.tag!==5&&_e.tag!==6&&_e.tag!==18;){if(_e.flags&2||_e.child===null||_e.tag===4)continue e;_e.child.return=_e,_e=_e.child}if(!(_e.flags&2))return _e.stateNode}}function Wj(_e,et,tt){var rt=_e.tag;if(rt===5||rt===6)_e=_e.stateNode,et?tt.nodeType===8?tt.parentNode.insertBefore(_e,et):tt.insertBefore(_e,et):(tt.nodeType===8?(et=tt.parentNode,et.insertBefore(_e,tt)):(et=tt,et.appendChild(_e)),tt=tt._reactRootContainer,tt!=null||et.onclick!==null||(et.onclick=Bf));else if(rt!==4&&(_e=_e.child,_e!==null))for(Wj(_e,et,tt),_e=_e.sibling;_e!==null;)Wj(_e,et,tt),_e=_e.sibling}function Xj(_e,et,tt){var rt=_e.tag;if(rt===5||rt===6)_e=_e.stateNode,et?tt.insertBefore(_e,et):tt.appendChild(_e);else if(rt!==4&&(_e=_e.child,_e!==null))for(Xj(_e,et,tt),_e=_e.sibling;_e!==null;)Xj(_e,et,tt),_e=_e.sibling}var X=null,Yj=!1;function Zj(_e,et,tt){for(tt=tt.child;tt!==null;)ak(_e,et,tt),tt=tt.sibling}function ak(_e,et,tt){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,tt)}catch{}switch(tt.tag){case 5:U$1||Mj(tt,et);case 6:var rt=X,nt=Yj;X=null,Zj(_e,et,tt),X=rt,Yj=nt,X!==null&&(Yj?(_e=X,tt=tt.stateNode,_e.nodeType===8?_e.parentNode.removeChild(tt):_e.removeChild(tt)):X.removeChild(tt.stateNode));break;case 18:X!==null&&(Yj?(_e=X,tt=tt.stateNode,_e.nodeType===8?Kf(_e.parentNode,tt):_e.nodeType===1&&Kf(_e,tt),bd(_e)):Kf(X,tt.stateNode));break;case 4:rt=X,nt=Yj,X=tt.stateNode.containerInfo,Yj=!0,Zj(_e,et,tt),X=rt,Yj=nt;break;case 0:case 11:case 14:case 15:if(!U$1&&(rt=tt.updateQueue,rt!==null&&(rt=rt.lastEffect,rt!==null))){nt=rt=rt.next;do{var it=nt,at=it.destroy;it=it.tag,at!==void 0&&(it&2||it&4)&&Nj(tt,et,at),nt=nt.next}while(nt!==rt)}Zj(_e,et,tt);break;case 1:if(!U$1&&(Mj(tt,et),rt=tt.stateNode,typeof rt.componentWillUnmount=="function"))try{rt.props=tt.memoizedProps,rt.state=tt.memoizedState,rt.componentWillUnmount()}catch(st){W$1(tt,et,st)}Zj(_e,et,tt);break;case 21:Zj(_e,et,tt);break;case 22:tt.mode&1?(U$1=(rt=U$1)||tt.memoizedState!==null,Zj(_e,et,tt),U$1=rt):Zj(_e,et,tt);break;default:Zj(_e,et,tt)}}function bk(_e){var et=_e.updateQueue;if(et!==null){_e.updateQueue=null;var tt=_e.stateNode;tt===null&&(tt=_e.stateNode=new Lj),et.forEach(function(rt){var nt=ck.bind(null,_e,rt);tt.has(rt)||(tt.add(rt),rt.then(nt,nt))})}}function dk(_e,et){var tt=et.deletions;if(tt!==null)for(var rt=0;rtnt&&(nt=at),rt&=~it}if(rt=nt,rt=B$1()-rt,rt=(120>rt?120:480>rt?480:1080>rt?1080:1920>rt?1920:3e3>rt?3e3:4320>rt?4320:1960*mk(rt/1960))-rt,10_e?16:_e,xk===null)var rt=!1;else{if(_e=xk,xk=null,yk=0,K$1&6)throw Error(p(331));var nt=K$1;for(K$1|=4,V=_e.current;V!==null;){var it=V,at=it.child;if(V.flags&16){var st=it.deletions;if(st!==null){for(var lt=0;ltB$1()-gk?Lk(_e,0):sk|=tt),Ek(_e,et)}function Zk(_e,et){et===0&&(_e.mode&1?(et=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):et=1);var tt=L$1();_e=Zg(_e,et),_e!==null&&(Ac(_e,et,tt),Ek(_e,tt))}function vj(_e){var et=_e.memoizedState,tt=0;et!==null&&(tt=et.retryLane),Zk(_e,tt)}function ck(_e,et){var tt=0;switch(_e.tag){case 13:var rt=_e.stateNode,nt=_e.memoizedState;nt!==null&&(tt=nt.retryLane);break;case 19:rt=_e.stateNode;break;default:throw Error(p(314))}rt!==null&&rt.delete(et),Zk(_e,tt)}var Wk;Wk=function(_e,et,tt){if(_e!==null)if(_e.memoizedProps!==et.pendingProps||Wf.current)Ug=!0;else{if(!(_e.lanes&tt)&&!(et.flags&128))return Ug=!1,zj(_e,et,tt);Ug=!!(_e.flags&131072)}else Ug=!1,I&&et.flags&1048576&&ug(et,ng,et.index);switch(et.lanes=0,et.tag){case 2:var rt=et.type;jj(_e,et),_e=et.pendingProps;var nt=Yf(et,H.current);Tg(et,tt),nt=Xh(null,et,rt,_e,nt,tt);var it=bi();return et.flags|=1,typeof nt=="object"&&nt!==null&&typeof nt.render=="function"&&nt.$$typeof===void 0?(et.tag=1,et.memoizedState=null,et.updateQueue=null,Zf(rt)?(it=!0,cg(et)):it=!1,et.memoizedState=nt.state!==null&&nt.state!==void 0?nt.state:null,ah(et),nt.updater=nh,et.stateNode=nt,nt._reactInternals=et,rh(et,rt,_e,tt),et=kj(null,et,rt,!0,it,tt)):(et.tag=0,I&&it&&vg(et),Yi(null,et,nt,tt),et=et.child),et;case 16:rt=et.elementType;e:{switch(jj(_e,et),_e=et.pendingProps,nt=rt._init,rt=nt(rt._payload),et.type=rt,nt=et.tag=$k(rt),_e=Lg(rt,_e),nt){case 0:et=dj(null,et,rt,_e,tt);break e;case 1:et=ij(null,et,rt,_e,tt);break e;case 11:et=Zi(null,et,rt,_e,tt);break e;case 14:et=aj(null,et,rt,Lg(rt.type,_e),tt);break e}throw Error(p(306,rt,""))}return et;case 0:return rt=et.type,nt=et.pendingProps,nt=et.elementType===rt?nt:Lg(rt,nt),dj(_e,et,rt,nt,tt);case 1:return rt=et.type,nt=et.pendingProps,nt=et.elementType===rt?nt:Lg(rt,nt),ij(_e,et,rt,nt,tt);case 3:e:{if(lj(et),_e===null)throw Error(p(387));rt=et.pendingProps,it=et.memoizedState,nt=it.element,bh(_e,et),gh(et,rt,null,tt);var at=et.memoizedState;if(rt=at.element,it.isDehydrated)if(it={element:rt,isDehydrated:!1,cache:at.cache,pendingSuspenseBoundaries:at.pendingSuspenseBoundaries,transitions:at.transitions},et.updateQueue.baseState=it,et.memoizedState=it,et.flags&256){nt=Ki(Error(p(423)),et),et=mj(_e,et,rt,tt,nt);break e}else if(rt!==nt){nt=Ki(Error(p(424)),et),et=mj(_e,et,rt,tt,nt);break e}else for(yg=Lf(et.stateNode.containerInfo.firstChild),xg=et,I=!0,zg=null,tt=Ch(et,null,rt,tt),et.child=tt;tt;)tt.flags=tt.flags&-3|4096,tt=tt.sibling;else{if(Ig(),rt===nt){et=$i(_e,et,tt);break e}Yi(_e,et,rt,tt)}et=et.child}return et;case 5:return Kh(et),_e===null&&Eg(et),rt=et.type,nt=et.pendingProps,it=_e!==null?_e.memoizedProps:null,at=nt.children,Ef(rt,nt)?at=null:it!==null&&Ef(rt,it)&&(et.flags|=32),hj(_e,et),Yi(_e,et,at,tt),et.child;case 6:return _e===null&&Eg(et),null;case 13:return pj(_e,et,tt);case 4:return Ih(et,et.stateNode.containerInfo),rt=et.pendingProps,_e===null?et.child=Bh(et,null,rt,tt):Yi(_e,et,rt,tt),et.child;case 11:return rt=et.type,nt=et.pendingProps,nt=et.elementType===rt?nt:Lg(rt,nt),Zi(_e,et,rt,nt,tt);case 7:return Yi(_e,et,et.pendingProps,tt),et.child;case 8:return Yi(_e,et,et.pendingProps.children,tt),et.child;case 12:return Yi(_e,et,et.pendingProps.children,tt),et.child;case 10:e:{if(rt=et.type._context,nt=et.pendingProps,it=et.memoizedProps,at=nt.value,G(Mg,rt._currentValue),rt._currentValue=at,it!==null)if(He(it.value,at)){if(it.children===nt.children&&!Wf.current){et=$i(_e,et,tt);break e}}else for(it=et.child,it!==null&&(it.return=et);it!==null;){var st=it.dependencies;if(st!==null){at=it.child;for(var lt=st.firstContext;lt!==null;){if(lt.context===rt){if(it.tag===1){lt=ch(-1,tt&-tt),lt.tag=2;var dt=it.updateQueue;if(dt!==null){dt=dt.shared;var ht=dt.pending;ht===null?lt.next=lt:(lt.next=ht.next,ht.next=lt),dt.pending=lt}}it.lanes|=tt,lt=it.alternate,lt!==null&&(lt.lanes|=tt),Sg(it.return,tt,et),st.lanes|=tt;break}lt=lt.next}}else if(it.tag===10)at=it.type===et.type?null:it.child;else if(it.tag===18){if(at=it.return,at===null)throw Error(p(341));at.lanes|=tt,st=at.alternate,st!==null&&(st.lanes|=tt),Sg(at,tt,et),at=it.sibling}else at=it.child;if(at!==null)at.return=it;else for(at=it;at!==null;){if(at===et){at=null;break}if(it=at.sibling,it!==null){it.return=at.return,at=it;break}at=at.return}it=at}Yi(_e,et,nt.children,tt),et=et.child}return et;case 9:return nt=et.type,rt=et.pendingProps.children,Tg(et,tt),nt=Vg(nt),rt=rt(nt),et.flags|=1,Yi(_e,et,rt,tt),et.child;case 14:return rt=et.type,nt=Lg(rt,et.pendingProps),nt=Lg(rt.type,nt),aj(_e,et,rt,nt,tt);case 15:return cj(_e,et,et.type,et.pendingProps,tt);case 17:return rt=et.type,nt=et.pendingProps,nt=et.elementType===rt?nt:Lg(rt,nt),jj(_e,et),et.tag=1,Zf(rt)?(_e=!0,cg(et)):_e=!1,Tg(et,tt),ph(et,rt,nt),rh(et,rt,nt,tt),kj(null,et,rt,!0,_e,tt);case 19:return yj(_e,et,tt);case 22:return ej(_e,et,tt)}throw Error(p(156,et.tag))};function Gk(_e,et){return ac(_e,et)}function al(_e,et,tt,rt){this.tag=_e,this.key=tt,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=et,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=rt,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(_e,et,tt,rt){return new al(_e,et,tt,rt)}function bj(_e){return _e=_e.prototype,!(!_e||!_e.isReactComponent)}function $k(_e){if(typeof _e=="function")return bj(_e)?1:0;if(_e!=null){if(_e=_e.$$typeof,_e===Da)return 11;if(_e===Ga)return 14}return 2}function wh(_e,et){var tt=_e.alternate;return tt===null?(tt=Bg(_e.tag,et,_e.key,_e.mode),tt.elementType=_e.elementType,tt.type=_e.type,tt.stateNode=_e.stateNode,tt.alternate=_e,_e.alternate=tt):(tt.pendingProps=et,tt.type=_e.type,tt.flags=0,tt.subtreeFlags=0,tt.deletions=null),tt.flags=_e.flags&14680064,tt.childLanes=_e.childLanes,tt.lanes=_e.lanes,tt.child=_e.child,tt.memoizedProps=_e.memoizedProps,tt.memoizedState=_e.memoizedState,tt.updateQueue=_e.updateQueue,et=_e.dependencies,tt.dependencies=et===null?null:{lanes:et.lanes,firstContext:et.firstContext},tt.sibling=_e.sibling,tt.index=_e.index,tt.ref=_e.ref,tt}function yh(_e,et,tt,rt,nt,it){var at=2;if(rt=_e,typeof _e=="function")bj(_e)&&(at=1);else if(typeof _e=="string")at=5;else e:switch(_e){case ya:return Ah(tt.children,nt,it,et);case za:at=8,nt|=8;break;case Aa:return _e=Bg(12,tt,et,nt|2),_e.elementType=Aa,_e.lanes=it,_e;case Ea:return _e=Bg(13,tt,et,nt),_e.elementType=Ea,_e.lanes=it,_e;case Fa:return _e=Bg(19,tt,et,nt),_e.elementType=Fa,_e.lanes=it,_e;case Ia:return qj(tt,nt,it,et);default:if(typeof _e=="object"&&_e!==null)switch(_e.$$typeof){case Ba:at=10;break e;case Ca:at=9;break e;case Da:at=11;break e;case Ga:at=14;break e;case Ha:at=16,rt=null;break e}throw Error(p(130,_e==null?_e:typeof _e,""))}return et=Bg(at,tt,et,nt),et.elementType=_e,et.type=rt,et.lanes=it,et}function Ah(_e,et,tt,rt){return _e=Bg(7,_e,rt,et),_e.lanes=tt,_e}function qj(_e,et,tt,rt){return _e=Bg(22,_e,rt,et),_e.elementType=Ia,_e.lanes=tt,_e.stateNode={isHidden:!1},_e}function xh(_e,et,tt){return _e=Bg(6,_e,null,et),_e.lanes=tt,_e}function zh(_e,et,tt){return et=Bg(4,_e.children!==null?_e.children:[],_e.key,et),et.lanes=tt,et.stateNode={containerInfo:_e.containerInfo,pendingChildren:null,implementation:_e.implementation},et}function bl(_e,et,tt,rt,nt){this.tag=et,this.containerInfo=_e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=rt,this.onRecoverableError=nt,this.mutableSourceEagerHydrationData=null}function cl(_e,et,tt,rt,nt,it,at,st,lt){return _e=new bl(_e,et,tt,st,lt),et===1?(et=1,it===!0&&(et|=8)):et=0,it=Bg(3,null,null,et),_e.current=it,it.stateNode=_e,it.memoizedState={element:rt,isDehydrated:tt,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(it),_e}function dl(_e,et,tt){var rt=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(_e){console.error(_e)}}checkDCE(),reactDom.exports=reactDom_production_min;var reactDomExports=reactDom.exports;const ReactDOM=getDefaultExportFromCjs(reactDomExports),ReactDOM$1=_mergeNamespaces({__proto__:null,default:ReactDOM},[reactDomExports]);function isDOM(_e){return _e instanceof HTMLElement||_e instanceof SVGElement}function findDOMNode(_e){return isDOM(_e)?_e:_e instanceof React.Component?ReactDOM.findDOMNode(_e):null}function _classCallCheck$1(_e,et){if(!(_e instanceof et))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1(_e,et){for(var tt=0;tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _assertThisInitialized$1(_e){if(_e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _e}function _possibleConstructorReturn$1(_e,et){if(et&&(_typeof$1(et)==="object"||typeof et=="function"))return et;if(et!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized$1(_e)}function _createSuper$1(_e){var et=_isNativeReflectConstruct$2();return function(){var rt=_getPrototypeOf$2(_e),nt;if(et){var it=_getPrototypeOf$2(this).constructor;nt=Reflect.construct(rt,arguments,it)}else nt=rt.apply(this,arguments);return _possibleConstructorReturn$1(this,nt)}}function omit(_e,et){var tt=_objectSpread2({},_e);return Array.isArray(et)&&et.forEach(function(rt){delete tt[rt]}),tt}function _arrayLikeToArray(_e,et){(et==null||et>_e.length)&&(et=_e.length);for(var tt=0,rt=new Array(et);tt1&&arguments[1]!==void 0?arguments[1]:1;rafUUID+=1;var rt=rafUUID;function nt(it){if(it===0)cleanup(rt),et();else{var at=raf(function(){nt(it-1)});rafIds.set(rt,at)}}return nt(tt),rt};wrapperRaf.cancel=function(_e){var et=rafIds.get(_e);return cleanup(et),caf(et)};function murmur2(_e){for(var et=0,tt,rt=0,nt=_e.length;nt>=4;++rt,nt-=4)tt=_e.charCodeAt(rt)&255|(_e.charCodeAt(++rt)&255)<<8|(_e.charCodeAt(++rt)&255)<<16|(_e.charCodeAt(++rt)&255)<<24,tt=(tt&65535)*1540483477+((tt>>>16)*59797<<16),tt^=tt>>>24,et=(tt&65535)*1540483477+((tt>>>16)*59797<<16)^(et&65535)*1540483477+((et>>>16)*59797<<16);switch(nt){case 3:et^=(_e.charCodeAt(rt+2)&255)<<16;case 2:et^=(_e.charCodeAt(rt+1)&255)<<8;case 1:et^=_e.charCodeAt(rt)&255,et=(et&65535)*1540483477+((et>>>16)*59797<<16)}return et^=et>>>13,et=(et&65535)*1540483477+((et>>>16)*59797<<16),((et^et>>>15)>>>0).toString(36)}function _objectWithoutPropertiesLoose$1(_e,et){if(_e==null)return{};var tt={},rt=Object.keys(_e),nt,it;for(it=0;it=0)&&(tt[nt]=_e[nt]);return tt}function _objectWithoutProperties$1(_e,et){if(_e==null)return{};var tt=_objectWithoutPropertiesLoose$1(_e,et),rt,nt;if(Object.getOwnPropertySymbols){var it=Object.getOwnPropertySymbols(_e);for(nt=0;nt=0)&&Object.prototype.propertyIsEnumerable.call(_e,rt)&&(tt[rt]=_e[rt])}return tt}function isEqual(_e,et){var tt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,rt=new Set;function nt(it,at){var st=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,lt=rt.has(it);if(warningOnce(!lt,"Warning: There may be circular references"),lt)return!1;if(it===at)return!0;if(tt&&st>1)return!1;rt.add(it);var dt=st+1;if(Array.isArray(it)){if(!Array.isArray(at)||it.length!==at.length)return!1;for(var ht=0;ht0&&arguments[0]!==void 0?arguments[0]:{},et=_e.mark;return et?et.startsWith("data-")?et:"data-".concat(et):MARK_KEY}function getContainer(_e){if(_e.attachTo)return _e.attachTo;var et=document.querySelector("head");return et||document.body}function getOrder(_e){return _e==="queue"?"prependQueue":_e?"prepend":"append"}function findStyles(_e){return Array.from((containerCache.get(_e)||_e).children).filter(function(et){return et.tagName==="STYLE"})}function injectCSS(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!canUseDom())return null;var tt=et.csp,rt=et.prepend,nt=et.priority,it=nt===void 0?0:nt,at=getOrder(rt),st=at==="prependQueue",lt=document.createElement("style");lt.setAttribute(APPEND_ORDER,at),st&&it&<.setAttribute(APPEND_PRIORITY,"".concat(it)),tt!=null&&tt.nonce&&(lt.nonce=tt?.nonce),lt.innerHTML=_e;var dt=getContainer(et),ht=dt.firstChild;if(rt){if(st){var pt=findStyles(dt).filter(function(mt){if(!["prepend","prependQueue"].includes(mt.getAttribute(APPEND_ORDER)))return!1;var gt=Number(mt.getAttribute(APPEND_PRIORITY)||0);return it>=gt});if(pt.length)return dt.insertBefore(lt,pt[pt.length-1].nextSibling),lt}dt.insertBefore(lt,ht)}else dt.appendChild(lt);return lt}function findExistNode(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tt=getContainer(et);return findStyles(tt).find(function(rt){return rt.getAttribute(getMark(et))===_e})}function removeCSS(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tt=findExistNode(_e,et);if(tt){var rt=getContainer(et);rt.removeChild(tt)}}function syncRealContainer(_e,et){var tt=containerCache.get(_e);if(!tt||!contains(document,tt)){var rt=injectCSS("",et),nt=rt.parentNode;containerCache.set(_e,nt),_e.removeChild(rt)}}function updateCSS(_e,et){var tt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},rt=getContainer(tt);syncRealContainer(rt,tt);var nt=findExistNode(et,tt);if(nt){var it,at;if((it=tt.csp)!==null&&it!==void 0&&it.nonce&&nt.nonce!==((at=tt.csp)===null||at===void 0?void 0:at.nonce)){var st;nt.nonce=(st=tt.csp)===null||st===void 0?void 0:st.nonce}return nt.innerHTML!==_e&&(nt.innerHTML=_e),nt}var lt=injectCSS(_e,tt);return lt.setAttribute(getMark(tt),et),lt}function _arrayWithHoles(_e){if(Array.isArray(_e))return _e}function _iterableToArrayLimit(_e,et){var tt=_e==null?null:typeof Symbol<"u"&&_e[Symbol.iterator]||_e["@@iterator"];if(tt!=null){var rt,nt,it,at,st=[],lt=!0,dt=!1;try{if(it=(tt=tt.call(_e)).next,et===0){if(Object(tt)!==tt)return;lt=!1}else for(;!(lt=(rt=it.call(tt)).done)&&(st.push(rt.value),st.length!==et);lt=!0);}catch(ht){dt=!0,nt=ht}finally{try{if(!lt&&tt.return!=null&&(at=tt.return(),Object(at)!==at))return}finally{if(dt)throw nt}}return st}}function _nonIterableRest(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _slicedToArray(_e,et){return _arrayWithHoles(_e)||_iterableToArrayLimit(_e,et)||_unsupportedIterableToArray(_e,et)||_nonIterableRest()}function sameDerivativeOption(_e,et){if(_e.length!==et.length)return!1;for(var tt=0;tt<_e.length;tt++)if(_e[tt]!==et[tt])return!1;return!0}var ThemeCache=function(){function _e(){_classCallCheck$1(this,_e),_defineProperty$1(this,"cache",void 0),_defineProperty$1(this,"keys",void 0),_defineProperty$1(this,"cacheCallTimes",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return _createClass$1(_e,[{key:"size",value:function(){return this.keys.length}},{key:"internalGet",value:function(tt){var rt,nt,it=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,at={map:this.cache};return tt.forEach(function(st){if(!at)at=void 0;else{var lt,dt;at=(lt=at)===null||lt===void 0||(dt=lt.map)===null||dt===void 0?void 0:dt.get(st)}}),(rt=at)!==null&&rt!==void 0&&rt.value&&it&&(at.value[1]=this.cacheCallTimes++),(nt=at)===null||nt===void 0?void 0:nt.value}},{key:"get",value:function(tt){var rt;return(rt=this.internalGet(tt,!0))===null||rt===void 0?void 0:rt[0]}},{key:"has",value:function(tt){return!!this.internalGet(tt)}},{key:"set",value:function(tt,rt){var nt=this;if(!this.has(tt)){if(this.size()+1>_e.MAX_CACHE_SIZE+_e.MAX_CACHE_OFFSET){var it=this.keys.reduce(function(dt,ht){var pt=_slicedToArray(dt,2),mt=pt[1];return nt.internalGet(ht)[1]0,void 0),uuid$3+=1}return _createClass$1(_e,[{key:"getDerivativeToken",value:function(tt){return this.derivatives.reduce(function(rt,nt){return nt(tt,rt)},void 0)}}]),_e}(),cacheThemes=new ThemeCache;function createTheme(_e){var et=Array.isArray(_e)?_e:[_e];return cacheThemes.has(et)||cacheThemes.set(et,new Theme(et)),cacheThemes.get(et)}var resultCache=new WeakMap,RESULT_VALUE={};function memoResult(_e,et){for(var tt=resultCache,rt=0;rtTOKEN_THRESHOLD&&rt.forEach(function(nt){removeStyleTags(nt,et),tokenKeys.delete(nt)})}var getComputedToken$1=function(et,tt,rt,nt){var it=rt.getDerivativeToken(et),at=_objectSpread2(_objectSpread2({},it),tt);return nt&&(at=nt(at)),at};function useCacheToken(_e,et){var tt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},rt=reactExports.useContext(StyleContext$1),nt=rt.cache.instanceId,it=tt.salt,at=it===void 0?"":it,st=tt.override,lt=st===void 0?EMPTY_OVERRIDE:st,dt=tt.formatToken,ht=tt.getComputedToken,pt=memoResult(function(){return Object.assign.apply(Object,[{}].concat(_toConsumableArray(et)))},et),mt=flattenToken(pt),gt=flattenToken(lt),vt=useGlobalCache("token",[at,_e.id,mt,gt],function(){var bt=ht?ht(pt,lt,_e):getComputedToken$1(pt,lt,_e,dt),yt=token2key(bt,at);bt._tokenKey=yt,recordCleanToken(yt);var xt="".concat(hashPrefix,"-").concat(murmur2(yt));return bt._hashId=xt,[bt,xt]},function(bt){cleanTokenStyle(bt[0]._tokenKey,nt)});return vt}var unitlessKeys={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},COMMENT="comm",RULESET="rule",DECLARATION="decl",IMPORT="@import",KEYFRAMES="@keyframes",LAYER="@layer",abs=Math.abs,from=String.fromCharCode;function trim(_e){return _e.trim()}function replace(_e,et,tt){return _e.replace(et,tt)}function indexof(_e,et){return _e.indexOf(et)}function charat(_e,et){return _e.charCodeAt(et)|0}function substr(_e,et,tt){return _e.slice(et,tt)}function strlen(_e){return _e.length}function sizeof(_e){return _e.length}function append(_e,et){return et.push(_e),_e}var line$1=1,column=1,length=0,position=0,character=0,characters="";function node(_e,et,tt,rt,nt,it,at,st){return{value:_e,root:et,parent:tt,type:rt,props:nt,children:it,line:line$1,column,length:at,return:"",siblings:st}}function char(){return character}function prev(){return character=position>0?charat(characters,--position):0,column--,character===10&&(column=1,line$1--),character}function next(){return character=position2||token(character)>3?"":" "}function escaping(_e,et){for(;--et&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(_e,caret()+(et<6&&peek()==32&&next()==32))}function delimiter(_e){for(;next();)switch(character){case _e:return position;case 34:case 39:_e!==34&&_e!==39&&delimiter(character);break;case 40:_e===41&&delimiter(_e);break;case 92:next();break}return position}function commenter(_e,et){for(;next()&&_e+character!==47+10;)if(_e+character===42+42&&peek()===47)break;return"/*"+slice(et,position-1)+"*"+from(_e===47?_e:next())}function identifier(_e){for(;!token(peek());)next();return slice(_e,position)}function compile(_e){return dealloc(parse("",null,null,null,[""],_e=alloc(_e),0,[0],_e))}function parse(_e,et,tt,rt,nt,it,at,st,lt){for(var dt=0,ht=0,pt=at,mt=0,gt=0,vt=0,bt=1,yt=1,xt=1,wt=0,_t="",At=nt,Tt=it,kt=rt,jt=_t;yt;)switch(vt=wt,wt=next()){case 40:if(vt!=108&&charat(jt,pt-1)==58){indexof(jt+=replace(delimit(wt),"&","&\f"),"&\f")!=-1&&(xt=-1);break}case 34:case 39:case 91:jt+=delimit(wt);break;case 9:case 10:case 13:case 32:jt+=whitespace$1(vt);break;case 92:jt+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),et,tt,lt),lt);break;default:jt+="/"}break;case 123*bt:st[dt++]=strlen(jt)*xt;case 125*bt:case 59:case 0:switch(wt){case 0:case 125:yt=0;case 59+ht:xt==-1&&(jt=replace(jt,/\f/g,"")),gt>0&&strlen(jt)-pt&&append(gt>32?declaration(jt+";",rt,tt,pt-1,lt):declaration(replace(jt," ","")+";",rt,tt,pt-2,lt),lt);break;case 59:jt+=";";default:if(append(kt=ruleset(jt,et,tt,dt,ht,nt,st,_t,At=[],Tt=[],pt,it),it),wt===123)if(ht===0)parse(jt,et,kt,kt,At,it,pt,st,Tt);else switch(mt===99&&charat(jt,3)===110?100:mt){case 100:case 108:case 109:case 115:parse(_e,kt,kt,rt&&append(ruleset(_e,kt,kt,0,0,nt,st,_t,nt,At=[],pt,Tt),Tt),nt,Tt,pt,st,rt?At:Tt);break;default:parse(jt,kt,kt,kt,[""],Tt,0,st,Tt)}}dt=ht=gt=0,bt=xt=1,_t=jt="",pt=at;break;case 58:pt=1+strlen(jt),gt=vt;default:if(bt<1){if(wt==123)--bt;else if(wt==125&&bt++==0&&prev()==125)continue}switch(jt+=from(wt),wt*bt){case 38:xt=ht>0?1:(jt+="\f",-1);break;case 44:st[dt++]=(strlen(jt)-1)*xt,xt=1;break;case 64:peek()===45&&(jt+=delimit(next())),mt=peek(),ht=pt=strlen(_t=jt+=identifier(caret())),wt++;break;case 45:vt===45&&strlen(jt)==2&&(bt=0)}}return it}function ruleset(_e,et,tt,rt,nt,it,at,st,lt,dt,ht,pt){for(var mt=nt-1,gt=nt===0?it:[""],vt=sizeof(gt),bt=0,yt=0,xt=0;bt0?gt[wt]+" "+_t:replace(_t,/&\f/g,gt[wt])))&&(lt[xt++]=At);return node(_e,et,tt,nt===0?RULESET:st,lt,dt,ht,pt)}function comment(_e,et,tt,rt){return node(_e,et,tt,COMMENT,from(char()),substr(_e,2,-2),0,rt)}function declaration(_e,et,tt,rt,nt){return node(_e,et,tt,DECLARATION,substr(_e,0,rt),substr(_e,rt+1,-1),rt,nt)}function serialize(_e,et){for(var tt="",rt=0;rt<_e.length;rt++)tt+=et(_e[rt],rt,_e,et)||"";return tt}function stringify$1(_e,et,tt,rt){switch(_e.type){case LAYER:if(_e.children.length)break;case IMPORT:case DECLARATION:return _e.return=_e.return||_e.value;case COMMENT:return"";case KEYFRAMES:return _e.return=_e.value+"{"+serialize(_e.children,rt)+"}";case RULESET:if(!strlen(_e.value=_e.props.join(",")))return""}return strlen(tt=serialize(_e.children,rt))?_e.return=_e.value+"{"+tt+"}":""}var ATTR_CACHE_MAP="data-ant-cssinjs-cache-path",CSS_FILE_STYLE="_FILE_STYLE__",cachePathMap,fromCSSFile=!0;function prepare(){if(!cachePathMap&&(cachePathMap={},canUseDom())){var _e=document.createElement("div");_e.className=ATTR_CACHE_MAP,_e.style.position="fixed",_e.style.visibility="hidden",_e.style.top="-9999px",document.body.appendChild(_e);var et=getComputedStyle(_e).content||"";et=et.replace(/^"/,"").replace(/"$/,""),et.split(";").forEach(function(nt){var it=nt.split(":"),at=_slicedToArray(it,2),st=at[0],lt=at[1];cachePathMap[st]=lt});var tt=document.querySelector("style[".concat(ATTR_CACHE_MAP,"]"));if(tt){var rt;fromCSSFile=!1,(rt=tt.parentNode)===null||rt===void 0||rt.removeChild(tt)}document.body.removeChild(_e)}}function existPath(_e){return prepare(),!!cachePathMap[_e]}function getStyleAndHash(_e){var et=cachePathMap[_e],tt=null;if(et&&canUseDom())if(fromCSSFile)tt=CSS_FILE_STYLE;else{var rt=document.querySelector("style[".concat(ATTR_MARK,'="').concat(cachePathMap[_e],'"]'));rt?tt=rt.innerHTML:delete cachePathMap[_e]}return[tt,et]}var isClientSide=canUseDom(),SKIP_CHECK="_skip_check_",MULTI_VALUE="_multi_value_";function normalizeStyle(_e){var et=serialize(compile(_e),stringify$1);return et.replace(/\{%%%\:[^;];}/g,";")}function isCompoundCSSProperty(_e){return _typeof$1(_e)==="object"&&_e&&(SKIP_CHECK in _e||MULTI_VALUE in _e)}function injectSelectorHash(_e,et,tt){if(!et)return _e;var rt=".".concat(et),nt=tt==="low"?":where(".concat(rt,")"):rt,it=_e.split(",").map(function(at){var st,lt=at.trim().split(/\s+/),dt=lt[0]||"",ht=((st=dt.match(/^\w+/))===null||st===void 0?void 0:st[0])||"";return dt="".concat(ht).concat(nt).concat(dt.slice(ht.length)),[dt].concat(_toConsumableArray(lt.slice(1))).join(" ")});return it.join(",")}var parseStyle=function _e(et){var tt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},rt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},nt=rt.root,it=rt.injectHash,at=rt.parentSelectors,st=tt.hashId,lt=tt.layer;tt.path;var dt=tt.hashPriority,ht=tt.transformers,pt=ht===void 0?[]:ht;tt.linters;var mt="",gt={};function vt(_t){var At=_t.getName(st);if(!gt[At]){var Tt=_e(_t.style,tt,{root:!1,parentSelectors:at}),kt=_slicedToArray(Tt,1),jt=kt[0];gt[At]="@keyframes ".concat(_t.getName(st)).concat(jt)}}function bt(_t){var At=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return _t.forEach(function(Tt){Array.isArray(Tt)?bt(Tt,At):Tt&&At.push(Tt)}),At}var yt=bt(Array.isArray(et)?et:[et]);if(yt.forEach(function(_t){var At=typeof _t=="string"&&!nt?{}:_t;if(typeof At=="string")mt+="".concat(At,` +`);else if(At._keyframe)vt(At);else{var Tt=pt.reduce(function(kt,jt){var Lt;return(jt==null||(Lt=jt.visit)===null||Lt===void 0?void 0:Lt.call(jt,kt))||kt},At);Object.keys(Tt).forEach(function(kt){var jt=Tt[kt];if(_typeof$1(jt)==="object"&&jt&&(kt!=="animationName"||!jt._keyframe)&&!isCompoundCSSProperty(jt)){var Lt=!1,qt=kt.trim(),Dt=!1;(nt||it)&&st?qt.startsWith("@")?Lt=!0:qt=injectSelectorHash(kt,st,dt):nt&&!st&&(qt==="&"||qt==="")&&(qt="",Dt=!0);var zt=_e(jt,tt,{root:Dt,injectHash:Lt,parentSelectors:[].concat(_toConsumableArray(at),[qt])}),Zt=_slicedToArray(zt,2),Bt=Zt[0],Et=Zt[1];gt=_objectSpread2(_objectSpread2({},gt),Et),mt+="".concat(qt).concat(Bt)}else{let Ot=function(Mt,Ut){var Wt=Mt.replace(/[A-Z]/g,function(St){return"-".concat(St.toLowerCase())}),$t=Ut;!unitlessKeys[Mt]&&typeof $t=="number"&&$t!==0&&($t="".concat($t,"px")),Mt==="animationName"&&Ut!==null&&Ut!==void 0&&Ut._keyframe&&(vt(Ut),$t=Ut.getName(st)),mt+="".concat(Wt,":").concat($t,";")};var Ct,Pt=(Ct=jt?.value)!==null&&Ct!==void 0?Ct:jt;_typeof$1(jt)==="object"&&jt!==null&&jt!==void 0&&jt[MULTI_VALUE]&&Array.isArray(Pt)?Pt.forEach(function(Mt){Ot(kt,Mt)}):Ot(kt,Pt)}})}}),!nt)mt="{".concat(mt,"}");else if(lt&&supportLayer()){var xt=lt.split(","),wt=xt[xt.length-1].trim();mt="@layer ".concat(wt," {").concat(mt,"}"),xt.length>1&&(mt="@layer ".concat(lt,"{%%%:%}").concat(mt))}return[mt,gt]};function uniqueHash(_e,et){return murmur2("".concat(_e.join("%")).concat(et))}function Empty(){return null}function useStyleRegister(_e,et){var tt=_e.token,rt=_e.path,nt=_e.hashId,it=_e.layer,at=_e.nonce,st=_e.clientOnly,lt=_e.order,dt=lt===void 0?0:lt,ht=reactExports.useContext(StyleContext$1),pt=ht.autoClear;ht.mock;var mt=ht.defaultCache,gt=ht.hashPriority,vt=ht.container,bt=ht.ssrInline,yt=ht.transformers,xt=ht.linters,wt=ht.cache,_t=tt._tokenKey,At=[_t].concat(_toConsumableArray(rt)),Tt=isClientSide,kt=useGlobalCache("style",At,function(){var zt=At.join("|");if(existPath(zt)){var Zt=getStyleAndHash(zt),Bt=_slicedToArray(Zt,2),Et=Bt[0],Ct=Bt[1];if(Et)return[Et,_t,Ct,{},st,dt]}var Pt=et(),Ot=parseStyle(Pt,{hashId:nt,hashPriority:gt,layer:it,path:rt.join("-"),transformers:yt,linters:xt}),Mt=_slicedToArray(Ot,2),Ut=Mt[0],Wt=Mt[1],$t=normalizeStyle(Ut),St=uniqueHash(At,$t);return[$t,_t,St,Wt,st,dt]},function(zt,Zt){var Bt=_slicedToArray(zt,3),Et=Bt[2];(Zt||pt)&&isClientSide&&removeCSS(Et,{mark:ATTR_MARK})},function(zt){var Zt=_slicedToArray(zt,4),Bt=Zt[0];Zt[1];var Et=Zt[2],Ct=Zt[3];if(Tt&&Bt!==CSS_FILE_STYLE){var Pt={mark:ATTR_MARK,prepend:"queue",attachTo:vt,priority:dt},Ot=typeof at=="function"?at():at;Ot&&(Pt.csp={nonce:Ot});var Mt=updateCSS(Bt,Et,Pt);Mt[CSS_IN_JS_INSTANCE]=wt.instanceId,Mt.setAttribute(ATTR_TOKEN,_t),Object.keys(Ct).forEach(function(Ut){updateCSS(normalizeStyle(Ct[Ut]),"_effect-".concat(Ut),Pt)})}}),jt=_slicedToArray(kt,3),Lt=jt[0],qt=jt[1],Dt=jt[2];return function(zt){var Zt;if(!bt||Tt||!mt)Zt=reactExports.createElement(Empty,null);else{var Bt;Zt=reactExports.createElement("style",_extends$3({},(Bt={},_defineProperty$1(Bt,ATTR_TOKEN,qt),_defineProperty$1(Bt,ATTR_MARK,Dt),Bt),{dangerouslySetInnerHTML:{__html:Lt}}))}return reactExports.createElement(reactExports.Fragment,null,Zt,zt)}}var Keyframe=function(){function _e(et,tt){_classCallCheck$1(this,_e),_defineProperty$1(this,"name",void 0),_defineProperty$1(this,"style",void 0),_defineProperty$1(this,"_keyframe",!0),this.name=et,this.style=tt}return _createClass$1(_e,[{key:"getName",value:function(){var tt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return tt?"".concat(tt,"-").concat(this.name):this.name}}]),_e}();function noSplit(_e){return _e.notSplit=!0,_e}noSplit(["borderTop","borderBottom"]),noSplit(["borderTop"]),noSplit(["borderBottom"]),noSplit(["borderLeft","borderRight"]),noSplit(["borderLeft"]),noSplit(["borderRight"]);var IconContext=reactExports.createContext({});const Context$2=IconContext;function _toArray(_e){return _arrayWithHoles(_e)||_iterableToArray(_e)||_unsupportedIterableToArray(_e)||_nonIterableRest()}function get(_e,et){for(var tt=_e,rt=0;rt3&&arguments[3]!==void 0?arguments[3]:!1;return et.length&&rt&&tt===void 0&&!get(_e,et.slice(0,-1))?_e:internalSet(_e,et,tt,rt)}function isObject(_e){return _typeof$1(_e)==="object"&&_e!==null&&Object.getPrototypeOf(_e)===Object.prototype}function createEmpty(_e){return Array.isArray(_e)?[]:{}}var keys=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function merge$1(){for(var _e=arguments.length,et=new Array(_e),tt=0;tt<_e;tt++)et[tt]=arguments[tt];var rt=createEmpty(et[0]);return et.forEach(function(nt){function it(at,st){var lt=new Set(st),dt=get(nt,at),ht=Array.isArray(dt);if(ht||isObject(dt)){if(!lt.has(dt)){lt.add(dt);var pt=get(rt,at);ht?rt=set(rt,at,[]):(!pt||_typeof$1(pt)!=="object")&&(rt=set(rt,at,createEmpty(dt))),keys(dt).forEach(function(mt){it([].concat(_toConsumableArray(at),[mt]),lt)})}}else rt=set(rt,at,dt)}it([])}),rt}const WarningContext=reactExports.createContext({}),ValidateMessagesContext=reactExports.createContext(void 0),enUS$1={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};var locale$2={locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"};const locale$1={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},TimePicker=locale$1,locale={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},locale$2),timePickerLocale:Object.assign({},TimePicker)},enUS=locale,typeTemplate$1="${label} is not a valid ${type}",localeValues={locale:"en",Pagination:enUS$1,DatePicker:enUS,TimePicker,Calendar:enUS,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:typeTemplate$1,method:typeTemplate$1,array:typeTemplate$1,object:typeTemplate$1,number:typeTemplate$1,date:typeTemplate$1,boolean:typeTemplate$1,integer:typeTemplate$1,float:typeTemplate$1,regexp:typeTemplate$1,email:typeTemplate$1,url:typeTemplate$1,hex:typeTemplate$1},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh"},ColorPicker:{presetEmpty:"Empty"}},defaultLocale=localeValues;let runtimeLocale=Object.assign({},defaultLocale.Modal),localeList=[];const generateLocale=()=>localeList.reduce((_e,et)=>Object.assign(Object.assign({},_e),et),defaultLocale.Modal);function changeConfirmLocale(_e){if(_e){const et=Object.assign({},_e);return localeList.push(et),runtimeLocale=generateLocale(),()=>{localeList=localeList.filter(tt=>tt!==et),runtimeLocale=generateLocale()}}runtimeLocale=Object.assign({},defaultLocale.Modal)}function getConfirmLocale(){return runtimeLocale}const LocaleContext=reactExports.createContext(void 0),LocaleContext$1=LocaleContext,useLocale=(_e,et)=>{const tt=reactExports.useContext(LocaleContext$1),rt=reactExports.useMemo(()=>{var it;const at=et||defaultLocale[_e],st=(it=tt?.[_e])!==null&&it!==void 0?it:{};return Object.assign(Object.assign({},typeof at=="function"?at():at),st||{})},[_e,et,tt]),nt=reactExports.useMemo(()=>{const it=tt?.locale;return tt?.exist&&!it?defaultLocale.locale:it},[tt]);return[rt,nt]},useLocale$1=useLocale,ANT_MARK="internalMark",LocaleProvider=_e=>{const{locale:et={},children:tt,_ANT_MARK__:rt}=_e;reactExports.useEffect(()=>changeConfirmLocale(et&&et.Modal),[et]);const nt=reactExports.useMemo(()=>Object.assign(Object.assign({},et),{exist:!0}),[et]);return reactExports.createElement(LocaleContext$1.Provider,{value:nt},tt)},LocaleProvider$1=LocaleProvider;function bound01(_e,et){isOnePointZero(_e)&&(_e="100%");var tt=isPercentage(_e);return _e=et===360?_e:Math.min(et,Math.max(0,parseFloat(_e))),tt&&(_e=parseInt(String(_e*et),10)/100),Math.abs(_e-et)<1e-6?1:(et===360?_e=(_e<0?_e%et+et:_e%et)/parseFloat(String(et)):_e=_e%et/parseFloat(String(et)),_e)}function clamp01(_e){return Math.min(1,Math.max(0,_e))}function isOnePointZero(_e){return typeof _e=="string"&&_e.indexOf(".")!==-1&&parseFloat(_e)===1}function isPercentage(_e){return typeof _e=="string"&&_e.indexOf("%")!==-1}function boundAlpha(_e){return _e=parseFloat(_e),(isNaN(_e)||_e<0||_e>1)&&(_e=1),_e}function convertToPercentage(_e){return _e<=1?"".concat(Number(_e)*100,"%"):_e}function pad2(_e){return _e.length===1?"0"+_e:String(_e)}function rgbToRgb(_e,et,tt){return{r:bound01(_e,255)*255,g:bound01(et,255)*255,b:bound01(tt,255)*255}}function rgbToHsl(_e,et,tt){_e=bound01(_e,255),et=bound01(et,255),tt=bound01(tt,255);var rt=Math.max(_e,et,tt),nt=Math.min(_e,et,tt),it=0,at=0,st=(rt+nt)/2;if(rt===nt)at=0,it=0;else{var lt=rt-nt;switch(at=st>.5?lt/(2-rt-nt):lt/(rt+nt),rt){case _e:it=(et-tt)/lt+(et1&&(tt-=1),tt<1/6?_e+(et-_e)*(6*tt):tt<1/2?et:tt<2/3?_e+(et-_e)*(2/3-tt)*6:_e}function hslToRgb(_e,et,tt){var rt,nt,it;if(_e=bound01(_e,360),et=bound01(et,100),tt=bound01(tt,100),et===0)nt=tt,it=tt,rt=tt;else{var at=tt<.5?tt*(1+et):tt+et-tt*et,st=2*tt-at;rt=hue2rgb(st,at,_e+1/3),nt=hue2rgb(st,at,_e),it=hue2rgb(st,at,_e-1/3)}return{r:rt*255,g:nt*255,b:it*255}}function rgbToHsv(_e,et,tt){_e=bound01(_e,255),et=bound01(et,255),tt=bound01(tt,255);var rt=Math.max(_e,et,tt),nt=Math.min(_e,et,tt),it=0,at=rt,st=rt-nt,lt=rt===0?0:st/rt;if(rt===nt)it=0;else{switch(rt){case _e:it=(et-tt)/st+(et>16,g:(_e&65280)>>8,b:_e&255}}var names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function inputToRGB(_e){var et={r:0,g:0,b:0},tt=1,rt=null,nt=null,it=null,at=!1,st=!1;return typeof _e=="string"&&(_e=stringInputToObject(_e)),typeof _e=="object"&&(isValidCSSUnit(_e.r)&&isValidCSSUnit(_e.g)&&isValidCSSUnit(_e.b)?(et=rgbToRgb(_e.r,_e.g,_e.b),at=!0,st=String(_e.r).substr(-1)==="%"?"prgb":"rgb"):isValidCSSUnit(_e.h)&&isValidCSSUnit(_e.s)&&isValidCSSUnit(_e.v)?(rt=convertToPercentage(_e.s),nt=convertToPercentage(_e.v),et=hsvToRgb(_e.h,rt,nt),at=!0,st="hsv"):isValidCSSUnit(_e.h)&&isValidCSSUnit(_e.s)&&isValidCSSUnit(_e.l)&&(rt=convertToPercentage(_e.s),it=convertToPercentage(_e.l),et=hslToRgb(_e.h,rt,it),at=!0,st="hsl"),Object.prototype.hasOwnProperty.call(_e,"a")&&(tt=_e.a)),tt=boundAlpha(tt),{ok:at,format:_e.format||st,r:Math.min(255,Math.max(et.r,0)),g:Math.min(255,Math.max(et.g,0)),b:Math.min(255,Math.max(et.b,0)),a:tt}}var CSS_INTEGER="[-\\+]?\\d+%?",CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?",CSS_UNIT="(?:".concat(CSS_NUMBER,")|(?:").concat(CSS_INTEGER,")"),PERMISSIVE_MATCH3="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),PERMISSIVE_MATCH4="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),matchers={CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function stringInputToObject(_e){if(_e=_e.trim().toLowerCase(),_e.length===0)return!1;var et=!1;if(names[_e])_e=names[_e],et=!0;else if(_e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var tt=matchers.rgb.exec(_e);return tt?{r:tt[1],g:tt[2],b:tt[3]}:(tt=matchers.rgba.exec(_e),tt?{r:tt[1],g:tt[2],b:tt[3],a:tt[4]}:(tt=matchers.hsl.exec(_e),tt?{h:tt[1],s:tt[2],l:tt[3]}:(tt=matchers.hsla.exec(_e),tt?{h:tt[1],s:tt[2],l:tt[3],a:tt[4]}:(tt=matchers.hsv.exec(_e),tt?{h:tt[1],s:tt[2],v:tt[3]}:(tt=matchers.hsva.exec(_e),tt?{h:tt[1],s:tt[2],v:tt[3],a:tt[4]}:(tt=matchers.hex8.exec(_e),tt?{r:parseIntFromHex(tt[1]),g:parseIntFromHex(tt[2]),b:parseIntFromHex(tt[3]),a:convertHexToDecimal(tt[4]),format:et?"name":"hex8"}:(tt=matchers.hex6.exec(_e),tt?{r:parseIntFromHex(tt[1]),g:parseIntFromHex(tt[2]),b:parseIntFromHex(tt[3]),format:et?"name":"hex"}:(tt=matchers.hex4.exec(_e),tt?{r:parseIntFromHex(tt[1]+tt[1]),g:parseIntFromHex(tt[2]+tt[2]),b:parseIntFromHex(tt[3]+tt[3]),a:convertHexToDecimal(tt[4]+tt[4]),format:et?"name":"hex8"}:(tt=matchers.hex3.exec(_e),tt?{r:parseIntFromHex(tt[1]+tt[1]),g:parseIntFromHex(tt[2]+tt[2]),b:parseIntFromHex(tt[3]+tt[3]),format:et?"name":"hex"}:!1)))))))))}function isValidCSSUnit(_e){return!!matchers.CSS_UNIT.exec(String(_e))}var TinyColor=function(){function _e(et,tt){et===void 0&&(et=""),tt===void 0&&(tt={});var rt;if(et instanceof _e)return et;typeof et=="number"&&(et=numberInputToObject(et)),this.originalInput=et;var nt=inputToRGB(et);this.originalInput=et,this.r=nt.r,this.g=nt.g,this.b=nt.b,this.a=nt.a,this.roundA=Math.round(100*this.a)/100,this.format=(rt=tt.format)!==null&&rt!==void 0?rt:nt.format,this.gradientType=tt.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=nt.ok}return _e.prototype.isDark=function(){return this.getBrightness()<128},_e.prototype.isLight=function(){return!this.isDark()},_e.prototype.getBrightness=function(){var et=this.toRgb();return(et.r*299+et.g*587+et.b*114)/1e3},_e.prototype.getLuminance=function(){var et=this.toRgb(),tt,rt,nt,it=et.r/255,at=et.g/255,st=et.b/255;return it<=.03928?tt=it/12.92:tt=Math.pow((it+.055)/1.055,2.4),at<=.03928?rt=at/12.92:rt=Math.pow((at+.055)/1.055,2.4),st<=.03928?nt=st/12.92:nt=Math.pow((st+.055)/1.055,2.4),.2126*tt+.7152*rt+.0722*nt},_e.prototype.getAlpha=function(){return this.a},_e.prototype.setAlpha=function(et){return this.a=boundAlpha(et),this.roundA=Math.round(100*this.a)/100,this},_e.prototype.isMonochrome=function(){var et=this.toHsl().s;return et===0},_e.prototype.toHsv=function(){var et=rgbToHsv(this.r,this.g,this.b);return{h:et.h*360,s:et.s,v:et.v,a:this.a}},_e.prototype.toHsvString=function(){var et=rgbToHsv(this.r,this.g,this.b),tt=Math.round(et.h*360),rt=Math.round(et.s*100),nt=Math.round(et.v*100);return this.a===1?"hsv(".concat(tt,", ").concat(rt,"%, ").concat(nt,"%)"):"hsva(".concat(tt,", ").concat(rt,"%, ").concat(nt,"%, ").concat(this.roundA,")")},_e.prototype.toHsl=function(){var et=rgbToHsl(this.r,this.g,this.b);return{h:et.h*360,s:et.s,l:et.l,a:this.a}},_e.prototype.toHslString=function(){var et=rgbToHsl(this.r,this.g,this.b),tt=Math.round(et.h*360),rt=Math.round(et.s*100),nt=Math.round(et.l*100);return this.a===1?"hsl(".concat(tt,", ").concat(rt,"%, ").concat(nt,"%)"):"hsla(".concat(tt,", ").concat(rt,"%, ").concat(nt,"%, ").concat(this.roundA,")")},_e.prototype.toHex=function(et){return et===void 0&&(et=!1),rgbToHex(this.r,this.g,this.b,et)},_e.prototype.toHexString=function(et){return et===void 0&&(et=!1),"#"+this.toHex(et)},_e.prototype.toHex8=function(et){return et===void 0&&(et=!1),rgbaToHex(this.r,this.g,this.b,this.a,et)},_e.prototype.toHex8String=function(et){return et===void 0&&(et=!1),"#"+this.toHex8(et)},_e.prototype.toHexShortString=function(et){return et===void 0&&(et=!1),this.a===1?this.toHexString(et):this.toHex8String(et)},_e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},_e.prototype.toRgbString=function(){var et=Math.round(this.r),tt=Math.round(this.g),rt=Math.round(this.b);return this.a===1?"rgb(".concat(et,", ").concat(tt,", ").concat(rt,")"):"rgba(".concat(et,", ").concat(tt,", ").concat(rt,", ").concat(this.roundA,")")},_e.prototype.toPercentageRgb=function(){var et=function(tt){return"".concat(Math.round(bound01(tt,255)*100),"%")};return{r:et(this.r),g:et(this.g),b:et(this.b),a:this.a}},_e.prototype.toPercentageRgbString=function(){var et=function(tt){return Math.round(bound01(tt,255)*100)};return this.a===1?"rgb(".concat(et(this.r),"%, ").concat(et(this.g),"%, ").concat(et(this.b),"%)"):"rgba(".concat(et(this.r),"%, ").concat(et(this.g),"%, ").concat(et(this.b),"%, ").concat(this.roundA,")")},_e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var et="#"+rgbToHex(this.r,this.g,this.b,!1),tt=0,rt=Object.entries(names);tt=0,it=!tt&&nt&&(et.startsWith("hex")||et==="name");return it?et==="name"&&this.a===0?this.toName():this.toRgbString():(et==="rgb"&&(rt=this.toRgbString()),et==="prgb"&&(rt=this.toPercentageRgbString()),(et==="hex"||et==="hex6")&&(rt=this.toHexString()),et==="hex3"&&(rt=this.toHexString(!0)),et==="hex4"&&(rt=this.toHex8String(!0)),et==="hex8"&&(rt=this.toHex8String()),et==="name"&&(rt=this.toName()),et==="hsl"&&(rt=this.toHslString()),et==="hsv"&&(rt=this.toHsvString()),rt||this.toHexString())},_e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},_e.prototype.clone=function(){return new _e(this.toString())},_e.prototype.lighten=function(et){et===void 0&&(et=10);var tt=this.toHsl();return tt.l+=et/100,tt.l=clamp01(tt.l),new _e(tt)},_e.prototype.brighten=function(et){et===void 0&&(et=10);var tt=this.toRgb();return tt.r=Math.max(0,Math.min(255,tt.r-Math.round(255*-(et/100)))),tt.g=Math.max(0,Math.min(255,tt.g-Math.round(255*-(et/100)))),tt.b=Math.max(0,Math.min(255,tt.b-Math.round(255*-(et/100)))),new _e(tt)},_e.prototype.darken=function(et){et===void 0&&(et=10);var tt=this.toHsl();return tt.l-=et/100,tt.l=clamp01(tt.l),new _e(tt)},_e.prototype.tint=function(et){return et===void 0&&(et=10),this.mix("white",et)},_e.prototype.shade=function(et){return et===void 0&&(et=10),this.mix("black",et)},_e.prototype.desaturate=function(et){et===void 0&&(et=10);var tt=this.toHsl();return tt.s-=et/100,tt.s=clamp01(tt.s),new _e(tt)},_e.prototype.saturate=function(et){et===void 0&&(et=10);var tt=this.toHsl();return tt.s+=et/100,tt.s=clamp01(tt.s),new _e(tt)},_e.prototype.greyscale=function(){return this.desaturate(100)},_e.prototype.spin=function(et){var tt=this.toHsl(),rt=(tt.h+et)%360;return tt.h=rt<0?360+rt:rt,new _e(tt)},_e.prototype.mix=function(et,tt){tt===void 0&&(tt=50);var rt=this.toRgb(),nt=new _e(et).toRgb(),it=tt/100,at={r:(nt.r-rt.r)*it+rt.r,g:(nt.g-rt.g)*it+rt.g,b:(nt.b-rt.b)*it+rt.b,a:(nt.a-rt.a)*it+rt.a};return new _e(at)},_e.prototype.analogous=function(et,tt){et===void 0&&(et=6),tt===void 0&&(tt=30);var rt=this.toHsl(),nt=360/tt,it=[this];for(rt.h=(rt.h-(nt*et>>1)+720)%360;--et;)rt.h=(rt.h+nt)%360,it.push(new _e(rt));return it},_e.prototype.complement=function(){var et=this.toHsl();return et.h=(et.h+180)%360,new _e(et)},_e.prototype.monochromatic=function(et){et===void 0&&(et=6);for(var tt=this.toHsv(),rt=tt.h,nt=tt.s,it=tt.v,at=[],st=1/et;et--;)at.push(new _e({h:rt,s:nt,v:it})),it=(it+st)%1;return at},_e.prototype.splitcomplement=function(){var et=this.toHsl(),tt=et.h;return[this,new _e({h:(tt+72)%360,s:et.s,l:et.l}),new _e({h:(tt+216)%360,s:et.s,l:et.l})]},_e.prototype.onBackground=function(et){var tt=this.toRgb(),rt=new _e(et).toRgb(),nt=tt.a+rt.a*(1-tt.a);return new _e({r:(tt.r*tt.a+rt.r*rt.a*(1-tt.a))/nt,g:(tt.g*tt.a+rt.g*rt.a*(1-tt.a))/nt,b:(tt.b*tt.a+rt.b*rt.a*(1-tt.a))/nt,a:nt})},_e.prototype.triad=function(){return this.polyad(3)},_e.prototype.tetrad=function(){return this.polyad(4)},_e.prototype.polyad=function(et){for(var tt=this.toHsl(),rt=tt.h,nt=[this],it=360/et,at=1;at=60&&Math.round(_e.h)<=240?rt=tt?Math.round(_e.h)-hueStep*et:Math.round(_e.h)+hueStep*et:rt=tt?Math.round(_e.h)+hueStep*et:Math.round(_e.h)-hueStep*et,rt<0?rt+=360:rt>=360&&(rt-=360),rt}function getSaturation(_e,et,tt){if(_e.h===0&&_e.s===0)return _e.s;var rt;return tt?rt=_e.s-saturationStep*et:et===darkColorCount?rt=_e.s+saturationStep:rt=_e.s+saturationStep2*et,rt>1&&(rt=1),tt&&et===lightColorCount&&rt>.1&&(rt=.1),rt<.06&&(rt=.06),Number(rt.toFixed(2))}function getValue$1(_e,et,tt){var rt;return tt?rt=_e.v+brightnessStep1*et:rt=_e.v-brightnessStep2*et,rt>1&&(rt=1),Number(rt.toFixed(2))}function generate$1(_e){for(var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tt=[],rt=inputToRGB(_e),nt=lightColorCount;nt>0;nt-=1){var it=toHsv(rt),at=toHex(inputToRGB({h:getHue(it,nt,!0),s:getSaturation(it,nt,!0),v:getValue$1(it,nt,!0)}));tt.push(at)}tt.push(toHex(rt));for(var st=1;st<=darkColorCount;st+=1){var lt=toHsv(rt),dt=toHex(inputToRGB({h:getHue(lt,st),s:getSaturation(lt,st),v:getValue$1(lt,st)}));tt.push(dt)}return et.theme==="dark"?darkColorMap.map(function(ht){var pt=ht.index,mt=ht.opacity,gt=toHex(mix(inputToRGB(et.backgroundColor||"#141414"),inputToRGB(tt[pt]),mt*100));return gt}):tt}var presetPrimaryColors={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},presetPalettes={},presetDarkPalettes={};Object.keys(presetPrimaryColors).forEach(function(_e){presetPalettes[_e]=generate$1(presetPrimaryColors[_e]),presetPalettes[_e].primary=presetPalettes[_e][5],presetDarkPalettes[_e]=generate$1(presetPrimaryColors[_e],{theme:"dark",backgroundColor:"#141414"}),presetDarkPalettes[_e].primary=presetDarkPalettes[_e][5]});var blue=presetPalettes.blue;const genControlHeight=_e=>{const{controlHeight:et}=_e;return{controlHeightSM:et*.75,controlHeightXS:et*.5,controlHeightLG:et*1.25}},genControlHeight$1=genControlHeight;function genSizeMapToken(_e){const{sizeUnit:et,sizeStep:tt}=_e;return{sizeXXL:et*(tt+8),sizeXL:et*(tt+4),sizeLG:et*(tt+2),sizeMD:et*(tt+1),sizeMS:et*tt,size:et*tt,sizeSM:et*(tt-1),sizeXS:et*(tt-2),sizeXXS:et*(tt-3)}}const defaultPresetColors={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},seedToken=Object.assign(Object.assign({},defaultPresetColors),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, +'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', +'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0}),seedToken$1=seedToken;function genColorMapToken(_e,et){let{generateColorPalettes:tt,generateNeutralColorPalettes:rt}=et;const{colorSuccess:nt,colorWarning:it,colorError:at,colorInfo:st,colorPrimary:lt,colorBgBase:dt,colorTextBase:ht}=_e,pt=tt(lt),mt=tt(nt),gt=tt(it),vt=tt(at),bt=tt(st),yt=rt(dt,ht),xt=_e.colorLink||_e.colorInfo,wt=tt(xt);return Object.assign(Object.assign({},yt),{colorPrimaryBg:pt[1],colorPrimaryBgHover:pt[2],colorPrimaryBorder:pt[3],colorPrimaryBorderHover:pt[4],colorPrimaryHover:pt[5],colorPrimary:pt[6],colorPrimaryActive:pt[7],colorPrimaryTextHover:pt[8],colorPrimaryText:pt[9],colorPrimaryTextActive:pt[10],colorSuccessBg:mt[1],colorSuccessBgHover:mt[2],colorSuccessBorder:mt[3],colorSuccessBorderHover:mt[4],colorSuccessHover:mt[4],colorSuccess:mt[6],colorSuccessActive:mt[7],colorSuccessTextHover:mt[8],colorSuccessText:mt[9],colorSuccessTextActive:mt[10],colorErrorBg:vt[1],colorErrorBgHover:vt[2],colorErrorBorder:vt[3],colorErrorBorderHover:vt[4],colorErrorHover:vt[5],colorError:vt[6],colorErrorActive:vt[7],colorErrorTextHover:vt[8],colorErrorText:vt[9],colorErrorTextActive:vt[10],colorWarningBg:gt[1],colorWarningBgHover:gt[2],colorWarningBorder:gt[3],colorWarningBorderHover:gt[4],colorWarningHover:gt[4],colorWarning:gt[6],colorWarningActive:gt[7],colorWarningTextHover:gt[8],colorWarningText:gt[9],colorWarningTextActive:gt[10],colorInfoBg:bt[1],colorInfoBgHover:bt[2],colorInfoBorder:bt[3],colorInfoBorderHover:bt[4],colorInfoHover:bt[4],colorInfo:bt[6],colorInfoActive:bt[7],colorInfoTextHover:bt[8],colorInfoText:bt[9],colorInfoTextActive:bt[10],colorLinkHover:wt[4],colorLink:wt[6],colorLinkActive:wt[7],colorBgMask:new TinyColor("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}const genRadius=_e=>{let et=_e,tt=_e,rt=_e,nt=_e;return _e<6&&_e>=5?et=_e+1:_e<16&&_e>=6?et=_e+2:_e>=16&&(et=16),_e<7&&_e>=5?tt=4:_e<8&&_e>=7?tt=5:_e<14&&_e>=8?tt=6:_e<16&&_e>=14?tt=7:_e>=16&&(tt=8),_e<6&&_e>=2?rt=1:_e>=6&&(rt=2),_e>4&&_e<8?nt=4:_e>=8&&(nt=6),{borderRadius:_e,borderRadiusXS:rt,borderRadiusSM:tt,borderRadiusLG:et,borderRadiusOuter:nt}},genRadius$1=genRadius;function genCommonMapToken(_e){const{motionUnit:et,motionBase:tt,borderRadius:rt,lineWidth:nt}=_e;return Object.assign({motionDurationFast:`${(tt+et).toFixed(1)}s`,motionDurationMid:`${(tt+et*2).toFixed(1)}s`,motionDurationSlow:`${(tt+et*3).toFixed(1)}s`,lineWidthBold:nt+1},genRadius$1(rt))}const getAlphaColor$1=(_e,et)=>new TinyColor(_e).setAlpha(et).toRgbString(),getSolidColor=(_e,et)=>new TinyColor(_e).darken(et).toHexString(),generateColorPalettes=_e=>{const et=generate$1(_e);return{1:et[0],2:et[1],3:et[2],4:et[3],5:et[4],6:et[5],7:et[6],8:et[4],9:et[5],10:et[6]}},generateNeutralColorPalettes=(_e,et)=>{const tt=_e||"#fff",rt=et||"#000";return{colorBgBase:tt,colorTextBase:rt,colorText:getAlphaColor$1(rt,.88),colorTextSecondary:getAlphaColor$1(rt,.65),colorTextTertiary:getAlphaColor$1(rt,.45),colorTextQuaternary:getAlphaColor$1(rt,.25),colorFill:getAlphaColor$1(rt,.15),colorFillSecondary:getAlphaColor$1(rt,.06),colorFillTertiary:getAlphaColor$1(rt,.04),colorFillQuaternary:getAlphaColor$1(rt,.02),colorBgLayout:getSolidColor(tt,4),colorBgContainer:getSolidColor(tt,0),colorBgElevated:getSolidColor(tt,0),colorBgSpotlight:getAlphaColor$1(rt,.85),colorBgBlur:"transparent",colorBorder:getSolidColor(tt,15),colorBorderSecondary:getSolidColor(tt,6)}};function getFontSizes(_e){const et=new Array(10).fill(null).map((tt,rt)=>{const nt=rt-1,it=_e*Math.pow(2.71828,nt/5),at=rt>1?Math.floor(it):Math.ceil(it);return Math.floor(at/2)*2});return et[1]=_e,et.map(tt=>{const rt=tt+8;return{size:tt,lineHeight:rt/tt}})}const genFontMapToken=_e=>{const et=getFontSizes(_e),tt=et.map(nt=>nt.size),rt=et.map(nt=>nt.lineHeight);return{fontSizeSM:tt[0],fontSize:tt[1],fontSizeLG:tt[2],fontSizeXL:tt[3],fontSizeHeading1:tt[6],fontSizeHeading2:tt[5],fontSizeHeading3:tt[4],fontSizeHeading4:tt[3],fontSizeHeading5:tt[2],lineHeight:rt[1],lineHeightLG:rt[2],lineHeightSM:rt[0],lineHeightHeading1:rt[6],lineHeightHeading2:rt[5],lineHeightHeading3:rt[4],lineHeightHeading4:rt[3],lineHeightHeading5:rt[2]}},genFontMapToken$1=genFontMapToken;function derivative(_e){const et=Object.keys(defaultPresetColors).map(tt=>{const rt=generate$1(_e[tt]);return new Array(10).fill(1).reduce((nt,it,at)=>(nt[`${tt}-${at+1}`]=rt[at],nt[`${tt}${at+1}`]=rt[at],nt),{})}).reduce((tt,rt)=>(tt=Object.assign(Object.assign({},tt),rt),tt),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},_e),et),genColorMapToken(_e,{generateColorPalettes,generateNeutralColorPalettes})),genFontMapToken$1(_e.fontSize)),genSizeMapToken(_e)),genControlHeight$1(_e)),genCommonMapToken(_e))}const defaultTheme=createTheme(derivative),defaultConfig={token:seedToken$1,hashed:!0},DesignTokenContext=React.createContext(defaultConfig),defaultIconPrefixCls="anticon",defaultGetPrefixCls=(_e,et)=>et||(_e?`ant-${_e}`:"ant"),ConfigContext=reactExports.createContext({getPrefixCls:defaultGetPrefixCls,iconPrefixCls:defaultIconPrefixCls}),dynamicStyleMark=`-ant-${Date.now()}-${Math.random()}`;function getStyle(_e,et){const tt={},rt=(at,st)=>{let lt=at.clone();return lt=st?.(lt)||lt,lt.toRgbString()},nt=(at,st)=>{const lt=new TinyColor(at),dt=generate$1(lt.toRgbString());tt[`${st}-color`]=rt(lt),tt[`${st}-color-disabled`]=dt[1],tt[`${st}-color-hover`]=dt[4],tt[`${st}-color-active`]=dt[6],tt[`${st}-color-outline`]=lt.clone().setAlpha(.2).toRgbString(),tt[`${st}-color-deprecated-bg`]=dt[0],tt[`${st}-color-deprecated-border`]=dt[2]};if(et.primaryColor){nt(et.primaryColor,"primary");const at=new TinyColor(et.primaryColor),st=generate$1(at.toRgbString());st.forEach((dt,ht)=>{tt[`primary-${ht+1}`]=dt}),tt["primary-color-deprecated-l-35"]=rt(at,dt=>dt.lighten(35)),tt["primary-color-deprecated-l-20"]=rt(at,dt=>dt.lighten(20)),tt["primary-color-deprecated-t-20"]=rt(at,dt=>dt.tint(20)),tt["primary-color-deprecated-t-50"]=rt(at,dt=>dt.tint(50)),tt["primary-color-deprecated-f-12"]=rt(at,dt=>dt.setAlpha(dt.getAlpha()*.12));const lt=new TinyColor(st[0]);tt["primary-color-active-deprecated-f-30"]=rt(lt,dt=>dt.setAlpha(dt.getAlpha()*.3)),tt["primary-color-active-deprecated-d-02"]=rt(lt,dt=>dt.darken(2))}return et.successColor&&nt(et.successColor,"success"),et.warningColor&&nt(et.warningColor,"warning"),et.errorColor&&nt(et.errorColor,"error"),et.infoColor&&nt(et.infoColor,"info"),` + :root { + ${Object.keys(tt).map(at=>`--${_e}-${at}: ${tt[at]};`).join(` +`)} + } + `.trim()}function registerTheme(_e,et){const tt=getStyle(_e,et);canUseDom()&&updateCSS(tt,`${dynamicStyleMark}-dynamic-theme`)}const DisabledContext=reactExports.createContext(!1),DisabledContextProvider=_e=>{let{children:et,disabled:tt}=_e;const rt=reactExports.useContext(DisabledContext);return reactExports.createElement(DisabledContext.Provider,{value:tt??rt},et)},SizeContext=reactExports.createContext(void 0),SizeContextProvider=_e=>{let{children:et,size:tt}=_e;const rt=reactExports.useContext(SizeContext);return reactExports.createElement(SizeContext.Provider,{value:tt||rt},et)},SizeContext$1=SizeContext;function useConfig(){const _e=reactExports.useContext(DisabledContext),et=reactExports.useContext(SizeContext$1);return{componentDisabled:_e,componentSize:et}}const version$1="5.10.0";function isStableColor(_e){return _e>=0&&_e<=255}function getAlphaColor(_e,et){const{r:tt,g:rt,b:nt,a:it}=new TinyColor(_e).toRgb();if(it<1)return _e;const{r:at,g:st,b:lt}=new TinyColor(et).toRgb();for(let dt=.01;dt<=1;dt+=.01){const ht=Math.round((tt-at*(1-dt))/dt),pt=Math.round((rt-st*(1-dt))/dt),mt=Math.round((nt-lt*(1-dt))/dt);if(isStableColor(ht)&&isStableColor(pt)&&isStableColor(mt))return new TinyColor({r:ht,g:pt,b:mt,a:Math.round(dt*100)/100}).toRgbString()}return new TinyColor({r:tt,g:rt,b:nt,a:1}).toRgbString()}var __rest$b=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{delete rt[mt]});const nt=Object.assign(Object.assign({},tt),rt),it=480,at=576,st=768,lt=992,dt=1200,ht=1600;if(nt.motion===!1){const mt="0s";nt.motionDurationFast=mt,nt.motionDurationMid=mt,nt.motionDurationSlow=mt}return Object.assign(Object.assign(Object.assign({},nt),{colorFillContent:nt.colorFillSecondary,colorFillContentHover:nt.colorFill,colorFillAlter:nt.colorFillQuaternary,colorBgContainerDisabled:nt.colorFillTertiary,colorBorderBg:nt.colorBgContainer,colorSplit:getAlphaColor(nt.colorBorderSecondary,nt.colorBgContainer),colorTextPlaceholder:nt.colorTextQuaternary,colorTextDisabled:nt.colorTextQuaternary,colorTextHeading:nt.colorText,colorTextLabel:nt.colorTextSecondary,colorTextDescription:nt.colorTextTertiary,colorTextLightSolid:nt.colorWhite,colorHighlight:nt.colorError,colorBgTextHover:nt.colorFillSecondary,colorBgTextActive:nt.colorFill,colorIcon:nt.colorTextTertiary,colorIconHover:nt.colorText,colorErrorOutline:getAlphaColor(nt.colorErrorBg,nt.colorBgContainer),colorWarningOutline:getAlphaColor(nt.colorWarningBg,nt.colorBgContainer),fontSizeIcon:nt.fontSizeSM,lineWidthFocus:nt.lineWidth*4,lineWidth:nt.lineWidth,controlOutlineWidth:nt.lineWidth*2,controlInteractiveSize:nt.controlHeight/2,controlItemBgHover:nt.colorFillTertiary,controlItemBgActive:nt.colorPrimaryBg,controlItemBgActiveHover:nt.colorPrimaryBgHover,controlItemBgActiveDisabled:nt.colorFill,controlTmpOutline:nt.colorFillQuaternary,controlOutline:getAlphaColor(nt.colorPrimaryBg,nt.colorBgContainer),lineType:nt.lineType,borderRadius:nt.borderRadius,borderRadiusXS:nt.borderRadiusXS,borderRadiusSM:nt.borderRadiusSM,borderRadiusLG:nt.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:nt.sizeXXS,paddingXS:nt.sizeXS,paddingSM:nt.sizeSM,padding:nt.size,paddingMD:nt.sizeMD,paddingLG:nt.sizeLG,paddingXL:nt.sizeXL,paddingContentHorizontalLG:nt.sizeLG,paddingContentVerticalLG:nt.sizeMS,paddingContentHorizontal:nt.sizeMS,paddingContentVertical:nt.sizeSM,paddingContentHorizontalSM:nt.size,paddingContentVerticalSM:nt.sizeXS,marginXXS:nt.sizeXXS,marginXS:nt.sizeXS,marginSM:nt.sizeSM,margin:nt.size,marginMD:nt.sizeMD,marginLG:nt.sizeLG,marginXL:nt.sizeXL,marginXXL:nt.sizeXXL,boxShadow:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowSecondary:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTertiary:` + 0 1px 2px 0 rgba(0, 0, 0, 0.03), + 0 1px 6px -1px rgba(0, 0, 0, 0.02), + 0 2px 4px 0 rgba(0, 0, 0, 0.02) + `,screenXS:it,screenXSMin:it,screenXSMax:at-1,screenSM:at,screenSMMin:at,screenSMMax:st-1,screenMD:st,screenMDMin:st,screenMDMax:lt-1,screenLG:lt,screenLGMin:lt,screenLGMax:dt-1,screenXL:dt,screenXLMin:dt,screenXLMax:ht-1,screenXXL:ht,screenXXLMin:ht,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:` + 0 1px 2px -2px ${new TinyColor("rgba(0, 0, 0, 0.16)").toRgbString()}, + 0 3px 6px 0 ${new TinyColor("rgba(0, 0, 0, 0.12)").toRgbString()}, + 0 5px 12px 4px ${new TinyColor("rgba(0, 0, 0, 0.09)").toRgbString()} + `,boxShadowDrawerRight:` + -6px 0 16px 0 rgba(0, 0, 0, 0.08), + -3px 0 6px -4px rgba(0, 0, 0, 0.12), + -9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerLeft:` + 6px 0 16px 0 rgba(0, 0, 0, 0.08), + 3px 0 6px -4px rgba(0, 0, 0, 0.12), + 9px 0 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerUp:` + 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 3px 6px -4px rgba(0, 0, 0, 0.12), + 0 9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowDrawerDown:` + 0 -6px 16px 0 rgba(0, 0, 0, 0.08), + 0 -3px 6px -4px rgba(0, 0, 0, 0.12), + 0 -9px 28px 8px rgba(0, 0, 0, 0.05) + `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),rt)}var __rest$a=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{const rt=tt.getDerivativeToken(_e),{override:nt}=et,it=__rest$a(et,["override"]);let at=Object.assign(Object.assign({},rt),{override:nt});return at=formatToken(at),it&&Object.entries(it).forEach(st=>{let[lt,dt]=st;const{theme:ht}=dt,pt=__rest$a(dt,["theme"]);let mt=pt;ht&&(mt=getComputedToken(Object.assign(Object.assign({},at),pt),{override:pt},ht)),at[lt]=mt}),at};function useToken(){const{token:_e,hashed:et,theme:tt,components:rt}=React.useContext(DesignTokenContext),nt=`${version$1}-${et||""}`,it=tt||defaultTheme,[at,st]=useCacheToken(it,[seedToken$1,_e],{salt:nt,override:Object.assign({override:_e},rt),getComputedToken,formatToken});return[it,at,et?st:""]}function useEvent(_e){var et=reactExports.useRef();et.current=_e;var tt=reactExports.useCallback(function(){for(var rt,nt=arguments.length,it=new Array(nt),at=0;at1&&arguments[1]!==void 0?arguments[1]:!1;return{boxSizing:"border-box",margin:0,padding:0,color:_e.colorText,fontSize:_e.fontSize,lineHeight:_e.lineHeight,listStyle:"none",fontFamily:et?"inherit":_e.fontFamily}},resetIcon=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),clearFix=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),genLinkStyle=_e=>({a:{color:_e.colorLink,textDecoration:_e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${_e.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:_e.colorLinkHover},"&:active":{color:_e.colorLinkActive},"&:active,\n &:hover":{textDecoration:_e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:_e.linkFocusDecoration,outline:0},"&[disabled]":{color:_e.colorTextDisabled,cursor:"not-allowed"}}}),genCommonStyle=(_e,et)=>{const{fontFamily:tt,fontSize:rt}=_e,nt=`[class^="${et}"], [class*=" ${et}"]`;return{[nt]:{fontFamily:tt,fontSize:rt,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[nt]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},genFocusOutline=_e=>({outline:`${_e.lineWidthFocus}px solid ${_e.colorPrimaryBorder}`,outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),genFocusStyle=_e=>({"&:focus-visible":Object.assign({},genFocusOutline(_e))}),enableStatistic=typeof CSSINJS_STATISTIC<"u";let recording=!0;function merge(){for(var _e=arguments.length,et=new Array(_e),tt=0;tt<_e;tt++)et[tt]=arguments[tt];if(!enableStatistic)return Object.assign.apply(Object,[{}].concat(et));recording=!1;const rt={};return et.forEach(nt=>{Object.keys(nt).forEach(at=>{Object.defineProperty(rt,at,{configurable:!0,enumerable:!0,get:()=>nt[at]})})}),recording=!0,rt}const statistic={};function noop$1(){}function statisticToken(_e){let et,tt=_e,rt=noop$1;return enableStatistic&&(et=new Set,tt=new Proxy(_e,{get(nt,it){return recording&&et.add(it),nt[it]}}),rt=(nt,it)=>{var at;statistic[nt]={global:Array.from(et),component:Object.assign(Object.assign({},(at=statistic[nt])===null||at===void 0?void 0:at.component),it)}}),{token:tt,keys:et,flush:rt}}const useResetIconStyle=(_e,et)=>{const[tt,rt]=useToken();return useStyleRegister({theme:tt,token:rt,hashId:"",path:["ant-design-icons",_e],nonce:()=>et?.nonce},()=>[{[`.${_e}`]:Object.assign(Object.assign({},resetIcon()),{[`.${_e} .${_e}-icon`]:{display:"block"}})}])},useStyle$4=useResetIconStyle;function genComponentStyleHook(_e,et,tt){let rt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const nt=Array.isArray(_e)?_e:[_e,_e],[it]=nt,at=nt.join("-");return st=>{const[lt,dt,ht]=useToken(),{getPrefixCls:pt,iconPrefixCls:mt,csp:gt}=reactExports.useContext(ConfigContext),vt=pt(),bt={theme:lt,token:dt,hashId:ht,nonce:()=>gt?.nonce,clientOnly:rt.clientOnly,order:rt.order||-999};return useStyleRegister(Object.assign(Object.assign({},bt),{clientOnly:!1,path:["Shared",vt]}),()=>[{"&":genLinkStyle(dt)}]),useStyle$4(mt),[useStyleRegister(Object.assign(Object.assign({},bt),{path:[at,st,mt]}),()=>{const{token:yt,flush:xt}=statisticToken(dt),wt=Object.assign({},dt[it]);if(rt.deprecatedTokens){const{deprecatedTokens:Lt}=rt;Lt.forEach(qt=>{let[Dt,zt]=qt;var Zt;(wt?.[Dt]||wt?.[zt])&&((Zt=wt[zt])!==null&&Zt!==void 0||(wt[zt]=wt?.[Dt]))})}const _t=typeof tt=="function"?tt(merge(yt,wt??{})):tt,At=Object.assign(Object.assign({},_t),wt),Tt=`.${st}`,kt=merge(yt,{componentCls:Tt,prefixCls:st,iconCls:`.${mt}`,antCls:`.${vt}`},At),jt=et(kt,{hashId:ht,prefixCls:st,rootPrefixCls:vt,iconPrefixCls:mt,overrideComponentToken:wt});return xt(it,At),[rt.resetStyle===!1?null:genCommonStyle(dt,st),jt]}),ht]}}const genSubStyleComponent=(_e,et,tt,rt)=>{const nt=genComponentStyleHook(_e,et,tt,Object.assign({resetStyle:!1,order:-998},rt));return at=>{let{prefixCls:st}=at;return nt(st),null}};function useTheme(_e,et){const tt=_e||{},rt=tt.inherit===!1||!et?defaultConfig:et;return useMemo(()=>{if(!_e)return et;const nt=Object.assign({},rt.components);return Object.keys(_e.components||{}).forEach(it=>{nt[it]=Object.assign(Object.assign({},nt[it]),_e.components[it])}),Object.assign(Object.assign(Object.assign({},rt),tt),{token:Object.assign(Object.assign({},rt.token),tt.token),components:nt})},[tt,rt],(nt,it)=>nt.some((at,st)=>{const lt=it[st];return!isEqual(at,lt,!0)}))}var _excluded$8=["children"],Context$1=reactExports.createContext({});function MotionProvider(_e){var et=_e.children,tt=_objectWithoutProperties$1(_e,_excluded$8);return reactExports.createElement(Context$1.Provider,{value:tt},et)}var DomWrapper=function(_e){_inherits$1(tt,_e);var et=_createSuper$1(tt);function tt(){return _classCallCheck$1(this,tt),et.apply(this,arguments)}return _createClass$1(tt,[{key:"render",value:function(){return this.props.children}}]),tt}(reactExports.Component),STATUS_NONE="none",STATUS_APPEAR="appear",STATUS_ENTER="enter",STATUS_LEAVE="leave",STEP_NONE="none",STEP_PREPARE="prepare",STEP_START="start",STEP_ACTIVE="active",STEP_ACTIVATED="end",STEP_PREPARED="prepared";function makePrefixMap(_e,et){var tt={};return tt[_e.toLowerCase()]=et.toLowerCase(),tt["Webkit".concat(_e)]="webkit".concat(et),tt["Moz".concat(_e)]="moz".concat(et),tt["ms".concat(_e)]="MS".concat(et),tt["O".concat(_e)]="o".concat(et.toLowerCase()),tt}function getVendorPrefixes(_e,et){var tt={animationend:makePrefixMap("Animation","AnimationEnd"),transitionend:makePrefixMap("Transition","TransitionEnd")};return _e&&("AnimationEvent"in et||delete tt.animationend.animation,"TransitionEvent"in et||delete tt.transitionend.transition),tt}var vendorPrefixes=getVendorPrefixes(canUseDom(),typeof window<"u"?window:{}),style$1={};if(canUseDom()){var _document$createEleme=document.createElement("div");style$1=_document$createEleme.style}var prefixedEventNames={};function getVendorPrefixedEventName(_e){if(prefixedEventNames[_e])return prefixedEventNames[_e];var et=vendorPrefixes[_e];if(et)for(var tt=Object.keys(et),rt=tt.length,nt=0;nt1&&arguments[1]!==void 0?arguments[1]:2;et();var it=wrapperRaf(function(){nt<=1?rt({isCanceled:function(){return it!==_e.current}}):tt(rt,nt-1)});_e.current=it}return reactExports.useEffect(function(){return function(){et()}},[]),[tt,et]};var FULL_STEP_QUEUE=[STEP_PREPARE,STEP_START,STEP_ACTIVE,STEP_ACTIVATED],SIMPLE_STEP_QUEUE=[STEP_PREPARE,STEP_PREPARED],SkipStep=!1,DoStep=!0;function isActive(_e){return _e===STEP_ACTIVE||_e===STEP_ACTIVATED}const useStepQueue=function(_e,et,tt){var rt=useSafeState(STEP_NONE),nt=_slicedToArray(rt,2),it=nt[0],at=nt[1],st=useNextFrame(),lt=_slicedToArray(st,2),dt=lt[0],ht=lt[1];function pt(){at(STEP_PREPARE,!0)}var mt=et?SIMPLE_STEP_QUEUE:FULL_STEP_QUEUE;return useIsomorphicLayoutEffect$1(function(){if(it!==STEP_NONE&&it!==STEP_ACTIVATED){var gt=mt.indexOf(it),vt=mt[gt+1],bt=tt(it);bt===SkipStep?at(vt,!0):vt&&dt(function(yt){function xt(){yt.isCanceled()||at(vt,!0)}bt===!0?xt():Promise.resolve(bt).then(xt)})}},[_e,it]),reactExports.useEffect(function(){return function(){ht()}},[]),[pt,it]};function useStatus(_e,et,tt,rt){var nt=rt.motionEnter,it=nt===void 0?!0:nt,at=rt.motionAppear,st=at===void 0?!0:at,lt=rt.motionLeave,dt=lt===void 0?!0:lt,ht=rt.motionDeadline,pt=rt.motionLeaveImmediately,mt=rt.onAppearPrepare,gt=rt.onEnterPrepare,vt=rt.onLeavePrepare,bt=rt.onAppearStart,yt=rt.onEnterStart,xt=rt.onLeaveStart,wt=rt.onAppearActive,_t=rt.onEnterActive,At=rt.onLeaveActive,Tt=rt.onAppearEnd,kt=rt.onEnterEnd,jt=rt.onLeaveEnd,Lt=rt.onVisibleChanged,qt=useSafeState(),Dt=_slicedToArray(qt,2),zt=Dt[0],Zt=Dt[1],Bt=useSafeState(STATUS_NONE),Et=_slicedToArray(Bt,2),Ct=Et[0],Pt=Et[1],Ot=useSafeState(null),Mt=_slicedToArray(Ot,2),Ut=Mt[0],Wt=Mt[1],$t=reactExports.useRef(!1),St=reactExports.useRef(null);function Ft(){return tt()}var Vt=reactExports.useRef(!1);function Rt(){Pt(STATUS_NONE,!0),Wt(null,!0)}function Yt(wr){var gr=Ft();if(!(wr&&!wr.deadline&&wr.target!==gr)){var yr=Vt.current,Er;Ct===STATUS_APPEAR&&yr?Er=Tt?.(gr,wr):Ct===STATUS_ENTER&&yr?Er=kt?.(gr,wr):Ct===STATUS_LEAVE&&yr&&(Er=jt?.(gr,wr)),Ct!==STATUS_NONE&&yr&&Er!==!1&&Rt()}}var Kt=useDomMotionEvents(Yt),Xt=_slicedToArray(Kt,1),rr=Xt[0],or=function(gr){var yr,Er,_r;switch(gr){case STATUS_APPEAR:return yr={},_defineProperty$1(yr,STEP_PREPARE,mt),_defineProperty$1(yr,STEP_START,bt),_defineProperty$1(yr,STEP_ACTIVE,wt),yr;case STATUS_ENTER:return Er={},_defineProperty$1(Er,STEP_PREPARE,gt),_defineProperty$1(Er,STEP_START,yt),_defineProperty$1(Er,STEP_ACTIVE,_t),Er;case STATUS_LEAVE:return _r={},_defineProperty$1(_r,STEP_PREPARE,vt),_defineProperty$1(_r,STEP_START,xt),_defineProperty$1(_r,STEP_ACTIVE,At),_r;default:return{}}},ar=reactExports.useMemo(function(){return or(Ct)},[Ct]),ir=useStepQueue(Ct,!_e,function(wr){if(wr===STEP_PREPARE){var gr=ar[STEP_PREPARE];return gr?gr(Ft()):SkipStep}if(hr in ar){var yr;Wt(((yr=ar[hr])===null||yr===void 0?void 0:yr.call(ar,Ft(),null))||null)}return hr===STEP_ACTIVE&&(rr(Ft()),ht>0&&(clearTimeout(St.current),St.current=setTimeout(function(){Yt({deadline:!0})},ht))),hr===STEP_PREPARED&&Rt(),DoStep}),pr=_slicedToArray(ir,2),nr=pr[0],hr=pr[1],Ar=isActive(hr);Vt.current=Ar,useIsomorphicLayoutEffect$1(function(){Zt(et);var wr=$t.current;$t.current=!0;var gr;!wr&&et&&st&&(gr=STATUS_APPEAR),wr&&et&&it&&(gr=STATUS_ENTER),(wr&&!et&&dt||!wr&&pt&&!et&&dt)&&(gr=STATUS_LEAVE);var yr=or(gr);gr&&(_e||yr[STEP_PREPARE])?(Pt(gr),nr()):Pt(STATUS_NONE)},[et]),reactExports.useEffect(function(){(Ct===STATUS_APPEAR&&!st||Ct===STATUS_ENTER&&!it||Ct===STATUS_LEAVE&&!dt)&&Pt(STATUS_NONE)},[st,it,dt]),reactExports.useEffect(function(){return function(){$t.current=!1,clearTimeout(St.current)}},[]);var ur=reactExports.useRef(!1);reactExports.useEffect(function(){zt&&(ur.current=!0),zt!==void 0&&Ct===STATUS_NONE&&((ur.current||zt)&&Lt?.(zt),ur.current=!0)},[zt,Ct]);var vr=Ut;return ar[STEP_PREPARE]&&hr===STEP_START&&(vr=_objectSpread2({transition:"none"},vr)),[Ct,hr,vr,zt??et]}function genCSSMotion(_e){var et=_e;_typeof$1(_e)==="object"&&(et=_e.transitionSupport);function tt(nt,it){return!!(nt.motionName&&et&&it!==!1)}var rt=reactExports.forwardRef(function(nt,it){var at=nt.visible,st=at===void 0?!0:at,lt=nt.removeOnLeave,dt=lt===void 0?!0:lt,ht=nt.forceRender,pt=nt.children,mt=nt.motionName,gt=nt.leavedClassName,vt=nt.eventProps,bt=reactExports.useContext(Context$1),yt=bt.motion,xt=tt(nt,yt),wt=reactExports.useRef(),_t=reactExports.useRef();function At(){try{return wt.current instanceof HTMLElement?wt.current:findDOMNode(_t.current)}catch{return null}}var Tt=useStatus(xt,st,At,nt),kt=_slicedToArray(Tt,4),jt=kt[0],Lt=kt[1],qt=kt[2],Dt=kt[3],zt=reactExports.useRef(Dt);Dt&&(zt.current=!0);var Zt=reactExports.useCallback(function(Wt){wt.current=Wt,fillRef(it,Wt)},[it]),Bt,Et=_objectSpread2(_objectSpread2({},vt),{},{visible:st});if(!pt)Bt=null;else if(jt===STATUS_NONE)Dt?Bt=pt(_objectSpread2({},Et),Zt):!dt&&zt.current&>?Bt=pt(_objectSpread2(_objectSpread2({},Et),{},{className:gt}),Zt):ht||!dt&&!gt?Bt=pt(_objectSpread2(_objectSpread2({},Et),{},{style:{display:"none"}}),Zt):Bt=null;else{var Ct,Pt;Lt===STEP_PREPARE?Pt="prepare":isActive(Lt)?Pt="active":Lt===STEP_START&&(Pt="start");var Ot=getTransitionName$1(mt,"".concat(jt,"-").concat(Pt));Bt=pt(_objectSpread2(_objectSpread2({},Et),{},{className:classNames(getTransitionName$1(mt,jt),(Ct={},_defineProperty$1(Ct,Ot,Ot&&Pt),_defineProperty$1(Ct,mt,typeof mt=="string"),Ct)),style:qt}),Zt)}if(reactExports.isValidElement(Bt)&&supportRef(Bt)){var Mt=Bt,Ut=Mt.ref;Ut||(Bt=reactExports.cloneElement(Bt,{ref:Zt}))}return reactExports.createElement(DomWrapper,{ref:_t},Bt)});return rt.displayName="CSSMotion",rt}const CSSMotion=genCSSMotion(supportTransition);var STATUS_ADD="add",STATUS_KEEP="keep",STATUS_REMOVE="remove",STATUS_REMOVED="removed";function wrapKeyToObject(_e){var et;return _e&&_typeof$1(_e)==="object"&&"key"in _e?et=_e:et={key:_e},_objectSpread2(_objectSpread2({},et),{},{key:String(et.key)})}function parseKeys(){var _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return _e.map(wrapKeyToObject)}function diffKeys(){var _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],tt=[],rt=0,nt=et.length,it=parseKeys(_e),at=parseKeys(et);it.forEach(function(dt){for(var ht=!1,pt=rt;pt1});return lt.forEach(function(dt){tt=tt.filter(function(ht){var pt=ht.key,mt=ht.status;return pt!==dt||mt!==STATUS_REMOVE}),tt.forEach(function(ht){ht.key===dt&&(ht.status=STATUS_KEEP)})}),tt}var _excluded$7=["component","children","onVisibleChanged","onAllRemoved"],_excluded2=["status"],MOTION_PROP_NAMES=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function genCSSMotionList(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:CSSMotion,tt=function(rt){_inherits$1(it,rt);var nt=_createSuper$1(it);function it(){var at;_classCallCheck$1(this,it);for(var st=arguments.length,lt=new Array(st),dt=0;dtnull;var __rest$9=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);ntet.endsWith("Color"))}const setGlobalConfig=_e=>{let{prefixCls:et,iconPrefixCls:tt,theme:rt}=_e;et!==void 0&&(globalPrefixCls=et),tt!==void 0&&(globalIconPrefixCls=tt),rt&&(isLegacyTheme(rt)?registerTheme(getGlobalPrefixCls(),rt):globalTheme=rt)},globalConfig=()=>({getPrefixCls:(_e,et)=>et||(_e?`${getGlobalPrefixCls()}-${_e}`:getGlobalPrefixCls()),getIconPrefixCls:getGlobalIconPrefixCls,getRootPrefixCls:()=>globalPrefixCls||getGlobalPrefixCls(),getTheme:()=>globalTheme}),ProviderChildren=_e=>{const{children:et,csp:tt,autoInsertSpaceInButton:rt,alert:nt,anchor:it,form:at,locale:st,componentSize:lt,direction:dt,space:ht,virtual:pt,dropdownMatchSelectWidth:mt,popupMatchSelectWidth:gt,popupOverflow:vt,legacyLocale:bt,parentContext:yt,iconPrefixCls:xt,theme:wt,componentDisabled:_t,segmented:At,statistic:Tt,spin:kt,calendar:jt,carousel:Lt,cascader:qt,collapse:Dt,typography:zt,checkbox:Zt,descriptions:Bt,divider:Et,drawer:Ct,skeleton:Pt,steps:Ot,image:Mt,layout:Ut,list:Wt,mentions:$t,modal:St,progress:Ft,result:Vt,slider:Rt,breadcrumb:Yt,menu:Kt,pagination:Xt,input:rr,empty:or,badge:ar,radio:ir,rate:pr,switch:nr,transfer:hr,avatar:Ar,message:ur,tag:vr,table:wr,card:gr,tabs:yr,timeline:Er,timePicker:_r,upload:$r,notification:Dr,tree:kr,colorPicker:Ht,datePicker:It,flex:Nt,wave:Gt,warning:er}=_e,Qt=reactExports.useCallback((Or,Tr)=>{const{prefixCls:Ir}=_e;if(Tr)return Tr;const Ur=Ir||yt.getPrefixCls("");return Or?`${Ur}-${Or}`:Ur},[yt.getPrefixCls,_e.prefixCls]),tr=xt||yt.iconPrefixCls||defaultIconPrefixCls,dr=tt||yt.csp;useStyle$4(tr,dr);const xr=useTheme(wt,yt.theme),Jt={csp:dr,autoInsertSpaceInButton:rt,alert:nt,anchor:it,locale:st||bt,direction:dt,space:ht,virtual:pt,popupMatchSelectWidth:gt??mt,popupOverflow:vt,getPrefixCls:Qt,iconPrefixCls:tr,theme:xr,segmented:At,statistic:Tt,spin:kt,calendar:jt,carousel:Lt,cascader:qt,collapse:Dt,typography:zt,checkbox:Zt,descriptions:Bt,divider:Et,drawer:Ct,skeleton:Pt,steps:Ot,image:Mt,input:rr,layout:Ut,list:Wt,mentions:$t,modal:St,progress:Ft,result:Vt,slider:Rt,breadcrumb:Yt,menu:Kt,pagination:Xt,empty:or,badge:ar,radio:ir,rate:pr,switch:nr,transfer:hr,avatar:Ar,message:ur,tag:vr,table:wr,card:gr,tabs:yr,timeline:Er,timePicker:_r,upload:$r,notification:Dr,tree:kr,colorPicker:Ht,datePicker:It,flex:Nt,wave:Gt,warning:er},sr=Object.assign({},yt);Object.keys(Jt).forEach(Or=>{Jt[Or]!==void 0&&(sr[Or]=Jt[Or])}),PASSED_PROPS.forEach(Or=>{const Tr=_e[Or];Tr&&(sr[Or]=Tr)});const cr=useMemo(()=>sr,sr,(Or,Tr)=>{const Ir=Object.keys(Or),Ur=Object.keys(Tr);return Ir.length!==Ur.length||Ir.some(Br=>Or[Br]!==Tr[Br])}),br=reactExports.useMemo(()=>({prefixCls:tr,csp:dr}),[tr,dr]);let Sr=reactExports.createElement(reactExports.Fragment,null,reactExports.createElement(PropWarning,{dropdownMatchSelectWidth:mt}),et);const Pr=reactExports.useMemo(()=>{var Or,Tr,Ir,Ur;return merge$1(((Or=defaultLocale.Form)===null||Or===void 0?void 0:Or.defaultValidateMessages)||{},((Ir=(Tr=cr.locale)===null||Tr===void 0?void 0:Tr.Form)===null||Ir===void 0?void 0:Ir.defaultValidateMessages)||{},((Ur=cr.form)===null||Ur===void 0?void 0:Ur.validateMessages)||{},at?.validateMessages||{})},[cr,at?.validateMessages]);Object.keys(Pr).length>0&&(Sr=reactExports.createElement(ValidateMessagesContext.Provider,{value:Pr},Sr)),st&&(Sr=reactExports.createElement(LocaleProvider$1,{locale:st,_ANT_MARK__:ANT_MARK},Sr)),(tr||dr)&&(Sr=reactExports.createElement(Context$2.Provider,{value:br},Sr)),lt&&(Sr=reactExports.createElement(SizeContextProvider,{size:lt},Sr)),Sr=reactExports.createElement(MotionWrapper,null,Sr);const Nr=reactExports.useMemo(()=>{const Or=xr||{},{algorithm:Tr,token:Ir,components:Ur}=Or,Br=__rest$9(Or,["algorithm","token","components"]),Mr=Tr&&(!Array.isArray(Tr)||Tr.length>0)?createTheme(Tr):defaultTheme,Kr={};return Object.entries(Ur||{}).forEach(jr=>{let[Fr,Zr]=jr;const Rr=Object.assign({},Zr);"algorithm"in Rr&&(Rr.algorithm===!0?Rr.theme=Mr:(Array.isArray(Rr.algorithm)||typeof Rr.algorithm=="function")&&(Rr.theme=createTheme(Rr.algorithm)),delete Rr.algorithm),Kr[Fr]=Rr}),Object.assign(Object.assign({},Br),{theme:Mr,token:Object.assign(Object.assign({},seedToken$1),Ir),components:Kr})},[xr]);return wt&&(Sr=reactExports.createElement(DesignTokenContext.Provider,{value:Nr},Sr)),cr.warning&&(Sr=reactExports.createElement(WarningContext.Provider,{value:cr.warning},Sr)),_t!==void 0&&(Sr=reactExports.createElement(DisabledContextProvider,{disabled:_t},Sr)),reactExports.createElement(ConfigContext.Provider,{value:cr},Sr)},ConfigProvider=_e=>{const et=reactExports.useContext(ConfigContext),tt=reactExports.useContext(LocaleContext$1);return reactExports.createElement(ProviderChildren,Object.assign({parentContext:et,legacyLocale:tt},_e))};ConfigProvider.ConfigContext=ConfigContext;ConfigProvider.SizeContext=SizeContext$1;ConfigProvider.config=setGlobalConfig;ConfigProvider.useConfig=useConfig;Object.defineProperty(ConfigProvider,"SizeContext",{get:()=>SizeContext$1});const ConfigProvider$1=ConfigProvider;var CheckCircleFilled$2={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};const CheckCircleFilledSvg=CheckCircleFilled$2;function getRoot(_e){var et;return _e==null||(et=_e.getRootNode)===null||et===void 0?void 0:et.call(_e)}function inShadow(_e){return getRoot(_e)instanceof ShadowRoot}function getShadowRoot(_e){return inShadow(_e)?getRoot(_e):null}function camelCase(_e){return _e.replace(/-(.)/g,function(et,tt){return tt.toUpperCase()})}function warning$2(_e,et){warningOnce(_e,"[@ant-design/icons] ".concat(et))}function isIconDefinition(_e){return _typeof$1(_e)==="object"&&typeof _e.name=="string"&&typeof _e.theme=="string"&&(_typeof$1(_e.icon)==="object"||typeof _e.icon=="function")}function normalizeAttrs(){var _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(_e).reduce(function(et,tt){var rt=_e[tt];switch(tt){case"class":et.className=rt,delete et.class;break;default:delete et[tt],et[camelCase(tt)]=rt}return et},{})}function generate(_e,et,tt){return tt?React.createElement(_e.tag,_objectSpread2(_objectSpread2({key:et},normalizeAttrs(_e.attrs)),tt),(_e.children||[]).map(function(rt,nt){return generate(rt,"".concat(et,"-").concat(_e.tag,"-").concat(nt))})):React.createElement(_e.tag,_objectSpread2({key:et},normalizeAttrs(_e.attrs)),(_e.children||[]).map(function(rt,nt){return generate(rt,"".concat(et,"-").concat(_e.tag,"-").concat(nt))}))}function getSecondaryColor(_e){return generate$1(_e)[0]}function normalizeTwoToneColors(_e){return _e?Array.isArray(_e)?_e:[_e]:[]}var iconStyles=` +.anticon { + display: inline-block; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticon > * { + line-height: 1; +} + +.anticon svg { + display: inline-block; +} + +.anticon::before { + display: none; +} + +.anticon .anticon-icon { + display: block; +} + +.anticon[tabindex] { + cursor: pointer; +} + +.anticon-spin::before, +.anticon-spin { + display: inline-block; + -webkit-animation: loadingCircle 1s infinite linear; + animation: loadingCircle 1s infinite linear; +} + +@-webkit-keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes loadingCircle { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +`,useInsertStyles=function(et){var tt=reactExports.useContext(Context$2),rt=tt.csp,nt=tt.prefixCls,it=iconStyles;nt&&(it=it.replace(/anticon/g,nt)),reactExports.useEffect(function(){var at=et.current,st=getShadowRoot(at);updateCSS(it,"@ant-design-icons",{prepend:!0,csp:rt,attachTo:st})},[])},_excluded$6=["icon","className","onClick","style","primaryColor","secondaryColor"],twoToneColorPalette={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function setTwoToneColors(_e){var et=_e.primaryColor,tt=_e.secondaryColor;twoToneColorPalette.primaryColor=et,twoToneColorPalette.secondaryColor=tt||getSecondaryColor(et),twoToneColorPalette.calculated=!!tt}function getTwoToneColors(){return _objectSpread2({},twoToneColorPalette)}var IconBase=function(et){var tt=et.icon,rt=et.className,nt=et.onClick,it=et.style,at=et.primaryColor,st=et.secondaryColor,lt=_objectWithoutProperties$1(et,_excluded$6),dt=reactExports.useRef(),ht=twoToneColorPalette;if(at&&(ht={primaryColor:at,secondaryColor:st||getSecondaryColor(at)}),useInsertStyles(dt),warning$2(isIconDefinition(tt),"icon should be icon definiton, but got ".concat(tt)),!isIconDefinition(tt))return null;var pt=tt;return pt&&typeof pt.icon=="function"&&(pt=_objectSpread2(_objectSpread2({},pt),{},{icon:pt.icon(ht.primaryColor,ht.secondaryColor)})),generate(pt.icon,"svg-".concat(pt.name),_objectSpread2(_objectSpread2({className:rt,onClick:nt,style:it,"data-icon":pt.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},lt),{},{ref:dt}))};IconBase.displayName="IconReact";IconBase.getTwoToneColors=getTwoToneColors;IconBase.setTwoToneColors=setTwoToneColors;const ReactIcon=IconBase;function setTwoToneColor(_e){var et=normalizeTwoToneColors(_e),tt=_slicedToArray(et,2),rt=tt[0],nt=tt[1];return ReactIcon.setTwoToneColors({primaryColor:rt,secondaryColor:nt})}function getTwoToneColor(){var _e=ReactIcon.getTwoToneColors();return _e.calculated?[_e.primaryColor,_e.secondaryColor]:_e.primaryColor}var _excluded$5=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];setTwoToneColor(blue.primary);var Icon=reactExports.forwardRef(function(_e,et){var tt,rt=_e.className,nt=_e.icon,it=_e.spin,at=_e.rotate,st=_e.tabIndex,lt=_e.onClick,dt=_e.twoToneColor,ht=_objectWithoutProperties$1(_e,_excluded$5),pt=reactExports.useContext(Context$2),mt=pt.prefixCls,gt=mt===void 0?"anticon":mt,vt=pt.rootClassName,bt=classNames(vt,gt,(tt={},_defineProperty$1(tt,"".concat(gt,"-").concat(nt.name),!!nt.name),_defineProperty$1(tt,"".concat(gt,"-spin"),!!it||nt.name==="loading"),tt),rt),yt=st;yt===void 0&<&&(yt=-1);var xt=at?{msTransform:"rotate(".concat(at,"deg)"),transform:"rotate(".concat(at,"deg)")}:void 0,wt=normalizeTwoToneColors(dt),_t=_slicedToArray(wt,2),At=_t[0],Tt=_t[1];return reactExports.createElement("span",_extends$3({role:"img","aria-label":nt.name},ht,{ref:et,tabIndex:yt,onClick:lt,className:bt}),reactExports.createElement(ReactIcon,{icon:nt,primaryColor:At,secondaryColor:Tt,style:xt}))});Icon.displayName="AntdIcon";Icon.getTwoToneColor=getTwoToneColor;Icon.setTwoToneColor=setTwoToneColor;const AntdIcon=Icon;var CheckCircleFilled=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:CheckCircleFilledSvg}))};const CheckCircleFilled$1=reactExports.forwardRef(CheckCircleFilled);var CloseCircleFilled$2={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"};const CloseCircleFilledSvg=CloseCircleFilled$2;var CloseCircleFilled=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:CloseCircleFilledSvg}))};const CloseCircleFilled$1=reactExports.forwardRef(CloseCircleFilled);var CloseOutlined$2={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"};const CloseOutlinedSvg=CloseOutlined$2;var CloseOutlined=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:CloseOutlinedSvg}))};const CloseOutlined$1=reactExports.forwardRef(CloseOutlined);var ExclamationCircleFilled$2={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"};const ExclamationCircleFilledSvg=ExclamationCircleFilled$2;var ExclamationCircleFilled=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:ExclamationCircleFilledSvg}))};const ExclamationCircleFilled$1=reactExports.forwardRef(ExclamationCircleFilled);var InfoCircleFilled$2={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"};const InfoCircleFilledSvg=InfoCircleFilled$2;var InfoCircleFilled=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:InfoCircleFilledSvg}))};const InfoCircleFilled$1=reactExports.forwardRef(InfoCircleFilled);var attributes=`accept acceptCharset accessKey action allowFullScreen allowTransparency + alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge + charSet checked classID className colSpan cols content contentEditable contextMenu + controls coords crossOrigin data dateTime default defer dir disabled download draggable + encType form formAction formEncType formMethod formNoValidate formTarget frameBorder + headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity + is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media + mediaGroup method min minLength multiple muted name noValidate nonce open + optimum pattern placeholder poster preload radioGroup readOnly rel required + reversed role rowSpan rows sandbox scope scoped scrolling seamless selected + shape size sizes span spellCheck src srcDoc srcLang srcSet start step style + summary tabIndex target title type useMap value width wmode wrap`,eventsName=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown + onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick + onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown + onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel + onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough + onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata + onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,propList="".concat(attributes," ").concat(eventsName).split(/[\s\n]+/),ariaPrefix="aria-",dataPrefix="data-";function match(_e,et){return _e.indexOf(et)===0}function pickAttrs(_e){var et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,tt;et===!1?tt={aria:!0,data:!0,attr:!0}:et===!0?tt={aria:!0}:tt=_objectSpread2({},et);var rt={};return Object.keys(_e).forEach(function(nt){(tt.aria&&(nt==="role"||match(nt,ariaPrefix))||tt.data&&match(nt,dataPrefix)||tt.attr&&propList.includes(nt))&&(rt[nt]=_e[nt])}),rt}const{isValidElement}=React$1;function isFragment(_e){return _e&&isValidElement(_e)&&_e.type===reactExports.Fragment}function replaceElement(_e,et,tt){return isValidElement(_e)?reactExports.cloneElement(_e,typeof tt=="function"?tt(_e.props||{}):tt):et}function cloneElement(_e,et){return replaceElement(_e,_e,et)}var KeyCode={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(et){var tt=et.keyCode;if(et.altKey&&!et.ctrlKey||et.metaKey||tt>=KeyCode.F1&&tt<=KeyCode.F12)return!1;switch(tt){case KeyCode.ALT:case KeyCode.CAPS_LOCK:case KeyCode.CONTEXT_MENU:case KeyCode.CTRL:case KeyCode.DOWN:case KeyCode.END:case KeyCode.ESC:case KeyCode.HOME:case KeyCode.INSERT:case KeyCode.LEFT:case KeyCode.MAC_FF_META:case KeyCode.META:case KeyCode.NUMLOCK:case KeyCode.NUM_CENTER:case KeyCode.PAGE_DOWN:case KeyCode.PAGE_UP:case KeyCode.PAUSE:case KeyCode.PRINT_SCREEN:case KeyCode.RIGHT:case KeyCode.SHIFT:case KeyCode.UP:case KeyCode.WIN_KEY:case KeyCode.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(et){if(et>=KeyCode.ZERO&&et<=KeyCode.NINE||et>=KeyCode.NUM_ZERO&&et<=KeyCode.NUM_MULTIPLY||et>=KeyCode.A&&et<=KeyCode.Z||window.navigator.userAgent.indexOf("WebKit")!==-1&&et===0)return!0;switch(et){case KeyCode.SPACE:case KeyCode.QUESTION_MARK:case KeyCode.NUM_PLUS:case KeyCode.NUM_MINUS:case KeyCode.NUM_PERIOD:case KeyCode.NUM_DIVISION:case KeyCode.SEMICOLON:case KeyCode.DASH:case KeyCode.EQUALS:case KeyCode.COMMA:case KeyCode.PERIOD:case KeyCode.SLASH:case KeyCode.APOSTROPHE:case KeyCode.SINGLE_QUOTE:case KeyCode.OPEN_SQUARE_BRACKET:case KeyCode.BACKSLASH:case KeyCode.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},Notify=reactExports.forwardRef(function(_e,et){var tt=_e.prefixCls,rt=_e.style,nt=_e.className,it=_e.duration,at=it===void 0?4.5:it,st=_e.eventKey,lt=_e.content,dt=_e.closable,ht=_e.closeIcon,pt=ht===void 0?"x":ht,mt=_e.props,gt=_e.onClick,vt=_e.onNoticeClose,bt=_e.times,yt=_e.hovering,xt=reactExports.useState(!1),wt=_slicedToArray(xt,2),_t=wt[0],At=wt[1],Tt=yt||_t,kt=function(){vt(st)},jt=function(Dt){(Dt.key==="Enter"||Dt.code==="Enter"||Dt.keyCode===KeyCode.ENTER)&&kt()};reactExports.useEffect(function(){if(!Tt&&at>0){var qt=setTimeout(function(){kt()},at*1e3);return function(){clearTimeout(qt)}}},[at,Tt,bt]);var Lt="".concat(tt,"-notice");return reactExports.createElement("div",_extends$3({},mt,{ref:et,className:classNames(Lt,nt,_defineProperty$1({},"".concat(Lt,"-closable"),dt)),style:rt,onMouseEnter:function(Dt){var zt;At(!0),mt==null||(zt=mt.onMouseEnter)===null||zt===void 0||zt.call(mt,Dt)},onMouseLeave:function(Dt){var zt;At(!1),mt==null||(zt=mt.onMouseLeave)===null||zt===void 0||zt.call(mt,Dt)},onClick:gt}),reactExports.createElement("div",{className:"".concat(Lt,"-content")},lt),dt&&reactExports.createElement("a",{tabIndex:0,className:"".concat(Lt,"-close"),onKeyDown:jt,onClick:function(Dt){Dt.preventDefault(),Dt.stopPropagation(),kt()}},pt))}),NotificationContext=React.createContext({}),NotificationProvider=function(et){var tt=et.children,rt=et.classNames;return React.createElement(NotificationContext.Provider,{value:{classNames:rt}},tt)},DEFAULT_OFFSET$1=8,DEFAULT_THRESHOLD=3,DEFAULT_GAP=16,useStack=function(et){var tt={offset:DEFAULT_OFFSET$1,threshold:DEFAULT_THRESHOLD,gap:DEFAULT_GAP};if(et&&_typeof$1(et)==="object"){var rt,nt,it;tt.offset=(rt=et.offset)!==null&&rt!==void 0?rt:DEFAULT_OFFSET$1,tt.threshold=(nt=et.threshold)!==null&&nt!==void 0?nt:DEFAULT_THRESHOLD,tt.gap=(it=et.gap)!==null&&it!==void 0?it:DEFAULT_GAP}return[!!et,tt]},NoticeList=function(et){var tt,rt=et.configList,nt=et.placement,it=et.prefixCls,at=et.className,st=et.style,lt=et.motion,dt=et.onAllNoticeRemoved,ht=et.onNoticeClose,pt=et.stack,mt=reactExports.useContext(NotificationContext),gt=mt.classNames,vt=reactExports.useRef({}),bt=reactExports.useState(null),yt=_slicedToArray(bt,2),xt=yt[0],wt=yt[1],_t=reactExports.useState([]),At=_slicedToArray(_t,2),Tt=At[0],kt=At[1],jt=rt.map(function(Ot){return{config:Ot,key:Ot.key}}),Lt=useStack(pt),qt=_slicedToArray(Lt,2),Dt=qt[0],zt=qt[1],Zt=zt.offset,Bt=zt.threshold,Et=zt.gap,Ct=Dt&&(Tt.length>0||jt.length<=Bt),Pt=typeof lt=="function"?lt(nt):lt;return reactExports.useEffect(function(){Dt&&Tt.length>1&&kt(function(Ot){return Ot.filter(function(Mt){return jt.some(function(Ut){var Wt=Ut.key;return Mt===Wt})})})},[Tt,jt,Dt]),reactExports.useEffect(function(){var Ot;if(Dt&&vt.current[(Ot=jt[jt.length-1])===null||Ot===void 0?void 0:Ot.key]){var Mt;wt(vt.current[(Mt=jt[jt.length-1])===null||Mt===void 0?void 0:Mt.key])}},[jt,Dt]),React.createElement(CSSMotionList,_extends$3({key:nt,className:classNames(it,"".concat(it,"-").concat(nt),gt?.list,at,(tt={},_defineProperty$1(tt,"".concat(it,"-stack"),!!Dt),_defineProperty$1(tt,"".concat(it,"-stack-expanded"),Ct),tt)),style:st,keys:jt,motionAppear:!0},Pt,{onAllRemoved:function(){dt(nt)}}),function(Ot,Mt){var Ut=Ot.config,Wt=Ot.className,$t=Ot.style,St=Ot.index,Ft=Ut,Vt=Ft.key,Rt=Ft.times,Yt=Ut,Kt=Yt.className,Xt=Yt.style,rr=jt.findIndex(function(yr){return yr.key===Vt}),or={};if(Dt){var ar=jt.length-1-(rr>-1?rr:St-1),ir=nt==="top"||nt==="bottom"?"-50%":"0";if(ar>0){var pr,nr,hr;or.height=Ct?(pr=vt.current[Vt])===null||pr===void 0?void 0:pr.offsetHeight:xt?.offsetHeight;for(var Ar=0,ur=0;ur-1?vt.current[Vt]=Er:delete vt.current[Vt]},prefixCls:it,className:classNames(Kt,gt?.notice),times:Rt,key:Vt,eventKey:Vt,onNoticeClose:ht,hovering:Dt&&Tt.length>0})))})},Notifications=reactExports.forwardRef(function(_e,et){var tt=_e.prefixCls,rt=tt===void 0?"rc-notification":tt,nt=_e.container,it=_e.motion,at=_e.maxCount,st=_e.className,lt=_e.style,dt=_e.onAllRemoved,ht=_e.stack,pt=_e.renderNotifications,mt=reactExports.useState([]),gt=_slicedToArray(mt,2),vt=gt[0],bt=gt[1],yt=function(qt){var Dt,zt=vt.find(function(Zt){return Zt.key===qt});zt==null||(Dt=zt.onClose)===null||Dt===void 0||Dt.call(zt),bt(function(Zt){return Zt.filter(function(Bt){return Bt.key!==qt})})};reactExports.useImperativeHandle(et,function(){return{open:function(qt){bt(function(Dt){var zt=_toConsumableArray(Dt),Zt=zt.findIndex(function(Ct){return Ct.key===qt.key}),Bt=_objectSpread2({},qt);if(Zt>=0){var Et;Bt.times=(((Et=Dt[Zt])===null||Et===void 0?void 0:Et.times)||0)+1,zt[Zt]=Bt}else Bt.times=0,zt.push(Bt);return at>0&&zt.length>at&&(zt=zt.slice(-at)),zt})},close:function(qt){yt(qt)},destroy:function(){bt([])}}});var xt=reactExports.useState({}),wt=_slicedToArray(xt,2),_t=wt[0],At=wt[1];reactExports.useEffect(function(){var Lt={};vt.forEach(function(qt){var Dt=qt.placement,zt=Dt===void 0?"topRight":Dt;zt&&(Lt[zt]=Lt[zt]||[],Lt[zt].push(qt))}),Object.keys(_t).forEach(function(qt){Lt[qt]=Lt[qt]||[]}),At(Lt)},[vt]);var Tt=function(qt){At(function(Dt){var zt=_objectSpread2({},Dt),Zt=zt[qt]||[];return Zt.length||delete zt[qt],zt})},kt=reactExports.useRef(!1);if(reactExports.useEffect(function(){Object.keys(_t).length>0?kt.current=!0:kt.current&&(dt?.(),kt.current=!1)},[_t]),!nt)return null;var jt=Object.keys(_t);return reactDomExports.createPortal(reactExports.createElement(reactExports.Fragment,null,jt.map(function(Lt){var qt=_t[Lt],Dt=reactExports.createElement(NoticeList,{key:Lt,configList:qt,placement:Lt,prefixCls:rt,className:st?.(Lt),style:lt?.(Lt),motion:it,onNoticeClose:yt,onAllNoticeRemoved:Tt,stack:ht});return pt?pt(Dt,{prefixCls:rt,key:Lt}):Dt})),nt)}),_excluded$4=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],defaultGetContainer=function(){return document.body},uniqueKey=0;function mergeConfig(){for(var _e={},et=arguments.length,tt=new Array(et),rt=0;rt0&&arguments[0]!==void 0?arguments[0]:{},et=_e.getContainer,tt=et===void 0?defaultGetContainer:et,rt=_e.motion,nt=_e.prefixCls,it=_e.maxCount,at=_e.className,st=_e.style,lt=_e.onAllRemoved,dt=_e.stack,ht=_e.renderNotifications,pt=_objectWithoutProperties$1(_e,_excluded$4),mt=reactExports.useState(),gt=_slicedToArray(mt,2),vt=gt[0],bt=gt[1],yt=reactExports.useRef(),xt=reactExports.createElement(Notifications,{container:vt,ref:yt,prefixCls:nt,motion:rt,maxCount:it,className:at,style:st,onAllRemoved:lt,stack:dt,renderNotifications:ht}),wt=reactExports.useState([]),_t=_slicedToArray(wt,2),At=_t[0],Tt=_t[1],kt=reactExports.useMemo(function(){return{open:function(Lt){var qt=mergeConfig(pt,Lt);(qt.key===null||qt.key===void 0)&&(qt.key="rc-notification-".concat(uniqueKey),uniqueKey+=1),Tt(function(Dt){return[].concat(_toConsumableArray(Dt),[{type:"open",config:qt}])})},close:function(Lt){Tt(function(qt){return[].concat(_toConsumableArray(qt),[{type:"close",key:Lt}])})},destroy:function(){Tt(function(Lt){return[].concat(_toConsumableArray(Lt),[{type:"destroy"}])})}}},[]);return reactExports.useEffect(function(){bt(tt())}),reactExports.useEffect(function(){yt.current&&At.length&&(At.forEach(function(jt){switch(jt.type){case"open":yt.current.open(jt.config);break;case"close":yt.current.close(jt.key);break;case"destroy":yt.current.destroy();break}}),Tt(function(jt){return jt.filter(function(Lt){return!At.includes(Lt)})}))},[At]),[kt,xt]}var LoadingOutlined$2={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"};const LoadingOutlinedSvg=LoadingOutlined$2;var LoadingOutlined=function(et,tt){return reactExports.createElement(AntdIcon,_extends$3({},et,{ref:tt,icon:LoadingOutlinedSvg}))};const LoadingOutlined$1=reactExports.forwardRef(LoadingOutlined),genMessageStyle=_e=>{const{componentCls:et,iconCls:tt,boxShadow:rt,colorText:nt,colorSuccess:it,colorError:at,colorWarning:st,colorInfo:lt,fontSizeLG:dt,motionEaseInOutCirc:ht,motionDurationSlow:pt,marginXS:mt,paddingXS:gt,borderRadiusLG:vt,zIndexPopup:bt,contentPadding:yt,contentBg:xt}=_e,wt=`${et}-notice`,_t=new Keyframe("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:gt,transform:"translateY(0)",opacity:1}}),At=new Keyframe("MessageMoveOut",{"0%":{maxHeight:_e.height,padding:gt,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),Tt={padding:gt,textAlign:"center",[`${et}-custom-content > ${tt}`]:{verticalAlign:"text-bottom",marginInlineEnd:mt,fontSize:dt},[`${wt}-content`]:{display:"inline-block",padding:yt,background:xt,borderRadius:vt,boxShadow:rt,pointerEvents:"all"},[`${et}-success > ${tt}`]:{color:it},[`${et}-error > ${tt}`]:{color:at},[`${et}-warning > ${tt}`]:{color:st},[`${et}-info > ${tt}, + ${et}-loading > ${tt}`]:{color:lt}};return[{[et]:Object.assign(Object.assign({},resetComponent(_e)),{color:nt,position:"fixed",top:mt,width:"100%",pointerEvents:"none",zIndex:bt,[`${et}-move-up`]:{animationFillMode:"forwards"},[` + ${et}-move-up-appear, + ${et}-move-up-enter + `]:{animationName:_t,animationDuration:pt,animationPlayState:"paused",animationTimingFunction:ht},[` + ${et}-move-up-appear${et}-move-up-appear-active, + ${et}-move-up-enter${et}-move-up-enter-active + `]:{animationPlayState:"running"},[`${et}-move-up-leave`]:{animationName:At,animationDuration:pt,animationPlayState:"paused",animationTimingFunction:ht},[`${et}-move-up-leave${et}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[et]:{[`${wt}-wrapper`]:Object.assign({},Tt)}},{[`${et}-notice-pure-panel`]:Object.assign(Object.assign({},Tt),{padding:0,textAlign:"start"})}]},useStyle$3=genComponentStyleHook("Message",_e=>{const et=merge(_e,{height:150});return[genMessageStyle(et)]},_e=>({zIndexPopup:_e.zIndexPopupBase+10,contentBg:_e.colorBgElevated,contentPadding:`${(_e.controlHeightLG-_e.fontSize*_e.lineHeight)/2}px ${_e.paddingSM}px`}));var __rest$8=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{let{prefixCls:et,type:tt,icon:rt,children:nt}=_e;return reactExports.createElement("div",{className:classNames(`${et}-custom-content`,`${et}-${tt}`)},rt||TypeIcon[tt],reactExports.createElement("span",null,nt))},PurePanel$2=_e=>{const{prefixCls:et,className:tt,type:rt,icon:nt,content:it}=_e,at=__rest$8(_e,["prefixCls","className","type","icon","content"]),{getPrefixCls:st}=reactExports.useContext(ConfigContext),lt=et||st("message"),[,dt]=useStyle$3(lt);return reactExports.createElement(Notify,Object.assign({},at,{prefixCls:lt,className:classNames(tt,dt,`${lt}-notice-pure-panel`),eventKey:"pure",duration:null,content:reactExports.createElement(PureContent,{prefixCls:lt,type:rt,icon:nt},it)}))},PurePanel$3=PurePanel$2;function getMotion(_e,et){return{motionName:et??`${_e}-move-up`}}function wrapPromiseFn(_e){let et;const tt=new Promise(nt=>{et=_e(()=>{nt(!0)})}),rt=()=>{et?.()};return rt.then=(nt,it)=>tt.then(nt,it),rt.promise=tt,rt}var __rest$7=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{let{children:et,prefixCls:tt}=_e;const[,rt]=useStyle$3(tt);return reactExports.createElement(NotificationProvider,{classNames:{list:rt,notice:rt}},et)},renderNotifications=(_e,et)=>{let{prefixCls:tt,key:rt}=et;return reactExports.createElement(Wrapper,{prefixCls:tt,key:rt},_e)},Holder=reactExports.forwardRef((_e,et)=>{const{top:tt,prefixCls:rt,getContainer:nt,maxCount:it,duration:at=DEFAULT_DURATION,rtl:st,transitionName:lt,onAllRemoved:dt}=_e,{getPrefixCls:ht,getPopupContainer:pt,message:mt}=reactExports.useContext(ConfigContext),gt=rt||ht("message"),vt=()=>({left:"50%",transform:"translateX(-50%)",top:tt??DEFAULT_OFFSET}),bt=()=>classNames({[`${gt}-rtl`]:st}),yt=()=>getMotion(gt,lt),xt=reactExports.createElement("span",{className:`${gt}-close-x`},reactExports.createElement(CloseOutlined$1,{className:`${gt}-close-icon`})),[wt,_t]=useNotification({prefixCls:gt,style:vt,className:bt,motion:yt,closable:!1,closeIcon:xt,duration:at,getContainer:()=>nt?.()||pt?.()||document.body,maxCount:it,onAllRemoved:dt,renderNotifications});return reactExports.useImperativeHandle(et,()=>Object.assign(Object.assign({},wt),{prefixCls:gt,message:mt})),_t});let keyIndex=0;function useInternalMessage(_e){const et=reactExports.useRef(null);return[reactExports.useMemo(()=>{const rt=lt=>{var dt;(dt=et.current)===null||dt===void 0||dt.close(lt)},nt=lt=>{if(!et.current){const kt=()=>{};return kt.then=()=>{},kt}const{open:dt,prefixCls:ht,message:pt}=et.current,mt=`${ht}-notice`,{content:gt,icon:vt,type:bt,key:yt,className:xt,style:wt,onClose:_t}=lt,At=__rest$7(lt,["content","icon","type","key","className","style","onClose"]);let Tt=yt;return Tt==null&&(keyIndex+=1,Tt=`antd-message-${keyIndex}`),wrapPromiseFn(kt=>(dt(Object.assign(Object.assign({},At),{key:Tt,content:reactExports.createElement(PureContent,{prefixCls:ht,type:bt,icon:vt},gt),placement:"top",className:classNames(bt&&`${mt}-${bt}`,xt,pt?.className),style:Object.assign(Object.assign({},pt?.style),wt),onClose:()=>{_t?.(),kt()}})),()=>{rt(Tt)}))},at={open:nt,destroy:lt=>{var dt;lt!==void 0?rt(lt):(dt=et.current)===null||dt===void 0||dt.destroy()}};return["info","success","warning","error","loading"].forEach(lt=>{const dt=(ht,pt,mt)=>{let gt;ht&&typeof ht=="object"&&"content"in ht?gt=ht:gt={content:ht};let vt,bt;typeof pt=="function"?bt=pt:(vt=pt,bt=mt);const yt=Object.assign(Object.assign({onClose:bt,duration:vt},gt),{type:lt});return nt(yt)};at[lt]=dt}),at},[]),reactExports.createElement(Holder,Object.assign({key:"message-holder"},_e,{ref:et}))]}function useMessage(_e){return useInternalMessage(_e)}function usePatchElement(){const[_e,et]=reactExports.useState([]),tt=reactExports.useCallback(rt=>(et(nt=>[].concat(_toConsumableArray(nt),[rt])),()=>{et(nt=>nt.filter(it=>it!==rt))}),[]);return[_e,tt]}function _regeneratorRuntime(){_regeneratorRuntime=function(){return et};var _e,et={},tt=Object.prototype,rt=tt.hasOwnProperty,nt=Object.defineProperty||function(Pt,Ot,Mt){Pt[Ot]=Mt.value},it=typeof Symbol=="function"?Symbol:{},at=it.iterator||"@@iterator",st=it.asyncIterator||"@@asyncIterator",lt=it.toStringTag||"@@toStringTag";function dt(Pt,Ot,Mt){return Object.defineProperty(Pt,Ot,{value:Mt,enumerable:!0,configurable:!0,writable:!0}),Pt[Ot]}try{dt({},"")}catch{dt=function(Mt,Ut,Wt){return Mt[Ut]=Wt}}function ht(Pt,Ot,Mt,Ut){var Wt=Ot&&Ot.prototype instanceof xt?Ot:xt,$t=Object.create(Wt.prototype),St=new Et(Ut||[]);return nt($t,"_invoke",{value:Dt(Pt,Mt,St)}),$t}function pt(Pt,Ot,Mt){try{return{type:"normal",arg:Pt.call(Ot,Mt)}}catch(Ut){return{type:"throw",arg:Ut}}}et.wrap=ht;var mt="suspendedStart",gt="suspendedYield",vt="executing",bt="completed",yt={};function xt(){}function wt(){}function _t(){}var At={};dt(At,at,function(){return this});var Tt=Object.getPrototypeOf,kt=Tt&&Tt(Tt(Ct([])));kt&&kt!==tt&&rt.call(kt,at)&&(At=kt);var jt=_t.prototype=xt.prototype=Object.create(At);function Lt(Pt){["next","throw","return"].forEach(function(Ot){dt(Pt,Ot,function(Mt){return this._invoke(Ot,Mt)})})}function qt(Pt,Ot){function Mt(Wt,$t,St,Ft){var Vt=pt(Pt[Wt],Pt,$t);if(Vt.type!=="throw"){var Rt=Vt.arg,Yt=Rt.value;return Yt&&_typeof$1(Yt)=="object"&&rt.call(Yt,"__await")?Ot.resolve(Yt.__await).then(function(Kt){Mt("next",Kt,St,Ft)},function(Kt){Mt("throw",Kt,St,Ft)}):Ot.resolve(Yt).then(function(Kt){Rt.value=Kt,St(Rt)},function(Kt){return Mt("throw",Kt,St,Ft)})}Ft(Vt.arg)}var Ut;nt(this,"_invoke",{value:function($t,St){function Ft(){return new Ot(function(Vt,Rt){Mt($t,St,Vt,Rt)})}return Ut=Ut?Ut.then(Ft,Ft):Ft()}})}function Dt(Pt,Ot,Mt){var Ut=mt;return function(Wt,$t){if(Ut===vt)throw new Error("Generator is already running");if(Ut===bt){if(Wt==="throw")throw $t;return{value:_e,done:!0}}for(Mt.method=Wt,Mt.arg=$t;;){var St=Mt.delegate;if(St){var Ft=zt(St,Mt);if(Ft){if(Ft===yt)continue;return Ft}}if(Mt.method==="next")Mt.sent=Mt._sent=Mt.arg;else if(Mt.method==="throw"){if(Ut===mt)throw Ut=bt,Mt.arg;Mt.dispatchException(Mt.arg)}else Mt.method==="return"&&Mt.abrupt("return",Mt.arg);Ut=vt;var Vt=pt(Pt,Ot,Mt);if(Vt.type==="normal"){if(Ut=Mt.done?bt:gt,Vt.arg===yt)continue;return{value:Vt.arg,done:Mt.done}}Vt.type==="throw"&&(Ut=bt,Mt.method="throw",Mt.arg=Vt.arg)}}}function zt(Pt,Ot){var Mt=Ot.method,Ut=Pt.iterator[Mt];if(Ut===_e)return Ot.delegate=null,Mt==="throw"&&Pt.iterator.return&&(Ot.method="return",Ot.arg=_e,zt(Pt,Ot),Ot.method==="throw")||Mt!=="return"&&(Ot.method="throw",Ot.arg=new TypeError("The iterator does not provide a '"+Mt+"' method")),yt;var Wt=pt(Ut,Pt.iterator,Ot.arg);if(Wt.type==="throw")return Ot.method="throw",Ot.arg=Wt.arg,Ot.delegate=null,yt;var $t=Wt.arg;return $t?$t.done?(Ot[Pt.resultName]=$t.value,Ot.next=Pt.nextLoc,Ot.method!=="return"&&(Ot.method="next",Ot.arg=_e),Ot.delegate=null,yt):$t:(Ot.method="throw",Ot.arg=new TypeError("iterator result is not an object"),Ot.delegate=null,yt)}function Zt(Pt){var Ot={tryLoc:Pt[0]};1 in Pt&&(Ot.catchLoc=Pt[1]),2 in Pt&&(Ot.finallyLoc=Pt[2],Ot.afterLoc=Pt[3]),this.tryEntries.push(Ot)}function Bt(Pt){var Ot=Pt.completion||{};Ot.type="normal",delete Ot.arg,Pt.completion=Ot}function Et(Pt){this.tryEntries=[{tryLoc:"root"}],Pt.forEach(Zt,this),this.reset(!0)}function Ct(Pt){if(Pt||Pt===""){var Ot=Pt[at];if(Ot)return Ot.call(Pt);if(typeof Pt.next=="function")return Pt;if(!isNaN(Pt.length)){var Mt=-1,Ut=function Wt(){for(;++Mt=0;--Wt){var $t=this.tryEntries[Wt],St=$t.completion;if($t.tryLoc==="root")return Ut("end");if($t.tryLoc<=this.prev){var Ft=rt.call($t,"catchLoc"),Vt=rt.call($t,"finallyLoc");if(Ft&&Vt){if(this.prev<$t.catchLoc)return Ut($t.catchLoc,!0);if(this.prev<$t.finallyLoc)return Ut($t.finallyLoc)}else if(Ft){if(this.prev<$t.catchLoc)return Ut($t.catchLoc,!0)}else{if(!Vt)throw new Error("try statement without catch or finally");if(this.prev<$t.finallyLoc)return Ut($t.finallyLoc)}}}},abrupt:function(Ot,Mt){for(var Ut=this.tryEntries.length-1;Ut>=0;--Ut){var Wt=this.tryEntries[Ut];if(Wt.tryLoc<=this.prev&&rt.call(Wt,"finallyLoc")&&this.prev=0;--Mt){var Ut=this.tryEntries[Mt];if(Ut.finallyLoc===Ot)return this.complete(Ut.completion,Ut.afterLoc),Bt(Ut),yt}},catch:function(Ot){for(var Mt=this.tryEntries.length-1;Mt>=0;--Mt){var Ut=this.tryEntries[Mt];if(Ut.tryLoc===Ot){var Wt=Ut.completion;if(Wt.type==="throw"){var $t=Wt.arg;Bt(Ut)}return $t}}throw new Error("illegal catch attempt")},delegateYield:function(Ot,Mt,Ut){return this.delegate={iterator:Ct(Ot),resultName:Mt,nextLoc:Ut},this.method==="next"&&(this.arg=_e),yt}},et}function asyncGeneratorStep(_e,et,tt,rt,nt,it,at){try{var st=_e[it](at),lt=st.value}catch(dt){tt(dt);return}st.done?et(lt):Promise.resolve(lt).then(rt,nt)}function _asyncToGenerator(_e){return function(){var et=this,tt=arguments;return new Promise(function(rt,nt){var it=_e.apply(et,tt);function at(lt){asyncGeneratorStep(it,rt,nt,at,st,"next",lt)}function st(lt){asyncGeneratorStep(it,rt,nt,at,st,"throw",lt)}at(void 0)})}}var fullClone=_objectSpread2({},ReactDOM$1),version=fullClone.version,reactRender=fullClone.render,unmountComponentAtNode=fullClone.unmountComponentAtNode,createRoot;try{var mainVersion=Number((version||"").split(".")[0]);mainVersion>=18&&(createRoot=fullClone.createRoot)}catch{}function toggleWarning(_e){var et=fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;et&&_typeof$1(et)==="object"&&(et.usingClientEntryPoint=_e)}var MARK="__rc_react_root__";function modernRender(_e,et){toggleWarning(!0);var tt=et[MARK]||createRoot(et);toggleWarning(!1),tt.render(_e),et[MARK]=tt}function legacyRender(_e,et){reactRender(_e,et)}function render(_e,et){if(createRoot){modernRender(_e,et);return}legacyRender(_e,et)}function modernUnmount(_e){return _modernUnmount.apply(this,arguments)}function _modernUnmount(){return _modernUnmount=_asyncToGenerator(_regeneratorRuntime().mark(function _e(et){return _regeneratorRuntime().wrap(function(rt){for(;;)switch(rt.prev=rt.next){case 0:return rt.abrupt("return",Promise.resolve().then(function(){var nt;(nt=et[MARK])===null||nt===void 0||nt.unmount(),delete et[MARK]}));case 1:case"end":return rt.stop()}},_e)})),_modernUnmount.apply(this,arguments)}function legacyUnmount(_e){unmountComponentAtNode(_e)}function unmount(_e){return _unmount.apply(this,arguments)}function _unmount(){return _unmount=_asyncToGenerator(_regeneratorRuntime().mark(function _e(et){return _regeneratorRuntime().wrap(function(rt){for(;;)switch(rt.prev=rt.next){case 0:if(createRoot===void 0){rt.next=2;break}return rt.abrupt("return",modernUnmount(et));case 2:legacyUnmount(et);case 3:case"end":return rt.stop()}},_e)})),_unmount.apply(this,arguments)}const getTransitionName=(_e,et,tt)=>tt!==void 0?tt:`${_e}-${et}`,isVisible=function(_e){if(!_e)return!1;if(_e instanceof Element){if(_e.offsetParent)return!0;if(_e.getBBox){var et=_e.getBBox(),tt=et.width,rt=et.height;if(tt||rt)return!0}if(_e.getBoundingClientRect){var nt=_e.getBoundingClientRect(),it=nt.width,at=nt.height;if(it||at)return!0}}return!1},genWaveStyle=_e=>{const{componentCls:et,colorPrimary:tt}=_e;return{[et]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${tt})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${_e.motionEaseOutCirc}`,`opacity 2s ${_e.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow 0.3s ${_e.motionEaseInOut}`,`opacity 0.35s ${_e.motionEaseInOut}`].join(",")}}}}},useStyle$2=genComponentStyleHook("Wave",_e=>[genWaveStyle(_e)]);function isNotGrey(_e){const et=(_e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return et&&et[1]&&et[2]&&et[3]?!(et[1]===et[2]&&et[2]===et[3]):!0}function isValidWaveColor(_e){return _e&&_e!=="#fff"&&_e!=="#ffffff"&&_e!=="rgb(255, 255, 255)"&&_e!=="rgba(255, 255, 255, 1)"&&isNotGrey(_e)&&!/rgba\((?:\d*, ){3}0\)/.test(_e)&&_e!=="transparent"}function getTargetWaveColor(_e){const{borderTopColor:et,borderColor:tt,backgroundColor:rt}=getComputedStyle(_e);return isValidWaveColor(et)?et:isValidWaveColor(tt)?tt:isValidWaveColor(rt)?rt:null}const TARGET_CLS="ant-wave-target";function validateNum(_e){return Number.isNaN(_e)?0:_e}const WaveEffect=_e=>{const{className:et,target:tt,component:rt}=_e,nt=reactExports.useRef(null),[it,at]=reactExports.useState(null),[st,lt]=reactExports.useState([]),[dt,ht]=reactExports.useState(0),[pt,mt]=reactExports.useState(0),[gt,vt]=reactExports.useState(0),[bt,yt]=reactExports.useState(0),[xt,wt]=reactExports.useState(!1),_t={left:dt,top:pt,width:gt,height:bt,borderRadius:st.map(kt=>`${kt}px`).join(" ")};it&&(_t["--wave-color"]=it);function At(){const kt=getComputedStyle(tt);at(getTargetWaveColor(tt));const jt=kt.position==="static",{borderLeftWidth:Lt,borderTopWidth:qt}=kt;ht(jt?tt.offsetLeft:validateNum(-parseFloat(Lt))),mt(jt?tt.offsetTop:validateNum(-parseFloat(qt))),vt(tt.offsetWidth),yt(tt.offsetHeight);const{borderTopLeftRadius:Dt,borderTopRightRadius:zt,borderBottomLeftRadius:Zt,borderBottomRightRadius:Bt}=kt;lt([Dt,zt,Bt,Zt].map(Et=>validateNum(parseFloat(Et))))}if(reactExports.useEffect(()=>{if(tt){const kt=wrapperRaf(()=>{At(),wt(!0)});let jt;return typeof ResizeObserver<"u"&&(jt=new ResizeObserver(At),jt.observe(tt)),()=>{wrapperRaf.cancel(kt),jt?.disconnect()}}},[]),!xt)return null;const Tt=(rt==="Checkbox"||rt==="Radio")&&tt?.classList.contains(TARGET_CLS);return reactExports.createElement(CSSMotion,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(kt,jt)=>{var Lt;if(jt.deadline||jt.propertyName==="opacity"){const qt=(Lt=nt.current)===null||Lt===void 0?void 0:Lt.parentElement;unmount(qt).then(()=>{qt?.remove()})}return!1}},kt=>{let{className:jt}=kt;return reactExports.createElement("div",{ref:nt,className:classNames(et,{"wave-quick":Tt},jt),style:_t})})},showWaveEffect=(_e,et)=>{var tt;const{component:rt}=et;if(rt==="Checkbox"&&!(!((tt=_e.querySelector("input"))===null||tt===void 0)&&tt.checked))return;const nt=document.createElement("div");nt.style.position="absolute",nt.style.left="0px",nt.style.top="0px",_e?.insertBefore(nt,_e?.firstChild),render(reactExports.createElement(WaveEffect,Object.assign({},et,{target:_e})),nt)},showWaveEffect$1=showWaveEffect;function useWave(_e,et,tt){const{wave:rt}=reactExports.useContext(ConfigContext),[,nt,it]=useToken(),at=useEvent(dt=>{const ht=_e.current;if(rt?.disabled||!ht)return;const pt=ht.querySelector(`.${TARGET_CLS}`)||ht,{showEffect:mt}=rt||{};(mt||showWaveEffect$1)(pt,{className:et,token:nt,component:tt,event:dt,hashId:it})}),st=reactExports.useRef();return dt=>{wrapperRaf.cancel(st.current),st.current=wrapperRaf(()=>{at(dt)})}}const Wave=_e=>{const{children:et,disabled:tt,component:rt}=_e,{getPrefixCls:nt}=reactExports.useContext(ConfigContext),it=reactExports.useRef(null),at=nt("wave"),[,st]=useStyle$2(at),lt=useWave(it,classNames(at,st),rt);if(React.useEffect(()=>{const ht=it.current;if(!ht||ht.nodeType!==1||tt)return;const pt=mt=>{!isVisible(mt.target)||!ht.getAttribute||ht.getAttribute("disabled")||ht.disabled||ht.className.includes("disabled")||ht.className.includes("-leave")||lt(mt)};return ht.addEventListener("click",pt,!0),()=>{ht.removeEventListener("click",pt,!0)}},[tt]),!React.isValidElement(et))return et??null;const dt=supportRef(et)?composeRef(et.ref,it):it;return cloneElement(et,{ref:dt})},Wave$1=Wave,useSize=_e=>{const et=React.useContext(SizeContext$1);return React.useMemo(()=>_e?typeof _e=="string"?_e??et:_e instanceof Function?_e(et):et:et,[_e,et])},useSize$1=useSize;globalThis&&globalThis.__rest;const SpaceCompactItemContext=reactExports.createContext(null),useCompactItemContext=(_e,et)=>{const tt=reactExports.useContext(SpaceCompactItemContext),rt=reactExports.useMemo(()=>{if(!tt)return"";const{compactDirection:nt,isFirstItem:it,isLastItem:at}=tt,st=nt==="vertical"?"-vertical-":"-";return classNames(`${_e}-compact${st}item`,{[`${_e}-compact${st}first-item`]:it,[`${_e}-compact${st}last-item`]:at,[`${_e}-compact${st}item-rtl`]:et==="rtl"})},[_e,et,tt]);return{compactSize:tt?.compactSize,compactDirection:tt?.compactDirection,compactItemClassnames:rt}},NoCompactStyle=_e=>{let{children:et}=_e;return reactExports.createElement(SpaceCompactItemContext.Provider,{value:null},et)};var __rest$6=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{const{getPrefixCls:et,direction:tt}=reactExports.useContext(ConfigContext),{prefixCls:rt,size:nt,className:it}=_e,at=__rest$6(_e,["prefixCls","size","className"]),st=et("btn-group",rt),[,,lt]=useToken();let dt="";switch(nt){case"large":dt="lg";break;case"small":dt="sm";break}const ht=classNames(st,{[`${st}-${dt}`]:dt,[`${st}-rtl`]:tt==="rtl"},it,lt);return reactExports.createElement(GroupSizeContext.Provider,{value:nt},reactExports.createElement("div",Object.assign({},at,{className:ht})))},Group=ButtonGroup,rxTwoCNChar=/^[\u4e00-\u9fa5]{2}$/,isTwoCNChar=rxTwoCNChar.test.bind(rxTwoCNChar);function convertLegacyProps(_e){return _e==="danger"?{danger:!0}:{type:_e}}function isString(_e){return typeof _e=="string"}function isUnBorderedButtonType(_e){return _e==="text"||_e==="link"}function splitCNCharsBySpace(_e,et){if(_e==null)return;const tt=et?" ":"";return typeof _e!="string"&&typeof _e!="number"&&isString(_e.type)&&isTwoCNChar(_e.props.children)?cloneElement(_e,{children:_e.props.children.split("").join(tt)}):isString(_e)?isTwoCNChar(_e)?React.createElement("span",null,_e.split("").join(tt)):React.createElement("span",null,_e):isFragment(_e)?React.createElement("span",null,_e):_e}function spaceChildren(_e,et){let tt=!1;const rt=[];return React.Children.forEach(_e,nt=>{const it=typeof nt,at=it==="string"||it==="number";if(tt&&at){const st=rt.length-1,lt=rt[st];rt[st]=`${lt}${nt}`}else rt.push(nt);tt=at}),React.Children.map(rt,nt=>splitCNCharsBySpace(nt,et))}const IconWrapper=reactExports.forwardRef((_e,et)=>{const{className:tt,style:rt,children:nt,prefixCls:it}=_e,at=classNames(`${it}-icon`,tt);return React.createElement("span",{ref:et,className:at,style:rt},nt)}),IconWrapper$1=IconWrapper,InnerLoadingIcon=reactExports.forwardRef((_e,et)=>{let{prefixCls:tt,className:rt,style:nt,iconClassName:it}=_e;const at=classNames(`${tt}-loading-icon`,rt);return React.createElement(IconWrapper$1,{prefixCls:tt,className:at,style:nt,ref:et},React.createElement(LoadingOutlined$1,{className:it}))}),getCollapsedWidth=()=>({width:0,opacity:0,transform:"scale(0)"}),getRealWidth=_e=>({width:_e.scrollWidth,opacity:1,transform:"scale(1)"}),LoadingIcon=_e=>{const{prefixCls:et,loading:tt,existIcon:rt,className:nt,style:it}=_e,at=!!tt;return rt?React.createElement(InnerLoadingIcon,{prefixCls:et,className:nt,style:it}):React.createElement(CSSMotion,{visible:at,motionName:`${et}-loading-icon-motion`,motionLeave:at,removeOnLeave:!0,onAppearStart:getCollapsedWidth,onAppearActive:getRealWidth,onEnterStart:getCollapsedWidth,onEnterActive:getRealWidth,onLeaveStart:getRealWidth,onLeaveActive:getCollapsedWidth},(st,lt)=>{let{className:dt,style:ht}=st;return React.createElement(InnerLoadingIcon,{prefixCls:et,className:nt,style:Object.assign(Object.assign({},it),ht),ref:lt,iconClassName:dt})})},LoadingIcon$1=LoadingIcon,genButtonBorderStyle=(_e,et)=>({[`> span, > ${_e}`]:{"&:not(:last-child)":{[`&, & > ${_e}`]:{"&:not(:disabled)":{borderInlineEndColor:et}}},"&:not(:first-child)":{[`&, & > ${_e}`]:{"&:not(:disabled)":{borderInlineStartColor:et}}}}}),genGroupStyle=_e=>{const{componentCls:et,fontSize:tt,lineWidth:rt,groupBorderColor:nt,colorErrorHover:it}=_e;return{[`${et}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${et}`]:{"&:not(:last-child)":{[`&, & > ${et}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:-rt,[`&, & > ${et}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[et]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${et}-icon-only`]:{fontSize:tt}},genButtonBorderStyle(`${et}-primary`,nt),genButtonBorderStyle(`${et}-danger`,it)]}},genGroupStyle$1=genGroupStyle,genSharedButtonStyle=_e=>{const{componentCls:et,iconCls:tt,fontWeight:rt}=_e;return{[et]:{outline:"none",position:"relative",display:"inline-block",fontWeight:rt,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",backgroundColor:"transparent",border:`${_e.lineWidth}px ${_e.lineType} transparent`,cursor:"pointer",transition:`all ${_e.motionDurationMid} ${_e.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",lineHeight:_e.lineHeight,color:_e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},[`${et}-icon`]:{lineHeight:0},[`> ${tt} + span, > span + ${tt}`]:{marginInlineStart:_e.marginXS},[`&:not(${et}-icon-only) > ${et}-icon`]:{[`&${et}-loading-icon, &:not(:last-child)`]:{marginInlineEnd:_e.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},genFocusStyle(_e)),[`&${et}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${et}-two-chinese-chars > *:not(${tt})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&-icon-only${et}-compact-item`]:{flex:"none"},[`&-compact-item${et}-primary`]:{[`&:not([disabled]) + ${et}-compact-item${et}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-_e.lineWidth,insetInlineStart:-_e.lineWidth,display:"inline-block",width:_e.lineWidth,height:`calc(100% + ${_e.lineWidth*2}px)`,backgroundColor:_e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{[`&${et}-primary`]:{[`&:not([disabled]) + ${et}-compact-vertical-item${et}-primary:not([disabled])`]:{position:"relative","&:before":{position:"absolute",top:-_e.lineWidth,insetInlineStart:-_e.lineWidth,display:"inline-block",width:`calc(100% + ${_e.lineWidth*2}px)`,height:_e.lineWidth,backgroundColor:_e.colorPrimaryHover,content:'""'}}}}}}},genHoverActiveButtonStyle=(_e,et,tt)=>({[`&:not(:disabled):not(${_e}-disabled)`]:{"&:hover":et,"&:active":tt}}),genCircleButtonStyle=_e=>({minWidth:_e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),genRoundButtonStyle=_e=>({borderRadius:_e.controlHeight,paddingInlineStart:_e.controlHeight/2,paddingInlineEnd:_e.controlHeight/2}),genDisabledStyle=_e=>({cursor:"not-allowed",borderColor:_e.borderColorDisabled,color:_e.colorTextDisabled,backgroundColor:_e.colorBgContainerDisabled,boxShadow:"none"}),genGhostButtonStyle=(_e,et,tt,rt,nt,it,at,st)=>({[`&${_e}-background-ghost`]:Object.assign(Object.assign({color:tt||void 0,backgroundColor:et,borderColor:rt||void 0,boxShadow:"none"},genHoverActiveButtonStyle(_e,Object.assign({backgroundColor:et},at),Object.assign({backgroundColor:et},st))),{"&:disabled":{cursor:"not-allowed",color:nt||void 0,borderColor:it||void 0}})}),genSolidDisabledButtonStyle=_e=>({[`&:disabled, &${_e.componentCls}-disabled`]:Object.assign({},genDisabledStyle(_e))}),genSolidButtonStyle=_e=>Object.assign({},genSolidDisabledButtonStyle(_e)),genPureDisabledButtonStyle=_e=>({[`&:disabled, &${_e.componentCls}-disabled`]:{cursor:"not-allowed",color:_e.colorTextDisabled}}),genDefaultButtonStyle=_e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},genSolidButtonStyle(_e)),{backgroundColor:_e.defaultBg,borderColor:_e.defaultBorderColor,color:_e.defaultColor,boxShadow:_e.defaultShadow}),genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorPrimaryHover,borderColor:_e.colorPrimaryHover},{color:_e.colorPrimaryActive,borderColor:_e.colorPrimaryActive})),genGhostButtonStyle(_e.componentCls,_e.ghostBg,_e.defaultGhostColor,_e.defaultGhostBorderColor,_e.colorTextDisabled,_e.colorBorder)),{[`&${_e.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({color:_e.colorError,borderColor:_e.colorError},genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorErrorHover,borderColor:_e.colorErrorBorderHover},{color:_e.colorErrorActive,borderColor:_e.colorErrorActive})),genGhostButtonStyle(_e.componentCls,_e.ghostBg,_e.colorError,_e.colorError,_e.colorTextDisabled,_e.colorBorder)),genSolidDisabledButtonStyle(_e))}),genPrimaryButtonStyle=_e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},genSolidButtonStyle(_e)),{color:_e.primaryColor,backgroundColor:_e.colorPrimary,boxShadow:_e.primaryShadow}),genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorTextLightSolid,backgroundColor:_e.colorPrimaryHover},{color:_e.colorTextLightSolid,backgroundColor:_e.colorPrimaryActive})),genGhostButtonStyle(_e.componentCls,_e.ghostBg,_e.colorPrimary,_e.colorPrimary,_e.colorTextDisabled,_e.colorBorder,{color:_e.colorPrimaryHover,borderColor:_e.colorPrimaryHover},{color:_e.colorPrimaryActive,borderColor:_e.colorPrimaryActive})),{[`&${_e.componentCls}-dangerous`]:Object.assign(Object.assign(Object.assign({backgroundColor:_e.colorError,boxShadow:_e.dangerShadow,color:_e.dangerColor},genHoverActiveButtonStyle(_e.componentCls,{backgroundColor:_e.colorErrorHover},{backgroundColor:_e.colorErrorActive})),genGhostButtonStyle(_e.componentCls,_e.ghostBg,_e.colorError,_e.colorError,_e.colorTextDisabled,_e.colorBorder,{color:_e.colorErrorHover,borderColor:_e.colorErrorHover},{color:_e.colorErrorActive,borderColor:_e.colorErrorActive})),genSolidDisabledButtonStyle(_e))}),genDashedButtonStyle=_e=>Object.assign(Object.assign({},genDefaultButtonStyle(_e)),{borderStyle:"dashed"}),genLinkButtonStyle=_e=>Object.assign(Object.assign(Object.assign({color:_e.colorLink},genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorLinkHover,backgroundColor:_e.linkHoverBg},{color:_e.colorLinkActive})),genPureDisabledButtonStyle(_e)),{[`&${_e.componentCls}-dangerous`]:Object.assign(Object.assign({color:_e.colorError},genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorErrorHover},{color:_e.colorErrorActive})),genPureDisabledButtonStyle(_e))}),genTextButtonStyle=_e=>Object.assign(Object.assign(Object.assign({},genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorText,backgroundColor:_e.textHoverBg},{color:_e.colorText,backgroundColor:_e.colorBgTextActive})),genPureDisabledButtonStyle(_e)),{[`&${_e.componentCls}-dangerous`]:Object.assign(Object.assign({color:_e.colorError},genPureDisabledButtonStyle(_e)),genHoverActiveButtonStyle(_e.componentCls,{color:_e.colorErrorHover,backgroundColor:_e.colorErrorBg},{color:_e.colorErrorHover,backgroundColor:_e.colorErrorBg}))}),genTypeButtonStyle=_e=>{const{componentCls:et}=_e;return{[`${et}-default`]:genDefaultButtonStyle(_e),[`${et}-primary`]:genPrimaryButtonStyle(_e),[`${et}-dashed`]:genDashedButtonStyle(_e),[`${et}-link`]:genLinkButtonStyle(_e),[`${et}-text`]:genTextButtonStyle(_e),[`${et}-ghost`]:genGhostButtonStyle(_e.componentCls,_e.ghostBg,_e.colorBgContainer,_e.colorBgContainer,_e.colorTextDisabled,_e.colorBorder)}},genSizeButtonStyle=function(_e){let et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const{componentCls:tt,controlHeight:rt,fontSize:nt,lineHeight:it,lineWidth:at,borderRadius:st,buttonPaddingHorizontal:lt,iconCls:dt}=_e,ht=Math.max(0,(rt-nt*it)/2-at),pt=`${tt}-icon-only`;return[{[`${tt}${et}`]:{fontSize:nt,height:rt,padding:`${ht}px ${lt}px`,borderRadius:st,[`&${pt}`]:{width:rt,paddingInlineStart:0,paddingInlineEnd:0,[`&${tt}-round`]:{width:"auto"},[dt]:{fontSize:_e.buttonIconOnlyFontSize}},[`&${tt}-loading`]:{opacity:_e.opacityLoading,cursor:"default"},[`${tt}-loading-icon`]:{transition:`width ${_e.motionDurationSlow} ${_e.motionEaseInOut}, opacity ${_e.motionDurationSlow} ${_e.motionEaseInOut}`}}},{[`${tt}${tt}-circle${et}`]:genCircleButtonStyle(_e)},{[`${tt}${tt}-round${et}`]:genRoundButtonStyle(_e)}]},genSizeBaseButtonStyle=_e=>genSizeButtonStyle(merge(_e,{fontSize:_e.contentFontSize})),genSizeSmallButtonStyle=_e=>{const et=merge(_e,{controlHeight:_e.controlHeightSM,fontSize:_e.contentFontSizeSM,padding:_e.paddingXS,buttonPaddingHorizontal:_e.paddingInlineSM,borderRadius:_e.borderRadiusSM,buttonIconOnlyFontSize:_e.onlyIconSizeSM});return genSizeButtonStyle(et,`${_e.componentCls}-sm`)},genSizeLargeButtonStyle=_e=>{const et=merge(_e,{controlHeight:_e.controlHeightLG,fontSize:_e.contentFontSizeLG,buttonPaddingHorizontal:_e.paddingInlineLG,borderRadius:_e.borderRadiusLG,buttonIconOnlyFontSize:_e.onlyIconSizeLG});return genSizeButtonStyle(et,`${_e.componentCls}-lg`)},genBlockButtonStyle=_e=>{const{componentCls:et}=_e;return{[et]:{[`&${et}-block`]:{width:"100%"}}}},prepareToken$1=_e=>{const{paddingInline:et,onlyIconSize:tt}=_e;return merge(_e,{buttonPaddingHorizontal:et,buttonIconOnlyFontSize:tt})},prepareComponentToken$1=_e=>({fontWeight:400,defaultShadow:`0 ${_e.controlOutlineWidth}px 0 ${_e.controlTmpOutline}`,primaryShadow:`0 ${_e.controlOutlineWidth}px 0 ${_e.controlOutline}`,dangerShadow:`0 ${_e.controlOutlineWidth}px 0 ${_e.colorErrorOutline}`,primaryColor:_e.colorTextLightSolid,dangerColor:_e.colorTextLightSolid,borderColorDisabled:_e.colorBorder,defaultGhostColor:_e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:_e.colorBgContainer,paddingInline:_e.paddingContentHorizontal-_e.lineWidth,paddingInlineLG:_e.paddingContentHorizontal-_e.lineWidth,paddingInlineSM:8-_e.lineWidth,onlyIconSize:_e.fontSizeLG,onlyIconSizeSM:_e.fontSizeLG-2,onlyIconSizeLG:_e.fontSizeLG+2,groupBorderColor:_e.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:_e.colorBgTextHover,defaultColor:_e.colorText,defaultBg:_e.colorBgContainer,defaultBorderColor:_e.colorBorder,defaultBorderColorDisabled:_e.colorBorder,contentFontSize:_e.fontSize,contentFontSizeSM:_e.fontSize,contentFontSizeLG:_e.fontSizeLG}),useStyle$1=genComponentStyleHook("Button",_e=>{const et=prepareToken$1(_e);return[genSharedButtonStyle(et),genSizeSmallButtonStyle(et),genSizeBaseButtonStyle(et),genSizeLargeButtonStyle(et),genBlockButtonStyle(et),genTypeButtonStyle(et),genGroupStyle$1(et)]},prepareComponentToken$1);function compactItemBorder(_e,et,tt){const{focusElCls:rt,focus:nt,borderElCls:it}=tt,at=it?"> *":"",st=["hover",nt?"focus":null,"active"].filter(Boolean).map(lt=>`&:${lt} ${at}`).join(",");return{[`&-item:not(${et}-last-item)`]:{marginInlineEnd:-_e.lineWidth},"&-item":Object.assign(Object.assign({[st]:{zIndex:2}},rt?{[`&${rt}`]:{zIndex:2}}:{}),{[`&[disabled] ${at}`]:{zIndex:0}})}}function compactItemBorderRadius(_e,et,tt){const{borderElCls:rt}=tt,nt=rt?`> ${rt}`:"";return{[`&-item:not(${et}-first-item):not(${et}-last-item) ${nt}`]:{borderRadius:0},[`&-item:not(${et}-last-item)${et}-first-item`]:{[`& ${nt}, &${_e}-sm ${nt}, &${_e}-lg ${nt}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${et}-first-item)${et}-last-item`]:{[`& ${nt}, &${_e}-sm ${nt}, &${_e}-lg ${nt}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function genCompactItemStyle(_e){let et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{focus:!0};const{componentCls:tt}=_e,rt=`${tt}-compact`;return{[rt]:Object.assign(Object.assign({},compactItemBorder(_e,rt,et)),compactItemBorderRadius(tt,rt,et))}}function compactItemVerticalBorder(_e,et){return{[`&-item:not(${et}-last-item)`]:{marginBottom:-_e.lineWidth},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}}function compactItemBorderVerticalRadius(_e,et){return{[`&-item:not(${et}-first-item):not(${et}-last-item)`]:{borderRadius:0},[`&-item${et}-first-item:not(${et}-last-item)`]:{[`&, &${_e}-sm, &${_e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${et}-last-item:not(${et}-first-item)`]:{[`&, &${_e}-sm, &${_e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function genCompactItemVerticalStyle(_e){const et=`${_e.componentCls}-compact-vertical`;return{[et]:Object.assign(Object.assign({},compactItemVerticalBorder(_e,et)),compactItemBorderVerticalRadius(_e.componentCls,et))}}const CompactCmp=genSubStyleComponent(["Button","compact"],_e=>{const et=prepareToken$1(_e);return[genCompactItemStyle(et),genCompactItemVerticalStyle(et)]},prepareComponentToken$1);var __rest$5=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{var tt,rt;const{loading:nt=!1,prefixCls:it,type:at="default",danger:st,shape:lt="default",size:dt,styles:ht,disabled:pt,className:mt,rootClassName:gt,children:vt,icon:bt,ghost:yt=!1,block:xt=!1,htmlType:wt="button",classNames:_t,style:At={}}=_e,Tt=__rest$5(_e,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),{getPrefixCls:kt,autoInsertSpaceInButton:jt,direction:Lt,button:qt}=reactExports.useContext(ConfigContext),Dt=kt("btn",it),[zt,Zt]=useStyle$1(Dt),Bt=reactExports.useContext(DisabledContext),Et=pt??Bt,Ct=reactExports.useContext(GroupSizeContext),Pt=reactExports.useMemo(()=>getLoadingConfig(nt),[nt]),[Ot,Mt]=reactExports.useState(Pt.loading),[Ut,Wt]=reactExports.useState(!1),St=composeRef(et,reactExports.createRef()),Ft=reactExports.Children.count(vt)===1&&!bt&&!isUnBorderedButtonType(at);reactExports.useEffect(()=>{let gr=null;Pt.delay>0?gr=setTimeout(()=>{gr=null,Mt(!0)},Pt.delay):Mt(Pt.loading);function yr(){gr&&(clearTimeout(gr),gr=null)}return yr},[Pt]),reactExports.useEffect(()=>{if(!St||!St.current||jt===!1)return;const gr=St.current.textContent;Ft&&isTwoCNChar(gr)?Ut||Wt(!0):Ut&&Wt(!1)},[St]);const Vt=gr=>{const{onClick:yr}=_e;if(Ot||Et){gr.preventDefault();return}yr?.(gr)},Rt=jt!==!1,{compactSize:Yt,compactItemClassnames:Kt}=useCompactItemContext(Dt,Lt),Xt={large:"lg",small:"sm",middle:void 0},rr=useSize$1(gr=>{var yr,Er;return(Er=(yr=dt??Yt)!==null&&yr!==void 0?yr:Ct)!==null&&Er!==void 0?Er:gr}),or=rr&&Xt[rr]||"",ar=Ot?"loading":bt,ir=omit(Tt,["navigate"]),pr=classNames(Dt,Zt,{[`${Dt}-${lt}`]:lt!=="default"&<,[`${Dt}-${at}`]:at,[`${Dt}-${or}`]:or,[`${Dt}-icon-only`]:!vt&&vt!==0&&!!ar,[`${Dt}-background-ghost`]:yt&&!isUnBorderedButtonType(at),[`${Dt}-loading`]:Ot,[`${Dt}-two-chinese-chars`]:Ut&&Rt&&!Ot,[`${Dt}-block`]:xt,[`${Dt}-dangerous`]:!!st,[`${Dt}-rtl`]:Lt==="rtl"},Kt,mt,gt,qt?.className),nr=Object.assign(Object.assign({},qt?.style),At),hr=classNames(_t?.icon,(tt=qt?.classNames)===null||tt===void 0?void 0:tt.icon),Ar=Object.assign(Object.assign({},ht?.icon||{}),((rt=qt?.styles)===null||rt===void 0?void 0:rt.icon)||{}),ur=bt&&!Ot?React.createElement(IconWrapper$1,{prefixCls:Dt,className:hr,style:Ar},bt):React.createElement(LoadingIcon$1,{existIcon:!!bt,prefixCls:Dt,loading:!!Ot}),vr=vt||vt===0?spaceChildren(vt,Ft&&Rt):null;if(ir.href!==void 0)return zt(React.createElement("a",Object.assign({},ir,{className:classNames(pr,{[`${Dt}-disabled`]:Et}),style:nr,onClick:Vt,ref:St}),ur,vr));let wr=React.createElement("button",Object.assign({},Tt,{type:wt,className:pr,style:nr,onClick:Vt,disabled:Et,ref:St}),ur,vr,Kt&&React.createElement(CompactCmp,{key:"compact",prefixCls:Dt}));return isUnBorderedButtonType(at)||(wr=React.createElement(Wave$1,{component:"Button",disabled:!!Ot},wr)),zt(wr)},Button=reactExports.forwardRef(InternalButton);Button.Group=Group;Button.__ANT_BUTTON=!0;const Button$1=Button;function isThenable(_e){return!!(_e&&_e.then)}const ActionButton=_e=>{const{type:et,children:tt,prefixCls:rt,buttonProps:nt,close:it,autoFocus:at,emitEvent:st,isSilent:lt,quitOnNullishReturnValue:dt,actionFn:ht}=_e,pt=reactExports.useRef(!1),mt=reactExports.useRef(null),[gt,vt]=useSafeState(!1),bt=function(){it?.apply(void 0,arguments)};reactExports.useEffect(()=>{let wt=null;return at&&(wt=setTimeout(()=>{var _t;(_t=mt.current)===null||_t===void 0||_t.focus()})),()=>{wt&&clearTimeout(wt)}},[]);const yt=wt=>{isThenable(wt)&&(vt(!0),wt.then(function(){vt(!1,!0),bt.apply(void 0,arguments),pt.current=!1},_t=>{if(vt(!1,!0),pt.current=!1,!lt?.())return Promise.reject(_t)}))},xt=wt=>{if(pt.current)return;if(pt.current=!0,!ht){bt();return}let _t;if(st){if(_t=ht(wt),dt&&!isThenable(_t)){pt.current=!1,bt(wt);return}}else if(ht.length)_t=ht(it),pt.current=!1;else if(_t=ht(),!_t){bt();return}yt(_t)};return reactExports.createElement(Button$1,Object.assign({},convertLegacyProps(et),{onClick:xt,loading:gt,prefixCls:rt},nt,{ref:mt}),tt)},ActionButton$1=ActionButton,ModalContext=React.createContext({}),{Provider:ModalContextProvider}=ModalContext,ConfirmCancelBtn=()=>{const{autoFocusButton:_e,cancelButtonProps:et,cancelTextLocale:tt,isSilent:rt,mergedOkCancel:nt,rootPrefixCls:it,close:at,onCancel:st,onConfirm:lt}=reactExports.useContext(ModalContext);return nt?React.createElement(ActionButton$1,{isSilent:rt,actionFn:st,close:function(){at?.apply(void 0,arguments),lt?.(!1)},autoFocus:_e==="cancel",buttonProps:et,prefixCls:`${it}-btn`},tt):null},CancelBtn=ConfirmCancelBtn,ConfirmOkBtn=()=>{const{autoFocusButton:_e,close:et,isSilent:tt,okButtonProps:rt,rootPrefixCls:nt,okTextLocale:it,okType:at,onConfirm:st,onOk:lt}=reactExports.useContext(ModalContext);return React.createElement(ActionButton$1,{isSilent:tt,type:at||"primary",actionFn:lt,close:function(){et?.apply(void 0,arguments),st?.(!0)},autoFocus:_e==="ok",buttonProps:rt,prefixCls:`${nt}-btn`},it)},OkBtn=ConfirmOkBtn;var OrderContext=reactExports.createContext(null),EMPTY_LIST=[];function useDom(_e,et){var tt=reactExports.useState(function(){if(!canUseDom())return null;var vt=document.createElement("div");return vt}),rt=_slicedToArray(tt,1),nt=rt[0],it=reactExports.useRef(!1),at=reactExports.useContext(OrderContext),st=reactExports.useState(EMPTY_LIST),lt=_slicedToArray(st,2),dt=lt[0],ht=lt[1],pt=at||(it.current?void 0:function(vt){ht(function(bt){var yt=[vt].concat(_toConsumableArray(bt));return yt})});function mt(){nt.parentElement||document.body.appendChild(nt),it.current=!0}function gt(){var vt;(vt=nt.parentElement)===null||vt===void 0||vt.removeChild(nt),it.current=!1}return useLayoutEffect(function(){return _e?at?at(mt):mt():gt(),gt},[_e]),useLayoutEffect(function(){dt.length&&(dt.forEach(function(vt){return vt()}),ht(EMPTY_LIST))},[dt]),[nt,pt]}var cached;function getScrollBarSize(_e){if(typeof document>"u")return 0;if(_e||cached===void 0){var et=document.createElement("div");et.style.width="100%",et.style.height="200px";var tt=document.createElement("div"),rt=tt.style;rt.position="absolute",rt.top="0",rt.left="0",rt.pointerEvents="none",rt.visibility="hidden",rt.width="200px",rt.height="150px",rt.overflow="hidden",tt.appendChild(et),document.body.appendChild(tt);var nt=et.offsetWidth;tt.style.overflow="scroll";var it=et.offsetWidth;nt===it&&(it=tt.clientWidth),document.body.removeChild(tt),cached=nt-it}return cached}function ensureSize(_e){var et=_e.match(/^(.*)px$/),tt=Number(et?.[1]);return Number.isNaN(tt)?getScrollBarSize():tt}function getTargetScrollBarSize(_e){if(typeof document>"u"||!_e||!(_e instanceof Element))return{width:0,height:0};var et=getComputedStyle(_e,"::-webkit-scrollbar"),tt=et.width,rt=et.height;return{width:ensureSize(tt),height:ensureSize(rt)}}function isBodyOverflowing(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var UNIQUE_ID="rc-util-locker-".concat(Date.now()),uuid$2=0;function useScrollLocker(_e){var et=!!_e,tt=reactExports.useState(function(){return uuid$2+=1,"".concat(UNIQUE_ID,"_").concat(uuid$2)}),rt=_slicedToArray(tt,1),nt=rt[0];useLayoutEffect(function(){if(et){var it=getTargetScrollBarSize(document.body).width,at=isBodyOverflowing();updateCSS(` +html body { + overflow-y: hidden; + `.concat(at?"width: calc(100% - ".concat(it,"px);"):"",` +}`),nt)}else removeCSS(nt);return function(){removeCSS(nt)}},[et,nt])}var inline=!1;function inlineMock(_e){return typeof _e=="boolean"&&(inline=_e),inline}var getPortalContainer=function(et){return et===!1?!1:!canUseDom()||!et?null:typeof et=="string"?document.querySelector(et):typeof et=="function"?et():et},Portal=reactExports.forwardRef(function(_e,et){var tt=_e.open,rt=_e.autoLock,nt=_e.getContainer;_e.debug;var it=_e.autoDestroy,at=it===void 0?!0:it,st=_e.children,lt=reactExports.useState(tt),dt=_slicedToArray(lt,2),ht=dt[0],pt=dt[1],mt=ht||tt;reactExports.useEffect(function(){(at||tt)&&pt(tt)},[tt,at]);var gt=reactExports.useState(function(){return getPortalContainer(nt)}),vt=_slicedToArray(gt,2),bt=vt[0],yt=vt[1];reactExports.useEffect(function(){var zt=getPortalContainer(nt);yt(zt??null)});var xt=useDom(mt&&!bt),wt=_slicedToArray(xt,2),_t=wt[0],At=wt[1],Tt=bt??_t;useScrollLocker(rt&&tt&&canUseDom()&&(Tt===_t||Tt===document.body));var kt=null;if(st&&supportRef(st)&&et){var jt=st;kt=jt.ref}var Lt=useComposeRef(kt,et);if(!mt||!canUseDom()||bt===void 0)return null;var qt=Tt===!1||inlineMock(),Dt=st;return et&&(Dt=reactExports.cloneElement(st,{ref:Lt})),reactExports.createElement(OrderContext.Provider,{value:At},qt?Dt:reactDomExports.createPortal(Dt,Tt))}),RefContext=reactExports.createContext({});function getUseId(){var _e=_objectSpread2({},React$1);return _e.useId}var uuid$1=0,useOriginId=getUseId();const useId=useOriginId?function(et){var tt=useOriginId();return et||tt}:function(et){var tt=reactExports.useState("ssr-id"),rt=_slicedToArray(tt,2),nt=rt[0],it=rt[1];return reactExports.useEffect(function(){var at=uuid$1;uuid$1+=1,it("rc_unique_".concat(at))},[]),et||nt};function getMotionName(_e,et,tt){var rt=et;return!rt&&tt&&(rt="".concat(_e,"-").concat(tt)),rt}function getScroll(_e,et){var tt=_e["page".concat(et?"Y":"X","Offset")],rt="scroll".concat(et?"Top":"Left");if(typeof tt!="number"){var nt=_e.document;tt=nt.documentElement[rt],typeof tt!="number"&&(tt=nt.body[rt])}return tt}function offset(_e){var et=_e.getBoundingClientRect(),tt={left:et.left,top:et.top},rt=_e.ownerDocument,nt=rt.defaultView||rt.parentWindow;return tt.left+=getScroll(nt),tt.top+=getScroll(nt,!0),tt}const MemoChildren=reactExports.memo(function(_e){var et=_e.children;return et},function(_e,et){var tt=et.shouldUpdate;return!tt});var sentinelStyle={width:0,height:0,overflow:"hidden",outline:"none"},Panel=React.forwardRef(function(_e,et){var tt=_e.prefixCls,rt=_e.className,nt=_e.style,it=_e.title,at=_e.ariaId,st=_e.footer,lt=_e.closable,dt=_e.closeIcon,ht=_e.onClose,pt=_e.children,mt=_e.bodyStyle,gt=_e.bodyProps,vt=_e.modalRender,bt=_e.onMouseDown,yt=_e.onMouseUp,xt=_e.holderRef,wt=_e.visible,_t=_e.forceRender,At=_e.width,Tt=_e.height,kt=_e.classNames,jt=_e.styles,Lt=React.useContext(RefContext),qt=Lt.panel,Dt=useComposeRef(xt,qt),zt=reactExports.useRef(),Zt=reactExports.useRef();React.useImperativeHandle(et,function(){return{focus:function(){var Ut;(Ut=zt.current)===null||Ut===void 0||Ut.focus()},changeActive:function(Ut){var Wt=document,$t=Wt.activeElement;Ut&&$t===Zt.current?zt.current.focus():!Ut&&$t===zt.current&&Zt.current.focus()}}});var Bt={};At!==void 0&&(Bt.width=At),Tt!==void 0&&(Bt.height=Tt);var Et;st&&(Et=React.createElement("div",{className:classNames("".concat(tt,"-footer"),kt?.footer),style:_objectSpread2({},jt?.footer)},st));var Ct;it&&(Ct=React.createElement("div",{className:classNames("".concat(tt,"-header"),kt?.header),style:_objectSpread2({},jt?.header)},React.createElement("div",{className:"".concat(tt,"-title"),id:at},it)));var Pt;lt&&(Pt=React.createElement("button",{type:"button",onClick:ht,"aria-label":"Close",className:"".concat(tt,"-close")},dt||React.createElement("span",{className:"".concat(tt,"-close-x")})));var Ot=React.createElement("div",{className:classNames("".concat(tt,"-content"),kt?.content),style:jt?.content},Pt,Ct,React.createElement("div",_extends$3({className:classNames("".concat(tt,"-body"),kt?.body),style:_objectSpread2(_objectSpread2({},mt),jt?.body)},gt),pt),Et);return React.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":it?at:null,"aria-modal":"true",ref:Dt,style:_objectSpread2(_objectSpread2({},nt),Bt),className:classNames(tt,rt),onMouseDown:bt,onMouseUp:yt},React.createElement("div",{tabIndex:0,ref:zt,style:sentinelStyle,"aria-hidden":"true"}),React.createElement(MemoChildren,{shouldUpdate:wt||_t},vt?vt(Ot):Ot),React.createElement("div",{tabIndex:0,ref:Zt,style:sentinelStyle,"aria-hidden":"true"}))}),Content=reactExports.forwardRef(function(_e,et){var tt=_e.prefixCls,rt=_e.title,nt=_e.style,it=_e.className,at=_e.visible,st=_e.forceRender,lt=_e.destroyOnClose,dt=_e.motionName,ht=_e.ariaId,pt=_e.onVisibleChanged,mt=_e.mousePosition,gt=reactExports.useRef(),vt=reactExports.useState(),bt=_slicedToArray(vt,2),yt=bt[0],xt=bt[1],wt={};yt&&(wt.transformOrigin=yt);function _t(){var At=offset(gt.current);xt(mt?"".concat(mt.x-At.left,"px ").concat(mt.y-At.top,"px"):"")}return reactExports.createElement(CSSMotion,{visible:at,onVisibleChanged:pt,onAppearPrepare:_t,onEnterPrepare:_t,forceRender:st,motionName:dt,removeOnLeave:lt,ref:gt},function(At,Tt){var kt=At.className,jt=At.style;return reactExports.createElement(Panel,_extends$3({},_e,{ref:et,title:rt,ariaId:ht,prefixCls:tt,holderRef:Tt,style:_objectSpread2(_objectSpread2(_objectSpread2({},jt),nt),wt),className:classNames(it,kt)}))})});Content.displayName="Content";function Mask(_e){var et=_e.prefixCls,tt=_e.style,rt=_e.visible,nt=_e.maskProps,it=_e.motionName,at=_e.className;return reactExports.createElement(CSSMotion,{key:"mask",visible:rt,motionName:it,leavedClassName:"".concat(et,"-mask-hidden")},function(st,lt){var dt=st.className,ht=st.style;return reactExports.createElement("div",_extends$3({ref:lt,style:_objectSpread2(_objectSpread2({},ht),tt),className:classNames("".concat(et,"-mask"),dt,at)},nt))})}function Dialog(_e){var et=_e.prefixCls,tt=et===void 0?"rc-dialog":et,rt=_e.zIndex,nt=_e.visible,it=nt===void 0?!1:nt,at=_e.keyboard,st=at===void 0?!0:at,lt=_e.focusTriggerAfterClose,dt=lt===void 0?!0:lt,ht=_e.wrapStyle,pt=_e.wrapClassName,mt=_e.wrapProps,gt=_e.onClose,vt=_e.afterOpenChange,bt=_e.afterClose,yt=_e.transitionName,xt=_e.animation,wt=_e.closable,_t=wt===void 0?!0:wt,At=_e.mask,Tt=At===void 0?!0:At,kt=_e.maskTransitionName,jt=_e.maskAnimation,Lt=_e.maskClosable,qt=Lt===void 0?!0:Lt,Dt=_e.maskStyle,zt=_e.maskProps,Zt=_e.rootClassName,Bt=_e.classNames,Et=_e.styles,Ct=reactExports.useRef(),Pt=reactExports.useRef(),Ot=reactExports.useRef(),Mt=reactExports.useState(it),Ut=_slicedToArray(Mt,2),Wt=Ut[0],$t=Ut[1],St=useId();function Ft(){contains(Pt.current,document.activeElement)||(Ct.current=document.activeElement)}function Vt(){if(!contains(Pt.current,document.activeElement)){var pr;(pr=Ot.current)===null||pr===void 0||pr.focus()}}function Rt(pr){if(pr)Vt();else{if($t(!1),Tt&&Ct.current&&dt){try{Ct.current.focus({preventScroll:!0})}catch{}Ct.current=null}Wt&&bt?.()}vt?.(pr)}function Yt(pr){gt?.(pr)}var Kt=reactExports.useRef(!1),Xt=reactExports.useRef(),rr=function(){clearTimeout(Xt.current),Kt.current=!0},or=function(){Xt.current=setTimeout(function(){Kt.current=!1})},ar=null;qt&&(ar=function(nr){Kt.current?Kt.current=!1:Pt.current===nr.target&&Yt(nr)});function ir(pr){if(st&&pr.keyCode===KeyCode.ESC){pr.stopPropagation(),Yt(pr);return}it&&pr.keyCode===KeyCode.TAB&&Ot.current.changeActive(!pr.shiftKey)}return reactExports.useEffect(function(){it&&($t(!0),Ft())},[it]),reactExports.useEffect(function(){return function(){clearTimeout(Xt.current)}},[]),reactExports.createElement("div",_extends$3({className:classNames("".concat(tt,"-root"),Zt)},pickAttrs(_e,{data:!0})),reactExports.createElement(Mask,{prefixCls:tt,visible:Tt&&it,motionName:getMotionName(tt,kt,jt),style:_objectSpread2(_objectSpread2({zIndex:rt},Dt),Et?.mask),maskProps:zt,className:Bt?.mask}),reactExports.createElement("div",_extends$3({tabIndex:-1,onKeyDown:ir,className:classNames("".concat(tt,"-wrap"),pt,Bt?.wrapper),ref:Pt,onClick:ar,style:_objectSpread2(_objectSpread2(_objectSpread2({zIndex:rt},ht),Et?.wrapper),{},{display:Wt?null:"none"})},mt),reactExports.createElement(Content,_extends$3({},_e,{onMouseDown:rr,onMouseUp:or,ref:Ot,closable:_t,ariaId:St,prefixCls:tt,visible:it&&Wt,onClose:Yt,onVisibleChanged:Rt,motionName:getMotionName(tt,yt,xt)}))))}var DialogWrap=function(et){var tt=et.visible,rt=et.getContainer,nt=et.forceRender,it=et.destroyOnClose,at=it===void 0?!1:it,st=et.afterClose,lt=et.panelRef,dt=reactExports.useState(tt),ht=_slicedToArray(dt,2),pt=ht[0],mt=ht[1],gt=reactExports.useMemo(function(){return{panel:lt}},[lt]);return reactExports.useEffect(function(){tt&&mt(!0)},[tt]),!nt&&at&&!pt?null:reactExports.createElement(RefContext.Provider,{value:gt},reactExports.createElement(Portal,{open:tt||nt||pt,autoDestroy:!1,getContainer:rt,autoLock:tt||pt},reactExports.createElement(Dialog,_extends$3({},et,{destroyOnClose:at,afterClose:function(){st?.(),mt(!1)}}))))};DialogWrap.displayName="Dialog";function useInnerClosable(_e,et,tt){return typeof _e=="boolean"?_e:et===void 0?!!tt:et!==!1&&et!==null}function useClosable(_e,et,tt){let rt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:React.createElement(CloseOutlined$1,null),nt=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(!useInnerClosable(_e,et,nt))return[!1,null];const at=typeof et=="boolean"||et===void 0||et===null?rt:et;return[!0,tt?tt(at):at]}const canUseDocElement=()=>canUseDom()&&window.document.documentElement;var HOOK_MARK="RC_FORM_INTERNAL_HOOKS",warningFunc=function(){warningOnce(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},Context=reactExports.createContext({getFieldValue:warningFunc,getFieldsValue:warningFunc,getFieldError:warningFunc,getFieldWarning:warningFunc,getFieldsError:warningFunc,isFieldsTouched:warningFunc,isFieldTouched:warningFunc,isFieldValidating:warningFunc,isFieldsValidating:warningFunc,resetFields:warningFunc,setFields:warningFunc,setFieldValue:warningFunc,setFieldsValue:warningFunc,validateFields:warningFunc,submit:warningFunc,getInternalHooks:function(){return warningFunc(),{dispatch:warningFunc,initEntityValue:warningFunc,registerField:warningFunc,useSubscribe:warningFunc,setInitialValues:warningFunc,destroyForm:warningFunc,setCallbacks:warningFunc,registerWatch:warningFunc,getFields:warningFunc,setValidateMessages:warningFunc,setPreserve:warningFunc,getInitialValue:warningFunc}}}),ListContext=reactExports.createContext(null);function toArray(_e){return _e==null?[]:Array.isArray(_e)?_e:[_e]}function isFormInstance(_e){return _e&&!!_e._init}function _extends$2(){return _extends$2=Object.assign?Object.assign.bind():function(_e){for(var et=1;et"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _construct(_e,et,tt){return _isNativeReflectConstruct$1()?_construct=Reflect.construct.bind():_construct=function(nt,it,at){var st=[null];st.push.apply(st,it);var lt=Function.bind.apply(nt,st),dt=new lt;return at&&_setPrototypeOf$1(dt,at.prototype),dt},_construct.apply(null,arguments)}function _isNativeFunction(_e){return Function.toString.call(_e).indexOf("[native code]")!==-1}function _wrapNativeSuper(_e){var et=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper=function(rt){if(rt===null||!_isNativeFunction(rt))return rt;if(typeof rt!="function")throw new TypeError("Super expression must either be null or a function");if(typeof et<"u"){if(et.has(rt))return et.get(rt);et.set(rt,nt)}function nt(){return _construct(rt,arguments,_getPrototypeOf$1(this).constructor)}return nt.prototype=Object.create(rt.prototype,{constructor:{value:nt,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf$1(nt,rt)},_wrapNativeSuper(_e)}var formatRegExp=/%[sdj%]/g,warning$1=function(){};typeof process<"u"&&process.env;function convertFieldsError(_e){if(!_e||!_e.length)return null;var et={};return _e.forEach(function(tt){var rt=tt.field;et[rt]=et[rt]||[],et[rt].push(tt)}),et}function format$1(_e){for(var et=arguments.length,tt=new Array(et>1?et-1:0),rt=1;rt=it)return st;switch(st){case"%s":return String(tt[nt++]);case"%d":return Number(tt[nt++]);case"%j":try{return JSON.stringify(tt[nt++])}catch{return"[Circular]"}break;default:return st}});return at}return _e}function isNativeStringType(_e){return _e==="string"||_e==="url"||_e==="hex"||_e==="email"||_e==="date"||_e==="pattern"}function isEmptyValue(_e,et){return!!(_e==null||et==="array"&&Array.isArray(_e)&&!_e.length||isNativeStringType(et)&&typeof _e=="string"&&!_e)}function asyncParallelArray(_e,et,tt){var rt=[],nt=0,it=_e.length;function at(st){rt.push.apply(rt,st||[]),nt++,nt===it&&tt(rt)}_e.forEach(function(st){et(st,at)})}function asyncSerialArray(_e,et,tt){var rt=0,nt=_e.length;function it(at){if(at&&at.length){tt(at);return}var st=rt;rt=rt+1,st()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},types={integer:function(et){return types.number(et)&&parseInt(et,10)===et},float:function(et){return types.number(et)&&!types.integer(et)},array:function(et){return Array.isArray(et)},regexp:function(et){if(et instanceof RegExp)return!0;try{return!!new RegExp(et)}catch{return!1}},date:function(et){return typeof et.getTime=="function"&&typeof et.getMonth=="function"&&typeof et.getYear=="function"&&!isNaN(et.getTime())},number:function(et){return isNaN(et)?!1:typeof et=="number"},object:function(et){return typeof et=="object"&&!types.array(et)},method:function(et){return typeof et=="function"},email:function(et){return typeof et=="string"&&et.length<=320&&!!et.match(pattern$2.email)},url:function(et){return typeof et=="string"&&et.length<=2048&&!!et.match(getUrlRegex())},hex:function(et){return typeof et=="string"&&!!et.match(pattern$2.hex)}},type$1=function(et,tt,rt,nt,it){if(et.required&&tt===void 0){required$1(et,tt,rt,nt,it);return}var at=["integer","float","array","regexp","object","method","email","number","date","url","hex"],st=et.type;at.indexOf(st)>-1?types[st](tt)||nt.push(format$1(it.messages.types[st],et.fullField,et.type)):st&&typeof tt!==et.type&&nt.push(format$1(it.messages.types[st],et.fullField,et.type))},range=function(et,tt,rt,nt,it){var at=typeof et.len=="number",st=typeof et.min=="number",lt=typeof et.max=="number",dt=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ht=tt,pt=null,mt=typeof tt=="number",gt=typeof tt=="string",vt=Array.isArray(tt);if(mt?pt="number":gt?pt="string":vt&&(pt="array"),!pt)return!1;vt&&(ht=tt.length),gt&&(ht=tt.replace(dt,"_").length),at?ht!==et.len&&nt.push(format$1(it.messages[pt].len,et.fullField,et.len)):st&&!lt&&htet.max?nt.push(format$1(it.messages[pt].max,et.fullField,et.max)):st&<&&(htet.max)&&nt.push(format$1(it.messages[pt].range,et.fullField,et.min,et.max))},ENUM$1="enum",enumerable$1=function(et,tt,rt,nt,it){et[ENUM$1]=Array.isArray(et[ENUM$1])?et[ENUM$1]:[],et[ENUM$1].indexOf(tt)===-1&&nt.push(format$1(it.messages[ENUM$1],et.fullField,et[ENUM$1].join(", ")))},pattern$1=function(et,tt,rt,nt,it){if(et.pattern){if(et.pattern instanceof RegExp)et.pattern.lastIndex=0,et.pattern.test(tt)||nt.push(format$1(it.messages.pattern.mismatch,et.fullField,tt,et.pattern));else if(typeof et.pattern=="string"){var at=new RegExp(et.pattern);at.test(tt)||nt.push(format$1(it.messages.pattern.mismatch,et.fullField,tt,et.pattern))}}},rules={required:required$1,whitespace,type:type$1,range,enum:enumerable$1,pattern:pattern$1},string=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt,"string")&&!et.required)return rt();rules.required(et,tt,nt,at,it,"string"),isEmptyValue(tt,"string")||(rules.type(et,tt,nt,at,it),rules.range(et,tt,nt,at,it),rules.pattern(et,tt,nt,at,it),et.whitespace===!0&&rules.whitespace(et,tt,nt,at,it))}rt(at)},method=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&rules.type(et,tt,nt,at,it)}rt(at)},number=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(tt===""&&(tt=void 0),isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&(rules.type(et,tt,nt,at,it),rules.range(et,tt,nt,at,it))}rt(at)},_boolean=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&rules.type(et,tt,nt,at,it)}rt(at)},regexp=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),isEmptyValue(tt)||rules.type(et,tt,nt,at,it)}rt(at)},integer=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&(rules.type(et,tt,nt,at,it),rules.range(et,tt,nt,at,it))}rt(at)},floatFn=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&(rules.type(et,tt,nt,at,it),rules.range(et,tt,nt,at,it))}rt(at)},array=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(tt==null&&!et.required)return rt();rules.required(et,tt,nt,at,it,"array"),tt!=null&&(rules.type(et,tt,nt,at,it),rules.range(et,tt,nt,at,it))}rt(at)},object=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&rules.type(et,tt,nt,at,it)}rt(at)},ENUM="enum",enumerable=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it),tt!==void 0&&rules[ENUM](et,tt,nt,at,it)}rt(at)},pattern=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt,"string")&&!et.required)return rt();rules.required(et,tt,nt,at,it),isEmptyValue(tt,"string")||rules.pattern(et,tt,nt,at,it)}rt(at)},date=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt,"date")&&!et.required)return rt();if(rules.required(et,tt,nt,at,it),!isEmptyValue(tt,"date")){var lt;tt instanceof Date?lt=tt:lt=new Date(tt),rules.type(et,lt,nt,at,it),lt&&rules.range(et,lt.getTime(),nt,at,it)}}rt(at)},required=function(et,tt,rt,nt,it){var at=[],st=Array.isArray(tt)?"array":typeof tt;rules.required(et,tt,nt,at,it,st),rt(at)},type=function(et,tt,rt,nt,it){var at=et.type,st=[],lt=et.required||!et.required&&nt.hasOwnProperty(et.field);if(lt){if(isEmptyValue(tt,at)&&!et.required)return rt();rules.required(et,tt,nt,st,it,at),isEmptyValue(tt,at)||rules.type(et,tt,nt,st,it)}rt(st)},any=function(et,tt,rt,nt,it){var at=[],st=et.required||!et.required&&nt.hasOwnProperty(et.field);if(st){if(isEmptyValue(tt)&&!et.required)return rt();rules.required(et,tt,nt,at,it)}rt(at)},validators={string,method,number,boolean:_boolean,regexp,integer,float:floatFn,array,object,enum:enumerable,pattern,date,url:type,hex:type,email:type,required,any};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var et=JSON.parse(JSON.stringify(this));return et.clone=this.clone,et}}}var messages=newMessages(),Schema=function(){function _e(tt){this.rules=null,this._messages=messages,this.define(tt)}var et=_e.prototype;return et.define=function(rt){var nt=this;if(!rt)throw new Error("Cannot configure a schema with no rules");if(typeof rt!="object"||Array.isArray(rt))throw new Error("Rules must be an object");this.rules={},Object.keys(rt).forEach(function(it){var at=rt[it];nt.rules[it]=Array.isArray(at)?at:[at]})},et.messages=function(rt){return rt&&(this._messages=deepMerge(newMessages(),rt)),this._messages},et.validate=function(rt,nt,it){var at=this;nt===void 0&&(nt={}),it===void 0&&(it=function(){});var st=rt,lt=nt,dt=it;if(typeof lt=="function"&&(dt=lt,lt={}),!this.rules||Object.keys(this.rules).length===0)return dt&&dt(null,st),Promise.resolve(st);function ht(bt){var yt=[],xt={};function wt(At){if(Array.isArray(At)){var Tt;yt=(Tt=yt).concat.apply(Tt,At)}else yt.push(At)}for(var _t=0;_t2&&arguments[2]!==void 0?arguments[2]:!1;return _e&&_e.some(function(rt){return matchNamePath(et,rt,tt)})}function matchNamePath(_e,et){var tt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!_e||!et||!tt&&_e.length!==et.length?!1:et.every(function(rt,nt){return _e[nt]===rt})}function isSimilar(_e,et){if(_e===et)return!0;if(!_e&&et||_e&&!et||!_e||!et||_typeof$1(_e)!=="object"||_typeof$1(et)!=="object")return!1;var tt=Object.keys(_e),rt=Object.keys(et),nt=new Set([].concat(tt,rt));return _toConsumableArray(nt).every(function(it){var at=_e[it],st=et[it];return typeof at=="function"&&typeof st=="function"?!0:at===st})}function defaultGetValueFromEvent(_e){var et=arguments.length<=1?void 0:arguments[1];return et&&et.target&&_typeof$1(et.target)==="object"&&_e in et.target?et.target[_e]:et}function move(_e,et,tt){var rt=_e.length;if(et<0||et>=rt||tt<0||tt>=rt)return _e;var nt=_e[et],it=et-tt;return it>0?[].concat(_toConsumableArray(_e.slice(0,tt)),[nt],_toConsumableArray(_e.slice(tt,et)),_toConsumableArray(_e.slice(et+1,rt))):it<0?[].concat(_toConsumableArray(_e.slice(0,et)),_toConsumableArray(_e.slice(et+1,tt+1)),[nt],_toConsumableArray(_e.slice(tt+1,rt))):_e}var _excluded$3=["name"],EMPTY_ERRORS=[];function requireUpdate(_e,et,tt,rt,nt,it){return typeof _e=="function"?_e(et,tt,"source"in it?{source:it.source}:{}):rt!==nt}var Field=function(_e){_inherits$1(tt,_e);var et=_createSuper$1(tt);function tt(rt){var nt;if(_classCallCheck$1(this,tt),nt=et.call(this,rt),_defineProperty$1(_assertThisInitialized$1(nt),"state",{resetCount:0}),_defineProperty$1(_assertThisInitialized$1(nt),"cancelRegisterFunc",null),_defineProperty$1(_assertThisInitialized$1(nt),"mounted",!1),_defineProperty$1(_assertThisInitialized$1(nt),"touched",!1),_defineProperty$1(_assertThisInitialized$1(nt),"dirty",!1),_defineProperty$1(_assertThisInitialized$1(nt),"validatePromise",void 0),_defineProperty$1(_assertThisInitialized$1(nt),"prevValidating",void 0),_defineProperty$1(_assertThisInitialized$1(nt),"errors",EMPTY_ERRORS),_defineProperty$1(_assertThisInitialized$1(nt),"warnings",EMPTY_ERRORS),_defineProperty$1(_assertThisInitialized$1(nt),"cancelRegister",function(){var lt=nt.props,dt=lt.preserve,ht=lt.isListField,pt=lt.name;nt.cancelRegisterFunc&&nt.cancelRegisterFunc(ht,dt,getNamePath(pt)),nt.cancelRegisterFunc=null}),_defineProperty$1(_assertThisInitialized$1(nt),"getNamePath",function(){var lt=nt.props,dt=lt.name,ht=lt.fieldContext,pt=ht.prefixName,mt=pt===void 0?[]:pt;return dt!==void 0?[].concat(_toConsumableArray(mt),_toConsumableArray(dt)):[]}),_defineProperty$1(_assertThisInitialized$1(nt),"getRules",function(){var lt=nt.props,dt=lt.rules,ht=dt===void 0?[]:dt,pt=lt.fieldContext;return ht.map(function(mt){return typeof mt=="function"?mt(pt):mt})}),_defineProperty$1(_assertThisInitialized$1(nt),"refresh",function(){nt.mounted&&nt.setState(function(lt){var dt=lt.resetCount;return{resetCount:dt+1}})}),_defineProperty$1(_assertThisInitialized$1(nt),"metaCache",null),_defineProperty$1(_assertThisInitialized$1(nt),"triggerMetaEvent",function(lt){var dt=nt.props.onMetaChange;if(dt){var ht=_objectSpread2(_objectSpread2({},nt.getMeta()),{},{destroy:lt});isEqual(nt.metaCache,ht)||dt(ht),nt.metaCache=ht}else nt.metaCache=null}),_defineProperty$1(_assertThisInitialized$1(nt),"onStoreChange",function(lt,dt,ht){var pt=nt.props,mt=pt.shouldUpdate,gt=pt.dependencies,vt=gt===void 0?[]:gt,bt=pt.onReset,yt=ht.store,xt=nt.getNamePath(),wt=nt.getValue(lt),_t=nt.getValue(yt),At=dt&&containsNamePath(dt,xt);switch(ht.type==="valueUpdate"&&ht.source==="external"&&wt!==_t&&(nt.touched=!0,nt.dirty=!0,nt.validatePromise=null,nt.errors=EMPTY_ERRORS,nt.warnings=EMPTY_ERRORS,nt.triggerMetaEvent()),ht.type){case"reset":if(!dt||At){nt.touched=!1,nt.dirty=!1,nt.validatePromise=void 0,nt.errors=EMPTY_ERRORS,nt.warnings=EMPTY_ERRORS,nt.triggerMetaEvent(),bt?.(),nt.refresh();return}break;case"remove":{if(mt){nt.reRender();return}break}case"setField":{var Tt=ht.data;if(At){"touched"in Tt&&(nt.touched=Tt.touched),"validating"in Tt&&!("originRCField"in Tt)&&(nt.validatePromise=Tt.validating?Promise.resolve([]):null),"errors"in Tt&&(nt.errors=Tt.errors||EMPTY_ERRORS),"warnings"in Tt&&(nt.warnings=Tt.warnings||EMPTY_ERRORS),nt.dirty=!0,nt.triggerMetaEvent(),nt.reRender();return}else if("value"in Tt&&containsNamePath(dt,xt,!0)){nt.reRender();return}if(mt&&!xt.length&&requireUpdate(mt,lt,yt,wt,_t,ht)){nt.reRender();return}break}case"dependenciesUpdate":{var kt=vt.map(getNamePath);if(kt.some(function(jt){return containsNamePath(ht.relatedFields,jt)})){nt.reRender();return}break}default:if(At||(!vt.length||xt.length||mt)&&requireUpdate(mt,lt,yt,wt,_t,ht)){nt.reRender();return}break}mt===!0&&nt.reRender()}),_defineProperty$1(_assertThisInitialized$1(nt),"validateRules",function(lt){var dt=nt.getNamePath(),ht=nt.getValue(),pt=lt||{},mt=pt.triggerName,gt=pt.validateOnly,vt=gt===void 0?!1:gt,bt=Promise.resolve().then(_asyncToGenerator(_regeneratorRuntime().mark(function yt(){var xt,wt,_t,At,Tt,kt,jt;return _regeneratorRuntime().wrap(function(qt){for(;;)switch(qt.prev=qt.next){case 0:if(nt.mounted){qt.next=2;break}return qt.abrupt("return",[]);case 2:if(xt=nt.props,wt=xt.validateFirst,_t=wt===void 0?!1:wt,At=xt.messageVariables,Tt=xt.validateDebounce,kt=nt.getRules(),mt&&(kt=kt.filter(function(Dt){return Dt}).filter(function(Dt){var zt=Dt.validateTrigger;if(!zt)return!0;var Zt=toArray(zt);return Zt.includes(mt)})),!(Tt&&mt)){qt.next=10;break}return qt.next=8,new Promise(function(Dt){setTimeout(Dt,Tt)});case 8:if(nt.validatePromise===bt){qt.next=10;break}return qt.abrupt("return",[]);case 10:return jt=validateRules(dt,ht,kt,lt,_t,At),jt.catch(function(Dt){return Dt}).then(function(){var Dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:EMPTY_ERRORS;if(nt.validatePromise===bt){var zt;nt.validatePromise=null;var Zt=[],Bt=[];(zt=Dt.forEach)===null||zt===void 0||zt.call(Dt,function(Et){var Ct=Et.rule.warningOnly,Pt=Et.errors,Ot=Pt===void 0?EMPTY_ERRORS:Pt;Ct?Bt.push.apply(Bt,_toConsumableArray(Ot)):Zt.push.apply(Zt,_toConsumableArray(Ot))}),nt.errors=Zt,nt.warnings=Bt,nt.triggerMetaEvent(),nt.reRender()}}),qt.abrupt("return",jt);case 13:case"end":return qt.stop()}},yt)})));return vt||(nt.validatePromise=bt,nt.dirty=!0,nt.errors=EMPTY_ERRORS,nt.warnings=EMPTY_ERRORS,nt.triggerMetaEvent(),nt.reRender()),bt}),_defineProperty$1(_assertThisInitialized$1(nt),"isFieldValidating",function(){return!!nt.validatePromise}),_defineProperty$1(_assertThisInitialized$1(nt),"isFieldTouched",function(){return nt.touched}),_defineProperty$1(_assertThisInitialized$1(nt),"isFieldDirty",function(){if(nt.dirty||nt.props.initialValue!==void 0)return!0;var lt=nt.props.fieldContext,dt=lt.getInternalHooks(HOOK_MARK),ht=dt.getInitialValue;return ht(nt.getNamePath())!==void 0}),_defineProperty$1(_assertThisInitialized$1(nt),"getErrors",function(){return nt.errors}),_defineProperty$1(_assertThisInitialized$1(nt),"getWarnings",function(){return nt.warnings}),_defineProperty$1(_assertThisInitialized$1(nt),"isListField",function(){return nt.props.isListField}),_defineProperty$1(_assertThisInitialized$1(nt),"isList",function(){return nt.props.isList}),_defineProperty$1(_assertThisInitialized$1(nt),"isPreserve",function(){return nt.props.preserve}),_defineProperty$1(_assertThisInitialized$1(nt),"getMeta",function(){nt.prevValidating=nt.isFieldValidating();var lt={touched:nt.isFieldTouched(),validating:nt.prevValidating,errors:nt.errors,warnings:nt.warnings,name:nt.getNamePath(),validated:nt.validatePromise===null};return lt}),_defineProperty$1(_assertThisInitialized$1(nt),"getOnlyChild",function(lt){if(typeof lt=="function"){var dt=nt.getMeta();return _objectSpread2(_objectSpread2({},nt.getOnlyChild(lt(nt.getControlled(),dt,nt.props.fieldContext))),{},{isFunction:!0})}var ht=toArray$1(lt);return ht.length!==1||!reactExports.isValidElement(ht[0])?{child:ht,isFunction:!1}:{child:ht[0],isFunction:!1}}),_defineProperty$1(_assertThisInitialized$1(nt),"getValue",function(lt){var dt=nt.props.fieldContext.getFieldsValue,ht=nt.getNamePath();return get(lt||dt(!0),ht)}),_defineProperty$1(_assertThisInitialized$1(nt),"getControlled",function(){var lt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},dt=nt.props,ht=dt.trigger,pt=dt.validateTrigger,mt=dt.getValueFromEvent,gt=dt.normalize,vt=dt.valuePropName,bt=dt.getValueProps,yt=dt.fieldContext,xt=pt!==void 0?pt:yt.validateTrigger,wt=nt.getNamePath(),_t=yt.getInternalHooks,At=yt.getFieldsValue,Tt=_t(HOOK_MARK),kt=Tt.dispatch,jt=nt.getValue(),Lt=bt||function(Zt){return _defineProperty$1({},vt,Zt)},qt=lt[ht],Dt=_objectSpread2(_objectSpread2({},lt),Lt(jt));Dt[ht]=function(){nt.touched=!0,nt.dirty=!0,nt.triggerMetaEvent();for(var Zt,Bt=arguments.length,Et=new Array(Bt),Ct=0;Ct=0&&Dt<=zt.length?(ht.keys=[].concat(_toConsumableArray(ht.keys.slice(0,Dt)),[ht.id],_toConsumableArray(ht.keys.slice(Dt))),_t([].concat(_toConsumableArray(zt.slice(0,Dt)),[qt],_toConsumableArray(zt.slice(Dt))))):(ht.keys=[].concat(_toConsumableArray(ht.keys),[ht.id]),_t([].concat(_toConsumableArray(zt),[qt]))),ht.id+=1},remove:function(qt){var Dt=Tt(),zt=new Set(Array.isArray(qt)?qt:[qt]);zt.size<=0||(ht.keys=ht.keys.filter(function(Zt,Bt){return!zt.has(Bt)}),_t(Dt.filter(function(Zt,Bt){return!zt.has(Bt)})))},move:function(qt,Dt){if(qt!==Dt){var zt=Tt();qt<0||qt>=zt.length||Dt<0||Dt>=zt.length||(ht.keys=move(ht.keys,qt,Dt),_t(move(zt,qt,Dt)))}}},jt=wt||[];return Array.isArray(jt)||(jt=[]),rt(jt.map(function(Lt,qt){var Dt=ht.keys[qt];return Dt===void 0&&(ht.keys[qt]=ht.id,Dt=ht.keys[qt],ht.id+=1),{name:qt,key:Dt,isListField:!0}}),kt,yt)})))}function allPromiseFinish(_e){var et=!1,tt=_e.length,rt=[];return _e.length?new Promise(function(nt,it){_e.forEach(function(at,st){at.catch(function(lt){return et=!0,lt}).then(function(lt){tt-=1,rt[st]=lt,!(tt>0)&&(et&&it(rt),nt(rt))})})}):Promise.resolve([])}var SPLIT="__@field_split__";function normalize(_e){return _e.map(function(et){return"".concat(_typeof$1(et),":").concat(et)}).join(SPLIT)}var NameMap=function(){function _e(){_classCallCheck$1(this,_e),_defineProperty$1(this,"kvs",new Map)}return _createClass$1(_e,[{key:"set",value:function(tt,rt){this.kvs.set(normalize(tt),rt)}},{key:"get",value:function(tt){return this.kvs.get(normalize(tt))}},{key:"update",value:function(tt,rt){var nt=this.get(tt),it=rt(nt);it?this.set(tt,it):this.delete(tt)}},{key:"delete",value:function(tt){this.kvs.delete(normalize(tt))}},{key:"map",value:function(tt){return _toConsumableArray(this.kvs.entries()).map(function(rt){var nt=_slicedToArray(rt,2),it=nt[0],at=nt[1],st=it.split(SPLIT);return tt({key:st.map(function(lt){var dt=lt.match(/^([^:]*):(.*)$/),ht=_slicedToArray(dt,3),pt=ht[1],mt=ht[2];return pt==="number"?Number(mt):mt}),value:at})})}},{key:"toJSON",value:function(){var tt={};return this.map(function(rt){var nt=rt.key,it=rt.value;return tt[nt.join(".")]=it,null}),tt}}]),_e}(),_excluded$2=["name"],FormStore=_createClass$1(function _e(et){var tt=this;_classCallCheck$1(this,_e),_defineProperty$1(this,"formHooked",!1),_defineProperty$1(this,"forceRootUpdate",void 0),_defineProperty$1(this,"subscribable",!0),_defineProperty$1(this,"store",{}),_defineProperty$1(this,"fieldEntities",[]),_defineProperty$1(this,"initialValues",{}),_defineProperty$1(this,"callbacks",{}),_defineProperty$1(this,"validateMessages",null),_defineProperty$1(this,"preserve",null),_defineProperty$1(this,"lastValidatePromise",null),_defineProperty$1(this,"getForm",function(){return{getFieldValue:tt.getFieldValue,getFieldsValue:tt.getFieldsValue,getFieldError:tt.getFieldError,getFieldWarning:tt.getFieldWarning,getFieldsError:tt.getFieldsError,isFieldsTouched:tt.isFieldsTouched,isFieldTouched:tt.isFieldTouched,isFieldValidating:tt.isFieldValidating,isFieldsValidating:tt.isFieldsValidating,resetFields:tt.resetFields,setFields:tt.setFields,setFieldValue:tt.setFieldValue,setFieldsValue:tt.setFieldsValue,validateFields:tt.validateFields,submit:tt.submit,_init:!0,getInternalHooks:tt.getInternalHooks}}),_defineProperty$1(this,"getInternalHooks",function(rt){return rt===HOOK_MARK?(tt.formHooked=!0,{dispatch:tt.dispatch,initEntityValue:tt.initEntityValue,registerField:tt.registerField,useSubscribe:tt.useSubscribe,setInitialValues:tt.setInitialValues,destroyForm:tt.destroyForm,setCallbacks:tt.setCallbacks,setValidateMessages:tt.setValidateMessages,getFields:tt.getFields,setPreserve:tt.setPreserve,getInitialValue:tt.getInitialValue,registerWatch:tt.registerWatch}):(warningOnce(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),_defineProperty$1(this,"useSubscribe",function(rt){tt.subscribable=rt}),_defineProperty$1(this,"prevWithoutPreserves",null),_defineProperty$1(this,"setInitialValues",function(rt,nt){if(tt.initialValues=rt||{},nt){var it,at=merge$1(rt,tt.store);(it=tt.prevWithoutPreserves)===null||it===void 0||it.map(function(st){var lt=st.key;at=set(at,lt,get(rt,lt))}),tt.prevWithoutPreserves=null,tt.updateStore(at)}}),_defineProperty$1(this,"destroyForm",function(){var rt=new NameMap;tt.getFieldEntities(!0).forEach(function(nt){tt.isMergedPreserve(nt.isPreserve())||rt.set(nt.getNamePath(),!0)}),tt.prevWithoutPreserves=rt}),_defineProperty$1(this,"getInitialValue",function(rt){var nt=get(tt.initialValues,rt);return rt.length?merge$1(nt):nt}),_defineProperty$1(this,"setCallbacks",function(rt){tt.callbacks=rt}),_defineProperty$1(this,"setValidateMessages",function(rt){tt.validateMessages=rt}),_defineProperty$1(this,"setPreserve",function(rt){tt.preserve=rt}),_defineProperty$1(this,"watchList",[]),_defineProperty$1(this,"registerWatch",function(rt){return tt.watchList.push(rt),function(){tt.watchList=tt.watchList.filter(function(nt){return nt!==rt})}}),_defineProperty$1(this,"notifyWatch",function(){var rt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(tt.watchList.length){var nt=tt.getFieldsValue(),it=tt.getFieldsValue(!0);tt.watchList.forEach(function(at){at(nt,it,rt)})}}),_defineProperty$1(this,"timeoutId",null),_defineProperty$1(this,"warningUnhooked",function(){}),_defineProperty$1(this,"updateStore",function(rt){tt.store=rt}),_defineProperty$1(this,"getFieldEntities",function(){var rt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return rt?tt.fieldEntities.filter(function(nt){return nt.getNamePath().length}):tt.fieldEntities}),_defineProperty$1(this,"getFieldsMap",function(){var rt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,nt=new NameMap;return tt.getFieldEntities(rt).forEach(function(it){var at=it.getNamePath();nt.set(at,it)}),nt}),_defineProperty$1(this,"getFieldEntitiesForNamePathList",function(rt){if(!rt)return tt.getFieldEntities(!0);var nt=tt.getFieldsMap(!0);return rt.map(function(it){var at=getNamePath(it);return nt.get(at)||{INVALIDATE_NAME_PATH:getNamePath(it)}})}),_defineProperty$1(this,"getFieldsValue",function(rt,nt){tt.warningUnhooked();var it,at,st;if(rt===!0||Array.isArray(rt)?(it=rt,at=nt):rt&&_typeof$1(rt)==="object"&&(st=rt.strict,at=rt.filter),it===!0&&!at)return tt.store;var lt=tt.getFieldEntitiesForNamePathList(Array.isArray(it)?it:null),dt=[];return lt.forEach(function(ht){var pt,mt,gt="INVALIDATE_NAME_PATH"in ht?ht.INVALIDATE_NAME_PATH:ht.getNamePath();if(st){var vt,bt;if((vt=(bt=ht).isList)!==null&&vt!==void 0&&vt.call(bt))return}else if(!it&&(pt=(mt=ht).isListField)!==null&&pt!==void 0&&pt.call(mt))return;if(!at)dt.push(gt);else{var yt="getMeta"in ht?ht.getMeta():null;at(yt)&&dt.push(gt)}}),cloneByNamePathList(tt.store,dt.map(getNamePath))}),_defineProperty$1(this,"getFieldValue",function(rt){tt.warningUnhooked();var nt=getNamePath(rt);return get(tt.store,nt)}),_defineProperty$1(this,"getFieldsError",function(rt){tt.warningUnhooked();var nt=tt.getFieldEntitiesForNamePathList(rt);return nt.map(function(it,at){return it&&!("INVALIDATE_NAME_PATH"in it)?{name:it.getNamePath(),errors:it.getErrors(),warnings:it.getWarnings()}:{name:getNamePath(rt[at]),errors:[],warnings:[]}})}),_defineProperty$1(this,"getFieldError",function(rt){tt.warningUnhooked();var nt=getNamePath(rt),it=tt.getFieldsError([nt])[0];return it.errors}),_defineProperty$1(this,"getFieldWarning",function(rt){tt.warningUnhooked();var nt=getNamePath(rt),it=tt.getFieldsError([nt])[0];return it.warnings}),_defineProperty$1(this,"isFieldsTouched",function(){tt.warningUnhooked();for(var rt=arguments.length,nt=new Array(rt),it=0;it0&&arguments[0]!==void 0?arguments[0]:{},nt=new NameMap,it=tt.getFieldEntities(!0);it.forEach(function(lt){var dt=lt.props.initialValue,ht=lt.getNamePath();if(dt!==void 0){var pt=nt.get(ht)||new Set;pt.add({entity:lt,value:dt}),nt.set(ht,pt)}});var at=function(dt){dt.forEach(function(ht){var pt=ht.props.initialValue;if(pt!==void 0){var mt=ht.getNamePath(),gt=tt.getInitialValue(mt);if(gt!==void 0)warningOnce(!1,"Form already set 'initialValues' with path '".concat(mt.join("."),"'. Field can not overwrite it."));else{var vt=nt.get(mt);if(vt&&vt.size>1)warningOnce(!1,"Multiple Field with path '".concat(mt.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(vt){var bt=tt.getFieldValue(mt);(!rt.skipExist||bt===void 0)&&tt.updateStore(set(tt.store,mt,_toConsumableArray(vt)[0].value))}}}})},st;rt.entities?st=rt.entities:rt.namePathList?(st=[],rt.namePathList.forEach(function(lt){var dt=nt.get(lt);if(dt){var ht;(ht=st).push.apply(ht,_toConsumableArray(_toConsumableArray(dt).map(function(pt){return pt.entity})))}})):st=it,at(st)}),_defineProperty$1(this,"resetFields",function(rt){tt.warningUnhooked();var nt=tt.store;if(!rt){tt.updateStore(merge$1(tt.initialValues)),tt.resetWithFieldInitialValue(),tt.notifyObservers(nt,null,{type:"reset"}),tt.notifyWatch();return}var it=rt.map(getNamePath);it.forEach(function(at){var st=tt.getInitialValue(at);tt.updateStore(set(tt.store,at,st))}),tt.resetWithFieldInitialValue({namePathList:it}),tt.notifyObservers(nt,it,{type:"reset"}),tt.notifyWatch(it)}),_defineProperty$1(this,"setFields",function(rt){tt.warningUnhooked();var nt=tt.store,it=[];rt.forEach(function(at){var st=at.name,lt=_objectWithoutProperties$1(at,_excluded$2),dt=getNamePath(st);it.push(dt),"value"in lt&&tt.updateStore(set(tt.store,dt,lt.value)),tt.notifyObservers(nt,[dt],{type:"setField",data:at})}),tt.notifyWatch(it)}),_defineProperty$1(this,"getFields",function(){var rt=tt.getFieldEntities(!0),nt=rt.map(function(it){var at=it.getNamePath(),st=it.getMeta(),lt=_objectSpread2(_objectSpread2({},st),{},{name:at,value:tt.getFieldValue(at)});return Object.defineProperty(lt,"originRCField",{value:!0}),lt});return nt}),_defineProperty$1(this,"initEntityValue",function(rt){var nt=rt.props.initialValue;if(nt!==void 0){var it=rt.getNamePath(),at=get(tt.store,it);at===void 0&&tt.updateStore(set(tt.store,it,nt))}}),_defineProperty$1(this,"isMergedPreserve",function(rt){var nt=rt!==void 0?rt:tt.preserve;return nt??!0}),_defineProperty$1(this,"registerField",function(rt){tt.fieldEntities.push(rt);var nt=rt.getNamePath();if(tt.notifyWatch([nt]),rt.props.initialValue!==void 0){var it=tt.store;tt.resetWithFieldInitialValue({entities:[rt],skipExist:!0}),tt.notifyObservers(it,[rt.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(at,st){var lt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(tt.fieldEntities=tt.fieldEntities.filter(function(pt){return pt!==rt}),!tt.isMergedPreserve(st)&&(!at||lt.length>1)){var dt=at?void 0:tt.getInitialValue(nt);if(nt.length&&tt.getFieldValue(nt)!==dt&&tt.fieldEntities.every(function(pt){return!matchNamePath(pt.getNamePath(),nt)})){var ht=tt.store;tt.updateStore(set(ht,nt,dt,!0)),tt.notifyObservers(ht,[nt],{type:"remove"}),tt.triggerDependenciesUpdate(ht,nt)}}tt.notifyWatch([nt])}}),_defineProperty$1(this,"dispatch",function(rt){switch(rt.type){case"updateValue":{var nt=rt.namePath,it=rt.value;tt.updateValue(nt,it);break}case"validateField":{var at=rt.namePath,st=rt.triggerName;tt.validateFields([at],{triggerName:st});break}}}),_defineProperty$1(this,"notifyObservers",function(rt,nt,it){if(tt.subscribable){var at=_objectSpread2(_objectSpread2({},it),{},{store:tt.getFieldsValue(!0)});tt.getFieldEntities().forEach(function(st){var lt=st.onStoreChange;lt(rt,nt,at)})}else tt.forceRootUpdate()}),_defineProperty$1(this,"triggerDependenciesUpdate",function(rt,nt){var it=tt.getDependencyChildrenFields(nt);return it.length&&tt.validateFields(it),tt.notifyObservers(rt,it,{type:"dependenciesUpdate",relatedFields:[nt].concat(_toConsumableArray(it))}),it}),_defineProperty$1(this,"updateValue",function(rt,nt){var it=getNamePath(rt),at=tt.store;tt.updateStore(set(tt.store,it,nt)),tt.notifyObservers(at,[it],{type:"valueUpdate",source:"internal"}),tt.notifyWatch([it]);var st=tt.triggerDependenciesUpdate(at,it),lt=tt.callbacks.onValuesChange;if(lt){var dt=cloneByNamePathList(tt.store,[it]);lt(dt,tt.getFieldsValue())}tt.triggerOnFieldsChange([it].concat(_toConsumableArray(st)))}),_defineProperty$1(this,"setFieldsValue",function(rt){tt.warningUnhooked();var nt=tt.store;if(rt){var it=merge$1(tt.store,rt);tt.updateStore(it)}tt.notifyObservers(nt,null,{type:"valueUpdate",source:"external"}),tt.notifyWatch()}),_defineProperty$1(this,"setFieldValue",function(rt,nt){tt.setFields([{name:rt,value:nt}])}),_defineProperty$1(this,"getDependencyChildrenFields",function(rt){var nt=new Set,it=[],at=new NameMap;tt.getFieldEntities().forEach(function(lt){var dt=lt.props.dependencies;(dt||[]).forEach(function(ht){var pt=getNamePath(ht);at.update(pt,function(){var mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return mt.add(lt),mt})})});var st=function lt(dt){var ht=at.get(dt)||new Set;ht.forEach(function(pt){if(!nt.has(pt)){nt.add(pt);var mt=pt.getNamePath();pt.isFieldDirty()&&mt.length&&(it.push(mt),lt(mt))}})};return st(rt),it}),_defineProperty$1(this,"triggerOnFieldsChange",function(rt,nt){var it=tt.callbacks.onFieldsChange;if(it){var at=tt.getFields();if(nt){var st=new NameMap;nt.forEach(function(dt){var ht=dt.name,pt=dt.errors;st.set(ht,pt)}),at.forEach(function(dt){dt.errors=st.get(dt.name)||dt.errors})}var lt=at.filter(function(dt){var ht=dt.name;return containsNamePath(rt,ht)});lt.length&&it(lt,at)}}),_defineProperty$1(this,"validateFields",function(rt,nt){var it;tt.warningUnhooked();var at,st;Array.isArray(rt)||typeof rt=="string"||typeof nt=="string"?(at=rt,st=nt):st=rt;var lt=!!at,dt=lt?at.map(getNamePath):[],ht=[],pt=String(Date.now()),mt=new Set,gt=(it=st)===null||it===void 0?void 0:it.recursive;tt.getFieldEntities(!0).forEach(function(xt){if(lt||dt.push(xt.getNamePath()),!(!xt.props.rules||!xt.props.rules.length)){var wt=xt.getNamePath();if(mt.add(wt.join(pt)),!lt||containsNamePath(dt,wt,gt)){var _t=xt.validateRules(_objectSpread2({validateMessages:_objectSpread2(_objectSpread2({},defaultValidateMessages),tt.validateMessages)},st));ht.push(_t.then(function(){return{name:wt,errors:[],warnings:[]}}).catch(function(At){var Tt,kt=[],jt=[];return(Tt=At.forEach)===null||Tt===void 0||Tt.call(At,function(Lt){var qt=Lt.rule.warningOnly,Dt=Lt.errors;qt?jt.push.apply(jt,_toConsumableArray(Dt)):kt.push.apply(kt,_toConsumableArray(Dt))}),kt.length?Promise.reject({name:wt,errors:kt,warnings:jt}):{name:wt,errors:kt,warnings:jt}}))}}});var vt=allPromiseFinish(ht);tt.lastValidatePromise=vt,vt.catch(function(xt){return xt}).then(function(xt){var wt=xt.map(function(_t){var At=_t.name;return At});tt.notifyObservers(tt.store,wt,{type:"validateFinish"}),tt.triggerOnFieldsChange(wt,xt)});var bt=vt.then(function(){return tt.lastValidatePromise===vt?Promise.resolve(tt.getFieldsValue(dt)):Promise.reject([])}).catch(function(xt){var wt=xt.filter(function(_t){return _t&&_t.errors.length});return Promise.reject({values:tt.getFieldsValue(dt),errorFields:wt,outOfDate:tt.lastValidatePromise!==vt})});bt.catch(function(xt){return xt});var yt=dt.filter(function(xt){return mt.has(xt.join(pt))});return tt.triggerOnFieldsChange(yt),bt}),_defineProperty$1(this,"submit",function(){tt.warningUnhooked(),tt.validateFields().then(function(rt){var nt=tt.callbacks.onFinish;if(nt)try{nt(rt)}catch(it){console.error(it)}}).catch(function(rt){var nt=tt.callbacks.onFinishFailed;nt&&nt(rt)})}),this.forceRootUpdate=et});function useForm(_e){var et=reactExports.useRef(),tt=reactExports.useState({}),rt=_slicedToArray(tt,2),nt=rt[1];if(!et.current)if(_e)et.current=_e;else{var it=function(){nt({})},at=new FormStore(it);et.current=at.getForm()}return[et.current]}var FormContext=reactExports.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),FormProvider=function(et){var tt=et.validateMessages,rt=et.onFormChange,nt=et.onFormFinish,it=et.children,at=reactExports.useContext(FormContext),st=reactExports.useRef({});return reactExports.createElement(FormContext.Provider,{value:_objectSpread2(_objectSpread2({},at),{},{validateMessages:_objectSpread2(_objectSpread2({},at.validateMessages),tt),triggerFormChange:function(dt,ht){rt&&rt(dt,{changedFields:ht,forms:st.current}),at.triggerFormChange(dt,ht)},triggerFormFinish:function(dt,ht){nt&&nt(dt,{values:ht,forms:st.current}),at.triggerFormFinish(dt,ht)},registerForm:function(dt,ht){dt&&(st.current=_objectSpread2(_objectSpread2({},st.current),{},_defineProperty$1({},dt,ht))),at.registerForm(dt,ht)},unregisterForm:function(dt){var ht=_objectSpread2({},st.current);delete ht[dt],st.current=ht,at.unregisterForm(dt)}})},it)},_excluded$1=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"],Form=function(et,tt){var rt=et.name,nt=et.initialValues,it=et.fields,at=et.form,st=et.preserve,lt=et.children,dt=et.component,ht=dt===void 0?"form":dt,pt=et.validateMessages,mt=et.validateTrigger,gt=mt===void 0?"onChange":mt,vt=et.onValuesChange,bt=et.onFieldsChange,yt=et.onFinish,xt=et.onFinishFailed,wt=_objectWithoutProperties$1(et,_excluded$1),_t=reactExports.useContext(FormContext),At=useForm(at),Tt=_slicedToArray(At,1),kt=Tt[0],jt=kt.getInternalHooks(HOOK_MARK),Lt=jt.useSubscribe,qt=jt.setInitialValues,Dt=jt.setCallbacks,zt=jt.setValidateMessages,Zt=jt.setPreserve,Bt=jt.destroyForm;reactExports.useImperativeHandle(tt,function(){return kt}),reactExports.useEffect(function(){return _t.registerForm(rt,kt),function(){_t.unregisterForm(rt)}},[_t,kt,rt]),zt(_objectSpread2(_objectSpread2({},_t.validateMessages),pt)),Dt({onValuesChange:vt,onFieldsChange:function(St){if(_t.triggerFormChange(rt,St),bt){for(var Ft=arguments.length,Vt=new Array(Ft>1?Ft-1:0),Rt=1;Rt{let{children:et,status:tt,override:rt}=_e;const nt=reactExports.useContext(FormItemInputContext),it=reactExports.useMemo(()=>{const at=Object.assign({},nt);return rt&&delete at.isFormItemInput,tt&&(delete at.status,delete at.hasFeedback,delete at.feedbackIcon),at},[tt,rt,nt]);return reactExports.createElement(FormItemInputContext.Provider,{value:it},et)};function voidFunc(){}const WatermarkContext=reactExports.createContext({add:voidFunc,remove:voidFunc});function usePanelRef(_e){const et=reactExports.useContext(WatermarkContext),tt=reactExports.useRef();return useEvent(nt=>{if(nt){const it=_e?nt.querySelector(_e):nt;et.add(it),tt.current=it}else et.remove(tt.current)})}const NormalCancelBtn=()=>{const{cancelButtonProps:_e,cancelTextLocale:et,onCancel:tt}=reactExports.useContext(ModalContext);return React.createElement(Button$1,Object.assign({onClick:tt},_e),et)},NormalCancelBtn$1=NormalCancelBtn,NormalOkBtn=()=>{const{confirmLoading:_e,okButtonProps:et,okType:tt,okTextLocale:rt,onOk:nt}=reactExports.useContext(ModalContext);return React.createElement(Button$1,Object.assign({},convertLegacyProps(tt),{loading:_e,onClick:nt},et),rt)},NormalOkBtn$1=NormalOkBtn;function renderCloseIcon(_e,et){return React.createElement("span",{className:`${_e}-close-x`},et||React.createElement(CloseOutlined$1,{className:`${_e}-close-icon`}))}const Footer=_e=>{const{okText:et,okType:tt="primary",cancelText:rt,confirmLoading:nt,onOk:it,onCancel:at,okButtonProps:st,cancelButtonProps:lt,footer:dt}=_e,[ht]=useLocale$1("Modal",getConfirmLocale()),pt=et||ht?.okText,mt=rt||ht?.cancelText,gt={confirmLoading:nt,okButtonProps:st,cancelButtonProps:lt,okTextLocale:pt,cancelTextLocale:mt,okType:tt,onOk:it,onCancel:at},vt=React.useMemo(()=>gt,_toConsumableArray(Object.values(gt)));let bt;return typeof dt=="function"||typeof dt>"u"?(bt=React.createElement(React.Fragment,null,React.createElement(NormalCancelBtn$1,null),React.createElement(NormalOkBtn$1,null)),typeof dt=="function"&&(bt=dt(bt,{OkBtn:NormalOkBtn$1,CancelBtn:NormalCancelBtn$1})),bt=React.createElement(ModalContextProvider,{value:vt},bt)):bt=dt,React.createElement(DisabledContextProvider,{disabled:!1},bt)},initMotionCommon=_e=>({animationDuration:_e,animationFillMode:"both"}),initMotionCommonLeave=_e=>({animationDuration:_e,animationFillMode:"both"}),initMotion=function(_e,et,tt,rt){const it=(arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1)?"&":"";return{[` + ${it}${_e}-enter, + ${it}${_e}-appear + `]:Object.assign(Object.assign({},initMotionCommon(rt)),{animationPlayState:"paused"}),[`${it}${_e}-leave`]:Object.assign(Object.assign({},initMotionCommonLeave(rt)),{animationPlayState:"paused"}),[` + ${it}${_e}-enter${_e}-enter-active, + ${it}${_e}-appear${_e}-appear-active + `]:{animationName:et,animationPlayState:"running"},[`${it}${_e}-leave${_e}-leave-active`]:{animationName:tt,animationPlayState:"running",pointerEvents:"none"}}},fadeIn=new Keyframe("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),fadeOut=new Keyframe("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),initFadeMotion=function(_e){let et=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;const{antCls:tt}=_e,rt=`${tt}-fade`,nt=et?"&":"";return[initMotion(rt,fadeIn,fadeOut,_e.motionDurationMid,et),{[` + ${nt}${rt}-enter, + ${nt}${rt}-appear + `]:{opacity:0,animationTimingFunction:"linear"},[`${nt}${rt}-leave`]:{animationTimingFunction:"linear"}}]},zoomIn=new Keyframe("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),zoomOut=new Keyframe("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),zoomBigIn=new Keyframe("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),zoomBigOut=new Keyframe("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),zoomUpIn=new Keyframe("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),zoomUpOut=new Keyframe("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),zoomLeftIn=new Keyframe("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),zoomLeftOut=new Keyframe("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),zoomRightIn=new Keyframe("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),zoomRightOut=new Keyframe("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),zoomDownIn=new Keyframe("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),zoomDownOut=new Keyframe("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),zoomMotion={zoom:{inKeyframes:zoomIn,outKeyframes:zoomOut},"zoom-big":{inKeyframes:zoomBigIn,outKeyframes:zoomBigOut},"zoom-big-fast":{inKeyframes:zoomBigIn,outKeyframes:zoomBigOut},"zoom-left":{inKeyframes:zoomLeftIn,outKeyframes:zoomLeftOut},"zoom-right":{inKeyframes:zoomRightIn,outKeyframes:zoomRightOut},"zoom-up":{inKeyframes:zoomUpIn,outKeyframes:zoomUpOut},"zoom-down":{inKeyframes:zoomDownIn,outKeyframes:zoomDownOut}},initZoomMotion=(_e,et)=>{const{antCls:tt}=_e,rt=`${tt}-${et}`,{inKeyframes:nt,outKeyframes:it}=zoomMotion[et];return[initMotion(rt,nt,it,et==="zoom-big-fast"?_e.motionDurationFast:_e.motionDurationMid),{[` + ${rt}-enter, + ${rt}-appear + `]:{transform:"scale(0)",opacity:0,animationTimingFunction:_e.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${rt}-leave`]:{animationTimingFunction:_e.motionEaseInOutCirc}}]};function box(_e){return{position:_e,inset:0}}const genModalMaskStyle=_e=>{const{componentCls:et,antCls:tt}=_e;return[{[`${et}-root`]:{[`${et}${tt}-zoom-enter, ${et}${tt}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:_e.motionDurationSlow,userSelect:"none"},[`${et}${tt}-zoom-leave ${et}-content`]:{pointerEvents:"none"},[`${et}-mask`]:Object.assign(Object.assign({},box("fixed")),{zIndex:_e.zIndexPopupBase,height:"100%",backgroundColor:_e.colorBgMask,pointerEvents:"none",[`${et}-hidden`]:{display:"none"}}),[`${et}-wrap`]:Object.assign(Object.assign({},box("fixed")),{zIndex:_e.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch",[`&:has(${et}${tt}-zoom-enter), &:has(${et}${tt}-zoom-appear)`]:{pointerEvents:"none"}})}},{[`${et}-root`]:initFadeMotion(_e)}]},genModalStyle=_e=>{const{componentCls:et}=_e;return[{[`${et}-root`]:{[`${et}-wrap-rtl`]:{direction:"rtl"},[`${et}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[et]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${_e.screenSMMax})`]:{[et]:{maxWidth:"calc(100vw - 16px)",margin:`${_e.marginXS} auto`},[`${et}-centered`]:{[et]:{flex:1}}}}},{[et]:Object.assign(Object.assign({},resetComponent(_e)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${_e.margin*2}px)`,margin:"0 auto",paddingBottom:_e.paddingLG,[`${et}-title`]:{margin:0,color:_e.titleColor,fontWeight:_e.fontWeightStrong,fontSize:_e.titleFontSize,lineHeight:_e.titleLineHeight,wordWrap:"break-word"},[`${et}-content`]:{position:"relative",backgroundColor:_e.contentBg,backgroundClip:"padding-box",border:0,borderRadius:_e.borderRadiusLG,boxShadow:_e.boxShadow,pointerEvents:"auto",padding:`${_e.paddingMD}px ${_e.paddingContentHorizontalLG}px`},[`${et}-close`]:Object.assign({position:"absolute",top:(_e.modalHeaderHeight-_e.modalCloseBtnSize)/2,insetInlineEnd:(_e.modalHeaderHeight-_e.modalCloseBtnSize)/2,zIndex:_e.zIndexPopupBase+10,padding:0,color:_e.modalCloseIconColor,fontWeight:_e.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:_e.borderRadiusSM,width:_e.modalCloseBtnSize,height:_e.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${_e.motionDurationMid}, background-color ${_e.motionDurationMid}`,"&-x":{display:"flex",fontSize:_e.fontSizeLG,fontStyle:"normal",lineHeight:`${_e.modalCloseBtnSize}px`,justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:_e.modalIconHoverColor,backgroundColor:_e.wireframe?"transparent":_e.colorFillContent,textDecoration:"none"},"&:active":{backgroundColor:_e.wireframe?"transparent":_e.colorFillContentHover}},genFocusStyle(_e)),[`${et}-header`]:{color:_e.colorText,background:_e.headerBg,borderRadius:`${_e.borderRadiusLG}px ${_e.borderRadiusLG}px 0 0`,marginBottom:_e.marginXS},[`${et}-body`]:{fontSize:_e.fontSize,lineHeight:_e.lineHeight,wordWrap:"break-word"},[`${et}-footer`]:{textAlign:"end",background:_e.footerBg,marginTop:_e.marginSM,[`${_e.antCls}-btn + ${_e.antCls}-btn:not(${_e.antCls}-dropdown-trigger)`]:{marginBottom:0,marginInlineStart:_e.marginXS}},[`${et}-open`]:{overflow:"hidden"}})},{[`${et}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${et}-content, + ${et}-body, + ${et}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${et}-confirm-body`]:{marginBottom:"auto"}}}]},genWireframeStyle=_e=>{const{componentCls:et,antCls:tt}=_e,rt=`${et}-confirm`;return{[et]:{[`${et}-content`]:{padding:0},[`${et}-header`]:{padding:_e.modalHeaderPadding,borderBottom:`${_e.modalHeaderBorderWidth}px ${_e.modalHeaderBorderStyle} ${_e.modalHeaderBorderColorSplit}`,marginBottom:0},[`${et}-body`]:{padding:_e.modalBodyPadding},[`${et}-footer`]:{padding:`${_e.modalFooterPaddingVertical}px ${_e.modalFooterPaddingHorizontal}px`,borderTop:`${_e.modalFooterBorderWidth}px ${_e.modalFooterBorderStyle} ${_e.modalFooterBorderColorSplit}`,borderRadius:`0 0 ${_e.borderRadiusLG}px ${_e.borderRadiusLG}px`,marginTop:0}},[rt]:{[`${tt}-modal-body`]:{padding:`${_e.padding*2}px ${_e.padding*2}px ${_e.paddingLG}px`},[`${rt}-body > ${_e.iconCls}`]:{marginInlineEnd:_e.margin},[`${rt}-btns`]:{marginTop:_e.marginLG}}}},genRTLStyle=_e=>{const{componentCls:et}=_e;return{[`${et}-root`]:{[`${et}-wrap-rtl`]:{direction:"rtl",[`${et}-confirm-body`]:{direction:"rtl"}}}}},prepareToken=_e=>{const et=_e.padding,tt=_e.fontSizeHeading5,rt=_e.lineHeightHeading5;return merge(_e,{modalBodyPadding:_e.paddingLG,modalHeaderPadding:`${et}px ${_e.paddingLG}px`,modalHeaderBorderWidth:_e.lineWidth,modalHeaderBorderStyle:_e.lineType,modalHeaderBorderColorSplit:_e.colorSplit,modalHeaderHeight:rt*tt+et*2,modalFooterBorderColorSplit:_e.colorSplit,modalFooterBorderStyle:_e.lineType,modalFooterPaddingVertical:_e.paddingXS,modalFooterPaddingHorizontal:_e.padding,modalFooterBorderWidth:_e.lineWidth,modalIconHoverColor:_e.colorIconHover,modalCloseIconColor:_e.colorIcon,modalCloseBtnSize:_e.fontSize*_e.lineHeight,modalConfirmIconSize:_e.fontSize*_e.lineHeight})},prepareComponentToken=_e=>({footerBg:"transparent",headerBg:_e.colorBgElevated,titleLineHeight:_e.lineHeightHeading5,titleFontSize:_e.fontSizeHeading5,contentBg:_e.colorBgElevated,titleColor:_e.colorTextHeading}),useStyle=genComponentStyleHook("Modal",_e=>{const et=prepareToken(_e);return[genModalStyle(et),genRTLStyle(et),genModalMaskStyle(et),_e.wireframe&&genWireframeStyle(et),initZoomMotion(et,"zoom")]},prepareComponentToken);var __rest$4=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{mousePosition={x:_e.pageX,y:_e.pageY},setTimeout(()=>{mousePosition=null},100)};canUseDocElement()&&document.documentElement.addEventListener("click",getClickPosition,!0);const Modal$2=_e=>{var et;const{getPopupContainer:tt,getPrefixCls:rt,direction:nt,modal:it}=reactExports.useContext(ConfigContext),at=Mt=>{const{onCancel:Ut}=_e;Ut?.(Mt)},st=Mt=>{const{onOk:Ut}=_e;Ut?.(Mt)},{prefixCls:lt,className:dt,rootClassName:ht,open:pt,wrapClassName:mt,centered:gt,getContainer:vt,closeIcon:bt,closable:yt,focusTriggerAfterClose:xt=!0,style:wt,visible:_t,width:At=520,footer:Tt,classNames:kt,styles:jt}=_e,Lt=__rest$4(_e,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","closeIcon","closable","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),qt=rt("modal",lt),Dt=rt(),[zt,Zt]=useStyle(qt),Bt=classNames(mt,{[`${qt}-centered`]:!!gt,[`${qt}-wrap-rtl`]:nt==="rtl"}),Et=Tt!==null&&reactExports.createElement(Footer,Object.assign({},_e,{onOk:st,onCancel:at})),[Ct,Pt]=useClosable(yt,bt,Mt=>renderCloseIcon(qt,Mt),reactExports.createElement(CloseOutlined$1,{className:`${qt}-close-icon`}),!0),Ot=usePanelRef(`.${qt}-content`);return zt(reactExports.createElement(NoCompactStyle,null,reactExports.createElement(NoFormStyle,{status:!0,override:!0},reactExports.createElement(DialogWrap,Object.assign({width:At},Lt,{getContainer:vt===void 0?tt:vt,prefixCls:qt,rootClassName:classNames(Zt,ht),footer:Et,visible:pt??_t,mousePosition:(et=Lt.mousePosition)!==null&&et!==void 0?et:mousePosition,onClose:at,closable:Ct,closeIcon:Pt,focusTriggerAfterClose:xt,transitionName:getTransitionName(Dt,"zoom",_e.transitionName),maskTransitionName:getTransitionName(Dt,"fade",_e.maskTransitionName),className:classNames(Zt,dt,it?.className),style:Object.assign(Object.assign({},it?.style),wt),classNames:Object.assign(Object.assign({wrapper:Bt},it?.classNames),kt),styles:Object.assign(Object.assign({},it?.styles),jt),panelRef:Ot})))))},OriginModal=Modal$2,genModalConfirmStyle=_e=>{const{componentCls:et,titleFontSize:tt,titleLineHeight:rt,modalConfirmIconSize:nt,fontSize:it,lineHeight:at}=_e,st=`${et}-confirm`,lt=Math.round(tt*rt),dt=Math.round(it*at);return{[st]:{"&-rtl":{direction:"rtl"},[`${_e.antCls}-modal-header`]:{display:"none"},[`${st}-body-wrapper`]:Object.assign({},clearFix()),[`${st}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${_e.iconCls}`]:{flex:"none",fontSize:nt,marginInlineEnd:_e.marginSM,marginTop:(dt-nt)/2},[`&-has-title > ${_e.iconCls}`]:{marginTop:(lt-nt)/2}},[`${st}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:_e.marginXS,maxWidth:`calc(100% - ${_e.modalConfirmIconSize+_e.marginSM}px)`},[`${st}-title`]:{color:_e.colorTextHeading,fontWeight:_e.fontWeightStrong,fontSize:tt,lineHeight:rt},[`${st}-content`]:{color:_e.colorText,fontSize:it,lineHeight:at},[`${st}-btns`]:{textAlign:"end",marginTop:_e.marginSM,[`${_e.antCls}-btn + ${_e.antCls}-btn`]:{marginBottom:0,marginInlineStart:_e.marginXS}}},[`${st}-error ${st}-body > ${_e.iconCls}`]:{color:_e.colorError},[`${st}-warning ${st}-body > ${_e.iconCls}, + ${st}-confirm ${st}-body > ${_e.iconCls}`]:{color:_e.colorWarning},[`${st}-info ${st}-body > ${_e.iconCls}`]:{color:_e.colorInfo},[`${st}-success ${st}-body > ${_e.iconCls}`]:{color:_e.colorSuccess}}},ConfirmCmp=genSubStyleComponent(["Modal","confirm"],_e=>{const et=prepareToken(_e);return[genModalConfirmStyle(et)]},prepareComponentToken,{order:-1e3});var __rest$3=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);ntwt,_toConsumableArray(Object.values(wt))),At=reactExports.createElement(reactExports.Fragment,null,reactExports.createElement(CancelBtn,null),reactExports.createElement(OkBtn,null)),Tt=_e.title!==void 0&&_e.title!==null,kt=`${it}-body`;return reactExports.createElement("div",{className:`${it}-body-wrapper`},reactExports.createElement("div",{className:classNames(kt,{[`${kt}-has-title`]:Tt})},pt,reactExports.createElement("div",{className:`${it}-paragraph`},Tt&&reactExports.createElement("span",{className:`${it}-title`},_e.title),reactExports.createElement("div",{className:`${it}-content`},_e.content))),lt===void 0||typeof lt=="function"?reactExports.createElement(ModalContextProvider,{value:_t},reactExports.createElement("div",{className:`${it}-btns`},typeof lt=="function"?lt(At,{OkBtn,CancelBtn}):At)):lt,reactExports.createElement(ConfirmCmp,{prefixCls:et}))}const ConfirmDialog=_e=>{const{close:et,zIndex:tt,afterClose:rt,open:nt,keyboard:it,centered:at,getContainer:st,maskStyle:lt,direction:dt,prefixCls:ht,wrapClassName:pt,rootPrefixCls:mt,iconPrefixCls:gt,theme:vt,bodyStyle:bt,closable:yt=!1,closeIcon:xt,modalRender:wt,focusTriggerAfterClose:_t,onConfirm:At}=_e,Tt=`${ht}-confirm`,kt=_e.width||416,jt=_e.style||{},Lt=_e.mask===void 0?!0:_e.mask,qt=_e.maskClosable===void 0?!1:_e.maskClosable,Dt=classNames(Tt,`${Tt}-${_e.type}`,{[`${Tt}-rtl`]:dt==="rtl"},_e.className);return reactExports.createElement(ConfigProvider$1,{prefixCls:mt,iconPrefixCls:gt,direction:dt,theme:vt},reactExports.createElement(OriginModal,{prefixCls:ht,className:Dt,wrapClassName:classNames({[`${Tt}-centered`]:!!_e.centered},pt),onCancel:()=>{et?.({triggerCancel:!0}),At?.(!1)},open:nt,title:"",footer:null,transitionName:getTransitionName(mt||"","zoom",_e.transitionName),maskTransitionName:getTransitionName(mt||"","fade",_e.maskTransitionName),mask:Lt,maskClosable:qt,style:jt,styles:{body:bt,mask:lt},width:kt,zIndex:tt,afterClose:rt,keyboard:it,centered:at,getContainer:st,closable:yt,closeIcon:xt,modalRender:wt,focusTriggerAfterClose:_t},reactExports.createElement(ConfirmContent,Object.assign({},_e,{confirmPrefixCls:Tt}))))},ConfirmDialog$1=ConfirmDialog,destroyFns=[],destroyFns$1=destroyFns;var __rest$2=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);ntmt&&mt.triggerCancel);_e.onCancel&&pt&&_e.onCancel.apply(_e,[()=>{}].concat(_toConsumableArray(dt.slice(1))));for(let mt=0;mt{const vt=getConfirmLocale(),{getPrefixCls:bt,getIconPrefixCls:yt,getTheme:xt}=globalConfig(),wt=bt(void 0,getRootPrefixCls()),_t=pt||`${wt}-modal`,At=yt(),Tt=xt();let kt=mt;kt===!1&&(kt=void 0),render(reactExports.createElement(ConfirmDialog$1,Object.assign({},gt,{getContainer:kt,prefixCls:_t,rootPrefixCls:wt,iconPrefixCls:At,okText:dt,locale:vt,theme:Tt,cancelText:ht||vt.cancelText})),et)})}function at(){for(var lt=arguments.length,dt=new Array(lt),ht=0;ht{typeof _e.afterClose=="function"&&_e.afterClose(),nt.apply(this,dt)}}),tt.visible&&delete tt.visible,it(tt)}function st(lt){typeof lt=="function"?tt=lt(tt):tt=Object.assign(Object.assign({},tt),lt),it(tt)}return it(tt),destroyFns$1.push(at),{destroy:at,update:st}}function withWarn(_e){return Object.assign(Object.assign({},_e),{type:"warning"})}function withInfo(_e){return Object.assign(Object.assign({},_e),{type:"info"})}function withSuccess(_e){return Object.assign(Object.assign({},_e),{type:"success"})}function withError(_e){return Object.assign(Object.assign({},_e),{type:"error"})}function withConfirm(_e){return Object.assign(Object.assign({},_e),{type:"confirm"})}function modalGlobalConfig(_e){let{rootPrefixCls:et}=_e;defaultRootPrefixCls=et}var __rest$1=globalThis&&globalThis.__rest||function(_e,et){var tt={};for(var rt in _e)Object.prototype.hasOwnProperty.call(_e,rt)&&et.indexOf(rt)<0&&(tt[rt]=_e[rt]);if(_e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var nt=0,rt=Object.getOwnPropertySymbols(_e);nt{var tt,{afterClose:rt,config:nt}=_e,it=__rest$1(_e,["afterClose","config"]);const[at,st]=reactExports.useState(!0),[lt,dt]=reactExports.useState(nt),{direction:ht,getPrefixCls:pt}=reactExports.useContext(ConfigContext),mt=pt("modal"),gt=pt(),vt=()=>{var wt;rt(),(wt=lt.afterClose)===null||wt===void 0||wt.call(lt)},bt=function(){st(!1);for(var wt=arguments.length,_t=new Array(wt),At=0;Atkt&&kt.triggerCancel);lt.onCancel&&Tt&<.onCancel.apply(lt,[()=>{}].concat(_toConsumableArray(_t.slice(1))))};reactExports.useImperativeHandle(et,()=>({destroy:bt,update:wt=>{dt(_t=>Object.assign(Object.assign({},_t),wt))}}));const yt=(tt=lt.okCancel)!==null&&tt!==void 0?tt:lt.type==="confirm",[xt]=useLocale$1("Modal",defaultLocale.Modal);return reactExports.createElement(ConfirmDialog$1,Object.assign({prefixCls:mt,rootPrefixCls:gt},lt,{close:bt,open:at,afterClose:vt,okText:lt.okText||(yt?xt?.okText:xt?.justOkText),direction:lt.direction||ht,cancelText:lt.cancelText||xt?.cancelText},it))},HookModal$1=reactExports.forwardRef(HookModal);let uuid=0;const ElementsHolder=reactExports.memo(reactExports.forwardRef((_e,et)=>{const[tt,rt]=usePatchElement();return reactExports.useImperativeHandle(et,()=>({patchElement:rt}),[]),reactExports.createElement(reactExports.Fragment,null,tt)}));function useModal$1(){const _e=reactExports.useRef(null),[et,tt]=reactExports.useState([]);reactExports.useEffect(()=>{et.length&&(_toConsumableArray(et).forEach(at=>{at()}),tt([]))},[et]);const rt=reactExports.useCallback(it=>function(st){var lt;uuid+=1;const dt=reactExports.createRef();let ht;const pt=new Promise(yt=>{ht=yt});let mt=!1,gt;const vt=reactExports.createElement(HookModal$1,{key:`modal-${uuid}`,config:it(st),ref:dt,afterClose:()=>{gt?.()},isSilent:()=>mt,onConfirm:yt=>{ht(yt)}});return gt=(lt=_e.current)===null||lt===void 0?void 0:lt.patchElement(vt),gt&&destroyFns$1.push(gt),{destroy:()=>{function yt(){var xt;(xt=dt.current)===null||xt===void 0||xt.destroy()}dt.current?yt():tt(xt=>[].concat(_toConsumableArray(xt),[yt]))},update:yt=>{function xt(){var wt;(wt=dt.current)===null||wt===void 0||wt.update(yt)}dt.current?xt():tt(wt=>[].concat(_toConsumableArray(wt),[xt]))},then:yt=>(mt=!0,pt.then(yt))}},[]);return[reactExports.useMemo(()=>({info:rt(withInfo),success:rt(withSuccess),error:rt(withError),warning:rt(withWarn),confirm:rt(withConfirm)}),[]),reactExports.createElement(ElementsHolder,{key:"modal-holder",ref:_e})]}function withPureRenderTheme(_e){return function(tt){return reactExports.createElement(ConfigProvider$1,{theme:{token:{motion:!1,zIndexPopupBase:0}}},reactExports.createElement(_e,Object.assign({},tt)))}}let message=null,act=_e=>_e(),taskQueue=[],defaultGlobalConfig={};function getGlobalContext(){const{prefixCls:_e,getContainer:et,duration:tt,rtl:rt,maxCount:nt,top:it}=defaultGlobalConfig,at=_e??globalConfig().getPrefixCls("message"),st=et?.()||document.body;return{prefixCls:at,getContainer:()=>st,duration:tt,rtl:rt,maxCount:nt,top:it}}const GlobalHolder=reactExports.forwardRef((_e,et)=>{const[tt,rt]=reactExports.useState(getGlobalContext),[nt,it]=useInternalMessage(tt),at=globalConfig(),st=at.getRootPrefixCls(),lt=at.getIconPrefixCls(),dt=at.getTheme(),ht=()=>{rt(getGlobalContext)};return reactExports.useEffect(ht,[]),reactExports.useImperativeHandle(et,()=>{const pt=Object.assign({},nt);return Object.keys(pt).forEach(mt=>{pt[mt]=function(){return ht(),nt[mt].apply(nt,arguments)}}),{instance:pt,sync:ht}}),reactExports.createElement(ConfigProvider$1,{prefixCls:st,iconPrefixCls:lt,theme:dt},it)});function flushNotice(){if(!message){const _e=document.createDocumentFragment(),et={fragment:_e};message=et,act(()=>{render(reactExports.createElement(GlobalHolder,{ref:tt=>{const{instance:rt,sync:nt}=tt||{};Promise.resolve().then(()=>{!et.instance&&rt&&(et.instance=rt,et.sync=nt,flushNotice())})}}),_e)});return}message.instance&&(taskQueue.forEach(_e=>{const{type:et,skipped:tt}=_e;if(!tt)switch(et){case"open":{act(()=>{const rt=message.instance.open(Object.assign(Object.assign({},defaultGlobalConfig),_e.config));rt?.then(_e.resolve),_e.setCloseFn(rt)});break}case"destroy":act(()=>{message?.instance.destroy(_e.key)});break;default:act(()=>{var rt;const nt=(rt=message.instance)[et].apply(rt,_toConsumableArray(_e.args));nt?.then(_e.resolve),_e.setCloseFn(nt)})}}),taskQueue=[])}function setMessageGlobalConfig(_e){defaultGlobalConfig=Object.assign(Object.assign({},defaultGlobalConfig),_e),act(()=>{var et;(et=message?.sync)===null||et===void 0||et.call(message)})}function open(_e){const et=wrapPromiseFn(tt=>{let rt;const nt={type:"open",config:_e,resolve:tt,setCloseFn:it=>{rt=it}};return taskQueue.push(nt),()=>{rt?act(()=>{rt()}):nt.skipped=!0}});return flushNotice(),et}function typeOpen(_e,et){const tt=wrapPromiseFn(rt=>{let nt;const it={type:_e,args:et,resolve:rt,setCloseFn:at=>{nt=at}};return taskQueue.push(it),()=>{nt?act(()=>{nt()}):it.skipped=!0}});return flushNotice(),tt}function destroy(_e){taskQueue.push({type:"destroy",key:_e}),flushNotice()}const methods=["success","info","warning","error","loading"],baseStaticMethods={open,destroy,config:setMessageGlobalConfig,useMessage,_InternalPanelDoNotUseOrYouWillBeFired:PurePanel$3},staticMethods=baseStaticMethods;methods.forEach(_e=>{staticMethods[_e]=function(){for(var et=arguments.length,tt=new Array(et),rt=0;rt{const{prefixCls:et,className:tt,closeIcon:rt,closable:nt,type:it,title:at,children:st}=_e,lt=__rest(_e,["prefixCls","className","closeIcon","closable","type","title","children"]),{getPrefixCls:dt}=reactExports.useContext(ConfigContext),ht=dt(),pt=et||dt("modal"),[,mt]=useStyle(pt),gt=`${pt}-confirm`;let vt={};return it?vt={closable:nt??!1,title:"",footer:"",children:reactExports.createElement(ConfirmContent,Object.assign({},_e,{prefixCls:pt,confirmPrefixCls:gt,rootPrefixCls:ht,content:st}))}:vt={closable:nt??!0,title:at,footer:_e.footer===void 0?reactExports.createElement(Footer,Object.assign({},_e)):_e.footer,children:st},reactExports.createElement(Panel,Object.assign({prefixCls:pt,className:classNames(mt,`${pt}-pure-panel`,it&>,it&&`${gt}-${it}`,tt)},lt,{closeIcon:renderCloseIcon(pt,rt),closable:nt},vt))},PurePanel$1=withPureRenderTheme(PurePanel);function modalWarn(_e){return confirm(withWarn(_e))}const Modal=OriginModal;Modal.useModal=useModal$1;Modal.info=function(et){return confirm(withInfo(et))};Modal.success=function(et){return confirm(withSuccess(et))};Modal.error=function(et){return confirm(withError(et))};Modal.warning=modalWarn;Modal.warn=modalWarn;Modal.confirm=function(et){return confirm(withConfirm(et))};Modal.destroyAll=function(){for(;destroyFns$1.length;){const et=destroyFns$1.pop();et&&et()}};Modal.config=modalGlobalConfig;Modal._InternalPanelDoNotUseOrYouWillBeFired=PurePanel$1;const Modal$1=Modal;var toggleSelection=function(){var _e=document.getSelection();if(!_e.rangeCount)return function(){};for(var et=document.activeElement,tt=[],rt=0;rt<_e.rangeCount;rt++)tt.push(_e.getRangeAt(rt));switch(et.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":et.blur();break;default:et=null;break}return _e.removeAllRanges(),function(){_e.type==="Caret"&&_e.removeAllRanges(),_e.rangeCount||tt.forEach(function(nt){_e.addRange(nt)}),et&&et.focus()}},deselectCurrent=toggleSelection,clipboardToIE11Formatting={"text/plain":"Text","text/html":"Url",default:"Text"},defaultMessage="Copy to clipboard: #{key}, Enter";function format(_e){var et=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return _e.replace(/#{\s*key\s*}/g,et)}function copy(_e,et){var tt,rt,nt,it,at,st,lt=!1;et||(et={}),tt=et.debug||!1;try{nt=deselectCurrent(),it=document.createRange(),at=document.getSelection(),st=document.createElement("span"),st.textContent=_e,st.ariaHidden="true",st.style.all="unset",st.style.position="fixed",st.style.top=0,st.style.clip="rect(0, 0, 0, 0)",st.style.whiteSpace="pre",st.style.webkitUserSelect="text",st.style.MozUserSelect="text",st.style.msUserSelect="text",st.style.userSelect="text",st.addEventListener("copy",function(ht){if(ht.stopPropagation(),et.format)if(ht.preventDefault(),typeof ht.clipboardData>"u"){tt&&console.warn("unable to use e.clipboardData"),tt&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var pt=clipboardToIE11Formatting[et.format]||clipboardToIE11Formatting.default;window.clipboardData.setData(pt,_e)}else ht.clipboardData.clearData(),ht.clipboardData.setData(et.format,_e);et.onCopy&&(ht.preventDefault(),et.onCopy(ht.clipboardData))}),document.body.appendChild(st),it.selectNodeContents(st),at.addRange(it);var dt=document.execCommand("copy");if(!dt)throw new Error("copy command was unsuccessful");lt=!0}catch(ht){tt&&console.error("unable to copy using execCommand: ",ht),tt&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(et.format||"text",_e),et.onCopy&&et.onCopy(window.clipboardData),lt=!0}catch(pt){tt&&console.error("unable to copy using clipboardData: ",pt),tt&&console.error("falling back to prompt"),rt=format("message"in et?et.message:defaultMessage),window.prompt(rt,_e)}}finally{at&&(typeof at.removeRange=="function"?at.removeRange(it):at.removeAllRanges()),st&&document.body.removeChild(st),nt()}return lt}var copyToClipboard=copy;let wait=!1;function createSystemCalls({worldContract:_e,waitForTransaction:et},tt){const{Counter:rt,Player:nt,LootList1:it,LootList2:at,BoxList:st,BattleList:lt}=tt;return{increment:async()=>{const Et=await _e.write.increment();return await et(Et),g$7(rt,f$1)},move:async Et=>{if(!wait){wait=!0,console.log("move",new Date().getTime());try{const Ct=await _e.write.move([Et]);await et(Ct),console.log("move success",new Date().getTime(),Ct),wait=!1}catch(Ct){console.log("move",Ct),message$1.error(Ct.cause.reason||Ct.cause.details),wait=!1}}},getPosition:async Et=>{const Ct=await _e.read.getPosition([Et]);await et(Ct),await et(Ct)},joinBattlefield:async()=>{console.log("joinBattlefield",new Date().getTime());try{const Et=await _e.write.joinBattlefield();return await et(Et),console.log("joinBattlefield success",new Date().getTime(),Et),Et}catch(Et){console.log("joinBattlefield",Et),message$1.error(Et.cause.reason||Et.cause.details)}},transfer:async(Et,Ct)=>{console.log("transfer",new Date().getTime());try{const Pt=await _e.write.transfer([Et,...Ct]);await et(Pt),console.log("transfer success",new Date().getTime(),Pt)}catch(Pt){console.log("transfer",Pt),message$1.error(Pt.cause.reason||Pt.cause.details)}},battleInvitation:async(Et,Ct)=>{if(!wait){wait=!0,console.log("battleInvitation",new Date().getTime());try{const Pt=await _e.write.battleInvitation([Et,Ct]);return await et(Pt),console.log("battleInvitation success",new Date().getTime(),Pt),wait=!1,Pt}catch(Pt){console.log("battleInvitation",Pt),message$1.error(Pt.cause.reason||Pt.cause.details),wait=!1}}},confirmBattle:async(Et,Ct)=>{if(!wait){wait=!0,console.log("confirmBattle",new Date().getTime());try{const Pt=await _e.write.confirmBattle([Et,Ct]);return await et(Pt),console.log("confirmBattle success",new Date().getTime(),Pt),wait=!1,{type:"success",data:g$7(lt,u$1({battleId:"uint256"},{battleId:Ct}))}}catch(Pt){return console.log("confirmBattle",Pt),message$1.error(Pt.cause.reason||Pt.cause.details),wait=!1,{type:"error",msg:Pt.cause.reason||Pt.cause.details||Pt.cause}}}},selectUserNft:async(Et,Ct)=>{console.log("selectUserNft",new Date().getTime());try{const Pt=await _e.write.selectUserNft([Et]);return await et(Pt),console.log("selectUserNft success",new Date().getTime(),Pt),g$7(nt,u$1({addr:"address"},{addr:Ct}))}catch(Pt){console.log("selectUserNft",Pt),message$1.error(Pt.cause.reason||Pt.cause.details)}},selectLootNFT:async(Et,Ct)=>{console.log("selectLootNFT",new Date().getTime());try{const Pt=await _e.write.selectLootNFT([Et]);return await et(Pt),console.log("selectLootNFT success",new Date().getTime(),Pt),g$7(it,u$1({addr:"address"},{addr:Ct}))}catch(Pt){console.log("selectLootNFT",Pt),message$1.error(Pt.cause.reason||Pt.cause.details)}},revealBattle:async(Et,Ct,Pt,Ot)=>{if(!wait){wait=!0,console.log("revealBattle",new Date().getTime());try{const Mt=await _e.write.revealBattle([Et,Ct,Pt,Ot]);return await et(Mt),console.log("revealBattle success",new Date().getTime(),Mt),wait=!1,{type:"success",data:g$7(lt,u$1({battleId:"uint256"},{battleId:Et}))}}catch(Mt){return console.log("revealBattle",Mt),message$1.error(Mt.cause.reason||Mt.cause.details),wait=!1,{type:"error",msg:Mt.cause.reason||Mt.cause.details||Mt.cause}}}},openBox:async Et=>{if(!wait){wait=!0,console.log("openBox",new Date().getTime());try{const Ct=await _e.write.openBox([Et]);await et(Ct),console.log("openBox success",new Date().getTime(),Ct),wait=!1}catch(Ct){console.log("openBox",Ct),message$1.error(Ct.cause.reason||Ct.cause.details),wait=!1}}},getCollections:async(Et,Ct,Pt)=>{if(!wait){wait=!0;try{const Ot=await _e.write.getCollections([Et,Ct,Pt]);await et(Ot),wait=!1}catch(Ot){console.log("getCollections",Ot),message$1.error(Ot.cause.reason||Ot.cause.details),wait=!1}}},revealBox:async Et=>{if(!wait){wait=!0,console.log("revealBox",new Date().getTime());try{const Ct=await _e.write.revealBox([Et]);return await et(Ct),console.log("revealBox success",new Date().getTime(),Ct),wait=!1,g$7(st,u$1({boxId:"uint256"},{boxId:Et}))}catch(Ct){console.log("revealBox",Ct),message$1.error(Ct.cause.reason||Ct.cause.details),wait=!1}}},CreateBox:async(Et,Ct)=>{try{const Pt=await _e.write.CreateBox([Et,Ct]);await et(Pt)}catch(Pt){console.log("CreateBox",Pt),message$1.error(Pt.cause.reason||Pt.cause.details)}},getBattlePlayerHp:async(Et,Ct)=>await _e.read.getBattlePlayerHp([Et,Ct]),setInfo:async(Et,Ct)=>{console.log("setInfo",new Date().getTime());try{const Pt=await _e.write.setInfo([Et,Ct]);return await et(Pt),console.log("setInfo success",new Date().getTime(),Pt),Pt}catch(Pt){console.log("setInfo",Pt),message$1.error(Pt.cause.reason||Pt.cause.details)}},initUserInfo:async()=>{if(!wait){wait=!0,console.log("initUserInfo",new Date().getTime());try{const Et=await _e.write.initUserInfo();return await et(Et),console.log("initUserInfo success",new Date().getTime(),Et),wait=!1,Et}catch(Et){console.log("initUserInfo",Et),message$1.error(Et.cause.reason||Et.cause.details),wait=!1}}},selectBothNFT:async(Et,Ct,Pt)=>{console.log("selectBothNFT",new Date().getTime());try{const Ot=await _e.write.selectBothNFT([Et,Ct]);return await et(Ot),console.log("selectBothNFT success",new Date().getTime(),Ot),{playerData:g$7(nt,u$1({addr:"address"},{addr:Pt})),lootData:g$7(it,u$1({addr:"address"},{addr:Pt}))}}catch(Ot){console.log("selectUserNft",Ot),message$1.error(Ot.cause.reason||Ot.cause.details)}},forceEnd:async Et=>{if(!wait){wait=!0,console.log("forceEnd",new Date().getTime());try{const Ct=await _e.write.forceEnd([Et]);return await et(Ct),console.log("forceEnd success",new Date().getTime(),Ct),wait=!1,g$7(lt,u$1({battleId:"uint256"},{battleId:Et}))}catch(Ct){console.log("forceEnd",Ct),wait=!1}}},unlockUserLocation:async()=>{console.log("unlockUserLocation",new Date().getTime());try{const Et=await _e.write.unlockUserLocation();return await et(Et),console.log("unlockUserLocation success",new Date().getTime(),Et),Et}catch(Et){console.log("unlockUserLocation",Et),message$1.error(Et.cause.reason||Et.cause.details)}},submitGem:async()=>{try{const Et=await _e.write.submitGem();return await et(Et),Et}catch(Et){console.log("submitGem",Et),message$1.error(Et.cause.reason||Et.cause.details)}}}}/** + * @license + * Copyright 2009 The Closure Library Authors + * Copyright 2020 Daniel Wirtz / The long.js Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */var wasm=null;try{wasm=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Long(_e,et,tt){this.low=_e|0,this.high=et|0,this.unsigned=!!tt}Long.prototype.__isLong__;Object.defineProperty(Long.prototype,"__isLong__",{value:!0});function isLong(_e){return(_e&&_e.__isLong__)===!0}function ctz32(_e){var et=Math.clz32(_e&-_e);return _e?31-et:et}Long.isLong=isLong;var INT_CACHE={},UINT_CACHE={};function fromInt(_e,et){var tt,rt,nt;return et?(_e>>>=0,(nt=0<=_e&&_e<256)&&(rt=UINT_CACHE[_e],rt)?rt:(tt=fromBits(_e,0,!0),nt&&(UINT_CACHE[_e]=tt),tt)):(_e|=0,(nt=-128<=_e&&_e<128)&&(rt=INT_CACHE[_e],rt)?rt:(tt=fromBits(_e,_e<0?-1:0,!1),nt&&(INT_CACHE[_e]=tt),tt))}Long.fromInt=fromInt;function fromNumber(_e,et){if(isNaN(_e))return et?UZERO:ZERO;if(et){if(_e<0)return UZERO;if(_e>=TWO_PWR_64_DBL)return MAX_UNSIGNED_VALUE}else{if(_e<=-TWO_PWR_63_DBL)return MIN_VALUE;if(_e+1>=TWO_PWR_63_DBL)return MAX_VALUE}return _e<0?fromNumber(-_e,et).neg():fromBits(_e%TWO_PWR_32_DBL|0,_e/TWO_PWR_32_DBL|0,et)}Long.fromNumber=fromNumber;function fromBits(_e,et,tt){return new Long(_e,et,tt)}Long.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(_e,et,tt){if(_e.length===0)throw Error("empty string");if(typeof et=="number"?(tt=et,et=!1):et=!!et,_e==="NaN"||_e==="Infinity"||_e==="+Infinity"||_e==="-Infinity")return et?UZERO:ZERO;if(tt=tt||10,tt<2||360)throw Error("interior hyphen");if(rt===0)return fromString(_e.substring(1),et,tt).neg();for(var nt=fromNumber(pow_dbl(tt,8)),it=ZERO,at=0;at<_e.length;at+=8){var st=Math.min(8,_e.length-at),lt=parseInt(_e.substring(at,at+st),tt);if(st<8){var dt=fromNumber(pow_dbl(tt,st));it=it.mul(dt).add(fromNumber(lt))}else it=it.mul(nt),it=it.add(fromNumber(lt))}return it.unsigned=et,it}Long.fromString=fromString;function fromValue(_e,et){return typeof _e=="number"?fromNumber(_e,et):typeof _e=="string"?fromString(_e,et):fromBits(_e.low,_e.high,typeof et=="boolean"?et:_e.unsigned)}Long.fromValue=fromValue;var TWO_PWR_16_DBL=65536,TWO_PWR_24_DBL=1<<24,TWO_PWR_32_DBL=TWO_PWR_16_DBL*TWO_PWR_16_DBL,TWO_PWR_64_DBL=TWO_PWR_32_DBL*TWO_PWR_32_DBL,TWO_PWR_63_DBL=TWO_PWR_64_DBL/2,TWO_PWR_24=fromInt(TWO_PWR_24_DBL),ZERO=fromInt(0);Long.ZERO=ZERO;var UZERO=fromInt(0,!0);Long.UZERO=UZERO;var ONE=fromInt(1);Long.ONE=ONE;var UONE=fromInt(1,!0);Long.UONE=UONE;var NEG_ONE=fromInt(-1);Long.NEG_ONE=NEG_ONE;var MAX_VALUE=fromBits(-1,2147483647,!1);Long.MAX_VALUE=MAX_VALUE;var MAX_UNSIGNED_VALUE=fromBits(-1,-1,!0);Long.MAX_UNSIGNED_VALUE=MAX_UNSIGNED_VALUE;var MIN_VALUE=fromBits(0,-2147483648,!1);Long.MIN_VALUE=MIN_VALUE;var LongPrototype=Long.prototype;LongPrototype.toInt=function(){return this.unsigned?this.low>>>0:this.low};LongPrototype.toNumber=function(){return this.unsigned?(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0):this.high*TWO_PWR_32_DBL+(this.low>>>0)};LongPrototype.toString=function(et){if(et=et||10,et<2||36>>0,ht=dt.toString(et);if(at=lt,at.isZero())return ht+st;for(;ht.length<6;)ht="0"+ht;st=""+ht+st}};LongPrototype.getHighBits=function(){return this.high};LongPrototype.getHighBitsUnsigned=function(){return this.high>>>0};LongPrototype.getLowBits=function(){return this.low};LongPrototype.getLowBitsUnsigned=function(){return this.low>>>0};LongPrototype.getNumBitsAbs=function(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();for(var et=this.high!=0?this.high:this.low,tt=31;tt>0&&!(et&1<=0};LongPrototype.isOdd=function(){return(this.low&1)===1};LongPrototype.isEven=function(){return(this.low&1)===0};LongPrototype.equals=function(et){return isLong(et)||(et=fromValue(et)),this.unsigned!==et.unsigned&&this.high>>>31===1&&et.high>>>31===1?!1:this.high===et.high&&this.low===et.low};LongPrototype.eq=LongPrototype.equals;LongPrototype.notEquals=function(et){return!this.eq(et)};LongPrototype.neq=LongPrototype.notEquals;LongPrototype.ne=LongPrototype.notEquals;LongPrototype.lessThan=function(et){return this.comp(et)<0};LongPrototype.lt=LongPrototype.lessThan;LongPrototype.lessThanOrEqual=function(et){return this.comp(et)<=0};LongPrototype.lte=LongPrototype.lessThanOrEqual;LongPrototype.le=LongPrototype.lessThanOrEqual;LongPrototype.greaterThan=function(et){return this.comp(et)>0};LongPrototype.gt=LongPrototype.greaterThan;LongPrototype.greaterThanOrEqual=function(et){return this.comp(et)>=0};LongPrototype.gte=LongPrototype.greaterThanOrEqual;LongPrototype.ge=LongPrototype.greaterThanOrEqual;LongPrototype.compare=function(et){if(isLong(et)||(et=fromValue(et)),this.eq(et))return 0;var tt=this.isNegative(),rt=et.isNegative();return tt&&!rt?-1:!tt&&rt?1:this.unsigned?et.high>>>0>this.high>>>0||et.high===this.high&&et.low>>>0>this.low>>>0?-1:1:this.sub(et).isNegative()?-1:1};LongPrototype.comp=LongPrototype.compare;LongPrototype.negate=function(){return!this.unsigned&&this.eq(MIN_VALUE)?MIN_VALUE:this.not().add(ONE)};LongPrototype.neg=LongPrototype.negate;LongPrototype.add=function(et){isLong(et)||(et=fromValue(et));var tt=this.high>>>16,rt=this.high&65535,nt=this.low>>>16,it=this.low&65535,at=et.high>>>16,st=et.high&65535,lt=et.low>>>16,dt=et.low&65535,ht=0,pt=0,mt=0,gt=0;return gt+=it+dt,mt+=gt>>>16,gt&=65535,mt+=nt+lt,pt+=mt>>>16,mt&=65535,pt+=rt+st,ht+=pt>>>16,pt&=65535,ht+=tt+at,ht&=65535,fromBits(mt<<16|gt,ht<<16|pt,this.unsigned)};LongPrototype.subtract=function(et){return isLong(et)||(et=fromValue(et)),this.add(et.neg())};LongPrototype.sub=LongPrototype.subtract;LongPrototype.multiply=function(et){if(this.isZero())return this;if(isLong(et)||(et=fromValue(et)),wasm){var tt=wasm.mul(this.low,this.high,et.low,et.high);return fromBits(tt,wasm.get_high(),this.unsigned)}if(et.isZero())return this.unsigned?UZERO:ZERO;if(this.eq(MIN_VALUE))return et.isOdd()?MIN_VALUE:ZERO;if(et.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative())return et.isNegative()?this.neg().mul(et.neg()):this.neg().mul(et).neg();if(et.isNegative())return this.mul(et.neg()).neg();if(this.lt(TWO_PWR_24)&&et.lt(TWO_PWR_24))return fromNumber(this.toNumber()*et.toNumber(),this.unsigned);var rt=this.high>>>16,nt=this.high&65535,it=this.low>>>16,at=this.low&65535,st=et.high>>>16,lt=et.high&65535,dt=et.low>>>16,ht=et.low&65535,pt=0,mt=0,gt=0,vt=0;return vt+=at*ht,gt+=vt>>>16,vt&=65535,gt+=it*ht,mt+=gt>>>16,gt&=65535,gt+=at*dt,mt+=gt>>>16,gt&=65535,mt+=nt*ht,pt+=mt>>>16,mt&=65535,mt+=it*dt,pt+=mt>>>16,mt&=65535,mt+=at*lt,pt+=mt>>>16,mt&=65535,pt+=rt*ht+nt*dt+it*lt+at*st,pt&=65535,fromBits(gt<<16|vt,pt<<16|mt,this.unsigned)};LongPrototype.mul=LongPrototype.multiply;LongPrototype.divide=function(et){if(isLong(et)||(et=fromValue(et)),et.isZero())throw Error("division by zero");if(wasm){if(!this.unsigned&&this.high===-2147483648&&et.low===-1&&et.high===-1)return this;var tt=(this.unsigned?wasm.div_u:wasm.div_s)(this.low,this.high,et.low,et.high);return fromBits(tt,wasm.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?UZERO:ZERO;var rt,nt,it;if(this.unsigned){if(et.unsigned||(et=et.toUnsigned()),et.gt(this))return UZERO;if(et.gt(this.shru(1)))return UONE;it=UZERO}else{if(this.eq(MIN_VALUE)){if(et.eq(ONE)||et.eq(NEG_ONE))return MIN_VALUE;if(et.eq(MIN_VALUE))return ONE;var at=this.shr(1);return rt=at.div(et).shl(1),rt.eq(ZERO)?et.isNegative()?ONE:NEG_ONE:(nt=this.sub(et.mul(rt)),it=rt.add(nt.div(et)),it)}else if(et.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative())return et.isNegative()?this.neg().div(et.neg()):this.neg().div(et).neg();if(et.isNegative())return this.div(et.neg()).neg();it=ZERO}for(nt=this;nt.gte(et);){rt=Math.max(1,Math.floor(nt.toNumber()/et.toNumber()));for(var st=Math.ceil(Math.log(rt)/Math.LN2),lt=st<=48?1:pow_dbl(2,st-48),dt=fromNumber(rt),ht=dt.mul(et);ht.isNegative()||ht.gt(nt);)rt-=lt,dt=fromNumber(rt,this.unsigned),ht=dt.mul(et);dt.isZero()&&(dt=ONE),it=it.add(dt),nt=nt.sub(ht)}return it};LongPrototype.div=LongPrototype.divide;LongPrototype.modulo=function(et){if(isLong(et)||(et=fromValue(et)),wasm){var tt=(this.unsigned?wasm.rem_u:wasm.rem_s)(this.low,this.high,et.low,et.high);return fromBits(tt,wasm.get_high(),this.unsigned)}return this.sub(this.div(et).mul(et))};LongPrototype.mod=LongPrototype.modulo;LongPrototype.rem=LongPrototype.modulo;LongPrototype.not=function(){return fromBits(~this.low,~this.high,this.unsigned)};LongPrototype.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};LongPrototype.clz=LongPrototype.countLeadingZeros;LongPrototype.countTrailingZeros=function(){return this.low?ctz32(this.low):ctz32(this.high)+32};LongPrototype.ctz=LongPrototype.countTrailingZeros;LongPrototype.and=function(et){return isLong(et)||(et=fromValue(et)),fromBits(this.low&et.low,this.high&et.high,this.unsigned)};LongPrototype.or=function(et){return isLong(et)||(et=fromValue(et)),fromBits(this.low|et.low,this.high|et.high,this.unsigned)};LongPrototype.xor=function(et){return isLong(et)||(et=fromValue(et)),fromBits(this.low^et.low,this.high^et.high,this.unsigned)};LongPrototype.shiftLeft=function(et){return isLong(et)&&(et=et.toInt()),(et&=63)===0?this:et<32?fromBits(this.low<>>32-et,this.unsigned):fromBits(0,this.low<>>et|this.high<<32-et,this.high>>et,this.unsigned):fromBits(this.high>>et-32,this.high>=0?0:-1,this.unsigned)};LongPrototype.shr=LongPrototype.shiftRight;LongPrototype.shiftRightUnsigned=function(et){return isLong(et)&&(et=et.toInt()),(et&=63)===0?this:et<32?fromBits(this.low>>>et|this.high<<32-et,this.high>>>et,this.unsigned):et===32?fromBits(this.high,0,this.unsigned):fromBits(this.high>>>et-32,0,this.unsigned)};LongPrototype.shru=LongPrototype.shiftRightUnsigned;LongPrototype.shr_u=LongPrototype.shiftRightUnsigned;LongPrototype.rotateLeft=function(et){var tt;return isLong(et)&&(et=et.toInt()),(et&=63)===0?this:et===32?fromBits(this.high,this.low,this.unsigned):et<32?(tt=32-et,fromBits(this.low<>>tt,this.high<>>tt,this.unsigned)):(et-=32,tt=32-et,fromBits(this.high<>>tt,this.low<>>tt,this.unsigned))};LongPrototype.rotl=LongPrototype.rotateLeft;LongPrototype.rotateRight=function(et){var tt;return isLong(et)&&(et=et.toInt()),(et&=63)===0?this:et===32?fromBits(this.high,this.low,this.unsigned):et<32?(tt=32-et,fromBits(this.high<>>et,this.low<>>et,this.unsigned)):(et-=32,tt=32-et,fromBits(this.low<>>et,this.high<>>et,this.unsigned))};LongPrototype.rotr=LongPrototype.rotateRight;LongPrototype.toSigned=function(){return this.unsigned?fromBits(this.low,this.high,!1):this};LongPrototype.toUnsigned=function(){return this.unsigned?this:fromBits(this.low,this.high,!0)};LongPrototype.toBytes=function(et){return et?this.toBytesLE():this.toBytesBE()};LongPrototype.toBytesLE=function(){var et=this.high,tt=this.low;return[tt&255,tt>>>8&255,tt>>>16&255,tt>>>24,et&255,et>>>8&255,et>>>16&255,et>>>24]};LongPrototype.toBytesBE=function(){var et=this.high,tt=this.low;return[et>>>24,et>>>16&255,et>>>8&255,et&255,tt>>>24,tt>>>16&255,tt>>>8&255,tt&255]};Long.fromBytes=function(et,tt,rt){return rt?Long.fromBytesLE(et,tt):Long.fromBytesBE(et,tt)};Long.fromBytesLE=function(et,tt){return new Long(et[0]|et[1]<<8|et[2]<<16|et[3]<<24,et[4]|et[5]<<8|et[6]<<16|et[7]<<24,tt)};Long.fromBytesBE=function(et,tt){return new Long(et[4]<<24|et[5]<<16|et[6]<<8|et[7],et[0]<<24|et[1]<<16|et[2]<<8|et[3],tt)};var indexMinimal={},minimal$1={},aspromise=asPromise;function asPromise(_e,et){for(var tt=new Array(arguments.length-1),rt=0,nt=2,it=!0;nt1&&st.charAt(lt)==="=";)++dt;return Math.ceil(st.length*3)/4-dt};for(var tt=new Array(64),rt=new Array(123),nt=0;nt<64;)rt[tt[nt]=nt<26?nt+65:nt<52?nt+71:nt<62?nt-4:nt-59|43]=nt++;et.encode=function(st,lt,dt){for(var ht=null,pt=[],mt=0,gt=0,vt;lt>2],vt=(bt&3)<<4,gt=1;break;case 1:pt[mt++]=tt[vt|bt>>4],vt=(bt&15)<<2,gt=2;break;case 2:pt[mt++]=tt[vt|bt>>6],pt[mt++]=tt[bt&63],gt=0;break}mt>8191&&((ht||(ht=[])).push(String.fromCharCode.apply(String,pt)),mt=0)}return gt&&(pt[mt++]=tt[vt],pt[mt++]=61,gt===1&&(pt[mt++]=61)),ht?(mt&&ht.push(String.fromCharCode.apply(String,pt.slice(0,mt))),ht.join("")):String.fromCharCode.apply(String,pt.slice(0,mt))};var it="invalid encoding";et.decode=function(st,lt,dt){for(var ht=dt,pt=0,mt,gt=0;gt1)break;if((vt=rt[vt])===void 0)throw Error(it);switch(pt){case 0:mt=vt,pt=1;break;case 1:lt[dt++]=mt<<2|(vt&48)>>4,mt=vt,pt=2;break;case 2:lt[dt++]=(mt&15)<<4|(vt&60)>>2,mt=vt,pt=3;break;case 3:lt[dt++]=(mt&3)<<6|vt,pt=0;break}}if(pt===1)throw Error(it);return dt-ht},et.test=function(st){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(st)}})(base64$2);var eventemitter=EventEmitter;function EventEmitter(){this._listeners={}}EventEmitter.prototype.on=function(et,tt,rt){return(this._listeners[et]||(this._listeners[et]=[])).push({fn:tt,ctx:rt||this}),this};EventEmitter.prototype.off=function(et,tt){if(et===void 0)this._listeners={};else if(tt===void 0)this._listeners[et]=[];else for(var rt=this._listeners[et],nt=0;nt0?0:2147483648,it,at);else if(isNaN(nt))rt(2143289344,it,at);else if(nt>34028234663852886e22)rt((st<<31|2139095040)>>>0,it,at);else if(nt<11754943508222875e-54)rt((st<<31|Math.round(nt/1401298464324817e-60))>>>0,it,at);else{var lt=Math.floor(Math.log(nt)/Math.LN2),dt=Math.round(nt*Math.pow(2,-lt)*8388608)&8388607;rt((st<<31|lt+127<<23|dt)>>>0,it,at)}}_e.writeFloatLE=et.bind(null,writeUintLE),_e.writeFloatBE=et.bind(null,writeUintBE);function tt(rt,nt,it){var at=rt(nt,it),st=(at>>31)*2+1,lt=at>>>23&255,dt=at&8388607;return lt===255?dt?NaN:st*(1/0):lt===0?st*1401298464324817e-60*dt:st*Math.pow(2,lt-150)*(dt+8388608)}_e.readFloatLE=tt.bind(null,readUintLE),_e.readFloatBE=tt.bind(null,readUintBE)}(),typeof Float64Array<"u"?function(){var et=new Float64Array([-0]),tt=new Uint8Array(et.buffer),rt=tt[7]===128;function nt(lt,dt,ht){et[0]=lt,dt[ht]=tt[0],dt[ht+1]=tt[1],dt[ht+2]=tt[2],dt[ht+3]=tt[3],dt[ht+4]=tt[4],dt[ht+5]=tt[5],dt[ht+6]=tt[6],dt[ht+7]=tt[7]}function it(lt,dt,ht){et[0]=lt,dt[ht]=tt[7],dt[ht+1]=tt[6],dt[ht+2]=tt[5],dt[ht+3]=tt[4],dt[ht+4]=tt[3],dt[ht+5]=tt[2],dt[ht+6]=tt[1],dt[ht+7]=tt[0]}_e.writeDoubleLE=rt?nt:it,_e.writeDoubleBE=rt?it:nt;function at(lt,dt){return tt[0]=lt[dt],tt[1]=lt[dt+1],tt[2]=lt[dt+2],tt[3]=lt[dt+3],tt[4]=lt[dt+4],tt[5]=lt[dt+5],tt[6]=lt[dt+6],tt[7]=lt[dt+7],et[0]}function st(lt,dt){return tt[7]=lt[dt],tt[6]=lt[dt+1],tt[5]=lt[dt+2],tt[4]=lt[dt+3],tt[3]=lt[dt+4],tt[2]=lt[dt+5],tt[1]=lt[dt+6],tt[0]=lt[dt+7],et[0]}_e.readDoubleLE=rt?at:st,_e.readDoubleBE=rt?st:at}():function(){function et(rt,nt,it,at,st,lt){var dt=at<0?1:0;if(dt&&(at=-at),at===0)rt(0,st,lt+nt),rt(1/at>0?0:2147483648,st,lt+it);else if(isNaN(at))rt(0,st,lt+nt),rt(2146959360,st,lt+it);else if(at>17976931348623157e292)rt(0,st,lt+nt),rt((dt<<31|2146435072)>>>0,st,lt+it);else{var ht;if(at<22250738585072014e-324)ht=at/5e-324,rt(ht>>>0,st,lt+nt),rt((dt<<31|ht/4294967296)>>>0,st,lt+it);else{var pt=Math.floor(Math.log(at)/Math.LN2);pt===1024&&(pt=1023),ht=at*Math.pow(2,-pt),rt(ht*4503599627370496>>>0,st,lt+nt),rt((dt<<31|pt+1023<<20|ht*1048576&1048575)>>>0,st,lt+it)}}}_e.writeDoubleLE=et.bind(null,writeUintLE,0,4),_e.writeDoubleBE=et.bind(null,writeUintBE,4,0);function tt(rt,nt,it,at,st){var lt=rt(at,st+nt),dt=rt(at,st+it),ht=(dt>>31)*2+1,pt=dt>>>20&2047,mt=4294967296*(dt&1048575)+lt;return pt===2047?mt?NaN:ht*(1/0):pt===0?ht*5e-324*mt:ht*Math.pow(2,pt-1075)*(mt+4503599627370496)}_e.readDoubleLE=tt.bind(null,readUintLE,0,4),_e.readDoubleBE=tt.bind(null,readUintBE,4,0)}(),_e}function writeUintLE(_e,et,tt){et[tt]=_e&255,et[tt+1]=_e>>>8&255,et[tt+2]=_e>>>16&255,et[tt+3]=_e>>>24}function writeUintBE(_e,et,tt){et[tt]=_e>>>24,et[tt+1]=_e>>>16&255,et[tt+2]=_e>>>8&255,et[tt+3]=_e&255}function readUintLE(_e,et){return(_e[et]|_e[et+1]<<8|_e[et+2]<<16|_e[et+3]<<24)>>>0}function readUintBE(_e,et){return(_e[et]<<24|_e[et+1]<<16|_e[et+2]<<8|_e[et+3])>>>0}var inquire_1=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(_e){}return null}var utf8$2={};(function(_e){var et=_e;et.length=function(rt){for(var nt=0,it=0,at=0;at191&&ht<224?lt[dt++]=(ht&31)<<6|rt[nt++]&63:ht>239&&ht<365?(ht=((ht&7)<<18|(rt[nt++]&63)<<12|(rt[nt++]&63)<<6|rt[nt++]&63)-65536,lt[dt++]=55296+(ht>>10),lt[dt++]=56320+(ht&1023)):lt[dt++]=(ht&15)<<12|(rt[nt++]&63)<<6|rt[nt++]&63,dt>8191&&((st||(st=[])).push(String.fromCharCode.apply(String,lt)),dt=0);return st?(dt&&st.push(String.fromCharCode.apply(String,lt.slice(0,dt))),st.join("")):String.fromCharCode.apply(String,lt.slice(0,dt))},et.write=function(rt,nt,it){for(var at=it,st,lt,dt=0;dt>6|192,nt[it++]=st&63|128):(st&64512)===55296&&((lt=rt.charCodeAt(dt+1))&64512)===56320?(st=65536+((st&1023)<<10)+(lt&1023),++dt,nt[it++]=st>>18|240,nt[it++]=st>>12&63|128,nt[it++]=st>>6&63|128,nt[it++]=st&63|128):(nt[it++]=st>>12|224,nt[it++]=st>>6&63|128,nt[it++]=st&63|128);return it-at}})(utf8$2);var pool_1=pool;function pool(_e,et,tt){var rt=tt||8192,nt=rt>>>1,it=null,at=rt;return function(lt){if(lt<1||lt>nt)return _e(lt);at+lt>rt&&(it=_e(rt),at=0);var dt=et.call(it,at,at+=lt);return at&7&&(at=(at|7)+1),dt}}var longbits,hasRequiredLongbits;function requireLongbits(){if(hasRequiredLongbits)return longbits;hasRequiredLongbits=1,longbits=et;var _e=requireMinimal();function et(it,at){this.lo=it>>>0,this.hi=at>>>0}var tt=et.zero=new et(0,0);tt.toNumber=function(){return 0},tt.zzEncode=tt.zzDecode=function(){return this},tt.length=function(){return 1};var rt=et.zeroHash="\0\0\0\0\0\0\0\0";et.fromNumber=function(at){if(at===0)return tt;var st=at<0;st&&(at=-at);var lt=at>>>0,dt=(at-lt)/4294967296>>>0;return st&&(dt=~dt>>>0,lt=~lt>>>0,++lt>4294967295&&(lt=0,++dt>4294967295&&(dt=0))),new et(lt,dt)},et.from=function(at){if(typeof at=="number")return et.fromNumber(at);if(_e.isString(at))if(_e.Long)at=_e.Long.fromString(at);else return et.fromNumber(parseInt(at,10));return at.low||at.high?new et(at.low>>>0,at.high>>>0):tt},et.prototype.toNumber=function(at){if(!at&&this.hi>>>31){var st=~this.lo+1>>>0,lt=~this.hi>>>0;return st||(lt=lt+1>>>0),-(st+lt*4294967296)}return this.lo+this.hi*4294967296},et.prototype.toLong=function(at){return _e.Long?new _e.Long(this.lo|0,this.hi|0,!!at):{low:this.lo|0,high:this.hi|0,unsigned:!!at}};var nt=String.prototype.charCodeAt;return et.fromHash=function(at){return at===rt?tt:new et((nt.call(at,0)|nt.call(at,1)<<8|nt.call(at,2)<<16|nt.call(at,3)<<24)>>>0,(nt.call(at,4)|nt.call(at,5)<<8|nt.call(at,6)<<16|nt.call(at,7)<<24)>>>0)},et.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},et.prototype.zzEncode=function(){var at=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^at)>>>0,this.lo=(this.lo<<1^at)>>>0,this},et.prototype.zzDecode=function(){var at=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^at)>>>0,this.hi=(this.hi>>>1^at)>>>0,this},et.prototype.length=function(){var at=this.lo,st=(this.lo>>>28|this.hi<<4)>>>0,lt=this.hi>>>24;return lt===0?st===0?at<16384?at<128?1:2:at<2097152?3:4:st<16384?st<128?5:6:st<2097152?7:8:lt<128?9:10},longbits}var hasRequiredMinimal;function requireMinimal(){return hasRequiredMinimal||(hasRequiredMinimal=1,function(_e){var et=_e;et.asPromise=aspromise,et.base64=base64$2,et.EventEmitter=eventemitter,et.float=float,et.inquire=inquire_1,et.utf8=utf8$2,et.pool=pool_1,et.LongBits=requireLongbits(),et.isNode=!!(typeof commonjsGlobal<"u"&&commonjsGlobal&&commonjsGlobal.process&&commonjsGlobal.process.versions&&commonjsGlobal.process.versions.node),et.global=et.isNode&&commonjsGlobal||typeof window<"u"&&window||typeof self<"u"&&self||commonjsGlobal,et.emptyArray=Object.freeze?Object.freeze([]):[],et.emptyObject=Object.freeze?Object.freeze({}):{},et.isInteger=Number.isInteger||function(it){return typeof it=="number"&&isFinite(it)&&Math.floor(it)===it},et.isString=function(it){return typeof it=="string"||it instanceof String},et.isObject=function(it){return it&&typeof it=="object"},et.isset=et.isSet=function(it,at){var st=it[at];return st!=null&&it.hasOwnProperty(at)?typeof st!="object"||(Array.isArray(st)?st.length:Object.keys(st).length)>0:!1},et.Buffer=function(){try{var nt=et.inquire("buffer").Buffer;return nt.prototype.utf8Write?nt:null}catch{return null}}(),et._Buffer_from=null,et._Buffer_allocUnsafe=null,et.newBuffer=function(it){return typeof it=="number"?et.Buffer?et._Buffer_allocUnsafe(it):new et.Array(it):et.Buffer?et._Buffer_from(it):typeof Uint8Array>"u"?it:new Uint8Array(it)},et.Array=typeof Uint8Array<"u"?Uint8Array:Array,et.Long=et.global.dcodeIO&&et.global.dcodeIO.Long||et.global.Long||et.inquire("long"),et.key2Re=/^true|false|0|1$/,et.key32Re=/^-?(?:0|[1-9][0-9]*)$/,et.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,et.longToHash=function(it){return it?et.LongBits.from(it).toHash():et.LongBits.zeroHash},et.longFromHash=function(it,at){var st=et.LongBits.fromHash(it);return et.Long?et.Long.fromBits(st.lo,st.hi,at):st.toNumber(!!at)};function tt(nt,it,at){for(var st=Object.keys(it),lt=0;lt-1;--dt)if(at[lt[dt]]===1&&this[lt[dt]]!==void 0&&this[lt[dt]]!==null)return lt[dt]}},et.oneOfSetter=function(it){return function(at){for(var st=0;st127;)et[tt++]=_e&127|128,_e>>>=7;et[tt]=_e}function VarintOp(_e,et){this.len=_e,this.next=void 0,this.val=et}VarintOp.prototype=Object.create(Op.prototype);VarintOp.prototype.fn=writeVarint32;Writer$1.prototype.uint32=function _e(et){return this.len+=(this.tail=this.tail.next=new VarintOp((et=et>>>0)<128?1:et<16384?2:et<2097152?3:et<268435456?4:5,et)).len,this};Writer$1.prototype.int32=function _e(et){return et<0?this._push(writeVarint64,10,LongBits$1.fromNumber(et)):this.uint32(et)};Writer$1.prototype.sint32=function _e(et){return this.uint32((et<<1^et>>31)>>>0)};function writeVarint64(_e,et,tt){for(;_e.hi;)et[tt++]=_e.lo&127|128,_e.lo=(_e.lo>>>7|_e.hi<<25)>>>0,_e.hi>>>=7;for(;_e.lo>127;)et[tt++]=_e.lo&127|128,_e.lo=_e.lo>>>7;et[tt++]=_e.lo}Writer$1.prototype.uint64=function _e(et){var tt=LongBits$1.from(et);return this._push(writeVarint64,tt.length(),tt)};Writer$1.prototype.int64=Writer$1.prototype.uint64;Writer$1.prototype.sint64=function _e(et){var tt=LongBits$1.from(et).zzEncode();return this._push(writeVarint64,tt.length(),tt)};Writer$1.prototype.bool=function _e(et){return this._push(writeByte,1,et?1:0)};function writeFixed32(_e,et,tt){et[tt]=_e&255,et[tt+1]=_e>>>8&255,et[tt+2]=_e>>>16&255,et[tt+3]=_e>>>24}Writer$1.prototype.fixed32=function _e(et){return this._push(writeFixed32,4,et>>>0)};Writer$1.prototype.sfixed32=Writer$1.prototype.fixed32;Writer$1.prototype.fixed64=function _e(et){var tt=LongBits$1.from(et);return this._push(writeFixed32,4,tt.lo)._push(writeFixed32,4,tt.hi)};Writer$1.prototype.sfixed64=Writer$1.prototype.fixed64;Writer$1.prototype.float=function _e(et){return this._push(util$4.float.writeFloatLE,4,et)};Writer$1.prototype.double=function _e(et){return this._push(util$4.float.writeDoubleLE,8,et)};var writeBytes=util$4.Array.prototype.set?function _e(et,tt,rt){tt.set(et,rt)}:function _e(et,tt,rt){for(var nt=0;nt>>0;if(!tt)return this._push(writeByte,1,0);if(util$4.isString(et)){var rt=Writer$1.alloc(tt=base64$1.length(et));base64$1.decode(et,rt,0),et=rt}return this.uint32(tt)._push(writeBytes,tt,et)};Writer$1.prototype.string=function _e(et){var tt=utf8$1.length(et);return tt?this.uint32(tt)._push(utf8$1.write,tt,et):this._push(writeByte,1,0)};Writer$1.prototype.fork=function _e(){return this.states=new State(this),this.head=this.tail=new Op(noop,0,0),this.len=0,this};Writer$1.prototype.reset=function _e(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Op(noop,0,0),this.len=0),this};Writer$1.prototype.ldelim=function _e(){var et=this.head,tt=this.tail,rt=this.len;return this.reset().uint32(rt),rt&&(this.tail.next=et.next,this.tail=tt,this.len+=rt),this};Writer$1.prototype.finish=function _e(){for(var et=this.head.next,tt=this.constructor.alloc(this.len),rt=0;et;)et.fn(et.val,tt,rt),rt+=et.len,et=et.next;return tt};Writer$1._configure=function(_e){BufferWriter$1=_e,Writer$1.create=create$1(),BufferWriter$1._configure()};var writer_buffer=BufferWriter,Writer=writer;(BufferWriter.prototype=Object.create(Writer.prototype)).constructor=BufferWriter;var util$3=requireMinimal();function BufferWriter(){Writer.call(this)}BufferWriter._configure=function(){BufferWriter.alloc=util$3._Buffer_allocUnsafe,BufferWriter.writeBytesBuffer=util$3.Buffer&&util$3.Buffer.prototype instanceof Uint8Array&&util$3.Buffer.prototype.set.name==="set"?function(et,tt,rt){tt.set(et,rt)}:function(et,tt,rt){if(et.copy)et.copy(tt,rt,0,et.length);else for(var nt=0;nt>>0;return this.uint32(tt),tt&&this._push(BufferWriter.writeBytesBuffer,tt,et),this};function writeStringBuffer(_e,et,tt){_e.length<40?util$3.utf8.write(_e,et,tt):et.utf8Write?et.utf8Write(_e,tt):et.write(_e,tt)}BufferWriter.prototype.string=function _e(et){var tt=util$3.Buffer.byteLength(et);return this.uint32(tt),tt&&this._push(writeStringBuffer,tt,et),this};BufferWriter._configure();var reader=Reader$1,util$2=requireMinimal(),BufferReader$1,LongBits=util$2.LongBits,utf8=util$2.utf8;function indexOutOfRange(_e,et){return RangeError("index out of range: "+_e.pos+" + "+(et||1)+" > "+_e.len)}function Reader$1(_e){this.buf=_e,this.pos=0,this.len=_e.length}var create_array=typeof Uint8Array<"u"?function _e(et){if(et instanceof Uint8Array||Array.isArray(et))return new Reader$1(et);throw Error("illegal buffer")}:function _e(et){if(Array.isArray(et))return new Reader$1(et);throw Error("illegal buffer")},create=function _e(){return util$2.Buffer?function(tt){return(Reader$1.create=function(nt){return util$2.Buffer.isBuffer(nt)?new BufferReader$1(nt):create_array(nt)})(tt)}:create_array};Reader$1.create=create();Reader$1.prototype._slice=util$2.Array.prototype.subarray||util$2.Array.prototype.slice;Reader$1.prototype.uint32=function _e(){var et=4294967295;return function(){if(et=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(et=(et|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(et=(et|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(et=(et|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(et=(et|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return et;if((this.pos+=5)>this.len)throw this.pos=this.len,indexOutOfRange(this,10);return et}}();Reader$1.prototype.int32=function _e(){return this.uint32()|0};Reader$1.prototype.sint32=function _e(){var et=this.uint32();return et>>>1^-(et&1)|0};function readLongVarint(){var _e=new LongBits(0,0),et=0;if(this.len-this.pos>4){for(;et<4;++et)if(_e.lo=(_e.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return _e;if(_e.lo=(_e.lo|(this.buf[this.pos]&127)<<28)>>>0,_e.hi=(_e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return _e;et=0}else{for(;et<3;++et){if(this.pos>=this.len)throw indexOutOfRange(this);if(_e.lo=(_e.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return _e}return _e.lo=(_e.lo|(this.buf[this.pos++]&127)<>>0,_e}if(this.len-this.pos>4){for(;et<5;++et)if(_e.hi=(_e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return _e}else for(;et<5;++et){if(this.pos>=this.len)throw indexOutOfRange(this);if(_e.hi=(_e.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return _e}throw Error("invalid varint encoding")}Reader$1.prototype.bool=function _e(){return this.uint32()!==0};function readFixed32_end(_e,et){return(_e[et-4]|_e[et-3]<<8|_e[et-2]<<16|_e[et-1]<<24)>>>0}Reader$1.prototype.fixed32=function _e(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)};Reader$1.prototype.sfixed32=function _e(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);return readFixed32_end(this.buf,this.pos+=4)|0};function readFixed64(){if(this.pos+8>this.len)throw indexOutOfRange(this,8);return new LongBits(readFixed32_end(this.buf,this.pos+=4),readFixed32_end(this.buf,this.pos+=4))}Reader$1.prototype.float=function _e(){if(this.pos+4>this.len)throw indexOutOfRange(this,4);var et=util$2.float.readFloatLE(this.buf,this.pos);return this.pos+=4,et};Reader$1.prototype.double=function _e(){if(this.pos+8>this.len)throw indexOutOfRange(this,4);var et=util$2.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,et};Reader$1.prototype.bytes=function _e(){var et=this.uint32(),tt=this.pos,rt=this.pos+et;if(rt>this.len)throw indexOutOfRange(this,et);if(this.pos+=et,Array.isArray(this.buf))return this.buf.slice(tt,rt);if(tt===rt){var nt=util$2.Buffer;return nt?nt.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,tt,rt)};Reader$1.prototype.string=function _e(){var et=this.bytes();return utf8.read(et,0,et.length)};Reader$1.prototype.skip=function _e(et){if(typeof et=="number"){if(this.pos+et>this.len)throw indexOutOfRange(this,et);this.pos+=et}else do if(this.pos>=this.len)throw indexOutOfRange(this);while(this.buf[this.pos++]&128);return this};Reader$1.prototype.skipType=function(_e){switch(_e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(_e=this.uint32()&7)!==4;)this.skipType(_e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+_e+" at offset "+this.pos)}return this};Reader$1._configure=function(_e){BufferReader$1=_e,Reader$1.create=create(),BufferReader$1._configure();var et=util$2.Long?"toLong":"toNumber";util$2.merge(Reader$1.prototype,{int64:function(){return readLongVarint.call(this)[et](!1)},uint64:function(){return readLongVarint.call(this)[et](!0)},sint64:function(){return readLongVarint.call(this).zzDecode()[et](!1)},fixed64:function(){return readFixed64.call(this)[et](!0)},sfixed64:function(){return readFixed64.call(this)[et](!1)}})};var reader_buffer=BufferReader,Reader=reader;(BufferReader.prototype=Object.create(Reader.prototype)).constructor=BufferReader;var util$1=requireMinimal();function BufferReader(_e){Reader.call(this,_e)}BufferReader._configure=function(){util$1.Buffer&&(BufferReader.prototype._slice=util$1.Buffer.prototype.slice)};BufferReader.prototype.string=function _e(){var et=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+et,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+et,this.len))};BufferReader._configure();var rpc={},service=Service,util=requireMinimal();(Service.prototype=Object.create(util.EventEmitter.prototype)).constructor=Service;function Service(_e,et,tt){if(typeof _e!="function")throw TypeError("rpcImpl must be a function");util.EventEmitter.call(this),this.rpcImpl=_e,this.requestDelimited=!!et,this.responseDelimited=!!tt}Service.prototype.rpcCall=function _e(et,tt,rt,nt,it){if(!nt)throw TypeError("request must be specified");var at=this;if(!it)return util.asPromise(_e,at,et,tt,rt,nt);if(!at.rpcImpl){setTimeout(function(){it(Error("already ended"))},0);return}try{return at.rpcImpl(et,tt[at.requestDelimited?"encodeDelimited":"encode"](nt).finish(),function(lt,dt){if(lt)return at.emit("error",lt,et),it(lt);if(dt===null){at.end(!0);return}if(!(dt instanceof rt))try{dt=rt[at.responseDelimited?"decodeDelimited":"decode"](dt)}catch(ht){return at.emit("error",ht,et),it(ht)}return at.emit("data",dt,et),it(null,dt)})}catch(st){at.emit("error",st,et),setTimeout(function(){it(st)},0);return}};Service.prototype.end=function _e(et){return this.rpcImpl&&(et||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this};(function(_e){var et=_e;et.Service=service})(rpc);var roots={};(function(_e){var et=_e;et.build="minimal",et.Writer=writer,et.BufferWriter=writer_buffer,et.Reader=reader,et.BufferReader=reader_buffer,et.util=requireMinimal(),et.rpc=rpc,et.roots=roots,et.configure=tt;function tt(){et.util._configure(),et.Writer._configure(et.BufferWriter),et.Reader._configure(et.BufferReader)}tt()})(indexMinimal);var minimal=indexMinimal;const _m0=getDefaultExportFromCjs(minimal);var lib$2={},lib$1={},Metadata={};Object.defineProperty(Metadata,"__esModule",{value:!0});Metadata.Metadata=void 0;Metadata.Metadata=function _e(et){const tt=new Map,rt={set(nt,it){if(nt=normalizeKey(nt),Array.isArray(it))if(it.length===0)tt.delete(nt);else{for(const at of it)validate(nt,at);tt.set(nt,nt.endsWith("-bin")?it:[it.join(", ")])}else validate(nt,it),tt.set(nt,[it]);return rt},append(nt,it){nt=normalizeKey(nt),validate(nt,it);let at=tt.get(nt);return at==null&&(at=[],tt.set(nt,at)),at.push(it),nt.endsWith("-bin")||tt.set(nt,[at.join(", ")]),rt},delete(nt){nt=normalizeKey(nt),tt.delete(nt)},get(nt){var it;return nt=normalizeKey(nt),(it=tt.get(nt))===null||it===void 0?void 0:it[0]},getAll(nt){var it;return nt=normalizeKey(nt),(it=tt.get(nt))!==null&&it!==void 0?it:[]},has(nt){return nt=normalizeKey(nt),tt.has(nt)},[Symbol.iterator](){return tt[Symbol.iterator]()}};if(et!=null){const nt=isIterable(et)?et:Object.entries(et);for(const[it,at]of nt)rt.set(it,at)}return rt};function normalizeKey(_e){return _e.toLowerCase()}function validate(_e,et){if(!/^[0-9a-z_.-]+$/.test(_e))throw new Error(`Metadata key '${_e}' contains illegal characters`);if(_e.endsWith("-bin")){if(!(et instanceof Uint8Array))throw new Error(`Metadata key '${_e}' ends with '-bin', thus it must have binary value`)}else{if(typeof et!="string")throw new Error(`Metadata key '${_e}' doesn't end with '-bin', thus it must have string value`);if(!/^[ -~]*$/.test(et))throw new Error(`Metadata value '${et}' of key '${_e}' contains illegal characters`)}}function isIterable(_e){return Symbol.iterator in _e}var Status={};(function(_e){Object.defineProperty(_e,"__esModule",{value:!0}),_e.Status=void 0,function(et){et[et.OK=0]="OK",et[et.CANCELLED=1]="CANCELLED",et[et.UNKNOWN=2]="UNKNOWN",et[et.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",et[et.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",et[et.NOT_FOUND=5]="NOT_FOUND",et[et.ALREADY_EXISTS=6]="ALREADY_EXISTS",et[et.PERMISSION_DENIED=7]="PERMISSION_DENIED",et[et.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",et[et.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",et[et.ABORTED=10]="ABORTED",et[et.OUT_OF_RANGE=11]="OUT_OF_RANGE",et[et.UNIMPLEMENTED=12]="UNIMPLEMENTED",et[et.INTERNAL=13]="INTERNAL",et[et.UNAVAILABLE=14]="UNAVAILABLE",et[et.DATA_LOSS=15]="DATA_LOSS",et[et.UNAUTHENTICATED=16]="UNAUTHENTICATED"}(_e.Status||(_e.Status={}))})(Status);var MethodDescriptor={};Object.defineProperty(MethodDescriptor,"__esModule",{value:!0});var CallOptions={};Object.defineProperty(CallOptions,"__esModule",{value:!0});var ClientMiddleware={};Object.defineProperty(ClientMiddleware,"__esModule",{value:!0});var composeClientMiddleware$1={};Object.defineProperty(composeClientMiddleware$1,"__esModule",{value:!0});composeClientMiddleware$1.composeClientMiddleware=void 0;function composeClientMiddleware(_e,et){return(tt,rt)=>et(Object.assign(Object.assign({},tt),{next:(nt,it)=>_e(Object.assign(Object.assign({},tt),{request:nt}),it)}),rt)}composeClientMiddleware$1.composeClientMiddleware=composeClientMiddleware;var ClientError$1={},cjs={},helpers={};helpers.__esModule=void 0;helpers.__esModule=!0;var objectSetPrototypeOfIsDefined=typeof Object.setPrototypeOf=="function",objectGetPrototypeOfIsDefined=typeof Object.getPrototypeOf=="function",objectDefinePropertyIsDefined=typeof Object.defineProperty=="function",objectCreateIsDefined=typeof Object.create=="function",objectHasOwnPropertyIsDefined=typeof Object.prototype.hasOwnProperty=="function",setPrototypeOf=function _e(et,tt){objectSetPrototypeOfIsDefined?Object.setPrototypeOf(et,tt):et.__proto__=tt};helpers.setPrototypeOf=setPrototypeOf;var getPrototypeOf=function _e(et){return objectGetPrototypeOfIsDefined?Object.getPrototypeOf(et):et.__proto__||et.prototype};helpers.getPrototypeOf=getPrototypeOf;var ie8ObjectDefinePropertyBug=!1,defineProperty=function _e(et,tt,rt){if(objectDefinePropertyIsDefined&&!ie8ObjectDefinePropertyBug)try{Object.defineProperty(et,tt,rt)}catch{ie8ObjectDefinePropertyBug=!0,_e(et,tt,rt)}else et[tt]=rt.value};helpers.defineProperty=defineProperty;var hasOwnProperty=function _e(et,tt){return objectHasOwnPropertyIsDefined?et.hasOwnProperty(et,tt):et[tt]===void 0};helpers.hasOwnProperty=hasOwnProperty;var objectCreate=function _e(et,tt){if(objectCreateIsDefined)return Object.create(et,tt);var rt=function(){};rt.prototype=et;var nt=new rt;if(typeof tt>"u")return nt;if(typeof tt=="null")throw new Error("PropertyDescriptors must not be null.");if(typeof tt=="object")for(var it in tt)hasOwnProperty(tt,it)&&(nt[it]=tt[it].value);return nt};helpers.objectCreate=objectCreate;(function(_e){_e.__esModule=void 0,_e.__esModule=!0;var et=helpers,tt=et.setPrototypeOf,rt=et.getPrototypeOf,nt=et.defineProperty,it=et.objectCreate,at=new Error().toString()==="[object Error]",st="";function lt(dt){var ht=this.constructor,pt=ht.name||function(){var yt=ht.toString().match(/^function\s*([^\s(]+)/);return yt===null?st||"Error":yt[1]}(),mt=pt==="Error",gt=mt?st:pt,vt=Error.apply(this,arguments);if(tt(vt,rt(this)),!(vt instanceof ht)||!(vt instanceof lt)){var vt=this;Error.apply(this,arguments),nt(vt,"message",{configurable:!0,enumerable:!1,value:dt,writable:!0})}if(nt(vt,"name",{configurable:!0,enumerable:!1,value:gt,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(vt,mt?lt:ht),vt.stack===void 0){var bt=new Error(dt);bt.name=vt.name,vt.stack=bt.stack}return at&&nt(vt,"toString",{configurable:!0,enumerable:!1,value:function(){return(this.name||"Error")+(typeof this.message>"u"?"":": "+this.message)},writable:!0}),vt}st=lt.name||"ExtendableError",lt.prototype=it(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),_e.ExtendableError=lt,_e.default=_e.ExtendableError})(cjs);Object.defineProperty(ClientError$1,"__esModule",{value:!0});ClientError$1.ClientError=void 0;const ts_error_1$1=cjs,Status_1$1=Status;class ClientError extends ts_error_1$1.ExtendableError{constructor(et,tt,rt){super(`${et} ${Status_1$1.Status[tt]}: ${rt}`),this.path=et,this.code=tt,this.details=rt,this.name="ClientError",Object.defineProperty(this,"@@nice-grpc",{value:!0}),Object.defineProperty(this,"@@nice-grpc:ClientError",{value:!0})}static[Symbol.hasInstance](et){return this!==ClientError?this.prototype.isPrototypeOf(et):typeof et=="object"&&et!==null&&(et.constructor===ClientError||et["@@nice-grpc:ClientError"]===!0||et.name==="ClientError"&&et["@@nice-grpc"]===!0)}}ClientError$1.ClientError=ClientError;var CallContext={};Object.defineProperty(CallContext,"__esModule",{value:!0});var ServerMiddleware={};Object.defineProperty(ServerMiddleware,"__esModule",{value:!0});var composeServerMiddleware$1={};Object.defineProperty(composeServerMiddleware$1,"__esModule",{value:!0});composeServerMiddleware$1.composeServerMiddleware=void 0;function composeServerMiddleware(_e,et){return(tt,rt)=>_e(Object.assign(Object.assign({},tt),{next:(nt,it)=>et(Object.assign(Object.assign({},tt),{request:nt}),it)}),rt)}composeServerMiddleware$1.composeServerMiddleware=composeServerMiddleware;var ServerError$1={};Object.defineProperty(ServerError$1,"__esModule",{value:!0});ServerError$1.ServerError=void 0;const ts_error_1=cjs,Status_1=Status;class ServerError extends ts_error_1.ExtendableError{constructor(et,tt){super(`${Status_1.Status[et]}: ${tt}`),this.code=et,this.details=tt,this.name="ServerError",Object.defineProperty(this,"@@nice-grpc",{value:!0}),Object.defineProperty(this,"@@nice-grpc:ServerError",{value:!0})}static[Symbol.hasInstance](et){return this!==ServerError?this.prototype.isPrototypeOf(et):typeof et=="object"&&et!==null&&(et.constructor===ServerError||et["@@nice-grpc:ServerError"]===!0||et.name==="ServerError"&&et["@@nice-grpc"]===!0)}}ServerError$1.ServerError=ServerError;(function(_e){var et=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(rt,nt,it,at){at===void 0&&(at=it);var st=Object.getOwnPropertyDescriptor(nt,it);(!st||("get"in st?!nt.__esModule:st.writable||st.configurable))&&(st={enumerable:!0,get:function(){return nt[it]}}),Object.defineProperty(rt,at,st)}:function(rt,nt,it,at){at===void 0&&(at=it),rt[at]=nt[it]}),tt=commonjsGlobal&&commonjsGlobal.__exportStar||function(rt,nt){for(var it in rt)it!=="default"&&!Object.prototype.hasOwnProperty.call(nt,it)&&et(nt,rt,it)};Object.defineProperty(_e,"__esModule",{value:!0}),tt(Metadata,_e),tt(Status,_e),tt(MethodDescriptor,_e),tt(CallOptions,_e),tt(ClientMiddleware,_e),tt(composeClientMiddleware$1,_e),tt(ClientError$1,_e),tt(CallContext,_e),tt(ServerMiddleware,_e),tt(composeServerMiddleware$1,_e),tt(ServerError$1,_e)})(lib$1);var serviceDefinitions={},grpcWeb={};Object.defineProperty(grpcWeb,"__esModule",{value:!0});grpcWeb.isGrpcWebServiceDefinition=grpcWeb.fromGrpcWebServiceDefinition=void 0;function fromGrpcWebServiceDefinition(_e){const et={};for(const[tt,rt]of Object.entries(_e)){if(tt==="serviceName")continue;const nt=rt;et[uncapitalize(tt)]={path:`/${_e.serviceName}/${tt}`,requestStream:nt.requestStream,responseStream:nt.responseStream,requestDeserialize:nt.requestType.deserializeBinary,requestSerialize:it=>it.serializeBinary(),responseDeserialize:nt.responseType.deserializeBinary,responseSerialize:it=>it.serializeBinary(),options:{}}}return et}grpcWeb.fromGrpcWebServiceDefinition=fromGrpcWebServiceDefinition;function isGrpcWebServiceDefinition(_e){return"prototype"in _e}grpcWeb.isGrpcWebServiceDefinition=isGrpcWebServiceDefinition;function uncapitalize(_e){return _e.length===0?_e:_e[0].toLowerCase()+_e.slice(1)}var tsProto={};Object.defineProperty(tsProto,"__esModule",{value:!0});tsProto.isTsProtoServiceDefinition=tsProto.fromTsProtoServiceDefinition=void 0;function fromTsProtoServiceDefinition(_e){const et={};for(const[tt,rt]of Object.entries(_e.methods)){const nt=rt.requestType.encode,it=rt.requestType.fromPartial,at=rt.responseType.encode,st=rt.responseType.fromPartial;et[tt]={path:`/${_e.fullName}/${rt.name}`,requestStream:rt.requestStream,responseStream:rt.responseStream,requestDeserialize:rt.requestType.decode,requestSerialize:it!=null?lt=>nt(it(lt)).finish():lt=>nt(lt).finish(),responseDeserialize:rt.responseType.decode,responseSerialize:st!=null?lt=>at(st(lt)).finish():lt=>at(lt).finish(),options:rt.options}}return et}tsProto.fromTsProtoServiceDefinition=fromTsProtoServiceDefinition;function isTsProtoServiceDefinition(_e){return"name"in _e&&"fullName"in _e&&"methods"in _e}tsProto.isTsProtoServiceDefinition=isTsProtoServiceDefinition;Object.defineProperty(serviceDefinitions,"__esModule",{value:!0});serviceDefinitions.toGrpcWebMethodDefinition=serviceDefinitions.normalizeServiceDefinition=void 0;const grpc_web_1$5=grpcWeb,ts_proto_1=tsProto;function normalizeServiceDefinition(_e){return(0,grpc_web_1$5.isGrpcWebServiceDefinition)(_e)?(0,grpc_web_1$5.fromGrpcWebServiceDefinition)(_e):(0,ts_proto_1.isTsProtoServiceDefinition)(_e)?(0,ts_proto_1.fromTsProtoServiceDefinition)(_e):_e}serviceDefinitions.normalizeServiceDefinition=normalizeServiceDefinition;function toGrpcWebMethodDefinition(_e){const[,et,tt]=_e.path.split("/");return{service:{serviceName:et},methodName:tt,requestStream:_e.requestStream,responseStream:_e.responseStream,requestType:class{constructor(){throw new Error("Unexpected instantiation")}static deserializeBinary(rt){return _e.requestDeserialize(rt)}},responseType:class{constructor(){throw new Error("Unexpected instantiation")}static deserializeBinary(rt){return _e.responseDeserialize(rt)}}}}serviceDefinitions.toGrpcWebMethodDefinition=toGrpcWebMethodDefinition;var channel={};Object.defineProperty(channel,"__esModule",{value:!0});channel.createChannel=void 0;function createChannel(_e,et){return{address:_e,transport:et}}channel.createChannel=createChannel;var ClientFactory={},createBidiStreamingMethod$1={},grpcWebClient_umd={exports:{}};(function(_e,et){(function(tt,rt){_e.exports=rt()})(commonjsGlobal,function(){return tt={418:function(nt,it){(function(at,st){for(var lt in st)at[lt]=st[lt]})(it,function(at){var st={};function lt(dt){if(st[dt])return st[dt].exports;var ht=st[dt]={i:dt,l:!1,exports:{}};return at[dt].call(ht.exports,ht,ht.exports,lt),ht.l=!0,ht.exports}return lt.m=at,lt.c=st,lt.i=function(dt){return dt},lt.d=function(dt,ht,pt){lt.o(dt,ht)||Object.defineProperty(dt,ht,{configurable:!1,enumerable:!0,get:pt})},lt.n=function(dt){var ht=dt&&dt.__esModule?function(){return dt.default}:function(){return dt};return lt.d(ht,"a",ht),ht},lt.o=function(dt,ht){return Object.prototype.hasOwnProperty.call(dt,ht)},lt.p="",lt(lt.s=1)}([function(at,st,lt){Object.defineProperty(st,"__esModule",{value:!0});var dt=lt(3),ht=function(){function pt(mt,gt){mt===void 0&&(mt={}),gt===void 0&&(gt={splitValues:!1});var vt,bt=this;this.headersMap={},mt&&(typeof Headers<"u"&&mt instanceof Headers?dt.getHeaderKeys(mt).forEach(function(yt){dt.getHeaderValues(mt,yt).forEach(function(xt){gt.splitValues?bt.append(yt,dt.splitHeaderValue(xt)):bt.append(yt,xt)})}):typeof(vt=mt)=="object"&&typeof vt.headersMap=="object"&&typeof vt.forEach=="function"?mt.forEach(function(yt,xt){bt.append(yt,xt)}):typeof Map<"u"&&mt instanceof Map?mt.forEach(function(yt,xt){bt.append(xt,yt)}):typeof mt=="string"?this.appendFromString(mt):typeof mt=="object"&&Object.getOwnPropertyNames(mt).forEach(function(yt){var xt=mt[yt];Array.isArray(xt)?xt.forEach(function(wt){bt.append(yt,wt)}):bt.append(yt,xt)}))}return pt.prototype.appendFromString=function(mt){for(var gt=mt.split(`\r +`),vt=0;vt0){var xt=bt.substring(0,yt).trim(),wt=bt.substring(yt+1).trim();this.append(xt,wt)}}},pt.prototype.delete=function(mt,gt){var vt=dt.normalizeName(mt);if(gt===void 0)delete this.headersMap[vt];else{var bt=this.headersMap[vt];if(bt){var yt=bt.indexOf(gt);yt>=0&&bt.splice(yt,1),bt.length===0&&delete this.headersMap[vt]}}},pt.prototype.append=function(mt,gt){var vt=this,bt=dt.normalizeName(mt);Array.isArray(this.headersMap[bt])||(this.headersMap[bt]=[]),Array.isArray(gt)?gt.forEach(function(yt){vt.headersMap[bt].push(dt.normalizeValue(yt))}):this.headersMap[bt].push(dt.normalizeValue(gt))},pt.prototype.set=function(mt,gt){var vt=dt.normalizeName(mt);if(Array.isArray(gt)){var bt=[];gt.forEach(function(yt){bt.push(dt.normalizeValue(yt))}),this.headersMap[vt]=bt}else this.headersMap[vt]=[dt.normalizeValue(gt)]},pt.prototype.has=function(mt,gt){var vt=this.headersMap[dt.normalizeName(mt)];if(!Array.isArray(vt))return!1;if(gt!==void 0){var bt=dt.normalizeValue(gt);return vt.indexOf(bt)>=0}return!0},pt.prototype.get=function(mt){var gt=this.headersMap[dt.normalizeName(mt)];return gt!==void 0?gt.concat():[]},pt.prototype.forEach=function(mt){var gt=this;Object.getOwnPropertyNames(this.headersMap).forEach(function(vt){mt(vt,gt.headersMap[vt])},this)},pt.prototype.toHeaders=function(){if(typeof Headers<"u"){var mt=new Headers;return this.forEach(function(gt,vt){vt.forEach(function(bt){mt.append(gt,bt)})}),mt}throw new Error("Headers class is not defined")},pt}();st.BrowserHeaders=ht},function(at,st,lt){Object.defineProperty(st,"__esModule",{value:!0});var dt=lt(0);st.BrowserHeaders=dt.BrowserHeaders},function(at,st,lt){Object.defineProperty(st,"__esModule",{value:!0}),st.iterateHeaders=function(dt,ht){for(var pt=dt[Symbol.iterator](),mt=pt.next();!mt.done;)ht(mt.value[0]),mt=pt.next()},st.iterateHeadersKeys=function(dt,ht){for(var pt=dt.keys(),mt=pt.next();!mt.done;)ht(mt.value),mt=pt.next()}},function(at,st,lt){Object.defineProperty(st,"__esModule",{value:!0});var dt=lt(2);st.normalizeName=function(ht){if(typeof ht!="string"&&(ht=String(ht)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(ht))throw new TypeError("Invalid character in header field name");return ht.toLowerCase()},st.normalizeValue=function(ht){return typeof ht!="string"&&(ht=String(ht)),ht},st.getHeaderValues=function(ht,pt){var mt=ht;if(mt instanceof Headers&&mt.getAll)return mt.getAll(pt);var gt=mt.get(pt);return gt&&typeof gt=="string"?[gt]:gt},st.getHeaderKeys=function(ht){var pt=ht,mt={},gt=[];return pt.keys?dt.iterateHeadersKeys(pt,function(vt){mt[vt]||(mt[vt]=!0,gt.push(vt))}):pt.forEach?pt.forEach(function(vt,bt){mt[bt]||(mt[bt]=!0,gt.push(bt))}):dt.iterateHeaders(pt,function(vt){var bt=vt[0];mt[bt]||(mt[bt]=!0,gt.push(bt))}),gt},st.splitHeaderValue=function(ht){var pt=[];return ht.split(", ").forEach(function(mt){mt.split(",").forEach(function(gt){pt.push(gt)})}),pt}}]))},617:function(nt,it,at){Object.defineProperty(it,"__esModule",{value:!0}),it.ChunkParser=it.ChunkType=it.encodeASCII=it.decodeASCII=void 0;var st,lt=at(65);function dt(yt){return(xt=yt)===9||xt===10||xt===13||yt>=32&&yt<=126;var xt}function ht(yt){for(var xt=0;xt!==yt.length;++xt)if(!dt(yt[xt]))throw new Error("Metadata is not valid (printable) ASCII");return String.fromCharCode.apply(String,Array.prototype.slice.call(yt))}function pt(yt){return(128&yt.getUint8(0))==128}function mt(yt){return yt.getUint32(1,!1)}function gt(yt,xt,wt){return yt.byteLength-xt>=wt}function vt(yt,xt,wt){if(yt.slice)return yt.slice(xt,wt);var _t=yt.length;wt!==void 0&&(_t=wt);for(var At=new Uint8Array(_t-xt),Tt=0,kt=xt;kt<_t;kt++)At[Tt++]=yt[kt];return At}it.decodeASCII=ht,it.encodeASCII=function(yt){for(var xt=new Uint8Array(yt.length),wt=0;wt!==yt.length;++wt){var _t=yt.charCodeAt(wt);if(!dt(_t))throw new Error("Metadata contains invalid ASCII");xt[wt]=_t}return xt},function(yt){yt[yt.MESSAGE=1]="MESSAGE",yt[yt.TRAILERS=2]="TRAILERS"}(st=it.ChunkType||(it.ChunkType={}));var bt=function(){function yt(){this.buffer=null,this.position=0}return yt.prototype.parse=function(xt,wt){if(xt.length===0&&wt)return[];var _t,At=[];if(this.buffer==null)this.buffer=xt,this.position=0;else if(this.position===this.buffer.byteLength)this.buffer=xt,this.position=0;else{var Tt=this.buffer.byteLength-this.position,kt=new Uint8Array(Tt+xt.byteLength),jt=vt(this.buffer,this.position);kt.set(jt,0);var Lt=new Uint8Array(xt);kt.set(Lt,Tt),this.buffer=kt,this.position=0}for(;;){if(!gt(this.buffer,this.position,5))return At;var qt=vt(this.buffer,this.position,this.position+5),Dt=new DataView(qt.buffer,qt.byteOffset,qt.byteLength),zt=mt(Dt);if(!gt(this.buffer,this.position,5+zt))return At;var Zt=vt(this.buffer,this.position+5,this.position+5+zt);if(this.position+=5+zt,pt(Dt))return At.push({chunkType:st.TRAILERS,trailers:(_t=Zt,new lt.Metadata(ht(_t)))}),At;At.push({chunkType:st.MESSAGE,data:Zt})}},yt}();it.ChunkParser=bt},8:function(nt,it){var at;Object.defineProperty(it,"__esModule",{value:!0}),it.httpStatusToCode=it.Code=void 0,function(st){st[st.OK=0]="OK",st[st.Canceled=1]="Canceled",st[st.Unknown=2]="Unknown",st[st.InvalidArgument=3]="InvalidArgument",st[st.DeadlineExceeded=4]="DeadlineExceeded",st[st.NotFound=5]="NotFound",st[st.AlreadyExists=6]="AlreadyExists",st[st.PermissionDenied=7]="PermissionDenied",st[st.ResourceExhausted=8]="ResourceExhausted",st[st.FailedPrecondition=9]="FailedPrecondition",st[st.Aborted=10]="Aborted",st[st.OutOfRange=11]="OutOfRange",st[st.Unimplemented=12]="Unimplemented",st[st.Internal=13]="Internal",st[st.Unavailable=14]="Unavailable",st[st.DataLoss=15]="DataLoss",st[st.Unauthenticated=16]="Unauthenticated"}(at=it.Code||(it.Code={})),it.httpStatusToCode=function(st){switch(st){case 0:return at.Internal;case 200:return at.OK;case 400:return at.InvalidArgument;case 401:return at.Unauthenticated;case 403:return at.PermissionDenied;case 404:return at.NotFound;case 409:return at.Aborted;case 412:return at.FailedPrecondition;case 429:return at.ResourceExhausted;case 499:return at.Canceled;case 500:return at.Unknown;case 501:return at.Unimplemented;case 503:return at.Unavailable;case 504:return at.DeadlineExceeded;default:return at.Unknown}}},934:function(nt,it,at){Object.defineProperty(it,"__esModule",{value:!0}),it.client=void 0;var st=at(65),lt=at(617),dt=at(8),ht=at(346),pt=at(57),mt=at(882);it.client=function(bt,yt){return new gt(bt,yt)};var gt=function(){function bt(yt,xt){this.started=!1,this.sentFirstMessage=!1,this.completed=!1,this.closed=!1,this.finishedSending=!1,this.onHeadersCallbacks=[],this.onMessageCallbacks=[],this.onEndCallbacks=[],this.parser=new lt.ChunkParser,this.methodDefinition=yt,this.props=xt,this.createTransport()}return bt.prototype.createTransport=function(){var yt=this.props.host+"/"+this.methodDefinition.service.serviceName+"/"+this.methodDefinition.methodName,xt={methodDefinition:this.methodDefinition,debug:this.props.debug||!1,url:yt,onHeaders:this.onTransportHeaders.bind(this),onChunk:this.onTransportChunk.bind(this),onEnd:this.onTransportEnd.bind(this)};this.props.transport?this.transport=this.props.transport(xt):this.transport=pt.makeDefaultTransport(xt)},bt.prototype.onTransportHeaders=function(yt,xt){if(this.props.debug&&ht.debug("onHeaders",yt,xt),this.closed)this.props.debug&&ht.debug("grpc.onHeaders received after request was closed - ignoring");else if(xt!==0){this.responseHeaders=yt,this.props.debug&&ht.debug("onHeaders.responseHeaders",JSON.stringify(this.responseHeaders,null,2));var wt=vt(yt);this.props.debug&&ht.debug("onHeaders.gRPCStatus",wt);var _t=wt&&wt>=0?wt:dt.httpStatusToCode(xt);this.props.debug&&ht.debug("onHeaders.code",_t);var At=yt.get("grpc-message")||[];if(this.props.debug&&ht.debug("onHeaders.gRPCMessage",At),this.rawOnHeaders(yt),_t!==dt.Code.OK){var Tt=this.decodeGRPCStatus(At[0]);this.rawOnError(_t,Tt,yt)}}},bt.prototype.onTransportChunk=function(yt){var xt=this;if(this.closed)this.props.debug&&ht.debug("grpc.onChunk received after request was closed - ignoring");else{var wt=[];try{wt=this.parser.parse(yt)}catch(_t){return this.props.debug&&ht.debug("onChunk.parsing error",_t,_t.message),void this.rawOnError(dt.Code.Internal,"parsing error: "+_t.message)}wt.forEach(function(_t){if(_t.chunkType===lt.ChunkType.MESSAGE){var At=xt.methodDefinition.responseType.deserializeBinary(_t.data);xt.rawOnMessage(At)}else _t.chunkType===lt.ChunkType.TRAILERS&&(xt.responseHeaders?(xt.responseTrailers=new st.Metadata(_t.trailers),xt.props.debug&&ht.debug("onChunk.trailers",xt.responseTrailers)):(xt.responseHeaders=new st.Metadata(_t.trailers),xt.rawOnHeaders(xt.responseHeaders)))})}},bt.prototype.onTransportEnd=function(){if(this.props.debug&&ht.debug("grpc.onEnd"),this.closed)this.props.debug&&ht.debug("grpc.onEnd received after request was closed - ignoring");else if(this.responseTrailers!==void 0){var yt=vt(this.responseTrailers);if(yt!==null){var xt=this.responseTrailers.get("grpc-message"),wt=this.decodeGRPCStatus(xt[0]);this.rawOnEnd(yt,wt,this.responseTrailers)}else this.rawOnError(dt.Code.Internal,"Response closed without grpc-status (Trailers provided)")}else{if(this.responseHeaders===void 0)return void this.rawOnError(dt.Code.Unknown,"Response closed without headers");var _t=vt(this.responseHeaders),At=this.responseHeaders.get("grpc-message");if(this.props.debug&&ht.debug("grpc.headers only response ",_t,At),_t===null)return void this.rawOnEnd(dt.Code.Unknown,"Response closed without grpc-status (Headers only)",this.responseHeaders);var Tt=this.decodeGRPCStatus(At[0]);this.rawOnEnd(_t,Tt,this.responseHeaders)}},bt.prototype.decodeGRPCStatus=function(yt){if(!yt)return"";try{return decodeURIComponent(yt)}catch{return yt}},bt.prototype.rawOnEnd=function(yt,xt,wt){var _t=this;this.props.debug&&ht.debug("rawOnEnd",yt,xt,wt),this.completed||(this.completed=!0,this.onEndCallbacks.forEach(function(At){if(!_t.closed)try{At(yt,xt,wt)}catch(Tt){setTimeout(function(){throw Tt},0)}}))},bt.prototype.rawOnHeaders=function(yt){this.props.debug&&ht.debug("rawOnHeaders",yt),this.completed||this.onHeadersCallbacks.forEach(function(xt){try{xt(yt)}catch(wt){setTimeout(function(){throw wt},0)}})},bt.prototype.rawOnError=function(yt,xt,wt){var _t=this;wt===void 0&&(wt=new st.Metadata),this.props.debug&&ht.debug("rawOnError",yt,xt),this.completed||(this.completed=!0,this.onEndCallbacks.forEach(function(At){if(!_t.closed)try{At(yt,xt,wt)}catch(Tt){setTimeout(function(){throw Tt},0)}}))},bt.prototype.rawOnMessage=function(yt){var xt=this;this.props.debug&&ht.debug("rawOnMessage",yt.toObject()),this.completed||this.closed||this.onMessageCallbacks.forEach(function(wt){if(!xt.closed)try{wt(yt)}catch(_t){setTimeout(function(){throw _t},0)}})},bt.prototype.onHeaders=function(yt){this.onHeadersCallbacks.push(yt)},bt.prototype.onMessage=function(yt){this.onMessageCallbacks.push(yt)},bt.prototype.onEnd=function(yt){this.onEndCallbacks.push(yt)},bt.prototype.start=function(yt){if(this.started)throw new Error("Client already started - cannot .start()");this.started=!0;var xt=new st.Metadata(yt||{});xt.set("content-type","application/grpc-web+proto"),xt.set("x-grpc-web","1"),this.transport.start(xt)},bt.prototype.send=function(yt){if(!this.started)throw new Error("Client not started - .start() must be called before .send()");if(this.closed)throw new Error("Client already closed - cannot .send()");if(this.finishedSending)throw new Error("Client already finished sending - cannot .send()");if(!this.methodDefinition.requestStream&&this.sentFirstMessage)throw new Error("Message already sent for non-client-streaming method - cannot .send()");this.sentFirstMessage=!0;var xt=mt.frameRequest(yt);this.transport.sendMessage(xt)},bt.prototype.finishSend=function(){if(!this.started)throw new Error("Client not started - .finishSend() must be called before .close()");if(this.closed)throw new Error("Client already closed - cannot .send()");if(this.finishedSending)throw new Error("Client already finished sending - cannot .finishSend()");this.finishedSending=!0,this.transport.finishSend()},bt.prototype.close=function(){if(!this.started)throw new Error("Client not started - .start() must be called before .close()");if(this.closed)throw new Error("Client already closed - cannot .close()");this.closed=!0,this.props.debug&&ht.debug("request.abort aborting request"),this.transport.cancel()},bt}();function vt(bt){var yt=bt.get("grpc-status")||[];if(yt.length>0)try{var xt=yt[0];return parseInt(xt,10)}catch{return null}return null}},346:function(nt,it){Object.defineProperty(it,"__esModule",{value:!0}),it.debug=void 0,it.debug=function(){for(var at=[],st=0;st=55296&&wt<=56319){var _t=yt.charCodeAt(xt+1);_t>=56320&&_t<=57343&&(wt=65536+(wt-55296<<10)+(_t-56320))}return wt}function bt(yt){for(var xt=new Uint8Array(yt.length),wt=0,_t=0;_t{if(_e.aborted){rt(new AbortError);return}let nt,it=!1;function at(){it||(it=!0,nt?.())}const st=et(lt=>{tt(lt),at()},lt=>{rt(lt),at()});if(!it){const lt=()=>{const dt=st();dt==null?rt(new AbortError):dt.then(()=>{rt(new AbortError)},ht=>{rt(ht)}),at()};_e.addEventListener("abort",lt),nt=()=>{_e.removeEventListener("abort",lt)}}})}function abortable(_e,et){if(_e.aborted){const tt=()=>{};et.then(tt,tt)}return execute(_e,(tt,rt)=>(et.then(tt,rt),()=>{}))}function delay$1(_e,et){return execute(_e,tt=>{const rt=typeof et=="number"?et:et.getTime()-Date.now(),nt=setTimeout(tt,rt);return()=>{clearTimeout(nt)}})}function forever(_e){return execute(_e,()=>()=>{})}function waitForEvent(_e,et,tt,rt){return execute(_e,nt=>{let it,at=!1;return it=listen(et,tt,(...lt)=>{nt(lt.length>1?lt:lt[0]),at=!0,it?.()},rt),at&&it(),()=>{at=!0,it?.()}})}function listen(_e,et,tt,rt){if(isEventTarget(_e))return _e.addEventListener(et,tt,rt),()=>_e.removeEventListener(et,tt,rt);if(isJQueryStyleEventEmitter(_e))return _e.on(et,tt),()=>_e.off(et,tt);if(isNodeStyleEventEmitter(_e))return _e.addListener(et,tt),()=>_e.removeListener(et,tt);throw new Error("Invalid event target")}function isNodeStyleEventEmitter(_e){return isFunction(_e.addListener)&&isFunction(_e.removeListener)}function isJQueryStyleEventEmitter(_e){return isFunction(_e.on)&&isFunction(_e.off)}function isEventTarget(_e){return isFunction(_e.addEventListener)&&isFunction(_e.removeEventListener)}const isFunction=_e=>typeof _e=="function";function all(_e,et){return new Promise((tt,rt)=>{if(_e.aborted){rt(new AbortError);return}const nt=new AbortController,it=et(nt.signal);if(it.length===0){tt([]);return}const at=()=>{nt.abort()};_e.addEventListener("abort",at);let st;const lt=new Array(it.length);let dt=0;function ht(){dt+=1,dt===it.length&&(_e.removeEventListener("abort",at),st!=null?rt(st.reason):tt(lt))}for(const[pt,mt]of it.entries())mt.then(gt=>{lt[pt]=gt,ht()},gt=>{nt.abort(),(st==null||!isAbortError(gt)&&isAbortError(st.reason))&&(st={reason:gt}),ht()})})}function race(_e,et){return new Promise((tt,rt)=>{if(_e.aborted){rt(new AbortError);return}const nt=new AbortController,it=et(nt.signal),at=()=>{nt.abort()};_e.addEventListener("abort",at);let st=0;function lt(ht){nt.abort(),st+=1,st===it.length&&(_e.removeEventListener("abort",at),ht.status==="fulfilled"?tt(ht.value):rt(ht.reason))}let dt;for(const ht of it)ht.then(pt=>{dt==null&&(dt={status:"fulfilled",value:pt}),lt(dt)},pt=>{(dt==null||!isAbortError(pt)&&(dt.status==="fulfilled"||isAbortError(dt.reason)))&&(dt={status:"rejected",reason:pt}),lt(dt)})})}async function retry(_e,et,tt={}){const{baseMs:rt=1e3,maxDelayMs:nt=3e4,onError:it,maxAttempts:at=1/0}=tt;let st=0;const lt=()=>{st=-1};for(;;)try{return await et(_e,st,lt)}catch(dt){if(rethrowAbortError(dt),st>=at)throw dt;let ht;if(st===-1)ht=0;else{const pt=Math.min(nt,Math.pow(2,st)*rt);ht=Math.round(pt*(1+Math.random())/2)}it&&it(dt,st,ht),ht!==0&&await delay$1(_e,ht),st+=1}}function spawn(_e,et){if(_e.aborted)return Promise.reject(new AbortError);const tt=[],rt=new AbortController,nt=rt.signal,it=()=>{rt.abort()};_e.addEventListener("abort",it);const at=()=>{_e.removeEventListener("abort",it)},st=new Set,lt=()=>{for(const pt of st)pt.abort()};nt.addEventListener("abort",lt);const dt=()=>{nt.removeEventListener("abort",lt)};let ht=new Promise((pt,mt)=>{let gt,vt;bt(yt=>et(yt,{defer(xt){tt.push(xt)},fork:bt})).join().then(yt=>{rt.abort(),gt={value:yt}},yt=>{rt.abort(),(!isAbortError(yt)||vt==null)&&(vt={error:yt})});function bt(yt){if(nt.aborted)return{abort(){},async join(){throw new AbortError}};const xt=new AbortController,wt=xt.signal,_t=yt(wt),At={abort(){xt.abort()},join:()=>_t};return st.add(At),_t.catch(catchAbortError).catch(Tt=>{vt={error:Tt},rt.abort()}).finally(()=>{st.delete(At),st.size===0&&(vt!=null?mt(vt.error):pt(gt.value))}),At}});return ht=ht.finally(()=>{at(),dt();let pt=Promise.resolve();for(let mt=tt.length-1;mt>=0;mt--)pt=pt.finally(tt[mt]);return pt}),ht}function run(_e){const et=new AbortController,tt=_e(et.signal).catch(catchAbortError);return()=>(et.abort(),tt)}function proactiveRetry(_e,et,tt={}){const{baseMs:rt=1e3,onError:nt,maxAttempts:it=1/0}=tt;return execute(_e,(at,st)=>{const lt=new AbortController;let dt=!1;const ht=new Map;function pt(vt){lt.abort(),ht.clear(),at(vt)}function mt(vt,bt){if(ht.delete(bt),dt&&ht.size===0){st(vt);return}if(!isAbortError(vt)&&nt)try{nt(vt,bt)}catch(yt){lt.abort(),ht.clear(),st(yt)}}async function gt(vt){for(let bt=0;;bt++){const yt=et(vt,bt);if(ht.set(bt,yt),yt.then(pt,_t=>mt(_t,bt)),bt+1>=it)break;const xt=Math.pow(2,bt)*rt,wt=Math.round(xt*(1+Math.random())/2);await delay$1(vt,wt)}dt=!0}return gt(lt.signal).catch(catchAbortError),()=>{lt.abort()}})}const es=Object.freeze(Object.defineProperty({__proto__:null,AbortError,abortable,all,catchAbortError,delay:delay$1,execute,forever,isAbortError,proactiveRetry,race,rethrowAbortError,retry,run,spawn,throwIfAborted,waitForEvent},Symbol.toStringTag,{value:"Module"})),require$$2=getAugmentedNamespace(es);var AsyncSink$1={};Object.defineProperty(AsyncSink$1,"__esModule",{value:!0});AsyncSink$1.AsyncSink=void 0;const ARRAY_VALUE="value",ARRAY_ERROR="error";class AsyncSink{constructor(){this._ended=!1,this._values=[],this._resolvers=[]}[Symbol.asyncIterator](){return this}write(et){this._push({type:ARRAY_VALUE,value:et})}error(et){this._push({type:ARRAY_ERROR,error:et})}_push(et){if(this._ended)throw new Error("AsyncSink already ended");if(this._resolvers.length>0){const{resolve:tt,reject:rt}=this._resolvers.shift();et.type===ARRAY_ERROR?rt(et.error):tt({done:!1,value:et.value})}else this._values.push(et)}next(){if(this._values.length>0){const{type:et,value:tt,error:rt}=this._values.shift();return et===ARRAY_ERROR?Promise.reject(rt):Promise.resolve({done:!1,value:tt})}return this._ended?Promise.resolve({done:!0}):new Promise((et,tt)=>{this._resolvers.push({resolve:et,reject:tt})})}end(){for(;this._resolvers.length>0;)this._resolvers.shift().resolve({done:!0});this._ended=!0}}AsyncSink$1.AsyncSink=AsyncSink;var isAsyncIterable$1={};Object.defineProperty(isAsyncIterable$1,"__esModule",{value:!0});isAsyncIterable$1.isAsyncIterable=void 0;function isAsyncIterable(_e){return _e!=null&&Symbol.asyncIterator in _e}isAsyncIterable$1.isAsyncIterable=isAsyncIterable;var convertMetadata={},base64={exports:{}};(function(_e,et){(function(tt,rt){_e.exports=rt()})(typeof self<"u"?self:typeof window<"u"?window:commonjsGlobal,function(){var tt="3.7.5",rt=tt,nt=typeof atob=="function",it=typeof btoa=="function",at=typeof Buffer=="function",st=typeof TextDecoder=="function"?new TextDecoder:void 0,lt=typeof TextEncoder=="function"?new TextEncoder:void 0,dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ht=Array.prototype.slice.call(dt),pt=function(Kt){var Xt={};return Kt.forEach(function(rr,or){return Xt[rr]=or}),Xt}(ht),mt=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,gt=String.fromCharCode.bind(String),vt=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):function(Kt){return new Uint8Array(Array.prototype.slice.call(Kt,0))},bt=function(Kt){return Kt.replace(/=/g,"").replace(/[+\/]/g,function(Xt){return Xt=="+"?"-":"_"})},yt=function(Kt){return Kt.replace(/[^A-Za-z0-9\+\/]/g,"")},xt=function(Kt){for(var Xt,rr,or,ar,ir="",pr=Kt.length%3,nr=0;nr255||(or=Kt.charCodeAt(nr++))>255||(ar=Kt.charCodeAt(nr++))>255)throw new TypeError("invalid character found");Xt=rr<<16|or<<8|ar,ir+=ht[Xt>>18&63]+ht[Xt>>12&63]+ht[Xt>>6&63]+ht[Xt&63]}return pr?ir.slice(0,pr-3)+"===".substring(pr):ir},wt=it?function(Kt){return btoa(Kt)}:at?function(Kt){return Buffer.from(Kt,"binary").toString("base64")}:xt,_t=at?function(Kt){return Buffer.from(Kt).toString("base64")}:function(Kt){for(var Xt=4096,rr=[],or=0,ar=Kt.length;or>>6)+gt(128|Xt&63):gt(224|Xt>>>12&15)+gt(128|Xt>>>6&63)+gt(128|Xt&63)}else{var Xt=65536+(Kt.charCodeAt(0)-55296)*1024+(Kt.charCodeAt(1)-56320);return gt(240|Xt>>>18&7)+gt(128|Xt>>>12&63)+gt(128|Xt>>>6&63)+gt(128|Xt&63)}},kt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,jt=function(Kt){return Kt.replace(kt,Tt)},Lt=at?function(Kt){return Buffer.from(Kt,"utf8").toString("base64")}:lt?function(Kt){return _t(lt.encode(Kt))}:function(Kt){return wt(jt(Kt))},qt=function(Kt,Xt){return Xt===void 0&&(Xt=!1),Xt?bt(Lt(Kt)):Lt(Kt)},Dt=function(Kt){return qt(Kt,!0)},zt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Zt=function(Kt){switch(Kt.length){case 4:var Xt=(7&Kt.charCodeAt(0))<<18|(63&Kt.charCodeAt(1))<<12|(63&Kt.charCodeAt(2))<<6|63&Kt.charCodeAt(3),rr=Xt-65536;return gt((rr>>>10)+55296)+gt((rr&1023)+56320);case 3:return gt((15&Kt.charCodeAt(0))<<12|(63&Kt.charCodeAt(1))<<6|63&Kt.charCodeAt(2));default:return gt((31&Kt.charCodeAt(0))<<6|63&Kt.charCodeAt(1))}},Bt=function(Kt){return Kt.replace(zt,Zt)},Et=function(Kt){if(Kt=Kt.replace(/\s+/g,""),!mt.test(Kt))throw new TypeError("malformed base64.");Kt+="==".slice(2-(Kt.length&3));for(var Xt,rr="",or,ar,ir=0;ir>16&255):ar===64?gt(Xt>>16&255,Xt>>8&255):gt(Xt>>16&255,Xt>>8&255,Xt&255);return rr},Ct=nt?function(Kt){return atob(yt(Kt))}:at?function(Kt){return Buffer.from(Kt,"base64").toString("binary")}:Et,Pt=at?function(Kt){return vt(Buffer.from(Kt,"base64"))}:function(Kt){return vt(Ct(Kt).split("").map(function(Xt){return Xt.charCodeAt(0)}))},Ot=function(Kt){return Pt(Ut(Kt))},Mt=at?function(Kt){return Buffer.from(Kt,"base64").toString("utf8")}:st?function(Kt){return st.decode(Pt(Kt))}:function(Kt){return Bt(Ct(Kt))},Ut=function(Kt){return yt(Kt.replace(/[-_]/g,function(Xt){return Xt=="-"?"+":"/"}))},Wt=function(Kt){return Mt(Ut(Kt))},$t=function(Kt){if(typeof Kt!="string")return!1;var Xt=Kt.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(Xt)||!/[^\s0-9a-zA-Z\-_]/.test(Xt)},St=function(Kt){return{value:Kt,enumerable:!1,writable:!0,configurable:!0}},Ft=function(){var Kt=function(Xt,rr){return Object.defineProperty(String.prototype,Xt,St(rr))};Kt("fromBase64",function(){return Wt(this)}),Kt("toBase64",function(Xt){return qt(this,Xt)}),Kt("toBase64URI",function(){return qt(this,!0)}),Kt("toBase64URL",function(){return qt(this,!0)}),Kt("toUint8Array",function(){return Ot(this)})},Vt=function(){var Kt=function(Xt,rr){return Object.defineProperty(Uint8Array.prototype,Xt,St(rr))};Kt("toBase64",function(Xt){return At(this,Xt)}),Kt("toBase64URI",function(){return At(this,!0)}),Kt("toBase64URL",function(){return At(this,!0)})},Rt=function(){Ft(),Vt()},Yt={version:tt,VERSION:rt,atob:Ct,atobPolyfill:Et,btoa:wt,btoaPolyfill:xt,fromBase64:Wt,toBase64:qt,encode:qt,encodeURI:Dt,encodeURL:Dt,utob:jt,btou:Bt,decode:Wt,isValid:$t,fromUint8Array:At,toUint8Array:Ot,extendString:Ft,extendUint8Array:Vt,extendBuiltins:Rt};return Yt.Base64={},Object.keys(Yt).forEach(function(Kt){return Yt.Base64[Kt]=Yt[Kt]}),Yt})})(base64);var base64Exports=base64.exports;Object.defineProperty(convertMetadata,"__esModule",{value:!0});convertMetadata.convertMetadataFromGrpcWeb=convertMetadata.convertMetadataToGrpcWeb=void 0;const grpc_web_1$4=grpcWebClient_umdExports,nice_grpc_common_1$5=lib$1,js_base64_1=base64Exports;function convertMetadataToGrpcWeb(_e){const et=new grpc_web_1$4.grpc.Metadata;for(const[tt,rt]of _e)for(const nt of rt)et.append(tt,typeof nt=="string"?nt:js_base64_1.Base64.fromUint8Array(nt));return et}convertMetadata.convertMetadataToGrpcWeb=convertMetadataToGrpcWeb;function convertMetadataFromGrpcWeb(_e){const et=(0,nice_grpc_common_1$5.Metadata)();for(const[tt,rt]of Object.entries(_e.headersMap))if(tt.endsWith("-bin"))for(const nt of rt)for(const it of nt.split(/,\s?/))et.append(tt,js_base64_1.Base64.toUint8Array(it));else et.set(tt,rt);return et}convertMetadata.convertMetadataFromGrpcWeb=convertMetadataFromGrpcWeb;Object.defineProperty(createBidiStreamingMethod$1,"__esModule",{value:!0});createBidiStreamingMethod$1.createBidiStreamingMethod=void 0;const nice_grpc_common_1$4=lib$1,grpc_web_1$3=grpcWebClient_umdExports,abort_controller_x_1$3=require$$2,AsyncSink_1$1=AsyncSink$1,service_definitions_1$4=serviceDefinitions,isAsyncIterable_1$3=isAsyncIterable$1,convertMetadata_1$3=convertMetadata;function createBidiStreamingMethod(_e,et,tt,rt){const nt=(0,service_definitions_1$4.toGrpcWebMethodDefinition)(_e),it={path:_e.path,requestStream:_e.requestStream,responseStream:_e.responseStream,options:_e.options};async function*at(lt,dt){if(!(0,isAsyncIterable_1$3.isAsyncIterable)(lt))throw new Error("A middleware passed invalid request to next(): expected a single message for bidirectional streaming method");const{metadata:ht=(0,nice_grpc_common_1$4.Metadata)(),signal:pt=new AbortController().signal,onHeader:mt,onTrailer:gt}=dt,vt=new AbortController,bt=new AsyncSink_1$1.AsyncSink,yt=grpc_web_1$3.grpc.client(nt,{host:et.address,transport:et.transport});yt.onHeaders(_t=>{mt?.((0,convertMetadata_1$3.convertMetadataFromGrpcWeb)(_t))}),yt.onMessage(_t=>{bt.write(_t)}),yt.onEnd((_t,At,Tt)=>{gt?.((0,convertMetadata_1$3.convertMetadataFromGrpcWeb)(Tt)),_t===grpc_web_1$3.grpc.Code.OK?bt.end():bt.error(new nice_grpc_common_1$4.ClientError(_e.path,+_t,At))}),yt.start((0,convertMetadata_1$3.convertMetadataToGrpcWeb)(ht));let xt;pipeRequest$1(vt.signal,lt,yt,_e).then(()=>{yt.finishSend()},_t=>{(0,abort_controller_x_1$3.isAbortError)(_t)||(xt=_t,yt.close(),bt.end())});const wt=()=>{bt.error(new abort_controller_x_1$3.AbortError),vt.abort(),yt.close()};pt.addEventListener("abort",wt);try{yield*bt}finally{if(vt.abort(),pt.removeEventListener("abort",wt),(0,abort_controller_x_1$3.throwIfAborted)(pt),xt)throw xt}}const st=tt==null?at:(lt,dt)=>tt({method:it,requestStream:!0,request:lt,responseStream:!0,next:at},dt);return(lt,dt)=>{const pt=st(lt,{...rt,...dt})[Symbol.asyncIterator]();return{[Symbol.asyncIterator](){return{async next(){const mt=await pt.next();return mt.done&&mt.value!=null?await pt.throw(new Error("A middleware returned a message, but expected to return void for bidirectional streaming method")):mt},return(){return pt.return()},throw(mt){return pt.throw(mt)}}}}}}createBidiStreamingMethod$1.createBidiStreamingMethod=createBidiStreamingMethod;async function pipeRequest$1(_e,et,tt,rt){for await(const nt of et)(0,abort_controller_x_1$3.throwIfAborted)(_e),tt.send({serializeBinary:()=>rt.requestSerialize(nt)})}var createClientStreamingMethod$1={};Object.defineProperty(createClientStreamingMethod$1,"__esModule",{value:!0});createClientStreamingMethod$1.createClientStreamingMethod=void 0;const nice_grpc_common_1$3=lib$1,grpc_web_1$2=grpcWebClient_umdExports,abort_controller_x_1$2=require$$2,service_definitions_1$3=serviceDefinitions,isAsyncIterable_1$2=isAsyncIterable$1,convertMetadata_1$2=convertMetadata;function createClientStreamingMethod(_e,et,tt,rt){const nt=(0,service_definitions_1$3.toGrpcWebMethodDefinition)(_e),it={path:_e.path,requestStream:_e.requestStream,responseStream:_e.responseStream,options:_e.options};async function*at(lt,dt){if(!(0,isAsyncIterable_1$2.isAsyncIterable)(lt))throw new Error("A middleware passed invalid request to next(): expected a single message for client streaming method");const{metadata:ht=(0,nice_grpc_common_1$3.Metadata)(),signal:pt=new AbortController().signal,onHeader:mt,onTrailer:gt}=dt;return await(0,abort_controller_x_1$2.execute)(pt,(vt,bt)=>{const yt=new AbortController;let xt;const wt=grpc_web_1$2.grpc.client(nt,{host:et.address,transport:et.transport});return wt.onHeaders(_t=>{mt?.((0,convertMetadata_1$2.convertMetadataFromGrpcWeb)(_t))}),wt.onMessage(_t=>{xt=_t}),wt.onEnd((_t,At,Tt)=>{gt?.((0,convertMetadata_1$2.convertMetadataFromGrpcWeb)(Tt)),yt.abort(),_t===grpc_web_1$2.grpc.Code.OK?vt(xt):bt(new nice_grpc_common_1$3.ClientError(_e.path,+_t,At))}),wt.start((0,convertMetadata_1$2.convertMetadataToGrpcWeb)(ht)),pipeRequest(yt.signal,lt,wt,_e).then(()=>{wt.finishSend()},_t=>{(0,abort_controller_x_1$2.isAbortError)(_t)||(bt(_t),wt.close())}),()=>{yt.abort(),wt.close()}})}const st=tt==null?at:(lt,dt)=>tt({method:it,requestStream:!0,request:lt,responseStream:!1,next:at},dt);return async(lt,dt)=>{const pt=st(lt,{...rt,...dt})[Symbol.asyncIterator]();let mt=await pt.next();for(;;){if(!mt.done){mt=await pt.throw(new Error("A middleware yielded a message, but expected to only return a message for client streaming method"));continue}if(mt.value==null){mt=await pt.throw(new Error("A middleware returned void, but expected to return a message for client streaming method"));continue}return mt.value}}}createClientStreamingMethod$1.createClientStreamingMethod=createClientStreamingMethod;async function pipeRequest(_e,et,tt,rt){for await(const nt of et)(0,abort_controller_x_1$2.throwIfAborted)(_e),tt.send({serializeBinary:()=>rt.requestSerialize(nt)})}var createServerStreamingMethod$1={};Object.defineProperty(createServerStreamingMethod$1,"__esModule",{value:!0});createServerStreamingMethod$1.createServerStreamingMethod=void 0;const grpc_web_1$1=grpcWebClient_umdExports,abort_controller_x_1$1=require$$2,AsyncSink_1=AsyncSink$1,nice_grpc_common_1$2=lib$1,service_definitions_1$2=serviceDefinitions,convertMetadata_1$1=convertMetadata,isAsyncIterable_1$1=isAsyncIterable$1;function createServerStreamingMethod(_e,et,tt,rt){const nt=(0,service_definitions_1$2.toGrpcWebMethodDefinition)(_e),it={path:_e.path,requestStream:_e.requestStream,responseStream:_e.responseStream,options:_e.options};async function*at(lt,dt){if((0,isAsyncIterable_1$1.isAsyncIterable)(lt))throw new Error("A middleware passed invalid request to next(): expected a single message for server streaming method");const{metadata:ht=(0,nice_grpc_common_1$2.Metadata)(),signal:pt=new AbortController().signal,onHeader:mt,onTrailer:gt}=dt,vt=new AsyncSink_1.AsyncSink,bt=grpc_web_1$1.grpc.client(nt,{host:et.address,transport:et.transport});bt.onHeaders(xt=>{mt?.((0,convertMetadata_1$1.convertMetadataFromGrpcWeb)(xt))}),bt.onMessage(xt=>{vt.write(xt)}),bt.onEnd((xt,wt,_t)=>{gt?.((0,convertMetadata_1$1.convertMetadataFromGrpcWeb)(_t)),xt===grpc_web_1$1.grpc.Code.OK?vt.end():vt.error(new nice_grpc_common_1$2.ClientError(_e.path,+xt,wt))}),bt.start((0,convertMetadata_1$1.convertMetadataToGrpcWeb)(ht)),bt.send({serializeBinary:()=>_e.requestSerialize(lt)}),bt.finishSend();const yt=()=>{vt.error(new abort_controller_x_1$1.AbortError),bt.close()};pt.addEventListener("abort",yt);try{yield*vt}finally{pt.removeEventListener("abort",yt),(0,abort_controller_x_1$1.throwIfAborted)(pt)}}const st=tt==null?at:(lt,dt)=>tt({method:it,requestStream:!1,request:lt,responseStream:!0,next:at},dt);return(lt,dt)=>{const pt=st(lt,{...rt,...dt})[Symbol.asyncIterator]();return{[Symbol.asyncIterator](){return{async next(){const mt=await pt.next();return mt.done&&mt.value!=null?await pt.throw(new Error("A middleware returned a message, but expected to return void for server streaming method")):mt},return(){return pt.return()},throw(mt){return pt.throw(mt)}}}}}}createServerStreamingMethod$1.createServerStreamingMethod=createServerStreamingMethod;var createUnaryMethod$1={};Object.defineProperty(createUnaryMethod$1,"__esModule",{value:!0});createUnaryMethod$1.createUnaryMethod=void 0;const nice_grpc_common_1$1=lib$1,grpc_web_1=grpcWebClient_umdExports,abort_controller_x_1=require$$2,service_definitions_1$1=serviceDefinitions,isAsyncIterable_1=isAsyncIterable$1,convertMetadata_1=convertMetadata;function createUnaryMethod(_e,et,tt,rt){const nt=(0,service_definitions_1$1.toGrpcWebMethodDefinition)(_e),it={path:_e.path,requestStream:_e.requestStream,responseStream:_e.responseStream,options:_e.options};async function*at(lt,dt){if((0,isAsyncIterable_1.isAsyncIterable)(lt))throw new Error("A middleware passed invalid request to next(): expected a single message for unary method");const{metadata:ht=(0,nice_grpc_common_1$1.Metadata)(),signal:pt=new AbortController().signal,onHeader:mt,onTrailer:gt}=dt;return await(0,abort_controller_x_1.execute)(pt,(vt,bt)=>{let yt;const xt=grpc_web_1.grpc.client(nt,{host:et.address,transport:et.transport});return xt.onHeaders(wt=>{mt?.((0,convertMetadata_1.convertMetadataFromGrpcWeb)(wt))}),xt.onMessage(wt=>{yt=wt}),xt.onEnd((wt,_t,At)=>{gt?.((0,convertMetadata_1.convertMetadataFromGrpcWeb)(At)),wt===grpc_web_1.grpc.Code.OK?vt(yt):bt(new nice_grpc_common_1$1.ClientError(_e.path,+wt,_t))}),xt.start((0,convertMetadata_1.convertMetadataToGrpcWeb)(ht)),xt.send({serializeBinary:()=>_e.requestSerialize(lt)}),xt.finishSend(),()=>{xt.close()}})}const st=tt==null?at:(lt,dt)=>tt({method:it,requestStream:!1,request:lt,responseStream:!1,next:at},dt);return async(lt,dt)=>{const pt=st(lt,{...rt,...dt})[Symbol.asyncIterator]();let mt=await pt.next();for(;;){if(!mt.done){mt=await pt.throw(new Error("A middleware yielded a message, but expected to only return a message for unary method"));continue}if(mt.value==null){mt=await pt.throw(new Error("A middleware returned void, but expected to return a message for unary method"));continue}return mt.value}}}createUnaryMethod$1.createUnaryMethod=createUnaryMethod;Object.defineProperty(ClientFactory,"__esModule",{value:!0});ClientFactory.createClient=ClientFactory.createClientFactory=void 0;const nice_grpc_common_1=lib$1,service_definitions_1=serviceDefinitions,createBidiStreamingMethod_1=createBidiStreamingMethod$1,createClientStreamingMethod_1=createClientStreamingMethod$1,createServerStreamingMethod_1=createServerStreamingMethod$1,createUnaryMethod_1=createUnaryMethod$1;function createClientFactory(){return createClientFactoryWithMiddleware()}ClientFactory.createClientFactory=createClientFactory;function createClient(_e,et,tt){return createClientFactory().create(_e,et,tt)}ClientFactory.createClient=createClient;function createClientFactoryWithMiddleware(_e){return{use(et){return createClientFactoryWithMiddleware(_e==null?et:(0,nice_grpc_common_1.composeClientMiddleware)(_e,et))},create(et,tt,rt={}){const nt={},it=Object.entries((0,service_definitions_1.normalizeServiceDefinition)(et));for(const[at,st]of it){const lt={...rt["*"],...rt[at]};st.requestStream?st.responseStream?nt[at]=(0,createBidiStreamingMethod_1.createBidiStreamingMethod)(st,tt,_e,lt):nt[at]=(0,createClientStreamingMethod_1.createClientStreamingMethod)(st,tt,_e,lt):st.responseStream?nt[at]=(0,createServerStreamingMethod_1.createServerStreamingMethod)(st,tt,_e,lt):nt[at]=(0,createUnaryMethod_1.createUnaryMethod)(st,tt,_e,lt)}return nt}}}var Client={};Object.defineProperty(Client,"__esModule",{value:!0});(function(_e){var et=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(nt,it,at,st){st===void 0&&(st=at);var lt=Object.getOwnPropertyDescriptor(it,at);(!lt||("get"in lt?!it.__esModule:lt.writable||lt.configurable))&&(lt={enumerable:!0,get:function(){return it[at]}}),Object.defineProperty(nt,st,lt)}:function(nt,it,at,st){st===void 0&&(st=at),nt[st]=it[at]}),tt=commonjsGlobal&&commonjsGlobal.__exportStar||function(nt,it){for(var at in nt)at!=="default"&&!Object.prototype.hasOwnProperty.call(it,at)&&et(it,nt,at)};Object.defineProperty(_e,"__esModule",{value:!0}),_e.Status=_e.Metadata=_e.composeClientMiddleware=_e.ClientError=void 0;var rt=lib$1;Object.defineProperty(_e,"ClientError",{enumerable:!0,get:function(){return rt.ClientError}}),Object.defineProperty(_e,"composeClientMiddleware",{enumerable:!0,get:function(){return rt.composeClientMiddleware}}),Object.defineProperty(_e,"Metadata",{enumerable:!0,get:function(){return rt.Metadata}}),Object.defineProperty(_e,"Status",{enumerable:!0,get:function(){return rt.Status}}),tt(serviceDefinitions,_e),tt(channel,_e),tt(ClientFactory,_e),tt(Client,_e)})(lib$2);function createBaseLinkedTwitterPair(){return{username:"",address:""}}var LinkedTwitterPair={encode(_e,et=_m0.Writer.create()){return _e.username!==""&&et.uint32(10).string(_e.username),_e.address!==""&&et.uint32(18).string(_e.address),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseLinkedTwitterPair();for(;tt.pos>>3){case 1:if(it!=10)break;nt.username=tt.string();continue;case 2:if(it!=18)break;nt.address=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return LinkedTwitterPair.fromPartial(_e??{})},fromPartial(_e){const et=createBaseLinkedTwitterPair();return et.username=_e.username??"",et.address=_e.address??"",et}};function createBaseDripRequest(){return{username:"",address:""}}var DripRequest={encode(_e,et=_m0.Writer.create()){return _e.username!==""&&et.uint32(10).string(_e.username),_e.address!==""&&et.uint32(18).string(_e.address),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseDripRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.username=tt.string();continue;case 2:if(it!=18)break;nt.address=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return DripRequest.fromPartial(_e??{})},fromPartial(_e){const et=createBaseDripRequest();return et.username=_e.username??"",et.address=_e.address??"",et}};function createBaseDripDevRequest(){return{address:""}}var DripDevRequest={encode(_e,et=_m0.Writer.create()){return _e.address!==""&&et.uint32(10).string(_e.address),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseDripDevRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.address=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return DripDevRequest.fromPartial(_e??{})},fromPartial(_e){const et=createBaseDripDevRequest();return et.address=_e.address??"",et}};function createBaseDripResponse(){return{dripTxHash:"",ecsTxHash:""}}var DripResponse={encode(_e,et=_m0.Writer.create()){return _e.dripTxHash!==""&&et.uint32(10).string(_e.dripTxHash),_e.ecsTxHash!==""&&et.uint32(18).string(_e.ecsTxHash),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseDripResponse();for(;tt.pos>>3){case 1:if(it!=10)break;nt.dripTxHash=tt.string();continue;case 2:if(it!=18)break;nt.ecsTxHash=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return DripResponse.fromPartial(_e??{})},fromPartial(_e){const et=createBaseDripResponse();return et.dripTxHash=_e.dripTxHash??"",et.ecsTxHash=_e.ecsTxHash??"",et}};function createBaseTimeUntilDripResponse(){return{timeUntilDripMinutes:0,timeUntilDripSeconds:0}}var TimeUntilDripResponse={encode(_e,et=_m0.Writer.create()){return _e.timeUntilDripMinutes!==0&&et.uint32(9).double(_e.timeUntilDripMinutes),_e.timeUntilDripSeconds!==0&&et.uint32(17).double(_e.timeUntilDripSeconds),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseTimeUntilDripResponse();for(;tt.pos>>3){case 1:if(it!=9)break;nt.timeUntilDripMinutes=tt.double();continue;case 2:if(it!=17)break;nt.timeUntilDripSeconds=tt.double();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return TimeUntilDripResponse.fromPartial(_e??{})},fromPartial(_e){const et=createBaseTimeUntilDripResponse();return et.timeUntilDripMinutes=_e.timeUntilDripMinutes??0,et.timeUntilDripSeconds=_e.timeUntilDripSeconds??0,et}};function createBaseGetLinkedTwittersRequest(){return{}}var GetLinkedTwittersRequest={encode(_e,et=_m0.Writer.create()){return et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseGetLinkedTwittersRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.linkedTwitters.push(LinkedTwitterPair.decode(tt,tt.uint32()));continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return GetLinkedTwittersResponse.fromPartial(_e??{})},fromPartial(_e){const et=createBaseGetLinkedTwittersResponse();return et.linkedTwitters=_e.linkedTwitters?.map(tt=>LinkedTwitterPair.fromPartial(tt))||[],et}};function createBaseLinkedTwitterForAddressRequest(){return{address:""}}var LinkedTwitterForAddressRequest={encode(_e,et=_m0.Writer.create()){return _e.address!==""&&et.uint32(10).string(_e.address),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseLinkedTwitterForAddressRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.address=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return LinkedTwitterForAddressRequest.fromPartial(_e??{})},fromPartial(_e){const et=createBaseLinkedTwitterForAddressRequest();return et.address=_e.address??"",et}};function createBaseLinkedTwitterForAddressResponse(){return{username:""}}var LinkedTwitterForAddressResponse={encode(_e,et=_m0.Writer.create()){return _e.username!==""&&et.uint32(10).string(_e.username),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseLinkedTwitterForAddressResponse();for(;tt.pos>>3){case 1:if(it!=10)break;nt.username=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return LinkedTwitterForAddressResponse.fromPartial(_e??{})},fromPartial(_e){const et=createBaseLinkedTwitterForAddressResponse();return et.username=_e.username??"",et}};function createBaseLinkedAddressForTwitterRequest(){return{username:""}}var LinkedAddressForTwitterRequest={encode(_e,et=_m0.Writer.create()){return _e.username!==""&&et.uint32(10).string(_e.username),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseLinkedAddressForTwitterRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.username=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return LinkedAddressForTwitterRequest.fromPartial(_e??{})},fromPartial(_e){const et=createBaseLinkedAddressForTwitterRequest();return et.username=_e.username??"",et}};function createBaseLinkedAddressForTwitterResponse(){return{address:""}}var LinkedAddressForTwitterResponse={encode(_e,et=_m0.Writer.create()){return _e.address!==""&&et.uint32(10).string(_e.address),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseLinkedAddressForTwitterResponse();for(;tt.pos>>3){case 1:if(it!=10)break;nt.address=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return LinkedAddressForTwitterResponse.fromPartial(_e??{})},fromPartial(_e){const et=createBaseLinkedAddressForTwitterResponse();return et.address=_e.address??"",et}};function createBaseSetLinkedTwitterRequest(){return{address:"",username:"",signature:""}}var SetLinkedTwitterRequest={encode(_e,et=_m0.Writer.create()){return _e.address!==""&&et.uint32(10).string(_e.address),_e.username!==""&&et.uint32(18).string(_e.username),_e.signature!==""&&et.uint32(26).string(_e.signature),et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseSetLinkedTwitterRequest();for(;tt.pos>>3){case 1:if(it!=10)break;nt.address=tt.string();continue;case 2:if(it!=18)break;nt.username=tt.string();continue;case 3:if(it!=26)break;nt.signature=tt.string();continue}if((it&7)==4||it==0)break;tt.skipType(it&7)}return nt},create(_e){return SetLinkedTwitterRequest.fromPartial(_e??{})},fromPartial(_e){const et=createBaseSetLinkedTwitterRequest();return et.address=_e.address??"",et.username=_e.username??"",et.signature=_e.signature??"",et}};function createBaseSetLinkedTwitterResponse(){return{}}var SetLinkedTwitterResponse={encode(_e,et=_m0.Writer.create()){return et},decode(_e,et){const tt=_e instanceof _m0.Reader?_e:_m0.Reader.create(_e);let rt=et===void 0?tt.len:tt.pos+et;const nt=createBaseSetLinkedTwitterResponse();for(;tt.pos{if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw"Unable to locate global object"})();_m0.util.Long!==Long&&(_m0.util.Long=Long,_m0.configure());function createFaucetService(_e){return lib$2.createClient(FaucetServiceDefinition,lib$2.createChannel(_e))}const worldsJson={4242:{address:"0x06b2F63321C54D946BA419F7dAee2a931B24D7a4",blockNumber:29582781},31337:{address:"0x60b886a32B2dC612532a6E0ADF62ACd9093D0EDF"},33784:{address:"0xc256edB99bC494771bB3C6B819C65d3B03E5891e",blockNumber:198141},421613:{address:"0x2Bc1034975c3df48D6f3026802f372677844b85d",blockNumber:46508363},11155111:{address:"0xec7F8CF3B3640b1C5E8fD3c208776aad056D4fc3",blockNumber:4450305}};var arbitrumGoerli$1={id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Arbitrum Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-goerli.g.alchemy.com/v2"],webSocket:["wss://arb-goerli.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-goerli.infura.io/v3"],webSocket:["wss://arbitrum-goerli.infura.io/ws/v3"]},default:{http:["https://goerli-rollup.arbitrum.io/rpc"]},public:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"},default:{name:"Arbiscan",url:"https://goerli.arbiscan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:88114}},testnet:!0},foundry$1={id:31337,name:"Foundry",network:"foundry",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}},sepolia$1={id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0};const arbitrumGoerli=defineChain(arbitrumGoerli$1),foundry=defineChain(foundry$1),sepolia=defineChain(sepolia$1);var t={name:"Lattice Testnet",id:4242,network:"lattice-testnet",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://follower.testnet-chain.linfra.xyz"],webSocket:["wss://follower.testnet-chain.linfra.xyz"]},public:{http:["https://follower.testnet-chain.linfra.xyz"],webSocket:["wss://follower.testnet-chain.linfra.xyz"]}},blockExplorers:{otterscan:{name:"Otterscan",url:"https://explorer.testnet-chain.linfra.xyz"},default:{name:"Otterscan",url:"https://explorer.testnet-chain.linfra.xyz"}},faucetUrl:"https://faucet.testnet-mud-services.linfra.xyz"},r={...foundry,fees:{defaultPriorityFee:0n}};arbitrumGoerli.rpcUrls.default.http=["https://arbitrum-goerli.infura.io/v3/5ca372516740427e97512d4dfefd9c47"];arbitrumGoerli.rpcUrls.default.webSocket=["wss://arbitrum-goerli.infura.io/ws/v3/5ca372516740427e97512d4dfefd9c47"];const testnet={name:"Lidamao Testnet",id:33784,network:"lidamao-testnet",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.0xmssp.xyz"],webSocket:["https://rpc.0xmssp.xyz"]},public:{http:["https://rpc.0xmssp.xyz"],webSocket:["https://rpc.0xmssp.xyz"]}}},supportedChains=[r,t,sepolia,arbitrumGoerli,testnet],worlds=worldsJson;async function getNetworkConfig(){const _e=new URLSearchParams(window.location.search),et=33784,tt=supportedChains.findIndex(st=>st.id===et),rt=supportedChains[tt];if(!rt)throw new Error(`Chain ${et} not found`);const nt=worlds[rt.id.toString()],it=_e.get("worldAddress")||nt?.address;if(!it)throw new Error(`No world address found for chain ${et}. Did you run \`mud deploy\`?`);const at=_e.has("initialBlockNumber")?Number(_e.get("initialBlockNumber")):nt?.blockNumber??0n;return{privateKey:be$2(),chainId:et,chain:rt,faucetServiceUrl:_e.get("faucet")??rt.faucetUrl,worldAddress:it,initialBlockNumber:at}}const world=ft(),_abi=[{inputs:[{internalType:"string",name:"resource",type:"string"},{internalType:"address",name:"caller",type:"address"}],name:"AccessDenied",type:"error"},{inputs:[{internalType:"bytes4",name:"functionSelector",type:"bytes4"}],name:"FunctionSelectorExists",type:"error"},{inputs:[{internalType:"bytes4",name:"functionSelector",type:"bytes4"}],name:"FunctionSelectorNotFound",type:"error"},{inputs:[{internalType:"string",name:"resource",type:"string"}],name:"InvalidSelector",type:"error"},{inputs:[{internalType:"string",name:"module",type:"string"}],name:"ModuleAlreadyInstalled",type:"error"},{inputs:[{internalType:"string",name:"resource",type:"string"}],name:"ResourceExists",type:"error"},{inputs:[{internalType:"string",name:"resource",type:"string"}],name:"ResourceNotFound",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"},{internalType:"uint256",name:"received",type:"uint256"}],name:"StoreCore_DataIndexOverflow",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"received",type:"uint256"}],name:"StoreCore_InvalidDataLength",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"received",type:"uint256"}],name:"StoreCore_InvalidFieldNamesLength",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"received",type:"uint256"}],name:"StoreCore_InvalidKeyNamesLength",type:"error"},{inputs:[],name:"StoreCore_NotDynamicField",type:"error"},{inputs:[],name:"StoreCore_NotImplemented",type:"error"},{inputs:[{internalType:"bytes32",name:"tableId",type:"bytes32"},{internalType:"string",name:"tableIdString",type:"string"}],name:"StoreCore_TableAlreadyExists",type:"error"},{inputs:[{internalType:"bytes32",name:"tableId",type:"bytes32"},{internalType:"string",name:"tableIdString",type:"string"}],name:"StoreCore_TableNotFound",type:"error"},{inputs:[{internalType:"address",name:"system",type:"address"}],name:"SystemExists",type:"error"},{anonymous:!1,inputs:[],name:"HelloWorld",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"table",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"key",type:"bytes32[]"}],name:"StoreDeleteRecord",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"table",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"key",type:"bytes32[]"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"StoreEphemeralRecord",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"table",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"key",type:"bytes32[]"},{indexed:!1,internalType:"uint8",name:"schemaIndex",type:"uint8"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"StoreSetField",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"table",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"key",type:"bytes32[]"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"}],name:"StoreSetRecord",type:"event"},{inputs:[{internalType:"uint16",name:"_x",type:"uint16"},{internalType:"uint16",name:"_y",type:"uint16"}],name:"CreateBox",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"GetSeasonInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_root",type:"bytes32"}],name:"SetMapMerkleRoot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_start",type:"uint256"},{internalType:"uint256",name:"_end",type:"uint256"}],name:"SetSeasonInfo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"SetUserContract",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_targetAddress",type:"address"},{components:[{internalType:"uint16",name:"x",type:"uint16"},{internalType:"uint16",name:"y",type:"uint16"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct Position[]",name:"positionList",type:"tuple[]"}],name:"battleInvitation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"bytes",name:"funcSelectorAndArgs",type:"bytes"}],name:"call",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"_buffHash",type:"bytes32"},{internalType:"uint256",name:"_battleId",type:"uint256"}],name:"confirmBattle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"deleteRecord",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"emitEphemeralRecord",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_battleId",type:"uint256"}],name:"forceEnd",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_battleId",type:"uint256"},{internalType:"address",name:"addr",type:"address"}],name:"getBattlePlayerHp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_boxId",type:"uint256"},{internalType:"uint16",name:"_oreAmount",type:"uint16"},{internalType:"uint16",name:"_treasureAmount",type:"uint16"}],name:"getCollections",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"getField",outputs:[{internalType:"bytes",name:"data",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"getFieldLength",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"Schema",name:"valueSchema",type:"bytes32"},{internalType:"uint256",name:"start",type:"uint256"},{internalType:"uint256",name:"end",type:"uint256"}],name:"getFieldSlice",outputs:[{internalType:"bytes",name:"data",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getInfo",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"}],name:"getKeySchema",outputs:[{internalType:"Schema",name:"schema",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getPosition",outputs:[{internalType:"uint16",name:"",type:"uint16"},{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"getRecord",outputs:[{internalType:"bytes",name:"data",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSenderPosition",outputs:[{internalType:"uint16",name:"",type:"uint16"},{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getUserInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"}],name:"getValueSchema",outputs:[{internalType:"Schema",name:"schema",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"goHome",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"address",name:"grantee",type:"address"}],name:"grantAccess",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_player",type:"address"}],name:"initPlayerHp",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"initUserInfo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IModule",name:"module",type:"address"},{internalType:"bytes",name:"args",type:"bytes"}],name:"installModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IModule",name:"module",type:"address"},{internalType:"bytes",name:"args",type:"bytes"}],name:"installRootModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"joinBattlefield",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint16",name:"x",type:"uint16"},{internalType:"uint16",name:"y",type:"uint16"},{internalType:"bytes32[]",name:"proof",type:"bytes32[]"}],internalType:"struct Position[]",name:"moveList",type:"tuple[]"}],name:"move",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_boxId",type:"uint256"}],name:"openBox",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"uint256",name:"byteLengthToPop",type:"uint256"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"popFromField",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"bytes",name:"dataToPush",type:"bytes"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"pushToField",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"string",name:"systemFunctionName",type:"string"},{internalType:"string",name:"systemFunctionArguments",type:"string"}],name:"registerFunctionSelector",outputs:[{internalType:"bytes4",name:"worldFunctionSelector",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes16",name:"namespace",type:"bytes16"}],name:"registerNamespace",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"bytes4",name:"worldFunctionSelector",type:"bytes4"},{internalType:"bytes4",name:"systemFunctionSelector",type:"bytes4"}],name:"registerRootFunctionSelector",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"contract IStoreHook",name:"hook",type:"address"}],name:"registerStoreHook",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"contract System",name:"system",type:"address"},{internalType:"bool",name:"publicAccess",type:"bool"}],name:"registerSystem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"contract ISystemHook",name:"hook",type:"address"}],name:"registerSystemHook",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"Schema",name:"keySchema",type:"bytes32"},{internalType:"Schema",name:"valueSchema",type:"bytes32"},{internalType:"string[]",name:"keyNames",type:"string[]"},{internalType:"string[]",name:"fieldNames",type:"string[]"}],name:"registerTable",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_battleId",type:"uint256"},{internalType:"bytes32",name:"_action",type:"bytes32"},{internalType:"uint256",name:"_arg",type:"uint256"},{internalType:"bytes32",name:"_nonce",type:"bytes32"}],name:"revealBattle",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_boxId",type:"uint256"}],name:"revealBox",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_battleId",type:"uint256"}],name:"revealWinner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"resourceSelector",type:"bytes32"},{internalType:"address",name:"grantee",type:"address"}],name:"revokeAccess",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_userTokenId",type:"uint256"},{internalType:"uint256",name:"_lootTokenId",type:"uint256"}],name:"selectBothNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"selectLootNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"selectUserNft",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"setField",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"url",type:"string"}],name:"setInfo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"setRecord",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"submitGem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"},{internalType:"uint16",name:"x",type:"uint16"},{internalType:"uint16",name:"y",type:"uint16"}],name:"transfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unlockUserLocation",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"table",type:"bytes32"},{internalType:"bytes32[]",name:"key",type:"bytes32[]"},{internalType:"uint8",name:"schemaIndex",type:"uint8"},{internalType:"uint256",name:"startByteIndex",type:"uint256"},{internalType:"bytes",name:"dataToSet",type:"bytes"},{internalType:"Schema",name:"valueSchema",type:"bytes32"}],name:"updateInField",outputs:[],stateMutability:"nonpayable",type:"function"}];class IWorld__factory{static createInterface(){return new Interface(_abi)}static connect(et,tt){return new Contract(et,_abi,tt)}}IWorld__factory.abi=_abi;const mudConfig=s({systems:{BattleSystem:{name:"battle",openAccess:!0},GameSystem:{name:"game",openAccess:!0},GMSystem:{name:"gm",openAccess:!0},PlayerSystem:{name:"player",openAccess:!0},BoxSystem:{name:"box",openAccess:!0},MoveSystem:{name:"move",openAccess:!0}},enums:{BattleState:["Inited","Confirmed","Revealed"],PlayerState:["Idle","Preparing","Exploring","Attacking"],ActionType:["Attack","Escape","Props"],Buff:["None","Fire","Water","Wind"],RandomState:["Inited","Pending","Confirmed"],BattleEndType:["NotEnd","NormalEnd","AllEscape","RoundEnd"]},tables:{Season:{schema:{start:"uint256",end:"uint256",no:"uint256"}},PlayerSeason:{keySchema:{addr:"address"},schema:{oreBalance:"uint16",attackCount:"uint16"}},Player:{keySchema:{addr:"address"},schema:{suitId:"uint256",equipmentId:"uint256",x:"uint16",y:"uint16",hp:"uint256",attack:"uint256",attackRange:"uint256",speed:"uint256",strength:"uint256",space:"uint256",oreBalance:"uint16",treasureBalance:"uint16",state:"PlayerState",lastBattleTime:"uint256",maxHp:"uint256",name:"string",url:"string"}},PlayerAddon:{keySchema:{addr:"address"},schema:{lootId:"uint256",userId:"uint256"}},Ownable:{schema:{owner:"address"}},GameConfig:{dataStruct:!1,schema:{merkleRoot:"bytes32",battleId:"uint256",randomId:"uint256",originX:"uint16",originY:"uint16",roomId:"uint256",boxId:"uint256"}},BattleConfig:{dataStruct:!1,schema:{maxAttackzDistance:"uint256",maxMoveDistance:"uint256",maxTimeLimit:"uint256",maxUserLocationLockTime:"uint256",maxBoxBindTime:"uint256",battlefieldPlayers:"address[]"}},Board:{keySchema:{addr:"address"},schema:{x:"uint16",y:"uint16"}},MapBoard:{keySchema:{x:"uint16",y:"uint16"},schema:{addresses:"address[]"}},RandomList:{keySchema:{id:"uint256"},schema:{blockNumber:"uint256",author:"address"}},BattleList:{keySchema:{battleId:"uint256"},schema:{attacker:"address",defender:"address",winner:"address",round:"uint16",attackerHP:"uint256",defenderHP:"uint256",isEnd:"bool",attackerState:"BattleState",defenderState:"BattleState",attackerAction:"bytes32",defenderAction:"bytes32",attackerBuffHash:"bytes32",defenderBuffHash:"bytes32",startTimestamp:"uint256",attackerArg:"uint256",defenderArg:"uint256",endTimestamp:"uint256"}},PlayerLocationLock:{keySchema:{addr:"address"},schema:{lockTime:"uint256"}},BoxList:{keySchema:{boxId:"uint256"},schema:{lockTime:"uint256",x:"uint16",y:"uint16",oreBalance:"uint16",treasureBalance:"uint16",randomId:"uint256",dropTime:"uint256",openTime:"uint256",opened:"bool",owner:"address"}},LootList1:{keySchema:{addr:"address"},schema:{weapon:"string",chest:"string",head:"string",waist:"string",foot:"string"}},LootList2:{keySchema:{addr:"address"},schema:{hand:"string",neck:"string",ring:"string"}},GlobalConfig:{dataStruct:!1,schema:{userContract:"address",lootContract:"address",pluginContract:"address"}}}});async function setupNetwork(){const _e=await getNetworkConfig(),et={chain:_e.chain,transport:Ee$1(fallback([webSocket(),http()])),pollingInterval:1e3},tt=createPublicClient(et),rt=J$1(_e.privateKey),nt=createWalletClient({...et,account:rt}),it=new Subject,at=me$1({address:_e.worldAddress,abi:IWorld__factory.abi,publicClient:tt,walletClient:nt,onWrite:pt=>it.next(pt)}),{components:st,latestBlock$:lt,blockStorageOperations$:dt,waitForTransaction:ht}=await ae$1({world,config:mudConfig,address:_e.worldAddress,publicClient:tt,startBlock:BigInt(_e.initialBlockNumber)});if(_e.faucetServiceUrl){const pt=rt.address;console.info("[Dev Faucet]: Player address -> ",pt);const mt=createFaucetService(_e.faucetServiceUrl),gt=async()=>{const vt=await tt.getBalance({address:pt});console.info(`[Dev Faucet]: Player balance -> ${vt}`),vt"u")throw new Error(et)}function warning(_e,et){if(!_e){typeof console<"u"&&console.warn(et);try{throw new Error(et)}catch{}}}function createKey(){return Math.random().toString(36).substr(2,8)}function getHistoryState(_e,et){return{usr:_e.state,key:_e.key,idx:et}}function createLocation(_e,et,tt,rt){return tt===void 0&&(tt=null),_extends$1({pathname:typeof _e=="string"?_e:_e.pathname,search:"",hash:""},typeof et=="string"?parsePath(et):et,{state:tt,key:et&&et.key||rt||createKey()})}function createPath(_e){let{pathname:et="/",search:tt="",hash:rt=""}=_e;return tt&&tt!=="?"&&(et+=tt.charAt(0)==="?"?tt:"?"+tt),rt&&rt!=="#"&&(et+=rt.charAt(0)==="#"?rt:"#"+rt),et}function parsePath(_e){let et={};if(_e){let tt=_e.indexOf("#");tt>=0&&(et.hash=_e.substr(tt),_e=_e.substr(0,tt));let rt=_e.indexOf("?");rt>=0&&(et.search=_e.substr(rt),_e=_e.substr(0,rt)),_e&&(et.pathname=_e)}return et}function getUrlBasedHistory(_e,et,tt,rt){rt===void 0&&(rt={});let{window:nt=document.defaultView,v5Compat:it=!1}=rt,at=nt.history,st=Action.Pop,lt=null,dt=ht();dt==null&&(dt=0,at.replaceState(_extends$1({},at.state,{idx:dt}),""));function ht(){return(at.state||{idx:null}).idx}function pt(){st=Action.Pop;let yt=ht(),xt=yt==null?null:yt-dt;dt=yt,lt&<({action:st,location:bt.location,delta:xt})}function mt(yt,xt){st=Action.Push;let wt=createLocation(bt.location,yt,xt);tt&&tt(wt,yt),dt=ht()+1;let _t=getHistoryState(wt,dt),At=bt.createHref(wt);try{at.pushState(_t,"",At)}catch(Tt){if(Tt instanceof DOMException&&Tt.name==="DataCloneError")throw Tt;nt.location.assign(At)}it&<&<({action:st,location:bt.location,delta:1})}function gt(yt,xt){st=Action.Replace;let wt=createLocation(bt.location,yt,xt);tt&&tt(wt,yt),dt=ht();let _t=getHistoryState(wt,dt),At=bt.createHref(wt);at.replaceState(_t,"",At),it&<&<({action:st,location:bt.location,delta:0})}function vt(yt){let xt=nt.location.origin!=="null"?nt.location.origin:nt.location.href,wt=typeof yt=="string"?yt:createPath(yt);return invariant(xt,"No window.location.(origin|href) available to create URL for href: "+wt),new URL(wt,xt)}let bt={get action(){return st},get location(){return _e(nt,at)},listen(yt){if(lt)throw new Error("A history only accepts one active listener");return nt.addEventListener(PopStateEventType,pt),lt=yt,()=>{nt.removeEventListener(PopStateEventType,pt),lt=null}},createHref(yt){return et(nt,yt)},createURL:vt,encodeLocation(yt){let xt=vt(yt);return{pathname:xt.pathname,search:xt.search,hash:xt.hash}},push:mt,replace:gt,go(yt){return at.go(yt)}};return bt}var ResultType;(function(_e){_e.data="data",_e.deferred="deferred",_e.redirect="redirect",_e.error="error"})(ResultType||(ResultType={}));function matchRoutes(_e,et,tt){tt===void 0&&(tt="/");let rt=typeof et=="string"?parsePath(et):et,nt=stripBasename(rt.pathname||"/",tt);if(nt==null)return null;let it=flattenRoutes(_e);rankRouteBranches(it);let at=null;for(let st=0;at==null&&st{let lt={relativePath:st===void 0?it.path||"":st,caseSensitive:it.caseSensitive===!0,childrenIndex:at,route:it};lt.relativePath.startsWith("/")&&(invariant(lt.relativePath.startsWith(rt),'Absolute route path "'+lt.relativePath+'" nested under path '+('"'+rt+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),lt.relativePath=lt.relativePath.slice(rt.length));let dt=joinPaths([rt,lt.relativePath]),ht=tt.concat(lt);it.children&&it.children.length>0&&(invariant(it.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+dt+'".')),flattenRoutes(it.children,et,ht,dt)),!(it.path==null&&!it.index)&&et.push({path:dt,score:computeScore(dt,it.index),routesMeta:ht})};return _e.forEach((it,at)=>{var st;if(it.path===""||!((st=it.path)!=null&&st.includes("?")))nt(it,at);else for(let lt of explodeOptionalSegments(it.path))nt(it,at,lt)}),et}function explodeOptionalSegments(_e){let et=_e.split("/");if(et.length===0)return[];let[tt,...rt]=et,nt=tt.endsWith("?"),it=tt.replace(/\?$/,"");if(rt.length===0)return nt?[it,""]:[it];let at=explodeOptionalSegments(rt.join("/")),st=[];return st.push(...at.map(lt=>lt===""?it:[it,lt].join("/"))),nt&&st.push(...at),st.map(lt=>_e.startsWith("/")&<===""?"/":lt)}function rankRouteBranches(_e){_e.sort((et,tt)=>et.score!==tt.score?tt.score-et.score:compareIndexes(et.routesMeta.map(rt=>rt.childrenIndex),tt.routesMeta.map(rt=>rt.childrenIndex)))}const paramRe=/^:\w+$/,dynamicSegmentValue=3,indexRouteValue=2,emptySegmentValue=1,staticSegmentValue=10,splatPenalty=-2,isSplat=_e=>_e==="*";function computeScore(_e,et){let tt=_e.split("/"),rt=tt.length;return tt.some(isSplat)&&(rt+=splatPenalty),et&&(rt+=indexRouteValue),tt.filter(nt=>!isSplat(nt)).reduce((nt,it)=>nt+(paramRe.test(it)?dynamicSegmentValue:it===""?emptySegmentValue:staticSegmentValue),rt)}function compareIndexes(_e,et){return _e.length===et.length&&_e.slice(0,-1).every((rt,nt)=>rt===et[nt])?_e[_e.length-1]-et[et.length-1]:0}function matchRouteBranch(_e,et){let{routesMeta:tt}=_e,rt={},nt="/",it=[];for(let at=0;at{if(ht==="*"){let mt=st[pt]||"";at=it.slice(0,it.length-mt.length).replace(/(.)\/+$/,"$1")}return dt[ht]=safelyDecodeURIComponent(st[pt]||"",ht),dt},{}),pathname:it,pathnameBase:at,pattern:_e}}function compilePath(_e,et,tt){et===void 0&&(et=!1),tt===void 0&&(tt=!0),warning(_e==="*"||!_e.endsWith("*")||_e.endsWith("/*"),'Route path "'+_e+'" will be treated as if it were '+('"'+_e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+_e.replace(/\*$/,"/*")+'".'));let rt=[],nt="^"+_e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(at,st)=>(rt.push(st),"/([^\\/]+)"));return _e.endsWith("*")?(rt.push("*"),nt+=_e==="*"||_e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):tt?nt+="\\/*$":_e!==""&&_e!=="/"&&(nt+="(?:(?=\\/|$))"),[new RegExp(nt,et?void 0:"i"),rt]}function safelyDecodeURI(_e){try{return decodeURI(_e)}catch(et){return warning(!1,'The URL path "'+_e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+et+").")),_e}}function safelyDecodeURIComponent(_e,et){try{return decodeURIComponent(_e)}catch(tt){return warning(!1,'The value for the URL param "'+et+'" will not be decoded because'+(' the string "'+_e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+tt+").")),_e}}function stripBasename(_e,et){if(et==="/")return _e;if(!_e.toLowerCase().startsWith(et.toLowerCase()))return null;let tt=et.endsWith("/")?et.length-1:et.length,rt=_e.charAt(tt);return rt&&rt!=="/"?null:_e.slice(tt)||"/"}function resolvePath(_e,et){et===void 0&&(et="/");let{pathname:tt,search:rt="",hash:nt=""}=typeof _e=="string"?parsePath(_e):_e;return{pathname:tt?tt.startsWith("/")?tt:resolvePathname(tt,et):et,search:normalizeSearch(rt),hash:normalizeHash(nt)}}function resolvePathname(_e,et){let tt=et.replace(/\/+$/,"").split("/");return _e.split("/").forEach(nt=>{nt===".."?tt.length>1&&tt.pop():nt!=="."&&tt.push(nt)}),tt.length>1?tt.join("/"):"/"}function getInvalidPathError(_e,et,tt,rt){return"Cannot include a '"+_e+"' character in a manually specified "+("`to."+et+"` field ["+JSON.stringify(rt)+"]. Please separate it out to the ")+("`to."+tt+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function getPathContributingMatches(_e){return _e.filter((et,tt)=>tt===0||et.route.path&&et.route.path.length>0)}function resolveTo(_e,et,tt,rt){rt===void 0&&(rt=!1);let nt;typeof _e=="string"?nt=parsePath(_e):(nt=_extends$1({},_e),invariant(!nt.pathname||!nt.pathname.includes("?"),getInvalidPathError("?","pathname","search",nt)),invariant(!nt.pathname||!nt.pathname.includes("#"),getInvalidPathError("#","pathname","hash",nt)),invariant(!nt.search||!nt.search.includes("#"),getInvalidPathError("#","search","hash",nt)));let it=_e===""||nt.pathname==="",at=it?"/":nt.pathname,st;if(rt||at==null)st=tt;else{let pt=et.length-1;if(at.startsWith("..")){let mt=at.split("/");for(;mt[0]==="..";)mt.shift(),pt-=1;nt.pathname=mt.join("/")}st=pt>=0?et[pt]:"/"}let lt=resolvePath(nt,st),dt=at&&at!=="/"&&at.endsWith("/"),ht=(it||at===".")&&tt.endsWith("/");return!lt.pathname.endsWith("/")&&(dt||ht)&&(lt.pathname+="/"),lt}const joinPaths=_e=>_e.join("/").replace(/\/\/+/g,"/"),normalizePathname=_e=>_e.replace(/\/+$/,"").replace(/^\/*/,"/"),normalizeSearch=_e=>!_e||_e==="?"?"":_e.startsWith("?")?_e:"?"+_e,normalizeHash=_e=>!_e||_e==="#"?"":_e.startsWith("#")?_e:"#"+_e;function isRouteErrorResponse(_e){return _e!=null&&typeof _e.status=="number"&&typeof _e.statusText=="string"&&typeof _e.internal=="boolean"&&"data"in _e}const validMutationMethodsArr=["post","put","patch","delete"];new Set(validMutationMethodsArr);const validRequestMethodsArr=["get",...validMutationMethodsArr];new Set(validRequestMethodsArr);/** + * React Router v6.16.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function _extends(){return _extends=Object.assign?Object.assign.bind():function(_e){for(var et=1;etlt.pathnameBase)),at=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{at.current=!0}),reactExports.useCallback(function(lt,dt){if(dt===void 0&&(dt={}),!at.current)return;if(typeof lt=="number"){tt.go(lt);return}let ht=resolveTo(lt,JSON.parse(it),nt,dt.relative==="path");_e==null&&et!=="/"&&(ht.pathname=ht.pathname==="/"?et:joinPaths([et,ht.pathname])),(dt.replace?tt.replace:tt.push)(ht,dt.state,dt)},[et,tt,it,nt,_e])}function useRoutes(_e,et){return useRoutesImpl(_e,et)}function useRoutesImpl(_e,et,tt){useInRouterContext()||invariant(!1);let{navigator:rt}=reactExports.useContext(NavigationContext),{matches:nt}=reactExports.useContext(RouteContext),it=nt[nt.length-1],at=it?it.params:{};it&&it.pathname;let st=it?it.pathnameBase:"/";it&&it.route;let lt=useLocation(),dt;if(et){var ht;let bt=typeof et=="string"?parsePath(et):et;st==="/"||(ht=bt.pathname)!=null&&ht.startsWith(st)||invariant(!1),dt=bt}else dt=lt;let pt=dt.pathname||"/",mt=st==="/"?pt:pt.slice(st.length)||"/",gt=matchRoutes(_e,{pathname:mt}),vt=_renderMatches(gt&>.map(bt=>Object.assign({},bt,{params:Object.assign({},at,bt.params),pathname:joinPaths([st,rt.encodeLocation?rt.encodeLocation(bt.pathname).pathname:bt.pathname]),pathnameBase:bt.pathnameBase==="/"?st:joinPaths([st,rt.encodeLocation?rt.encodeLocation(bt.pathnameBase).pathname:bt.pathnameBase])})),nt,tt);return et&&vt?reactExports.createElement(LocationContext.Provider,{value:{location:_extends({pathname:"/",search:"",hash:"",state:null,key:"default"},dt),navigationType:Action.Pop}},vt):vt}function DefaultErrorComponent(){let _e=useRouteError(),et=isRouteErrorResponse(_e)?_e.status+" "+_e.statusText:_e instanceof Error?_e.message:JSON.stringify(_e),tt=_e instanceof Error?_e.stack:null,nt={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},it=null;return reactExports.createElement(reactExports.Fragment,null,reactExports.createElement("h2",null,"Unexpected Application Error!"),reactExports.createElement("h3",{style:{fontStyle:"italic"}},et),tt?reactExports.createElement("pre",{style:nt},tt):null,it)}const defaultErrorElement=reactExports.createElement(DefaultErrorComponent,null);class RenderErrorBoundary extends reactExports.Component{constructor(et){super(et),this.state={location:et.location,revalidation:et.revalidation,error:et.error}}static getDerivedStateFromError(et){return{error:et}}static getDerivedStateFromProps(et,tt){return tt.location!==et.location||tt.revalidation!=="idle"&&et.revalidation==="idle"?{error:et.error,location:et.location,revalidation:et.revalidation}:{error:et.error||tt.error,location:tt.location,revalidation:et.revalidation||tt.revalidation}}componentDidCatch(et,tt){console.error("React Router caught the following error during render",et,tt)}render(){return this.state.error?reactExports.createElement(RouteContext.Provider,{value:this.props.routeContext},reactExports.createElement(RouteErrorContext.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function RenderedRoute(_e){let{routeContext:et,match:tt,children:rt}=_e,nt=reactExports.useContext(DataRouterContext);return nt&&nt.static&&nt.staticContext&&(tt.route.errorElement||tt.route.ErrorBoundary)&&(nt.staticContext._deepestRenderedBoundaryId=tt.route.id),reactExports.createElement(RouteContext.Provider,{value:et},rt)}function _renderMatches(_e,et,tt){var rt;if(et===void 0&&(et=[]),tt===void 0&&(tt=null),_e==null){var nt;if((nt=tt)!=null&&nt.errors)_e=tt.matches;else return null}let it=_e,at=(rt=tt)==null?void 0:rt.errors;if(at!=null){let st=it.findIndex(lt=>lt.route.id&&at?.[lt.route.id]);st>=0||invariant(!1),it=it.slice(0,Math.min(it.length,st+1))}return it.reduceRight((st,lt,dt)=>{let ht=lt.route.id?at?.[lt.route.id]:null,pt=null;tt&&(pt=lt.route.errorElement||defaultErrorElement);let mt=et.concat(it.slice(0,dt+1)),gt=()=>{let vt;return ht?vt=pt:lt.route.Component?vt=reactExports.createElement(lt.route.Component,null):lt.route.element?vt=lt.route.element:vt=st,reactExports.createElement(RenderedRoute,{match:lt,routeContext:{outlet:st,matches:mt,isDataRoute:tt!=null},children:vt})};return tt&&(lt.route.ErrorBoundary||lt.route.errorElement||dt===0)?reactExports.createElement(RenderErrorBoundary,{location:tt.location,revalidation:tt.revalidation,component:pt,error:ht,children:gt(),routeContext:{outlet:null,matches:mt,isDataRoute:!0}}):gt()},null)}var DataRouterHook$1=function(_e){return _e.UseBlocker="useBlocker",_e.UseRevalidator="useRevalidator",_e.UseNavigateStable="useNavigate",_e}(DataRouterHook$1||{}),DataRouterStateHook$1=function(_e){return _e.UseBlocker="useBlocker",_e.UseLoaderData="useLoaderData",_e.UseActionData="useActionData",_e.UseRouteError="useRouteError",_e.UseNavigation="useNavigation",_e.UseRouteLoaderData="useRouteLoaderData",_e.UseMatches="useMatches",_e.UseRevalidator="useRevalidator",_e.UseNavigateStable="useNavigate",_e.UseRouteId="useRouteId",_e}(DataRouterStateHook$1||{});function useDataRouterContext(_e){let et=reactExports.useContext(DataRouterContext);return et||invariant(!1),et}function useDataRouterState(_e){let et=reactExports.useContext(DataRouterStateContext);return et||invariant(!1),et}function useRouteContext(_e){let et=reactExports.useContext(RouteContext);return et||invariant(!1),et}function useCurrentRouteId(_e){let et=useRouteContext(),tt=et.matches[et.matches.length-1];return tt.route.id||invariant(!1),tt.route.id}function useRouteError(){var _e;let et=reactExports.useContext(RouteErrorContext),tt=useDataRouterState(DataRouterStateHook$1.UseRouteError),rt=useCurrentRouteId(DataRouterStateHook$1.UseRouteError);return et||((_e=tt.errors)==null?void 0:_e[rt])}function useNavigateStable(){let{router:_e}=useDataRouterContext(DataRouterHook$1.UseNavigateStable),et=useCurrentRouteId(DataRouterStateHook$1.UseNavigateStable),tt=reactExports.useRef(!1);return useIsomorphicLayoutEffect(()=>{tt.current=!0}),reactExports.useCallback(function(nt,it){it===void 0&&(it={}),tt.current&&(typeof nt=="number"?_e.navigate(nt):_e.navigate(nt,_extends({fromRouteId:et},it)))},[_e,et])}function Route(_e){invariant(!1)}function Router(_e){let{basename:et="/",children:tt=null,location:rt,navigationType:nt=Action.Pop,navigator:it,static:at=!1}=_e;useInRouterContext()&&invariant(!1);let st=et.replace(/^\/*/,"/"),lt=reactExports.useMemo(()=>({basename:st,navigator:it,static:at}),[st,it,at]);typeof rt=="string"&&(rt=parsePath(rt));let{pathname:dt="/",search:ht="",hash:pt="",state:mt=null,key:gt="default"}=rt,vt=reactExports.useMemo(()=>{let bt=stripBasename(dt,st);return bt==null?null:{location:{pathname:bt,search:ht,hash:pt,state:mt,key:gt},navigationType:nt}},[st,dt,ht,pt,mt,gt,nt]);return vt==null?null:reactExports.createElement(NavigationContext.Provider,{value:lt},reactExports.createElement(LocationContext.Provider,{children:tt,value:vt}))}function Routes(_e){let{children:et,location:tt}=_e;return useRoutes(createRoutesFromChildren(et),tt)}new Promise(()=>{});function createRoutesFromChildren(_e,et){et===void 0&&(et=[]);let tt=[];return reactExports.Children.forEach(_e,(rt,nt)=>{if(!reactExports.isValidElement(rt))return;let it=[...et,nt];if(rt.type===reactExports.Fragment){tt.push.apply(tt,createRoutesFromChildren(rt.props.children,it));return}rt.type!==Route&&invariant(!1),!rt.props.index||!rt.props.children||invariant(!1);let at={id:rt.props.id||it.join("-"),caseSensitive:rt.props.caseSensitive,element:rt.props.element,Component:rt.props.Component,index:rt.props.index,path:rt.props.path,loader:rt.props.loader,action:rt.props.action,errorElement:rt.props.errorElement,ErrorBoundary:rt.props.ErrorBoundary,hasErrorBoundary:rt.props.ErrorBoundary!=null||rt.props.errorElement!=null,shouldRevalidate:rt.props.shouldRevalidate,handle:rt.props.handle,lazy:rt.props.lazy};rt.props.children&&(at.children=createRoutesFromChildren(rt.props.children,it)),tt.push(at)}),tt}/** + * React Router DOM v6.16.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */const START_TRANSITION="startTransition",startTransitionImpl=React$1[START_TRANSITION];function BrowserRouter(_e){let{basename:et,children:tt,future:rt,window:nt}=_e,it=reactExports.useRef();it.current==null&&(it.current=createBrowserHistory({window:nt,v5Compat:!0}));let at=it.current,[st,lt]=reactExports.useState({action:at.action,location:at.location}),{v7_startTransition:dt}=rt||{},ht=reactExports.useCallback(pt=>{dt&&startTransitionImpl?startTransitionImpl(()=>lt(pt)):lt(pt)},[lt,dt]);return reactExports.useLayoutEffect(()=>at.listen(ht),[at,ht]),reactExports.createElement(Router,{basename:et,children:tt,location:st.location,navigationType:st.action,navigator:at})}var DataRouterHook;(function(_e){_e.UseScrollRestoration="useScrollRestoration",_e.UseSubmit="useSubmit",_e.UseSubmitFetcher="useSubmitFetcher",_e.UseFetcher="useFetcher"})(DataRouterHook||(DataRouterHook={}));var DataRouterStateHook;(function(_e){_e.UseFetchers="useFetchers",_e.UseScrollRestoration="useScrollRestoration"})(DataRouterStateHook||(DataRouterStateHook={}));const App$1="";function de(){return pipe(filter(_e=>_e!=null))}function Oe(_e){if(_e<2)throw new Error("Minimum size is 2");if(_e>64)throw new Error("Maximum size is 64");let et=2**(_e-1)-1,tt=-et-1;return rt=>{if(rt=rt<<0,rt>et||rtet,rt(_e[_e.Boolean=0]="Boolean",_e[_e.Number=1]="Number",_e[_e.OptionalNumber=2]="OptionalNumber",_e[_e.BigInt=3]="BigInt",_e[_e.OptionalBigInt=4]="OptionalBigInt",_e[_e.String=5]="String",_e[_e.OptionalString=6]="OptionalString",_e[_e.NumberArray=7]="NumberArray",_e[_e.OptionalNumberArray=8]="OptionalNumberArray",_e[_e.BigIntArray=9]="BigIntArray",_e[_e.OptionalBigIntArray=10]="OptionalBigIntArray",_e[_e.StringArray=11]="StringArray",_e[_e.OptionalStringArray=12]="OptionalStringArray",_e[_e.Entity=13]="Entity",_e[_e.OptionalEntity=14]="OptionalEntity",_e[_e.EntityArray=15]="EntityArray",_e[_e.OptionalEntityArray=16]="OptionalEntityArray",_e[_e.T=17]="T",_e[_e.OptionalT=18]="OptionalT",_e))(U||{}),F=(_e=>(_e[_e.Enter=0]="Enter",_e[_e.Exit=1]="Exit",_e[_e.Update=2]="Update",_e[_e.Noop=3]="Noop",_e))(F||{}),W=[14,16,2,8,4,10,6,12,18];function S(_e){return Symbol.for(_e)}function te(_e,et){let tt=x(et,_e);return{entity:_e,component:et,value:[tt,void 0],type:tt==null?3:0}}function Q(_e){return pipe(map(et=>te(et,_e)))}function $(_e){return"getEntitiesWithValue"in _e}function B(_e,et){return Object.keys(_e.schema).every(tt=>tt in et)}function v(_e,et){let tt=S(et);return Object.values(_e.values)[0].has(tt)}function x(_e,et){let tt={},rt=S(et),nt=Object.keys(_e.schema);for(let it of nt){let at=_e.values[it].get(rt);if(at===void 0&&!W.includes(_e.schema[it]))return;tt[it]=at}return tt}function M$1(_e,et){if(!_e&&!et)return!0;if(!_e||!et)return!1;let tt=!0;for(let rt of Object.keys(_e))if(tt=_e[rt]===et[rt],!tt)return!1;return tt}function P(_e,et){if($(_e)&&B(_e,et))return _e.getEntitiesWithValue(et);let tt=new Set;for(let rt of T(_e)){let nt=x(_e,rt);M$1(et,nt)&&tt.add(rt)}return tt}function T(_e){return _e.entities()}var L=(_e=>(_e[_e.Has=0]="Has",_e[_e.HasValue=1]="HasValue",_e[_e.Not=2]="Not",_e[_e.NotValue=3]="NotValue",_e[_e.ProxyRead=4]="ProxyRead",_e[_e.ProxyExpand=5]="ProxyExpand",_e))(L||{});function h(_e,et){if(et.type===0)return v(et.component,_e);if(et.type===1)return M$1(et.value,x(et.component,_e));if(et.type===2)return!v(et.component,_e);if(et.type===3)return!M$1(et.value,x(et.component,_e));throw new Error("Unknown query fragment")}function ce(_e){return _e.type===0||_e.type==1}function z(_e){return _e.type===2||_e.type==3}function fe(_e){return _e.type===5||_e.type==4}function Y(_e,et){return _e&&ce(et)||!_e&&z(et)}function K(_e,et,tt){let rt=_e,nt=!1;for(let it=0;it[...A(it,et,tt-1)]).flat();return new Set([...rt,...nt])}function J(_e,et){let tt=et?new Set([...et]):void 0,rt,nt;for(let it=0;it<_e.length;it++){let at=_e[it];if(fe(at))at.type===4&&(rt=at),at.type===5&&(nt=at);else if(tt)for(let st of[...tt]){let lt=h(st,at);if(rt&&rt.depth>0&&!Y(lt,at)&&(lt=K(st,at,rt)??lt),lt||tt.delete(st),nt&&nt.depth>0){let dt=A(st,nt.component,nt.depth);for(let ht of dt)(h(ht,at)||rt&&rt.depth>0&&K(ht,at,rt))&&tt.add(ht)}}else{if(z(at))throw new Error("First EntityQueryFragment must be Has or HasValue");if(tt=at.type===0?new Set([...T(at.component)]):P(at.component,at.value),nt&&nt.depth>0)for(let st of[...tt])for(let lt of A(st,nt.component,nt.depth))tt.add(lt)}}return tt??new Set}function O(_e,et){let tt=et?.runOnInit||et?.initialSet?J(_e,et.initialSet):new Set,rt=observable$2(tt),nt=from$1(rt).pipe(Q(_e[0].component)),it=_e.findIndex(ht=>[5,4].includes(ht.type))!==-1,at=merge$2(..._e.map(ht=>ht.component.update$)).pipe(it?concatMap(ht=>{let pt=J(_e,et?.initialSet),mt=[];for(let gt of rt)pt.has(gt)||(rt.delete(gt),mt.push({entity:gt,type:1,component:ht.component,value:[void 0,void 0]}));for(let gt of pt)rt.has(gt)?mt.push({entity:gt,type:2,component:ht.component,value:[x(ht.component,gt),void 0]}):(rt.add(gt),mt.push({entity:gt,type:0,component:ht.component,value:[x(ht.component,gt),void 0]}));return of$1(...mt)}):map(ht=>{if(rt.has(ht.entity))return _e.filter(pt=>pt.component.id===ht.component.id).every(pt=>h(ht.entity,pt))?{...ht,type:2}:(rt.delete(ht.entity),{...ht,type:1});if(_e.every(pt=>h(ht.entity,pt)))return rt.add(ht.entity),{...ht,type:0}}),de()),st=new Subject,lt=_e[0].component.world,dt=st.subscribe.bind(st);return st.subscribe=ht=>{let pt=at.subscribe(st);return lt.registerDisposer(()=>pt?.unsubscribe()),dt(ht)},{matching:rt,update$:concat$2(nt,st)}}var fastDeepEqual=function _e(et,tt){if(et===tt)return!0;if(et&&tt&&typeof et=="object"&&typeof tt=="object"){if(et.constructor!==tt.constructor)return!1;var rt,nt,it;if(Array.isArray(et)){if(rt=et.length,rt!=tt.length)return!1;for(nt=rt;nt--!==0;)if(!_e(et[nt],tt[nt]))return!1;return!0}if(et.constructor===RegExp)return et.source===tt.source&&et.flags===tt.flags;if(et.valueOf!==Object.prototype.valueOf)return et.valueOf()===tt.valueOf();if(et.toString!==Object.prototype.toString)return et.toString()===tt.toString();if(it=Object.keys(et),rt=it.length,rt!==Object.keys(tt).length)return!1;for(nt=rt;nt--!==0;)if(!Object.prototype.hasOwnProperty.call(tt,it[nt]))return!1;for(nt=rt;nt--!==0;){var at=it[nt];if(!_e(et[at],tt[at]))return!1}return!0}return et!==et&&tt!==tt};const M=getDefaultExportFromCjs(fastDeepEqual);var a=_e=>{let[et,tt]=reactExports.useState(_e);return reactExports.useEffect(()=>{M(_e,et)||tt(_e)},[_e]),et};function ne(_e,et){let tt=et?.updateOnValueChange??!0,rt=a(_e),nt=reactExports.useMemo(()=>O(rt,{runOnInit:!0}),[rt]),[it,at]=reactExports.useState([...nt.matching]);return reactExports.useEffect(()=>{at([...nt.matching]);let st=nt.update$.pipe(map(()=>[...nt.matching]));tt||(st=st.pipe(distinctUntilChanged((dt,ht)=>M(dt,ht))));let lt=st.subscribe(dt=>at(dt));return()=>lt.unsubscribe()},[nt,tt]),it}const MapConfig={visualWidth:24,visualHeight:16},LimitSpace={x:~~(MapConfig.visualWidth/2),y:~~(MapConfig.visualHeight/2)},CellType={immovable:101,blank:100,delivery:102},DELIVERY={x:4,y:5},MAP_CFG=[[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,101,101,101,101,101,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,100,101,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,100,101,101],[101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,101,101,101,101,101,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,100,101,101],[101,101,101,101,101,101,101,101,101,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,100,101,101],[101,101,101,101,101,101,101,101,101,100,100,101,101,101,101,101,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,100,100,100,100,101,101,101,101,101,101,100,101,100,101,101,101,101,100,101,101,101,101,101,101,101,100,101,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,100,101,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101,101,100,100,100,100,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101,101,100,100,100,100,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101,101,100,100,100,100,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,101,100,100,100,100,101,101,100,100,100,100,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,101,100,100,100,100,101,101,101,101,100,101,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,101,100,100,100,100,101,101,101,101,100,101,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,101],[101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,100,100,100,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,100,100,100,100,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,100,100,100,100,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,100,100,100,100,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101],[101,101,100,100,100,100,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,100,100,101,101,101,101,101,101],[101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,101,101],[101,100,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,100,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,100,100,100,100,100,100,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,100,100,100,100,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,100,100,100,100,100,100,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,100,101,100,100,100,100,101,100,100,100,100,100,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,100,101,100,100,100,100,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,100,100,100,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,100,100,100,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,100,100,100,101,101,101,101,101,101,101,101,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,101,100,100,100,100,100,100,101,101,101,101,101,100,101,101],[101,100,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,100,101,100,100,100,100,100,100,101,101,101,101,101,100,101,101],[101,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,100,100,100,101,100,100,100,100,100,100,101,101,101,101,101,100,101,101],[101,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,101,101,100,100,100,100,100,100,101,101,101,101,101,100,101,101],[101,100,101,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,100,101,101,101,101,100,100,100,100,100,100,100,100,101,101,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,101,101],[101,100,100,100,100,100,100,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101],[101,101,101,101,101,101,101,100,100,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101],[101,101,101,101,101,101,101,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,100,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,100,100,100,100,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101],[101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101]],loadMapData=async()=>MAP_CFG,getNormalMovableCellClass=()=>{const _e=Math.random();return _e<.7?24:_e<.9?25:18},getBorderMovableCellClass=()=>Math.random()<.8?19:20,productWallIndexToFeIndex=_e=>_e<=3?_e+5:_e>=7?_e-7:_e-1,getAroundCellMovableConfig=(_e,et,tt)=>{const rt=et===0,nt=et===_e[0].length-1,it=tt===0,at=tt===_e.length-1,st=!it&&isMovable(_e[tt-1][et]),lt=!at&&isMovable(_e[tt+1][et]),dt=!rt&&isMovable(_e[tt][et-1]),ht=!nt&&isMovable(_e[tt][et+1]),pt=!(it||rt)&&isMovable(_e[tt-1][et-1]),mt=!(it||nt)&&isMovable(_e[tt-1][et+1]),gt=!(at||rt)&&isMovable(_e[tt+1][et-1]),vt=!(at||nt)&&isMovable(_e[tt+1][et+1]);return{topMovable:st,bottomMovable:lt,leftMovable:dt,rightMovable:ht,topLeftMovable:pt,topRightMovable:mt,bottomLeftMovable:gt,bottomRightMovable:vt}},getBlankCellClass=_e=>{const et=Array(9).fill(0),tt=[],{topMovable:rt,rightMovable:nt,topRightMovable:it}=_e;return rt&&nt?(et.forEach((at,st)=>{et[st]=getNormalMovableCellClass()}),it||(et[8]=22)):rt&&!nt?([3,6,9].forEach(at=>{et[at-1]=getBorderMovableCellClass(),tt.push({index:productWallIndexToFeIndex(at),transform:"rotate(90deg)"})}),[1,2,4,5,7,8].forEach(at=>{et[at-1]=getNormalMovableCellClass()})):!rt&&nt?([7,8,9].forEach(at=>{et[at-1]=getBorderMovableCellClass()}),[1,2,3,4,5,6].forEach(at=>{et[at-1]=getNormalMovableCellClass()})):(et[8]=21,et[6]=getBorderMovableCellClass(),et[7]=getBorderMovableCellClass(),[3,6].forEach(at=>{et[at-1]=getBorderMovableCellClass(),tt.push({index:productWallIndexToFeIndex(at),transform:"rotate(90deg)"})}),[1,2,4,5].forEach(at=>{et[at-1]=getNormalMovableCellClass()})),{transforms:tt,wallIndexArr:et}},getImmovableCellClass=_e=>{const et=Array(9).fill(0),tt=[],{topMovable:rt,bottomMovable:nt,leftMovable:it,rightMovable:at,topLeftMovable:st,topRightMovable:lt,bottomLeftMovable:dt,bottomRightMovable:ht}=_e;return[2,5].forEach(pt=>{et[pt-1]=nt?2:5}),[1,4].forEach(pt=>{nt?it?et[pt-1]=1:et[pt-1]=2:it?et[pt-1]=4:et[pt-1]=dt?4:5}),[3,6].forEach(pt=>{nt?at?et[pt-1]=3:et[pt-1]=2:at?et[pt-1]=6:et[pt-1]=ht?6:5}),rt?et[7]=12:et[7]=nt?10:5,rt?et[6]=it?8:12:nt?et[6]=it?7:10:it?et[6]=4:st?et[6]=9:!st&&!dt?et[6]=5:!st&&dt&&(et[6]=16),rt?at?et[8]=lt?13:6:et[8]=12:at?et[8]=ht&&nt?14:6:et[8]=lt?15:nt?10:ht?17:5,{transforms:tt,wallIndexArr:et}},getDeliveryCellClass=()=>({transforms:[{index:0,transform:"rotate(-90deg)"},{index:3,transform:"rotate(-90deg)"},{index:5,transform:"rotate(90deg)"},{index:6,transform:"rotate(180deg)"},{index:7,transform:"rotate(180deg)"},{index:8,transform:"rotate(90deg)"}],wallIndexArr:[27,26,27,26,28,26,27,26,27]}),getCellClass=(_e,et)=>{const{x:tt,y:rt}=et,nt=getAroundCellMovableConfig(_e,tt,rt);let it;switch(_e[rt][tt]){case CellType.delivery:it=getDeliveryCellClass();break;case CellType.blank:it=getBlankCellClass(nt);break;default:it=getImmovableCellClass(nt)}const{transforms:at,wallIndexArr:st}=it;return{transforms:at,classList:[...st.slice(6),...st.slice(3,6),...st.slice(0,3)]}},isMovable=_e=>_e!==CellType.immovable,bfs=(_e,et,tt)=>{const rt=_e.map(at=>[...at]);rt[et.y][et.x]=0;let nt=[[et]];const it=[[-1,0],[1,0],[0,-1],[0,1]];do{const at=[];if(nt.some(lt=>{const dt=lt[lt.length-1];return it.some(ht=>{const[pt,mt]=ht,gt=dt.x+pt,vt=dt.y+mt;return rt[vt][gt]===1&&(at.push([...lt,{x:gt,y:vt}]),rt[vt][gt]=0),gt===tt.x&&vt===tt.y})}))return at[at.length-1];nt=at}while(nt.length!==0);return[]},simplifyMapData=_e=>_e.length===0?_e:_e.map(et=>et.map(tt=>isMovable(tt)?1:0)),triggerVertexUpdate=(_e,et,tt,rt)=>{const nt=_e.x-et.x,it=_e.y-et.y;if(nt===1){const at=_e.x-rt.x>LimitSpace.x,st=rt.x+MapConfig.visualWidth0;at&&st&&rt.x--}else if(it===1){const at=_e.y-rt.y>LimitSpace.y,st=rt.y+MapConfig.visualHeight0;at&&st&&rt.y--}return{...rt}},getDistance=(_e,et)=>Math.sqrt(Math.pow(et.x-_e.x,2)+Math.pow(et.y-_e.y,2)),delay=(_e,et)=>new Promise(tt=>{setTimeout(tt.bind(null,et),_e)});Promise.prototype.delay=function(_e){return this.then(function(et){return delay(_e,et)})};const styles$f="",styles$e="",styles$d="",Fog=()=>jsxRuntimeExports.jsx("div",{className:"mi-map-fog"}),styles$c="",Appearance$1=_e=>{const{handheld:et,head:tt,clothes:rt,toward:nt}=_e;return jsxRuntimeExports.jsxs("div",{className:`mi-appearance-wrapper ${nt==="Right"?"appearance-right":""}`,children:[jsxRuntimeExports.jsx("img",{src:"/assets/img/duck/default.png",alt:"",className:"user-appearance"}),rt&&jsxRuntimeExports.jsx("img",{src:`/assets/img/duck/Clothes/${rt}.png`,alt:""}),et&&jsxRuntimeExports.jsx("img",{src:`/assets/img/duck/Handheld/${et}.png`,alt:""}),tt&&jsxRuntimeExports.jsx("img",{src:`/assets/img/duck/Head/${tt}.png`,alt:""})]})},PlayersMockData=[{id:3,username:"Me",x:5,y:4,gem:0,equip:{head:"ChristmasHat",handheld:"Beer",clothes:"Chain"}},{id:1,username:"Piter",x:18,y:10,gem:2,equip:{head:"HiTechGlasses",handheld:"Guitar",clothes:"Niddle"}},{id:6,username:"Tom",gem:5,x:18,y:13,equip:{head:"Robber",handheld:"Shield",clothes:"Deliver"}},{id:8,username:"Stone",x:18,y:13,gem:8,equip:{head:"Turban",handheld:"Wand",clothes:"Shirt"}}],CurIdMockData=3,GameContext=reactExports.createContext({curId:CurIdMockData,players:PlayersMockData,mapData:[[]],onPlayerMove:()=>{},treasureChest:[],openTreasureChest:()=>{}}),Player=_e=>{const{username:et,addr:tt,equip:rt,gem:nt=0,toward:it,waiting:at}=_e,{curAddr:st}=reactExports.useContext(GameContext);return jsxRuntimeExports.jsxs("div",{className:"mi-player",children:[jsxRuntimeExports.jsxs("div",{className:"player-info",children:[nt>0&&jsxRuntimeExports.jsx("span",{className:"gem-num",children:nt}),jsxRuntimeExports.jsx("span",{className:"player-username",children:et})]}),jsxRuntimeExports.jsx(Appearance$1,{toward:it,...rt}),tt===st&&jsxRuntimeExports.jsx(Fog,{}),at&&jsxRuntimeExports.jsx("div",{className:"waiting-tip",children:"Wait TX"})]})},styles$b="",TreasureChest=_e=>{const{openingBox:et}=reactExports.useContext(GameContext),tt=et===_e.id;return jsxRuntimeExports.jsx("div",{className:"mi-treasure-chest",children:jsxRuntimeExports.jsx("div",{className:`open-loading ${tt?"opening":""}`,children:jsxRuntimeExports.jsx("div",{className:"progress"})})})},MapCell=_e=>{const{coordinate:{x:et,y:tt},cellClassCache:rt,treasureChest:nt=[],players:it=[],onMoveTo:at,onExeAction:st,prevActionCoordinate:lt}=_e,[dt,ht]=reactExports.useState(!1),[pt,mt]=reactExports.useState(-1),{mapData:gt,openTreasureChest:vt,setStartBattle:bt,showUserInfo:yt,previewPath:xt,renderPreviewPaths:wt=[],curAddr:_t,players:At}=reactExports.useContext(GameContext),Tt=DELIVERY.x===et&&DELIVERY.y===tt,kt=isMovable(gt[tt][et]);rt[`${tt}-${et}`]||(rt[`${tt}-${et}`]=getCellClass(gt,{x:et,y:tt}));const{transforms:jt,classList:Lt}=rt[`${tt}-${et}`],qt=Bt=>{if(st({x:et,y:tt}),Bt.preventDefault(),it.length>0||nt.length>0){Dt();return}kt&&at({x:et,y:tt})},Dt=()=>{st({x:et,y:tt});const Bt=At.find(Et=>Et.addr===_t);if(Bt){if(nt.length>0&&getDistance({x:et,y:tt},Bt)<=1){vt(nt[0].id);return}it.length!==0&&(ht(!0),mt(it[0].addr))}},zt=(Bt,Et)=>{Bt.stopPropagation(),ht(!1);const Ct=it.find(Pt=>Pt.addr===pt);switch(Et){case"move":at({x:et,y:tt});break;case"info":yt(Ct);break;case"attack":bt(Ct);break}};reactExports.useEffect(()=>{(lt.x!==et||lt.y!==tt)&&ht(!1)},[lt.x,lt.y]);const Zt=wt.find(Bt=>Bt.x===et&&Bt.y===tt);return jsxRuntimeExports.jsxs("div",{className:"mi-map-cell",onContextMenu:qt,onClick:Dt,onMouseEnter:()=>{kt&&xt(et,tt)},children:[jsxRuntimeExports.jsx("div",{className:"cell-map-box",children:Lt.map((Bt,Et)=>{const Ct=jt.find(Ot=>Ot.index===Et),Pt=Ct?{transform:Ct.transform}:{};return jsxRuntimeExports.jsx("div",{className:`inner-cell mi-wall-${Bt}`,style:Pt},`${et}-${tt}-${Et}`)})}),Zt&&jsxRuntimeExports.jsx("div",{className:`render-preview-path ${Zt.movable?"movable":""}`}),Tt&&jsxRuntimeExports.jsx("div",{className:"cell-map-delivery"}),nt.map(Bt=>reactExports.createElement(TreasureChest,{...Bt,key:Bt.id})),!Tt&&it.map(Bt=>jsxRuntimeExports.jsx(Player,{...Bt},Bt.addr)),dt&&jsxRuntimeExports.jsxs("div",{className:"mi-cell-user-menu",children:[it.length>1&&jsxRuntimeExports.jsx("ul",{className:"mi-cell-username-list",children:it.slice(0,3).map(Bt=>jsxRuntimeExports.jsx("li",{className:Bt.addr===pt?"active":"",onClick:Et=>{mt(Bt.addr),Et.stopPropagation()},children:Bt.username},Bt.addr))}),jsxRuntimeExports.jsxs("ul",{className:"mi-cell-action-menu",children:[pt!==_t&&jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:Bt=>zt(Bt,"move"),children:"move"})}),pt!==_t&&jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:Bt=>zt(Bt,"attack"),children:"attack"})}),jsxRuntimeExports.jsx("li",{children:jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:Bt=>zt(Bt,"info"),children:"info"})})]})]})]})},styles$a="";var dist={},MerkleTree$1={},buffer={},base64Js={};base64Js.byteLength=byteLength;base64Js.toByteArray=toByteArray;base64Js.fromByteArray=fromByteArray;var lookup=[],revLookup=[],Arr=typeof Uint8Array<"u"?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var tt=_e.indexOf("=");tt===-1&&(tt=et);var rt=tt===et?0:4-tt%4;return[tt,rt]}function byteLength(_e){var et=getLens(_e),tt=et[0],rt=et[1];return(tt+rt)*3/4-rt}function _byteLength(_e,et,tt){return(et+tt)*3/4-tt}function toByteArray(_e){var et,tt=getLens(_e),rt=tt[0],nt=tt[1],it=new Arr(_byteLength(_e,rt,nt)),at=0,st=nt>0?rt-4:rt,lt;for(lt=0;lt>16&255,it[at++]=et>>8&255,it[at++]=et&255;return nt===2&&(et=revLookup[_e.charCodeAt(lt)]<<2|revLookup[_e.charCodeAt(lt+1)]>>4,it[at++]=et&255),nt===1&&(et=revLookup[_e.charCodeAt(lt)]<<10|revLookup[_e.charCodeAt(lt+1)]<<4|revLookup[_e.charCodeAt(lt+2)]>>2,it[at++]=et>>8&255,it[at++]=et&255),it}function tripletToBase64(_e){return lookup[_e>>18&63]+lookup[_e>>12&63]+lookup[_e>>6&63]+lookup[_e&63]}function encodeChunk(_e,et,tt){for(var rt,nt=[],it=et;itst?st:at+it));return rt===1?(et=_e[tt-1],nt.push(lookup[et>>2]+lookup[et<<4&63]+"==")):rt===2&&(et=(_e[tt-2]<<8)+_e[tt-1],nt.push(lookup[et>>10]+lookup[et>>4&63]+lookup[et<<2&63]+"=")),nt.join("")}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ieee754.read=function(_e,et,tt,rt,nt){var it,at,st=nt*8-rt-1,lt=(1<>1,ht=-7,pt=tt?nt-1:0,mt=tt?-1:1,gt=_e[et+pt];for(pt+=mt,it=gt&(1<<-ht)-1,gt>>=-ht,ht+=st;ht>0;it=it*256+_e[et+pt],pt+=mt,ht-=8);for(at=it&(1<<-ht)-1,it>>=-ht,ht+=rt;ht>0;at=at*256+_e[et+pt],pt+=mt,ht-=8);if(it===0)it=1-dt;else{if(it===lt)return at?NaN:(gt?-1:1)*(1/0);at=at+Math.pow(2,rt),it=it-dt}return(gt?-1:1)*at*Math.pow(2,it-rt)};ieee754.write=function(_e,et,tt,rt,nt,it){var at,st,lt,dt=it*8-nt-1,ht=(1<>1,mt=nt===23?Math.pow(2,-24)-Math.pow(2,-77):0,gt=rt?0:it-1,vt=rt?1:-1,bt=et<0||et===0&&1/et<0?1:0;for(et=Math.abs(et),isNaN(et)||et===1/0?(st=isNaN(et)?1:0,at=ht):(at=Math.floor(Math.log(et)/Math.LN2),et*(lt=Math.pow(2,-at))<1&&(at--,lt*=2),at+pt>=1?et+=mt/lt:et+=mt*Math.pow(2,1-pt),et*lt>=2&&(at++,lt/=2),at+pt>=ht?(st=0,at=ht):at+pt>=1?(st=(et*lt-1)*Math.pow(2,nt),at=at+pt):(st=et*Math.pow(2,pt-1)*Math.pow(2,nt),at=0));nt>=8;_e[tt+gt]=st&255,gt+=vt,st/=256,nt-=8);for(at=at<0;_e[tt+gt]=at&255,gt+=vt,at/=256,dt-=8);_e[tt+gt-vt]|=bt*128};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */(function(_e){const et=base64Js,tt=ieee754,rt=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;_e.Buffer=st,_e.SlowBuffer=wt,_e.INSPECT_MAX_BYTES=50;const nt=2147483647;_e.kMaxLength=nt,st.TYPED_ARRAY_SUPPORT=it(),!st.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function it(){try{const Ht=new Uint8Array(1),It={foo:function(){return 42}};return Object.setPrototypeOf(It,Uint8Array.prototype),Object.setPrototypeOf(Ht,It),Ht.foo()===42}catch{return!1}}Object.defineProperty(st.prototype,"parent",{enumerable:!0,get:function(){if(st.isBuffer(this))return this.buffer}}),Object.defineProperty(st.prototype,"offset",{enumerable:!0,get:function(){if(st.isBuffer(this))return this.byteOffset}});function at(Ht){if(Ht>nt)throw new RangeError('The value "'+Ht+'" is invalid for option "size"');const It=new Uint8Array(Ht);return Object.setPrototypeOf(It,st.prototype),It}function st(Ht,It,Nt){if(typeof Ht=="number"){if(typeof It=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return pt(Ht)}return lt(Ht,It,Nt)}st.poolSize=8192;function lt(Ht,It,Nt){if(typeof Ht=="string")return mt(Ht,It);if(ArrayBuffer.isView(Ht))return vt(Ht);if(Ht==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ht);if(Er(Ht,ArrayBuffer)||Ht&&Er(Ht.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Er(Ht,SharedArrayBuffer)||Ht&&Er(Ht.buffer,SharedArrayBuffer)))return bt(Ht,It,Nt);if(typeof Ht=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Gt=Ht.valueOf&&Ht.valueOf();if(Gt!=null&&Gt!==Ht)return st.from(Gt,It,Nt);const er=yt(Ht);if(er)return er;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Ht[Symbol.toPrimitive]=="function")return st.from(Ht[Symbol.toPrimitive]("string"),It,Nt);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Ht)}st.from=function(Ht,It,Nt){return lt(Ht,It,Nt)},Object.setPrototypeOf(st.prototype,Uint8Array.prototype),Object.setPrototypeOf(st,Uint8Array);function dt(Ht){if(typeof Ht!="number")throw new TypeError('"size" argument must be of type number');if(Ht<0)throw new RangeError('The value "'+Ht+'" is invalid for option "size"')}function ht(Ht,It,Nt){return dt(Ht),Ht<=0?at(Ht):It!==void 0?typeof Nt=="string"?at(Ht).fill(It,Nt):at(Ht).fill(It):at(Ht)}st.alloc=function(Ht,It,Nt){return ht(Ht,It,Nt)};function pt(Ht){return dt(Ht),at(Ht<0?0:xt(Ht)|0)}st.allocUnsafe=function(Ht){return pt(Ht)},st.allocUnsafeSlow=function(Ht){return pt(Ht)};function mt(Ht,It){if((typeof It!="string"||It==="")&&(It="utf8"),!st.isEncoding(It))throw new TypeError("Unknown encoding: "+It);const Nt=_t(Ht,It)|0;let Gt=at(Nt);const er=Gt.write(Ht,It);return er!==Nt&&(Gt=Gt.slice(0,er)),Gt}function gt(Ht){const It=Ht.length<0?0:xt(Ht.length)|0,Nt=at(It);for(let Gt=0;Gt=nt)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+nt.toString(16)+" bytes");return Ht|0}function wt(Ht){return+Ht!=Ht&&(Ht=0),st.alloc(+Ht)}st.isBuffer=function(It){return It!=null&&It._isBuffer===!0&&It!==st.prototype},st.compare=function(It,Nt){if(Er(It,Uint8Array)&&(It=st.from(It,It.offset,It.byteLength)),Er(Nt,Uint8Array)&&(Nt=st.from(Nt,Nt.offset,Nt.byteLength)),!st.isBuffer(It)||!st.isBuffer(Nt))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(It===Nt)return 0;let Gt=It.length,er=Nt.length;for(let Qt=0,tr=Math.min(Gt,er);Qter.length?(st.isBuffer(tr)||(tr=st.from(tr)),tr.copy(er,Qt)):Uint8Array.prototype.set.call(er,tr,Qt);else if(st.isBuffer(tr))tr.copy(er,Qt);else throw new TypeError('"list" argument must be an Array of Buffers');Qt+=tr.length}return er};function _t(Ht,It){if(st.isBuffer(Ht))return Ht.length;if(ArrayBuffer.isView(Ht)||Er(Ht,ArrayBuffer))return Ht.byteLength;if(typeof Ht!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Ht);const Nt=Ht.length,Gt=arguments.length>2&&arguments[2]===!0;if(!Gt&&Nt===0)return 0;let er=!1;for(;;)switch(It){case"ascii":case"latin1":case"binary":return Nt;case"utf8":case"utf-8":return ur(Ht).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Nt*2;case"hex":return Nt>>>1;case"base64":return gr(Ht).length;default:if(er)return Gt?-1:ur(Ht).length;It=(""+It).toLowerCase(),er=!0}}st.byteLength=_t;function At(Ht,It,Nt){let Gt=!1;if((It===void 0||It<0)&&(It=0),It>this.length||((Nt===void 0||Nt>this.length)&&(Nt=this.length),Nt<=0)||(Nt>>>=0,It>>>=0,Nt<=It))return"";for(Ht||(Ht="utf8");;)switch(Ht){case"hex":return Ut(this,It,Nt);case"utf8":case"utf-8":return Et(this,It,Nt);case"ascii":return Ot(this,It,Nt);case"latin1":case"binary":return Mt(this,It,Nt);case"base64":return Bt(this,It,Nt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Wt(this,It,Nt);default:if(Gt)throw new TypeError("Unknown encoding: "+Ht);Ht=(Ht+"").toLowerCase(),Gt=!0}}st.prototype._isBuffer=!0;function Tt(Ht,It,Nt){const Gt=Ht[It];Ht[It]=Ht[Nt],Ht[Nt]=Gt}st.prototype.swap16=function(){const It=this.length;if(It%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Nt=0;NtNt&&(It+=" ... "),""},rt&&(st.prototype[rt]=st.prototype.inspect),st.prototype.compare=function(It,Nt,Gt,er,Qt){if(Er(It,Uint8Array)&&(It=st.from(It,It.offset,It.byteLength)),!st.isBuffer(It))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof It);if(Nt===void 0&&(Nt=0),Gt===void 0&&(Gt=It?It.length:0),er===void 0&&(er=0),Qt===void 0&&(Qt=this.length),Nt<0||Gt>It.length||er<0||Qt>this.length)throw new RangeError("out of range index");if(er>=Qt&&Nt>=Gt)return 0;if(er>=Qt)return-1;if(Nt>=Gt)return 1;if(Nt>>>=0,Gt>>>=0,er>>>=0,Qt>>>=0,this===It)return 0;let tr=Qt-er,dr=Gt-Nt;const xr=Math.min(tr,dr),Jt=this.slice(er,Qt),sr=It.slice(Nt,Gt);for(let cr=0;cr2147483647?Nt=2147483647:Nt<-2147483648&&(Nt=-2147483648),Nt=+Nt,_r(Nt)&&(Nt=er?0:Ht.length-1),Nt<0&&(Nt=Ht.length+Nt),Nt>=Ht.length){if(er)return-1;Nt=Ht.length-1}else if(Nt<0)if(er)Nt=0;else return-1;if(typeof It=="string"&&(It=st.from(It,Gt)),st.isBuffer(It))return It.length===0?-1:jt(Ht,It,Nt,Gt,er);if(typeof It=="number")return It=It&255,typeof Uint8Array.prototype.indexOf=="function"?er?Uint8Array.prototype.indexOf.call(Ht,It,Nt):Uint8Array.prototype.lastIndexOf.call(Ht,It,Nt):jt(Ht,[It],Nt,Gt,er);throw new TypeError("val must be string, number or Buffer")}function jt(Ht,It,Nt,Gt,er){let Qt=1,tr=Ht.length,dr=It.length;if(Gt!==void 0&&(Gt=String(Gt).toLowerCase(),Gt==="ucs2"||Gt==="ucs-2"||Gt==="utf16le"||Gt==="utf-16le")){if(Ht.length<2||It.length<2)return-1;Qt=2,tr/=2,dr/=2,Nt/=2}function xr(sr,cr){return Qt===1?sr[cr]:sr.readUInt16BE(cr*Qt)}let Jt;if(er){let sr=-1;for(Jt=Nt;Jttr&&(Nt=tr-dr),Jt=Nt;Jt>=0;Jt--){let sr=!0;for(let cr=0;crer&&(Gt=er)):Gt=er;const Qt=It.length;Gt>Qt/2&&(Gt=Qt/2);let tr;for(tr=0;tr>>0,isFinite(Gt)?(Gt=Gt>>>0,er===void 0&&(er="utf8")):(er=Gt,Gt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Qt=this.length-Nt;if((Gt===void 0||Gt>Qt)&&(Gt=Qt),It.length>0&&(Gt<0||Nt<0)||Nt>this.length)throw new RangeError("Attempt to write outside buffer bounds");er||(er="utf8");let tr=!1;for(;;)switch(er){case"hex":return Lt(this,It,Nt,Gt);case"utf8":case"utf-8":return qt(this,It,Nt,Gt);case"ascii":case"latin1":case"binary":return Dt(this,It,Nt,Gt);case"base64":return zt(this,It,Nt,Gt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Zt(this,It,Nt,Gt);default:if(tr)throw new TypeError("Unknown encoding: "+er);er=(""+er).toLowerCase(),tr=!0}},st.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Bt(Ht,It,Nt){return It===0&&Nt===Ht.length?et.fromByteArray(Ht):et.fromByteArray(Ht.slice(It,Nt))}function Et(Ht,It,Nt){Nt=Math.min(Ht.length,Nt);const Gt=[];let er=It;for(;er239?4:Qt>223?3:Qt>191?2:1;if(er+dr<=Nt){let xr,Jt,sr,cr;switch(dr){case 1:Qt<128&&(tr=Qt);break;case 2:xr=Ht[er+1],(xr&192)===128&&(cr=(Qt&31)<<6|xr&63,cr>127&&(tr=cr));break;case 3:xr=Ht[er+1],Jt=Ht[er+2],(xr&192)===128&&(Jt&192)===128&&(cr=(Qt&15)<<12|(xr&63)<<6|Jt&63,cr>2047&&(cr<55296||cr>57343)&&(tr=cr));break;case 4:xr=Ht[er+1],Jt=Ht[er+2],sr=Ht[er+3],(xr&192)===128&&(Jt&192)===128&&(sr&192)===128&&(cr=(Qt&15)<<18|(xr&63)<<12|(Jt&63)<<6|sr&63,cr>65535&&cr<1114112&&(tr=cr))}}tr===null?(tr=65533,dr=1):tr>65535&&(tr-=65536,Gt.push(tr>>>10&1023|55296),tr=56320|tr&1023),Gt.push(tr),er+=dr}return Pt(Gt)}const Ct=4096;function Pt(Ht){const It=Ht.length;if(It<=Ct)return String.fromCharCode.apply(String,Ht);let Nt="",Gt=0;for(;GtGt)&&(Nt=Gt);let er="";for(let Qt=It;QtGt&&(It=Gt),Nt<0?(Nt+=Gt,Nt<0&&(Nt=0)):Nt>Gt&&(Nt=Gt),NtNt)throw new RangeError("Trying to access beyond buffer length")}st.prototype.readUintLE=st.prototype.readUIntLE=function(It,Nt,Gt){It=It>>>0,Nt=Nt>>>0,Gt||$t(It,Nt,this.length);let er=this[It],Qt=1,tr=0;for(;++tr>>0,Nt=Nt>>>0,Gt||$t(It,Nt,this.length);let er=this[It+--Nt],Qt=1;for(;Nt>0&&(Qt*=256);)er+=this[It+--Nt]*Qt;return er},st.prototype.readUint8=st.prototype.readUInt8=function(It,Nt){return It=It>>>0,Nt||$t(It,1,this.length),this[It]},st.prototype.readUint16LE=st.prototype.readUInt16LE=function(It,Nt){return It=It>>>0,Nt||$t(It,2,this.length),this[It]|this[It+1]<<8},st.prototype.readUint16BE=st.prototype.readUInt16BE=function(It,Nt){return It=It>>>0,Nt||$t(It,2,this.length),this[It]<<8|this[It+1]},st.prototype.readUint32LE=st.prototype.readUInt32LE=function(It,Nt){return It=It>>>0,Nt||$t(It,4,this.length),(this[It]|this[It+1]<<8|this[It+2]<<16)+this[It+3]*16777216},st.prototype.readUint32BE=st.prototype.readUInt32BE=function(It,Nt){return It=It>>>0,Nt||$t(It,4,this.length),this[It]*16777216+(this[It+1]<<16|this[It+2]<<8|this[It+3])},st.prototype.readBigUInt64LE=Dr(function(It){It=It>>>0,pr(It,"offset");const Nt=this[It],Gt=this[It+7];(Nt===void 0||Gt===void 0)&&nr(It,this.length-8);const er=Nt+this[++It]*2**8+this[++It]*2**16+this[++It]*2**24,Qt=this[++It]+this[++It]*2**8+this[++It]*2**16+Gt*2**24;return BigInt(er)+(BigInt(Qt)<>>0,pr(It,"offset");const Nt=this[It],Gt=this[It+7];(Nt===void 0||Gt===void 0)&&nr(It,this.length-8);const er=Nt*2**24+this[++It]*2**16+this[++It]*2**8+this[++It],Qt=this[++It]*2**24+this[++It]*2**16+this[++It]*2**8+Gt;return(BigInt(er)<>>0,Nt=Nt>>>0,Gt||$t(It,Nt,this.length);let er=this[It],Qt=1,tr=0;for(;++tr=Qt&&(er-=Math.pow(2,8*Nt)),er},st.prototype.readIntBE=function(It,Nt,Gt){It=It>>>0,Nt=Nt>>>0,Gt||$t(It,Nt,this.length);let er=Nt,Qt=1,tr=this[It+--er];for(;er>0&&(Qt*=256);)tr+=this[It+--er]*Qt;return Qt*=128,tr>=Qt&&(tr-=Math.pow(2,8*Nt)),tr},st.prototype.readInt8=function(It,Nt){return It=It>>>0,Nt||$t(It,1,this.length),this[It]&128?(255-this[It]+1)*-1:this[It]},st.prototype.readInt16LE=function(It,Nt){It=It>>>0,Nt||$t(It,2,this.length);const Gt=this[It]|this[It+1]<<8;return Gt&32768?Gt|4294901760:Gt},st.prototype.readInt16BE=function(It,Nt){It=It>>>0,Nt||$t(It,2,this.length);const Gt=this[It+1]|this[It]<<8;return Gt&32768?Gt|4294901760:Gt},st.prototype.readInt32LE=function(It,Nt){return It=It>>>0,Nt||$t(It,4,this.length),this[It]|this[It+1]<<8|this[It+2]<<16|this[It+3]<<24},st.prototype.readInt32BE=function(It,Nt){return It=It>>>0,Nt||$t(It,4,this.length),this[It]<<24|this[It+1]<<16|this[It+2]<<8|this[It+3]},st.prototype.readBigInt64LE=Dr(function(It){It=It>>>0,pr(It,"offset");const Nt=this[It],Gt=this[It+7];(Nt===void 0||Gt===void 0)&&nr(It,this.length-8);const er=this[It+4]+this[It+5]*2**8+this[It+6]*2**16+(Gt<<24);return(BigInt(er)<>>0,pr(It,"offset");const Nt=this[It],Gt=this[It+7];(Nt===void 0||Gt===void 0)&&nr(It,this.length-8);const er=(Nt<<24)+this[++It]*2**16+this[++It]*2**8+this[++It];return(BigInt(er)<>>0,Nt||$t(It,4,this.length),tt.read(this,It,!0,23,4)},st.prototype.readFloatBE=function(It,Nt){return It=It>>>0,Nt||$t(It,4,this.length),tt.read(this,It,!1,23,4)},st.prototype.readDoubleLE=function(It,Nt){return It=It>>>0,Nt||$t(It,8,this.length),tt.read(this,It,!0,52,8)},st.prototype.readDoubleBE=function(It,Nt){return It=It>>>0,Nt||$t(It,8,this.length),tt.read(this,It,!1,52,8)};function St(Ht,It,Nt,Gt,er,Qt){if(!st.isBuffer(Ht))throw new TypeError('"buffer" argument must be a Buffer instance');if(It>er||ItHt.length)throw new RangeError("Index out of range")}st.prototype.writeUintLE=st.prototype.writeUIntLE=function(It,Nt,Gt,er){if(It=+It,Nt=Nt>>>0,Gt=Gt>>>0,!er){const dr=Math.pow(2,8*Gt)-1;St(this,It,Nt,Gt,dr,0)}let Qt=1,tr=0;for(this[Nt]=It&255;++tr>>0,Gt=Gt>>>0,!er){const dr=Math.pow(2,8*Gt)-1;St(this,It,Nt,Gt,dr,0)}let Qt=Gt-1,tr=1;for(this[Nt+Qt]=It&255;--Qt>=0&&(tr*=256);)this[Nt+Qt]=It/tr&255;return Nt+Gt},st.prototype.writeUint8=st.prototype.writeUInt8=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,1,255,0),this[Nt]=It&255,Nt+1},st.prototype.writeUint16LE=st.prototype.writeUInt16LE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,2,65535,0),this[Nt]=It&255,this[Nt+1]=It>>>8,Nt+2},st.prototype.writeUint16BE=st.prototype.writeUInt16BE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,2,65535,0),this[Nt]=It>>>8,this[Nt+1]=It&255,Nt+2},st.prototype.writeUint32LE=st.prototype.writeUInt32LE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,4,4294967295,0),this[Nt+3]=It>>>24,this[Nt+2]=It>>>16,this[Nt+1]=It>>>8,this[Nt]=It&255,Nt+4},st.prototype.writeUint32BE=st.prototype.writeUInt32BE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,4,4294967295,0),this[Nt]=It>>>24,this[Nt+1]=It>>>16,this[Nt+2]=It>>>8,this[Nt+3]=It&255,Nt+4};function Ft(Ht,It,Nt,Gt,er){ir(It,Gt,er,Ht,Nt,7);let Qt=Number(It&BigInt(4294967295));Ht[Nt++]=Qt,Qt=Qt>>8,Ht[Nt++]=Qt,Qt=Qt>>8,Ht[Nt++]=Qt,Qt=Qt>>8,Ht[Nt++]=Qt;let tr=Number(It>>BigInt(32)&BigInt(4294967295));return Ht[Nt++]=tr,tr=tr>>8,Ht[Nt++]=tr,tr=tr>>8,Ht[Nt++]=tr,tr=tr>>8,Ht[Nt++]=tr,Nt}function Vt(Ht,It,Nt,Gt,er){ir(It,Gt,er,Ht,Nt,7);let Qt=Number(It&BigInt(4294967295));Ht[Nt+7]=Qt,Qt=Qt>>8,Ht[Nt+6]=Qt,Qt=Qt>>8,Ht[Nt+5]=Qt,Qt=Qt>>8,Ht[Nt+4]=Qt;let tr=Number(It>>BigInt(32)&BigInt(4294967295));return Ht[Nt+3]=tr,tr=tr>>8,Ht[Nt+2]=tr,tr=tr>>8,Ht[Nt+1]=tr,tr=tr>>8,Ht[Nt]=tr,Nt+8}st.prototype.writeBigUInt64LE=Dr(function(It,Nt=0){return Ft(this,It,Nt,BigInt(0),BigInt("0xffffffffffffffff"))}),st.prototype.writeBigUInt64BE=Dr(function(It,Nt=0){return Vt(this,It,Nt,BigInt(0),BigInt("0xffffffffffffffff"))}),st.prototype.writeIntLE=function(It,Nt,Gt,er){if(It=+It,Nt=Nt>>>0,!er){const xr=Math.pow(2,8*Gt-1);St(this,It,Nt,Gt,xr-1,-xr)}let Qt=0,tr=1,dr=0;for(this[Nt]=It&255;++Qt>0)-dr&255;return Nt+Gt},st.prototype.writeIntBE=function(It,Nt,Gt,er){if(It=+It,Nt=Nt>>>0,!er){const xr=Math.pow(2,8*Gt-1);St(this,It,Nt,Gt,xr-1,-xr)}let Qt=Gt-1,tr=1,dr=0;for(this[Nt+Qt]=It&255;--Qt>=0&&(tr*=256);)It<0&&dr===0&&this[Nt+Qt+1]!==0&&(dr=1),this[Nt+Qt]=(It/tr>>0)-dr&255;return Nt+Gt},st.prototype.writeInt8=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,1,127,-128),It<0&&(It=255+It+1),this[Nt]=It&255,Nt+1},st.prototype.writeInt16LE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,2,32767,-32768),this[Nt]=It&255,this[Nt+1]=It>>>8,Nt+2},st.prototype.writeInt16BE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,2,32767,-32768),this[Nt]=It>>>8,this[Nt+1]=It&255,Nt+2},st.prototype.writeInt32LE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,4,2147483647,-2147483648),this[Nt]=It&255,this[Nt+1]=It>>>8,this[Nt+2]=It>>>16,this[Nt+3]=It>>>24,Nt+4},st.prototype.writeInt32BE=function(It,Nt,Gt){return It=+It,Nt=Nt>>>0,Gt||St(this,It,Nt,4,2147483647,-2147483648),It<0&&(It=4294967295+It+1),this[Nt]=It>>>24,this[Nt+1]=It>>>16,this[Nt+2]=It>>>8,this[Nt+3]=It&255,Nt+4},st.prototype.writeBigInt64LE=Dr(function(It,Nt=0){return Ft(this,It,Nt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),st.prototype.writeBigInt64BE=Dr(function(It,Nt=0){return Vt(this,It,Nt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Rt(Ht,It,Nt,Gt,er,Qt){if(Nt+Gt>Ht.length)throw new RangeError("Index out of range");if(Nt<0)throw new RangeError("Index out of range")}function Yt(Ht,It,Nt,Gt,er){return It=+It,Nt=Nt>>>0,er||Rt(Ht,It,Nt,4),tt.write(Ht,It,Nt,Gt,23,4),Nt+4}st.prototype.writeFloatLE=function(It,Nt,Gt){return Yt(this,It,Nt,!0,Gt)},st.prototype.writeFloatBE=function(It,Nt,Gt){return Yt(this,It,Nt,!1,Gt)};function Kt(Ht,It,Nt,Gt,er){return It=+It,Nt=Nt>>>0,er||Rt(Ht,It,Nt,8),tt.write(Ht,It,Nt,Gt,52,8),Nt+8}st.prototype.writeDoubleLE=function(It,Nt,Gt){return Kt(this,It,Nt,!0,Gt)},st.prototype.writeDoubleBE=function(It,Nt,Gt){return Kt(this,It,Nt,!1,Gt)},st.prototype.copy=function(It,Nt,Gt,er){if(!st.isBuffer(It))throw new TypeError("argument should be a Buffer");if(Gt||(Gt=0),!er&&er!==0&&(er=this.length),Nt>=It.length&&(Nt=It.length),Nt||(Nt=0),er>0&&er=this.length)throw new RangeError("Index out of range");if(er<0)throw new RangeError("sourceEnd out of bounds");er>this.length&&(er=this.length),It.length-Nt>>0,Gt=Gt===void 0?this.length:Gt>>>0,It||(It=0);let Qt;if(typeof It=="number")for(Qt=Nt;Qt2**32?er=or(String(Nt)):typeof Nt=="bigint"&&(er=String(Nt),(Nt>BigInt(2)**BigInt(32)||Nt<-(BigInt(2)**BigInt(32)))&&(er=or(er)),er+="n"),Gt+=` It must be ${It}. Received ${er}`,Gt},RangeError);function or(Ht){let It="",Nt=Ht.length;const Gt=Ht[0]==="-"?1:0;for(;Nt>=Gt+4;Nt-=3)It=`_${Ht.slice(Nt-3,Nt)}${It}`;return`${Ht.slice(0,Nt)}${It}`}function ar(Ht,It,Nt){pr(It,"offset"),(Ht[It]===void 0||Ht[It+Nt]===void 0)&&nr(It,Ht.length-(Nt+1))}function ir(Ht,It,Nt,Gt,er,Qt){if(Ht>Nt||Ht3?It===0||It===BigInt(0)?dr=`>= 0${tr} and < 2${tr} ** ${(Qt+1)*8}${tr}`:dr=`>= -(2${tr} ** ${(Qt+1)*8-1}${tr}) and < 2 ** ${(Qt+1)*8-1}${tr}`:dr=`>= ${It}${tr} and <= ${Nt}${tr}`,new Xt.ERR_OUT_OF_RANGE("value",dr,Ht)}ar(Gt,er,Qt)}function pr(Ht,It){if(typeof Ht!="number")throw new Xt.ERR_INVALID_ARG_TYPE(It,"number",Ht)}function nr(Ht,It,Nt){throw Math.floor(Ht)!==Ht?(pr(Ht,Nt),new Xt.ERR_OUT_OF_RANGE(Nt||"offset","an integer",Ht)):It<0?new Xt.ERR_BUFFER_OUT_OF_BOUNDS:new Xt.ERR_OUT_OF_RANGE(Nt||"offset",`>= ${Nt?1:0} and <= ${It}`,Ht)}const hr=/[^+/0-9A-Za-z-_]/g;function Ar(Ht){if(Ht=Ht.split("=")[0],Ht=Ht.trim().replace(hr,""),Ht.length<2)return"";for(;Ht.length%4!==0;)Ht=Ht+"=";return Ht}function ur(Ht,It){It=It||1/0;let Nt;const Gt=Ht.length;let er=null;const Qt=[];for(let tr=0;tr55295&&Nt<57344){if(!er){if(Nt>56319){(It-=3)>-1&&Qt.push(239,191,189);continue}else if(tr+1===Gt){(It-=3)>-1&&Qt.push(239,191,189);continue}er=Nt;continue}if(Nt<56320){(It-=3)>-1&&Qt.push(239,191,189),er=Nt;continue}Nt=(er-55296<<10|Nt-56320)+65536}else er&&(It-=3)>-1&&Qt.push(239,191,189);if(er=null,Nt<128){if((It-=1)<0)break;Qt.push(Nt)}else if(Nt<2048){if((It-=2)<0)break;Qt.push(Nt>>6|192,Nt&63|128)}else if(Nt<65536){if((It-=3)<0)break;Qt.push(Nt>>12|224,Nt>>6&63|128,Nt&63|128)}else if(Nt<1114112){if((It-=4)<0)break;Qt.push(Nt>>18|240,Nt>>12&63|128,Nt>>6&63|128,Nt&63|128)}else throw new Error("Invalid code point")}return Qt}function vr(Ht){const It=[];for(let Nt=0;Nt>8,er=Nt%256,Qt.push(er),Qt.push(Gt);return Qt}function gr(Ht){return et.toByteArray(Ar(Ht))}function yr(Ht,It,Nt,Gt){let er;for(er=0;er=It.length||er>=Ht.length);++er)It[er+Nt]=Ht[er];return er}function Er(Ht,It){return Ht instanceof It||Ht!=null&&Ht.constructor!=null&&Ht.constructor.name!=null&&Ht.constructor.name===It.name}function _r(Ht){return Ht!==Ht}const $r=function(){const Ht="0123456789abcdef",It=new Array(256);for(let Nt=0;Nt<16;++Nt){const Gt=Nt*16;for(let er=0;er<16;++er)It[Gt+er]=Ht[Nt]+Ht[er]}return It}();function Dr(Ht){return typeof BigInt>"u"?kr:Ht}function kr(){throw new Error("BigInt not supported")}})(buffer);var bufferReverse=function _e(et){for(var tt=new Buffer(et.length),rt=0,nt=et.length-1;rt<=nt;++rt,--nt)tt[rt]=et[nt],tt[nt]=et[rt];return tt},sha256={exports:{}},core={exports:{}},hasRequiredCore;function requireCore(){return hasRequiredCore||(hasRequiredCore=1,function(_e,et){(function(tt,rt){_e.exports=rt()})(commonjsGlobal,function(){var tt=tt||function(rt,nt){var it=Object.create||function(){function yt(){}return function(xt){var wt;return yt.prototype=xt,wt=new yt,yt.prototype=null,wt}}(),at={},st=at.lib={},lt=st.Base=function(){return{extend:function(yt){var xt=it(this);return yt&&xt.mixIn(yt),(!xt.hasOwnProperty("init")||this.init===xt.init)&&(xt.init=function(){xt.$super.init.apply(this,arguments)}),xt.init.prototype=xt,xt.$super=this,xt},create:function(){var yt=this.extend();return yt.init.apply(yt,arguments),yt},init:function(){},mixIn:function(yt){for(var xt in yt)yt.hasOwnProperty(xt)&&(this[xt]=yt[xt]);yt.hasOwnProperty("toString")&&(this.toString=yt.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),dt=st.WordArray=lt.extend({init:function(yt,xt){yt=this.words=yt||[],xt!=nt?this.sigBytes=xt:this.sigBytes=yt.length*4},toString:function(yt){return(yt||pt).stringify(this)},concat:function(yt){var xt=this.words,wt=yt.words,_t=this.sigBytes,At=yt.sigBytes;if(this.clamp(),_t%4)for(var Tt=0;Tt>>2]>>>24-Tt%4*8&255;xt[_t+Tt>>>2]|=kt<<24-(_t+Tt)%4*8}else for(var Tt=0;Tt>>2]=wt[Tt>>>2];return this.sigBytes+=At,this},clamp:function(){var yt=this.words,xt=this.sigBytes;yt[xt>>>2]&=4294967295<<32-xt%4*8,yt.length=rt.ceil(xt/4)},clone:function(){var yt=lt.clone.call(this);return yt.words=this.words.slice(0),yt},random:function(yt){for(var xt=[],wt=function(jt){var jt=jt,Lt=987654321,qt=4294967295;return function(){Lt=36969*(Lt&65535)+(Lt>>16)&qt,jt=18e3*(jt&65535)+(jt>>16)&qt;var Dt=(Lt<<16)+jt&qt;return Dt/=4294967296,Dt+=.5,Dt*(rt.random()>.5?1:-1)}},_t=0,At;_t>>2]>>>24-At%4*8&255;_t.push((Tt>>>4).toString(16)),_t.push((Tt&15).toString(16))}return _t.join("")},parse:function(yt){for(var xt=yt.length,wt=[],_t=0;_t>>3]|=parseInt(yt.substr(_t,2),16)<<24-_t%8*4;return new dt.init(wt,xt/2)}},mt=ht.Latin1={stringify:function(yt){for(var xt=yt.words,wt=yt.sigBytes,_t=[],At=0;At>>2]>>>24-At%4*8&255;_t.push(String.fromCharCode(Tt))}return _t.join("")},parse:function(yt){for(var xt=yt.length,wt=[],_t=0;_t>>2]|=(yt.charCodeAt(_t)&255)<<24-_t%4*8;return new dt.init(wt,xt)}},gt=ht.Utf8={stringify:function(yt){try{return decodeURIComponent(escape(mt.stringify(yt)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(yt){return mt.parse(unescape(encodeURIComponent(yt)))}},vt=st.BufferedBlockAlgorithm=lt.extend({reset:function(){this._data=new dt.init,this._nDataBytes=0},_append:function(yt){typeof yt=="string"&&(yt=gt.parse(yt)),this._data.concat(yt),this._nDataBytes+=yt.sigBytes},_process:function(yt){var xt=this._data,wt=xt.words,_t=xt.sigBytes,At=this.blockSize,Tt=At*4,kt=_t/Tt;yt?kt=rt.ceil(kt):kt=rt.max((kt|0)-this._minBufferSize,0);var jt=kt*At,Lt=rt.min(jt*4,_t);if(jt){for(var qt=0;qt>>7)^(qt<<14|qt>>>18)^qt>>>3,zt=pt[Lt-2],Zt=(zt<<15|zt>>>17)^(zt<<13|zt>>>19)^zt>>>10;pt[Lt]=Dt+pt[Lt-7]+Zt+pt[Lt-16]}var Bt=At&Tt^~At&kt,Et=yt&xt^yt&wt^xt&wt,Ct=(yt<<30|yt>>>2)^(yt<<19|yt>>>13)^(yt<<10|yt>>>22),Pt=(At<<26|At>>>6)^(At<<21|At>>>11)^(At<<7|At>>>25),Ot=jt+Pt+Bt+ht[Lt]+pt[Lt],Mt=Ct+Et;jt=kt,kt=Tt,Tt=At,At=_t+Ot|0,_t=wt,wt=xt,xt=yt,yt=Ot+Mt|0}bt[0]=bt[0]+yt|0,bt[1]=bt[1]+xt|0,bt[2]=bt[2]+wt|0,bt[3]=bt[3]+_t|0,bt[4]=bt[4]+At|0,bt[5]=bt[5]+Tt|0,bt[6]=bt[6]+kt|0,bt[7]=bt[7]+jt|0},_doFinalize:function(){var gt=this._data,vt=gt.words,bt=this._nDataBytes*8,yt=gt.sigBytes*8;return vt[yt>>>5]|=128<<24-yt%32,vt[(yt+64>>>9<<4)+14]=rt.floor(bt/4294967296),vt[(yt+64>>>9<<4)+15]=bt,gt.sigBytes=vt.length*4,this._process(),this._hash},clone:function(){var gt=st.clone.call(this);return gt._hash=this._hash.clone(),gt}});nt.SHA256=st._createHelper(mt),nt.HmacSHA256=st._createHmacHelper(mt)}(Math),tt.SHA256})})(sha256);var sha256Exports=sha256.exports,treeify={exports:{}};(function(_e,et){(function(tt,rt){_e.exports=rt()})(commonjsGlobal,function(){function tt(at,st){var lt=st?"└":"├";return at?lt+="─ ":lt+="──┐",lt}function rt(at,st){var lt=[];for(var dt in at)at.hasOwnProperty(dt)&&(st&&typeof at[dt]=="function"||lt.push(dt));return lt}function nt(at,st,lt,dt,ht,pt,mt){var gt="",vt=0,bt,yt,xt=dt.slice(0);if(xt.push([st,lt])&&dt.length>0&&(dt.forEach(function(_t,At){At>0&&(gt+=(_t[1]?" ":"│")+" "),!yt&&_t[0]===st&&(yt=!0)}),gt+=tt(at,lt)+at,ht&&(typeof st!="object"||st instanceof Date)&&(gt+=": "+st),yt&&(gt+=" (circular ref.)"),mt(gt)),!yt&&typeof st=="object"){var wt=rt(st,pt);wt.forEach(function(_t){bt=++vt===wt.length,nt(_t,st[_t],bt,xt,ht,pt,mt)})}}var it={};return it.asLines=function(at,st,lt,dt){var ht=typeof lt!="function"?lt:!1;nt(".",at,!1,[],st,ht,dt||lt)},it.asTree=function(at,st,lt){var dt="";return nt(".",at,!1,[],st,lt,function(ht){dt+=ht+` +`}),dt},it})})(treeify);var treeifyExports=treeify.exports,Base$1={},cryptoJs={exports:{}},x64Core={exports:{}},hasRequiredX64Core;function requireX64Core(){return hasRequiredX64Core||(hasRequiredX64Core=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){return function(rt){var nt=tt,it=nt.lib,at=it.Base,st=it.WordArray,lt=nt.x64={};lt.Word=at.extend({init:function(dt,ht){this.high=dt,this.low=ht}}),lt.WordArray=at.extend({init:function(dt,ht){dt=this.words=dt||[],ht!=rt?this.sigBytes=ht:this.sigBytes=dt.length*8},toX32:function(){for(var dt=this.words,ht=dt.length,pt=[],mt=0;mt>>2]|=lt[pt]<<24-pt%4*8;at.call(this,ht,dt)}else at.apply(this,arguments)};st.prototype=it}}(),tt.lib.WordArray})}(libTypedarrays)),libTypedarrays.exports}var encUtf16={exports:{}},hasRequiredEncUtf16;function requireEncUtf16(){return hasRequiredEncUtf16||(hasRequiredEncUtf16=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.WordArray,at=rt.enc;at.Utf16=at.Utf16BE={stringify:function(lt){for(var dt=lt.words,ht=lt.sigBytes,pt=[],mt=0;mt>>2]>>>16-mt%4*8&65535;pt.push(String.fromCharCode(gt))}return pt.join("")},parse:function(lt){for(var dt=lt.length,ht=[],pt=0;pt>>1]|=lt.charCodeAt(pt)<<16-pt%2*16;return it.create(ht,dt*2)}},at.Utf16LE={stringify:function(lt){for(var dt=lt.words,ht=lt.sigBytes,pt=[],mt=0;mt>>2]>>>16-mt%4*8&65535);pt.push(String.fromCharCode(gt))}return pt.join("")},parse:function(lt){for(var dt=lt.length,ht=[],pt=0;pt>>1]|=st(lt.charCodeAt(pt)<<16-pt%2*16);return it.create(ht,dt*2)}};function st(lt){return lt<<8&4278255360|lt>>>8&16711935}}(),tt.enc.Utf16})}(encUtf16)),encUtf16.exports}var encBase64={exports:{}},hasRequiredEncBase64;function requireEncBase64(){return hasRequiredEncBase64||(hasRequiredEncBase64=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.WordArray,at=rt.enc;at.Base64={stringify:function(lt){var dt=lt.words,ht=lt.sigBytes,pt=this._map;lt.clamp();for(var mt=[],gt=0;gt>>2]>>>24-gt%4*8&255,bt=dt[gt+1>>>2]>>>24-(gt+1)%4*8&255,yt=dt[gt+2>>>2]>>>24-(gt+2)%4*8&255,xt=vt<<16|bt<<8|yt,wt=0;wt<4&>+wt*.75>>6*(3-wt)&63));var _t=pt.charAt(64);if(_t)for(;mt.length%4;)mt.push(_t);return mt.join("")},parse:function(lt){var dt=lt.length,ht=this._map,pt=this._reverseMap;if(!pt){pt=this._reverseMap=[];for(var mt=0;mt>>6-gt%4*2;pt[mt>>>2]|=(vt|bt)<<24-mt%4*8,mt++}return it.create(pt,mt)}}(),tt.enc.Base64})}(encBase64)),encBase64.exports}var md5={exports:{}},hasRequiredMd5;function requireMd5(){return hasRequiredMd5||(hasRequiredMd5=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){return function(rt){var nt=tt,it=nt.lib,at=it.WordArray,st=it.Hasher,lt=nt.algo,dt=[];(function(){for(var bt=0;bt<64;bt++)dt[bt]=rt.abs(rt.sin(bt+1))*4294967296|0})();var ht=lt.MD5=st.extend({_doReset:function(){this._hash=new at.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(bt,yt){for(var xt=0;xt<16;xt++){var wt=yt+xt,_t=bt[wt];bt[wt]=(_t<<8|_t>>>24)&16711935|(_t<<24|_t>>>8)&4278255360}var At=this._hash.words,Tt=bt[yt+0],kt=bt[yt+1],jt=bt[yt+2],Lt=bt[yt+3],qt=bt[yt+4],Dt=bt[yt+5],zt=bt[yt+6],Zt=bt[yt+7],Bt=bt[yt+8],Et=bt[yt+9],Ct=bt[yt+10],Pt=bt[yt+11],Ot=bt[yt+12],Mt=bt[yt+13],Ut=bt[yt+14],Wt=bt[yt+15],$t=At[0],St=At[1],Ft=At[2],Vt=At[3];$t=pt($t,St,Ft,Vt,Tt,7,dt[0]),Vt=pt(Vt,$t,St,Ft,kt,12,dt[1]),Ft=pt(Ft,Vt,$t,St,jt,17,dt[2]),St=pt(St,Ft,Vt,$t,Lt,22,dt[3]),$t=pt($t,St,Ft,Vt,qt,7,dt[4]),Vt=pt(Vt,$t,St,Ft,Dt,12,dt[5]),Ft=pt(Ft,Vt,$t,St,zt,17,dt[6]),St=pt(St,Ft,Vt,$t,Zt,22,dt[7]),$t=pt($t,St,Ft,Vt,Bt,7,dt[8]),Vt=pt(Vt,$t,St,Ft,Et,12,dt[9]),Ft=pt(Ft,Vt,$t,St,Ct,17,dt[10]),St=pt(St,Ft,Vt,$t,Pt,22,dt[11]),$t=pt($t,St,Ft,Vt,Ot,7,dt[12]),Vt=pt(Vt,$t,St,Ft,Mt,12,dt[13]),Ft=pt(Ft,Vt,$t,St,Ut,17,dt[14]),St=pt(St,Ft,Vt,$t,Wt,22,dt[15]),$t=mt($t,St,Ft,Vt,kt,5,dt[16]),Vt=mt(Vt,$t,St,Ft,zt,9,dt[17]),Ft=mt(Ft,Vt,$t,St,Pt,14,dt[18]),St=mt(St,Ft,Vt,$t,Tt,20,dt[19]),$t=mt($t,St,Ft,Vt,Dt,5,dt[20]),Vt=mt(Vt,$t,St,Ft,Ct,9,dt[21]),Ft=mt(Ft,Vt,$t,St,Wt,14,dt[22]),St=mt(St,Ft,Vt,$t,qt,20,dt[23]),$t=mt($t,St,Ft,Vt,Et,5,dt[24]),Vt=mt(Vt,$t,St,Ft,Ut,9,dt[25]),Ft=mt(Ft,Vt,$t,St,Lt,14,dt[26]),St=mt(St,Ft,Vt,$t,Bt,20,dt[27]),$t=mt($t,St,Ft,Vt,Mt,5,dt[28]),Vt=mt(Vt,$t,St,Ft,jt,9,dt[29]),Ft=mt(Ft,Vt,$t,St,Zt,14,dt[30]),St=mt(St,Ft,Vt,$t,Ot,20,dt[31]),$t=gt($t,St,Ft,Vt,Dt,4,dt[32]),Vt=gt(Vt,$t,St,Ft,Bt,11,dt[33]),Ft=gt(Ft,Vt,$t,St,Pt,16,dt[34]),St=gt(St,Ft,Vt,$t,Ut,23,dt[35]),$t=gt($t,St,Ft,Vt,kt,4,dt[36]),Vt=gt(Vt,$t,St,Ft,qt,11,dt[37]),Ft=gt(Ft,Vt,$t,St,Zt,16,dt[38]),St=gt(St,Ft,Vt,$t,Ct,23,dt[39]),$t=gt($t,St,Ft,Vt,Mt,4,dt[40]),Vt=gt(Vt,$t,St,Ft,Tt,11,dt[41]),Ft=gt(Ft,Vt,$t,St,Lt,16,dt[42]),St=gt(St,Ft,Vt,$t,zt,23,dt[43]),$t=gt($t,St,Ft,Vt,Et,4,dt[44]),Vt=gt(Vt,$t,St,Ft,Ot,11,dt[45]),Ft=gt(Ft,Vt,$t,St,Wt,16,dt[46]),St=gt(St,Ft,Vt,$t,jt,23,dt[47]),$t=vt($t,St,Ft,Vt,Tt,6,dt[48]),Vt=vt(Vt,$t,St,Ft,Zt,10,dt[49]),Ft=vt(Ft,Vt,$t,St,Ut,15,dt[50]),St=vt(St,Ft,Vt,$t,Dt,21,dt[51]),$t=vt($t,St,Ft,Vt,Ot,6,dt[52]),Vt=vt(Vt,$t,St,Ft,Lt,10,dt[53]),Ft=vt(Ft,Vt,$t,St,Ct,15,dt[54]),St=vt(St,Ft,Vt,$t,kt,21,dt[55]),$t=vt($t,St,Ft,Vt,Bt,6,dt[56]),Vt=vt(Vt,$t,St,Ft,Wt,10,dt[57]),Ft=vt(Ft,Vt,$t,St,zt,15,dt[58]),St=vt(St,Ft,Vt,$t,Mt,21,dt[59]),$t=vt($t,St,Ft,Vt,qt,6,dt[60]),Vt=vt(Vt,$t,St,Ft,Pt,10,dt[61]),Ft=vt(Ft,Vt,$t,St,jt,15,dt[62]),St=vt(St,Ft,Vt,$t,Et,21,dt[63]),At[0]=At[0]+$t|0,At[1]=At[1]+St|0,At[2]=At[2]+Ft|0,At[3]=At[3]+Vt|0},_doFinalize:function(){var bt=this._data,yt=bt.words,xt=this._nDataBytes*8,wt=bt.sigBytes*8;yt[wt>>>5]|=128<<24-wt%32;var _t=rt.floor(xt/4294967296),At=xt;yt[(wt+64>>>9<<4)+15]=(_t<<8|_t>>>24)&16711935|(_t<<24|_t>>>8)&4278255360,yt[(wt+64>>>9<<4)+14]=(At<<8|At>>>24)&16711935|(At<<24|At>>>8)&4278255360,bt.sigBytes=(yt.length+1)*4,this._process();for(var Tt=this._hash,kt=Tt.words,jt=0;jt<4;jt++){var Lt=kt[jt];kt[jt]=(Lt<<8|Lt>>>24)&16711935|(Lt<<24|Lt>>>8)&4278255360}return Tt},clone:function(){var bt=st.clone.call(this);return bt._hash=this._hash.clone(),bt}});function pt(bt,yt,xt,wt,_t,At,Tt){var kt=bt+(yt&xt|~yt&wt)+_t+Tt;return(kt<>>32-At)+yt}function mt(bt,yt,xt,wt,_t,At,Tt){var kt=bt+(yt&wt|xt&~wt)+_t+Tt;return(kt<>>32-At)+yt}function gt(bt,yt,xt,wt,_t,At,Tt){var kt=bt+(yt^xt^wt)+_t+Tt;return(kt<>>32-At)+yt}function vt(bt,yt,xt,wt,_t,At,Tt){var kt=bt+(xt^(yt|~wt))+_t+Tt;return(kt<>>32-At)+yt}nt.MD5=st._createHelper(ht),nt.HmacMD5=st._createHmacHelper(ht)}(Math),tt.MD5})}(md5)),md5.exports}var sha1={exports:{}},hasRequiredSha1;function requireSha1(){return hasRequiredSha1||(hasRequiredSha1=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.WordArray,at=nt.Hasher,st=rt.algo,lt=[],dt=st.SHA1=at.extend({_doReset:function(){this._hash=new it.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(ht,pt){for(var mt=this._hash.words,gt=mt[0],vt=mt[1],bt=mt[2],yt=mt[3],xt=mt[4],wt=0;wt<80;wt++){if(wt<16)lt[wt]=ht[pt+wt]|0;else{var _t=lt[wt-3]^lt[wt-8]^lt[wt-14]^lt[wt-16];lt[wt]=_t<<1|_t>>>31}var At=(gt<<5|gt>>>27)+xt+lt[wt];wt<20?At+=(vt&bt|~vt&yt)+1518500249:wt<40?At+=(vt^bt^yt)+1859775393:wt<60?At+=(vt&bt|vt&yt|bt&yt)-1894007588:At+=(vt^bt^yt)-899497514,xt=yt,yt=bt,bt=vt<<30|vt>>>2,vt=gt,gt=At}mt[0]=mt[0]+gt|0,mt[1]=mt[1]+vt|0,mt[2]=mt[2]+bt|0,mt[3]=mt[3]+yt|0,mt[4]=mt[4]+xt|0},_doFinalize:function(){var ht=this._data,pt=ht.words,mt=this._nDataBytes*8,gt=ht.sigBytes*8;return pt[gt>>>5]|=128<<24-gt%32,pt[(gt+64>>>9<<4)+14]=Math.floor(mt/4294967296),pt[(gt+64>>>9<<4)+15]=mt,ht.sigBytes=pt.length*4,this._process(),this._hash},clone:function(){var ht=at.clone.call(this);return ht._hash=this._hash.clone(),ht}});rt.SHA1=at._createHelper(dt),rt.HmacSHA1=at._createHmacHelper(dt)}(),tt.SHA1})}(sha1)),sha1.exports}var sha224={exports:{}},hasRequiredSha224;function requireSha224(){return hasRequiredSha224||(hasRequiredSha224=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),sha256Exports)})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.WordArray,at=rt.algo,st=at.SHA256,lt=at.SHA224=st.extend({_doReset:function(){this._hash=new it.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var dt=st._doFinalize.call(this);return dt.sigBytes-=4,dt}});rt.SHA224=st._createHelper(lt),rt.HmacSHA224=st._createHmacHelper(lt)}(),tt.SHA224})}(sha224)),sha224.exports}var sha512={exports:{}},hasRequiredSha512;function requireSha512(){return hasRequiredSha512||(hasRequiredSha512=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireX64Core())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.Hasher,at=rt.x64,st=at.Word,lt=at.WordArray,dt=rt.algo;function ht(){return st.create.apply(st,arguments)}var pt=[ht(1116352408,3609767458),ht(1899447441,602891725),ht(3049323471,3964484399),ht(3921009573,2173295548),ht(961987163,4081628472),ht(1508970993,3053834265),ht(2453635748,2937671579),ht(2870763221,3664609560),ht(3624381080,2734883394),ht(310598401,1164996542),ht(607225278,1323610764),ht(1426881987,3590304994),ht(1925078388,4068182383),ht(2162078206,991336113),ht(2614888103,633803317),ht(3248222580,3479774868),ht(3835390401,2666613458),ht(4022224774,944711139),ht(264347078,2341262773),ht(604807628,2007800933),ht(770255983,1495990901),ht(1249150122,1856431235),ht(1555081692,3175218132),ht(1996064986,2198950837),ht(2554220882,3999719339),ht(2821834349,766784016),ht(2952996808,2566594879),ht(3210313671,3203337956),ht(3336571891,1034457026),ht(3584528711,2466948901),ht(113926993,3758326383),ht(338241895,168717936),ht(666307205,1188179964),ht(773529912,1546045734),ht(1294757372,1522805485),ht(1396182291,2643833823),ht(1695183700,2343527390),ht(1986661051,1014477480),ht(2177026350,1206759142),ht(2456956037,344077627),ht(2730485921,1290863460),ht(2820302411,3158454273),ht(3259730800,3505952657),ht(3345764771,106217008),ht(3516065817,3606008344),ht(3600352804,1432725776),ht(4094571909,1467031594),ht(275423344,851169720),ht(430227734,3100823752),ht(506948616,1363258195),ht(659060556,3750685593),ht(883997877,3785050280),ht(958139571,3318307427),ht(1322822218,3812723403),ht(1537002063,2003034995),ht(1747873779,3602036899),ht(1955562222,1575990012),ht(2024104815,1125592928),ht(2227730452,2716904306),ht(2361852424,442776044),ht(2428436474,593698344),ht(2756734187,3733110249),ht(3204031479,2999351573),ht(3329325298,3815920427),ht(3391569614,3928383900),ht(3515267271,566280711),ht(3940187606,3454069534),ht(4118630271,4000239992),ht(116418474,1914138554),ht(174292421,2731055270),ht(289380356,3203993006),ht(460393269,320620315),ht(685471733,587496836),ht(852142971,1086792851),ht(1017036298,365543100),ht(1126000580,2618297676),ht(1288033470,3409855158),ht(1501505948,4234509866),ht(1607167915,987167468),ht(1816402316,1246189591)],mt=[];(function(){for(var vt=0;vt<80;vt++)mt[vt]=ht()})();var gt=dt.SHA512=it.extend({_doReset:function(){this._hash=new lt.init([new st.init(1779033703,4089235720),new st.init(3144134277,2227873595),new st.init(1013904242,4271175723),new st.init(2773480762,1595750129),new st.init(1359893119,2917565137),new st.init(2600822924,725511199),new st.init(528734635,4215389547),new st.init(1541459225,327033209)])},_doProcessBlock:function(vt,bt){for(var yt=this._hash.words,xt=yt[0],wt=yt[1],_t=yt[2],At=yt[3],Tt=yt[4],kt=yt[5],jt=yt[6],Lt=yt[7],qt=xt.high,Dt=xt.low,zt=wt.high,Zt=wt.low,Bt=_t.high,Et=_t.low,Ct=At.high,Pt=At.low,Ot=Tt.high,Mt=Tt.low,Ut=kt.high,Wt=kt.low,$t=jt.high,St=jt.low,Ft=Lt.high,Vt=Lt.low,Rt=qt,Yt=Dt,Kt=zt,Xt=Zt,rr=Bt,or=Et,ar=Ct,ir=Pt,pr=Ot,nr=Mt,hr=Ut,Ar=Wt,ur=$t,vr=St,wr=Ft,gr=Vt,yr=0;yr<80;yr++){var Er=mt[yr];if(yr<16)var _r=Er.high=vt[bt+yr*2]|0,$r=Er.low=vt[bt+yr*2+1]|0;else{var Dr=mt[yr-15],kr=Dr.high,Ht=Dr.low,It=(kr>>>1|Ht<<31)^(kr>>>8|Ht<<24)^kr>>>7,Nt=(Ht>>>1|kr<<31)^(Ht>>>8|kr<<24)^(Ht>>>7|kr<<25),Gt=mt[yr-2],er=Gt.high,Qt=Gt.low,tr=(er>>>19|Qt<<13)^(er<<3|Qt>>>29)^er>>>6,dr=(Qt>>>19|er<<13)^(Qt<<3|er>>>29)^(Qt>>>6|er<<26),xr=mt[yr-7],Jt=xr.high,sr=xr.low,cr=mt[yr-16],br=cr.high,Sr=cr.low,$r=Nt+sr,_r=It+Jt+($r>>>0>>0?1:0),$r=$r+dr,_r=_r+tr+($r>>>0>>0?1:0),$r=$r+Sr,_r=_r+br+($r>>>0>>0?1:0);Er.high=_r,Er.low=$r}var Pr=pr&hr^~pr&ur,Nr=nr&Ar^~nr&vr,Or=Rt&Kt^Rt&rr^Kt&rr,Tr=Yt&Xt^Yt&or^Xt&or,Ir=(Rt>>>28|Yt<<4)^(Rt<<30|Yt>>>2)^(Rt<<25|Yt>>>7),Ur=(Yt>>>28|Rt<<4)^(Yt<<30|Rt>>>2)^(Yt<<25|Rt>>>7),Br=(pr>>>14|nr<<18)^(pr>>>18|nr<<14)^(pr<<23|nr>>>9),Mr=(nr>>>14|pr<<18)^(nr>>>18|pr<<14)^(nr<<23|pr>>>9),Kr=pt[yr],jr=Kr.high,Fr=Kr.low,Zr=gr+Mr,Rr=wr+Br+(Zr>>>0>>0?1:0),Zr=Zr+Nr,Rr=Rr+Pr+(Zr>>>0>>0?1:0),Zr=Zr+Fr,Rr=Rr+jr+(Zr>>>0>>0?1:0),Zr=Zr+$r,Rr=Rr+_r+(Zr>>>0<$r>>>0?1:0),Lr=Ur+Tr,Yr=Ir+Or+(Lr>>>0>>0?1:0);wr=ur,gr=vr,ur=hr,vr=Ar,hr=pr,Ar=nr,nr=ir+Zr|0,pr=ar+Rr+(nr>>>0>>0?1:0)|0,ar=rr,ir=or,rr=Kt,or=Xt,Kt=Rt,Xt=Yt,Yt=Zr+Lr|0,Rt=Rr+Yr+(Yt>>>0>>0?1:0)|0}Dt=xt.low=Dt+Yt,xt.high=qt+Rt+(Dt>>>0>>0?1:0),Zt=wt.low=Zt+Xt,wt.high=zt+Kt+(Zt>>>0>>0?1:0),Et=_t.low=Et+or,_t.high=Bt+rr+(Et>>>0>>0?1:0),Pt=At.low=Pt+ir,At.high=Ct+ar+(Pt>>>0>>0?1:0),Mt=Tt.low=Mt+nr,Tt.high=Ot+pr+(Mt>>>0>>0?1:0),Wt=kt.low=Wt+Ar,kt.high=Ut+hr+(Wt>>>0>>0?1:0),St=jt.low=St+vr,jt.high=$t+ur+(St>>>0>>0?1:0),Vt=Lt.low=Vt+gr,Lt.high=Ft+wr+(Vt>>>0>>0?1:0)},_doFinalize:function(){var vt=this._data,bt=vt.words,yt=this._nDataBytes*8,xt=vt.sigBytes*8;bt[xt>>>5]|=128<<24-xt%32,bt[(xt+128>>>10<<5)+30]=Math.floor(yt/4294967296),bt[(xt+128>>>10<<5)+31]=yt,vt.sigBytes=bt.length*4,this._process();var wt=this._hash.toX32();return wt},clone:function(){var vt=it.clone.call(this);return vt._hash=this._hash.clone(),vt},blockSize:1024/32});rt.SHA512=it._createHelper(gt),rt.HmacSHA512=it._createHmacHelper(gt)}(),tt.SHA512})}(sha512)),sha512.exports}var sha384={exports:{}},hasRequiredSha384;function requireSha384(){return hasRequiredSha384||(hasRequiredSha384=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireX64Core(),requireSha512())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.x64,it=nt.Word,at=nt.WordArray,st=rt.algo,lt=st.SHA512,dt=st.SHA384=lt.extend({_doReset:function(){this._hash=new at.init([new it.init(3418070365,3238371032),new it.init(1654270250,914150663),new it.init(2438529370,812702999),new it.init(355462360,4144912697),new it.init(1731405415,4290775857),new it.init(2394180231,1750603025),new it.init(3675008525,1694076839),new it.init(1203062813,3204075428)])},_doFinalize:function(){var ht=lt._doFinalize.call(this);return ht.sigBytes-=16,ht}});rt.SHA384=lt._createHelper(dt),rt.HmacSHA384=lt._createHmacHelper(dt)}(),tt.SHA384})}(sha384)),sha384.exports}var sha3={exports:{}},hasRequiredSha3;function requireSha3(){return hasRequiredSha3||(hasRequiredSha3=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireX64Core())})(commonjsGlobal,function(tt){return function(rt){var nt=tt,it=nt.lib,at=it.WordArray,st=it.Hasher,lt=nt.x64,dt=lt.Word,ht=nt.algo,pt=[],mt=[],gt=[];(function(){for(var yt=1,xt=0,wt=0;wt<24;wt++){pt[yt+5*xt]=(wt+1)*(wt+2)/2%64;var _t=xt%5,At=(2*yt+3*xt)%5;yt=_t,xt=At}for(var yt=0;yt<5;yt++)for(var xt=0;xt<5;xt++)mt[yt+5*xt]=xt+(2*yt+3*xt)%5*5;for(var Tt=1,kt=0;kt<24;kt++){for(var jt=0,Lt=0,qt=0;qt<7;qt++){if(Tt&1){var Dt=(1<>>24)&16711935|(Tt<<24|Tt>>>8)&4278255360,kt=(kt<<8|kt>>>24)&16711935|(kt<<24|kt>>>8)&4278255360;var jt=wt[At];jt.high^=kt,jt.low^=Tt}for(var Lt=0;Lt<24;Lt++){for(var qt=0;qt<5;qt++){for(var Dt=0,zt=0,Zt=0;Zt<5;Zt++){var jt=wt[qt+5*Zt];Dt^=jt.high,zt^=jt.low}var Bt=vt[qt];Bt.high=Dt,Bt.low=zt}for(var qt=0;qt<5;qt++)for(var Et=vt[(qt+4)%5],Ct=vt[(qt+1)%5],Pt=Ct.high,Ot=Ct.low,Dt=Et.high^(Pt<<1|Ot>>>31),zt=Et.low^(Ot<<1|Pt>>>31),Zt=0;Zt<5;Zt++){var jt=wt[qt+5*Zt];jt.high^=Dt,jt.low^=zt}for(var Mt=1;Mt<25;Mt++){var jt=wt[Mt],Ut=jt.high,Wt=jt.low,$t=pt[Mt];if($t<32)var Dt=Ut<<$t|Wt>>>32-$t,zt=Wt<<$t|Ut>>>32-$t;else var Dt=Wt<<$t-32|Ut>>>64-$t,zt=Ut<<$t-32|Wt>>>64-$t;var St=vt[mt[Mt]];St.high=Dt,St.low=zt}var Ft=vt[0],Vt=wt[0];Ft.high=Vt.high,Ft.low=Vt.low;for(var qt=0;qt<5;qt++)for(var Zt=0;Zt<5;Zt++){var Mt=qt+5*Zt,jt=wt[Mt],Rt=vt[Mt],Yt=vt[(qt+1)%5+5*Zt],Kt=vt[(qt+2)%5+5*Zt];jt.high=Rt.high^~Yt.high&Kt.high,jt.low=Rt.low^~Yt.low&Kt.low}var jt=wt[0],Xt=gt[Lt];jt.high^=Xt.high,jt.low^=Xt.low}},_doFinalize:function(){var yt=this._data,xt=yt.words;this._nDataBytes*8;var wt=yt.sigBytes*8,_t=this.blockSize*32;xt[wt>>>5]|=1<<24-wt%32,xt[(rt.ceil((wt+1)/_t)*_t>>>5)-1]|=128,yt.sigBytes=xt.length*4,this._process();for(var At=this._state,Tt=this.cfg.outputLength/8,kt=Tt/8,jt=[],Lt=0;Lt>>24)&16711935|(Dt<<24|Dt>>>8)&4278255360,zt=(zt<<8|zt>>>24)&16711935|(zt<<24|zt>>>8)&4278255360,jt.push(zt),jt.push(Dt)}return new at.init(jt,Tt)},clone:function(){for(var yt=st.clone.call(this),xt=yt._state=this._state.slice(0),wt=0;wt<25;wt++)xt[wt]=xt[wt].clone();return yt}});nt.SHA3=st._createHelper(bt),nt.HmacSHA3=st._createHmacHelper(bt)}(Math),tt.SHA3})}(sha3)),sha3.exports}var ripemd160={exports:{}},hasRequiredRipemd160;function requireRipemd160(){return hasRequiredRipemd160||(hasRequiredRipemd160=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){/** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */return function(rt){var nt=tt,it=nt.lib,at=it.WordArray,st=it.Hasher,lt=nt.algo,dt=at.create([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]),ht=at.create([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]),pt=at.create([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]),mt=at.create([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]),gt=at.create([0,1518500249,1859775393,2400959708,2840853838]),vt=at.create([1352829926,1548603684,1836072691,2053994217,0]),bt=lt.RIPEMD160=st.extend({_doReset:function(){this._hash=at.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(kt,jt){for(var Lt=0;Lt<16;Lt++){var qt=jt+Lt,Dt=kt[qt];kt[qt]=(Dt<<8|Dt>>>24)&16711935|(Dt<<24|Dt>>>8)&4278255360}var zt=this._hash.words,Zt=gt.words,Bt=vt.words,Et=dt.words,Ct=ht.words,Pt=pt.words,Ot=mt.words,Mt,Ut,Wt,$t,St,Ft,Vt,Rt,Yt,Kt;Ft=Mt=zt[0],Vt=Ut=zt[1],Rt=Wt=zt[2],Yt=$t=zt[3],Kt=St=zt[4];for(var Xt,Lt=0;Lt<80;Lt+=1)Xt=Mt+kt[jt+Et[Lt]]|0,Lt<16?Xt+=yt(Ut,Wt,$t)+Zt[0]:Lt<32?Xt+=xt(Ut,Wt,$t)+Zt[1]:Lt<48?Xt+=wt(Ut,Wt,$t)+Zt[2]:Lt<64?Xt+=_t(Ut,Wt,$t)+Zt[3]:Xt+=At(Ut,Wt,$t)+Zt[4],Xt=Xt|0,Xt=Tt(Xt,Pt[Lt]),Xt=Xt+St|0,Mt=St,St=$t,$t=Tt(Wt,10),Wt=Ut,Ut=Xt,Xt=Ft+kt[jt+Ct[Lt]]|0,Lt<16?Xt+=At(Vt,Rt,Yt)+Bt[0]:Lt<32?Xt+=_t(Vt,Rt,Yt)+Bt[1]:Lt<48?Xt+=wt(Vt,Rt,Yt)+Bt[2]:Lt<64?Xt+=xt(Vt,Rt,Yt)+Bt[3]:Xt+=yt(Vt,Rt,Yt)+Bt[4],Xt=Xt|0,Xt=Tt(Xt,Ot[Lt]),Xt=Xt+Kt|0,Ft=Kt,Kt=Yt,Yt=Tt(Rt,10),Rt=Vt,Vt=Xt;Xt=zt[1]+Wt+Yt|0,zt[1]=zt[2]+$t+Kt|0,zt[2]=zt[3]+St+Ft|0,zt[3]=zt[4]+Mt+Vt|0,zt[4]=zt[0]+Ut+Rt|0,zt[0]=Xt},_doFinalize:function(){var kt=this._data,jt=kt.words,Lt=this._nDataBytes*8,qt=kt.sigBytes*8;jt[qt>>>5]|=128<<24-qt%32,jt[(qt+64>>>9<<4)+14]=(Lt<<8|Lt>>>24)&16711935|(Lt<<24|Lt>>>8)&4278255360,kt.sigBytes=(jt.length+1)*4,this._process();for(var Dt=this._hash,zt=Dt.words,Zt=0;Zt<5;Zt++){var Bt=zt[Zt];zt[Zt]=(Bt<<8|Bt>>>24)&16711935|(Bt<<24|Bt>>>8)&4278255360}return Dt},clone:function(){var kt=st.clone.call(this);return kt._hash=this._hash.clone(),kt}});function yt(kt,jt,Lt){return kt^jt^Lt}function xt(kt,jt,Lt){return kt&jt|~kt&Lt}function wt(kt,jt,Lt){return(kt|~jt)^Lt}function _t(kt,jt,Lt){return kt&Lt|jt&~Lt}function At(kt,jt,Lt){return kt^(jt|~Lt)}function Tt(kt,jt){return kt<>>32-jt}nt.RIPEMD160=st._createHelper(bt),nt.HmacRIPEMD160=st._createHmacHelper(bt)}(),tt.RIPEMD160})}(ripemd160)),ripemd160.exports}var hmac={exports:{}},hasRequiredHmac;function requireHmac(){return hasRequiredHmac||(hasRequiredHmac=1,function(_e,et){(function(tt,rt){_e.exports=rt(requireCore())})(commonjsGlobal,function(tt){(function(){var rt=tt,nt=rt.lib,it=nt.Base,at=rt.enc,st=at.Utf8,lt=rt.algo;lt.HMAC=it.extend({init:function(dt,ht){dt=this._hasher=new dt.init,typeof ht=="string"&&(ht=st.parse(ht));var pt=dt.blockSize,mt=pt*4;ht.sigBytes>mt&&(ht=dt.finalize(ht)),ht.clamp();for(var gt=this._oKey=ht.clone(),vt=this._iKey=ht.clone(),bt=gt.words,yt=vt.words,xt=0;xt>>2]&255;Dt.sigBytes-=zt}};it.BlockCipher=gt.extend({cfg:gt.cfg.extend({mode:yt,padding:wt}),reset:function(){gt.reset.call(this);var Dt=this.cfg,zt=Dt.iv,Zt=Dt.mode;if(this._xformMode==this._ENC_XFORM_MODE)var Bt=Zt.createEncryptor;else{var Bt=Zt.createDecryptor;this._minBufferSize=1}this._mode&&this._mode.__creator==Bt?this._mode.init(this,zt&&zt.words):(this._mode=Bt.call(Zt,this,zt&&zt.words),this._mode.__creator=Bt)},_doProcessBlock:function(Dt,zt){this._mode.processBlock(Dt,zt)},_doFinalize:function(){var Dt=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){Dt.pad(this._data,this.blockSize);var zt=this._process(!0)}else{var zt=this._process(!0);Dt.unpad(zt)}return zt},blockSize:128/32});var _t=it.CipherParams=at.extend({init:function(Dt){this.mixIn(Dt)},toString:function(Dt){return(Dt||this.formatter).stringify(this)}}),At=nt.format={},Tt=At.OpenSSL={stringify:function(Dt){var zt=Dt.ciphertext,Zt=Dt.salt;if(Zt)var Bt=st.create([1398893684,1701076831]).concat(Zt).concat(zt);else var Bt=zt;return Bt.toString(ht)},parse:function(Dt){var zt=ht.parse(Dt),Zt=zt.words;if(Zt[0]==1398893684&&Zt[1]==1701076831){var Bt=st.create(Zt.slice(2,4));Zt.splice(0,4),zt.sigBytes-=16}return _t.create({ciphertext:zt,salt:Bt})}},kt=it.SerializableCipher=at.extend({cfg:at.extend({format:Tt}),encrypt:function(Dt,zt,Zt,Bt){Bt=this.cfg.extend(Bt);var Et=Dt.createEncryptor(Zt,Bt),Ct=Et.finalize(zt),Pt=Et.cfg;return _t.create({ciphertext:Ct,key:Zt,iv:Pt.iv,algorithm:Dt,mode:Pt.mode,padding:Pt.padding,blockSize:Dt.blockSize,formatter:Bt.format})},decrypt:function(Dt,zt,Zt,Bt){Bt=this.cfg.extend(Bt),zt=this._parse(zt,Bt.format);var Et=Dt.createDecryptor(Zt,Bt).finalize(zt.ciphertext);return Et},_parse:function(Dt,zt){return typeof Dt=="string"?zt.parse(Dt,this):Dt}}),jt=nt.kdf={},Lt=jt.OpenSSL={execute:function(Dt,zt,Zt,Bt){Bt||(Bt=st.random(64/8));var Et=mt.create({keySize:zt+Zt}).compute(Dt,Bt),Ct=st.create(Et.words.slice(zt),Zt*4);return Et.sigBytes=zt*4,_t.create({key:Et,iv:Ct,salt:Bt})}},qt=it.PasswordBasedCipher=kt.extend({cfg:kt.cfg.extend({kdf:Lt}),encrypt:function(Dt,zt,Zt,Bt){Bt=this.cfg.extend(Bt);var Et=Bt.kdf.execute(Zt,Dt.keySize,Dt.ivSize);Bt.iv=Et.iv;var Ct=kt.encrypt.call(this,Dt,zt,Et.key,Bt);return Ct.mixIn(Et),Ct},decrypt:function(Dt,zt,Zt,Bt){Bt=this.cfg.extend(Bt),zt=this._parse(zt,Bt.format);var Et=Bt.kdf.execute(Zt,Dt.keySize,Dt.ivSize,zt.salt);Bt.iv=Et.iv;var Ct=kt.decrypt.call(this,Dt,zt,Et.key,Bt);return Ct}})}()})}(cipherCore)),cipherCore.exports}var modeCfb={exports:{}},hasRequiredModeCfb;function requireModeCfb(){return hasRequiredModeCfb||(hasRequiredModeCfb=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return tt.mode.CFB=function(){var rt=tt.lib.BlockCipherMode.extend();rt.Encryptor=rt.extend({processBlock:function(it,at){var st=this._cipher,lt=st.blockSize;nt.call(this,it,at,lt,st),this._prevBlock=it.slice(at,at+lt)}}),rt.Decryptor=rt.extend({processBlock:function(it,at){var st=this._cipher,lt=st.blockSize,dt=it.slice(at,at+lt);nt.call(this,it,at,lt,st),this._prevBlock=dt}});function nt(it,at,st,lt){var dt=this._iv;if(dt){var ht=dt.slice(0);this._iv=void 0}else var ht=this._prevBlock;lt.encryptBlock(ht,0);for(var pt=0;pt>24&255)===255){var lt=st>>16&255,dt=st>>8&255,ht=st&255;lt===255?(lt=0,dt===255?(dt=0,ht===255?ht=0:++ht):++dt):++lt,st=0,st+=lt<<16,st+=dt<<8,st+=ht}else st+=1<<24;return st}function it(st){return(st[0]=nt(st[0]))===0&&(st[1]=nt(st[1])),st}var at=rt.Encryptor=rt.extend({processBlock:function(st,lt){var dt=this._cipher,ht=dt.blockSize,pt=this._iv,mt=this._counter;pt&&(mt=this._counter=pt.slice(0),this._iv=void 0),it(mt);var gt=mt.slice(0);dt.encryptBlock(gt,0);for(var vt=0;vt>>2]|=st<<24-lt%4*8,rt.sigBytes+=st},unpad:function(rt){var nt=rt.words[rt.sigBytes-1>>>2]&255;rt.sigBytes-=nt}},tt.pad.Ansix923})}(padAnsix923)),padAnsix923.exports}var padIso10126={exports:{}},hasRequiredPadIso10126;function requirePadIso10126(){return hasRequiredPadIso10126||(hasRequiredPadIso10126=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return tt.pad.Iso10126={pad:function(rt,nt){var it=nt*4,at=it-rt.sigBytes%it;rt.concat(tt.lib.WordArray.random(at-1)).concat(tt.lib.WordArray.create([at<<24],1))},unpad:function(rt){var nt=rt.words[rt.sigBytes-1>>>2]&255;rt.sigBytes-=nt}},tt.pad.Iso10126})}(padIso10126)),padIso10126.exports}var padIso97971={exports:{}},hasRequiredPadIso97971;function requirePadIso97971(){return hasRequiredPadIso97971||(hasRequiredPadIso97971=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return tt.pad.Iso97971={pad:function(rt,nt){rt.concat(tt.lib.WordArray.create([2147483648],1)),tt.pad.ZeroPadding.pad(rt,nt)},unpad:function(rt){tt.pad.ZeroPadding.unpad(rt),rt.sigBytes--}},tt.pad.Iso97971})}(padIso97971)),padIso97971.exports}var padZeropadding={exports:{}},hasRequiredPadZeropadding;function requirePadZeropadding(){return hasRequiredPadZeropadding||(hasRequiredPadZeropadding=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return tt.pad.ZeroPadding={pad:function(rt,nt){var it=nt*4;rt.clamp(),rt.sigBytes+=it-(rt.sigBytes%it||it)},unpad:function(rt){for(var nt=rt.words,it=rt.sigBytes-1;!(nt[it>>>2]>>>24-it%4*8&255);)it--;rt.sigBytes=it+1}},tt.pad.ZeroPadding})}(padZeropadding)),padZeropadding.exports}var padNopadding={exports:{}},hasRequiredPadNopadding;function requirePadNopadding(){return hasRequiredPadNopadding||(hasRequiredPadNopadding=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return tt.pad.NoPadding={pad:function(){},unpad:function(){}},tt.pad.NoPadding})}(padNopadding)),padNopadding.exports}var formatHex={exports:{}},hasRequiredFormatHex;function requireFormatHex(){return hasRequiredFormatHex||(hasRequiredFormatHex=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireCipherCore())})(commonjsGlobal,function(tt){return function(rt){var nt=tt,it=nt.lib,at=it.CipherParams,st=nt.enc,lt=st.Hex,dt=nt.format;dt.Hex={stringify:function(ht){return ht.ciphertext.toString(lt)},parse:function(ht){var pt=lt.parse(ht);return at.create({ciphertext:pt})}}}(),tt.format.Hex})}(formatHex)),formatHex.exports}var aes={exports:{}},hasRequiredAes;function requireAes(){return hasRequiredAes||(hasRequiredAes=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.BlockCipher,at=rt.algo,st=[],lt=[],dt=[],ht=[],pt=[],mt=[],gt=[],vt=[],bt=[],yt=[];(function(){for(var _t=[],At=0;At<256;At++)At<128?_t[At]=At<<1:_t[At]=At<<1^283;for(var Tt=0,kt=0,At=0;At<256;At++){var jt=kt^kt<<1^kt<<2^kt<<3^kt<<4;jt=jt>>>8^jt&255^99,st[Tt]=jt,lt[jt]=Tt;var Lt=_t[Tt],qt=_t[Lt],Dt=_t[qt],zt=_t[jt]*257^jt*16843008;dt[Tt]=zt<<24|zt>>>8,ht[Tt]=zt<<16|zt>>>16,pt[Tt]=zt<<8|zt>>>24,mt[Tt]=zt;var zt=Dt*16843009^qt*65537^Lt*257^Tt*16843008;gt[jt]=zt<<24|zt>>>8,vt[jt]=zt<<16|zt>>>16,bt[jt]=zt<<8|zt>>>24,yt[jt]=zt,Tt?(Tt=Lt^_t[_t[_t[Dt^Lt]]],kt^=_t[_t[kt]]):Tt=kt=1}})();var xt=[0,1,2,4,8,16,32,64,128,27,54],wt=at.AES=it.extend({_doReset:function(){if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var _t=this._keyPriorReset=this._key,At=_t.words,Tt=_t.sigBytes/4,kt=this._nRounds=Tt+6,jt=(kt+1)*4,Lt=this._keySchedule=[],qt=0;qt6&&qt%Tt==4&&(Dt=st[Dt>>>24]<<24|st[Dt>>>16&255]<<16|st[Dt>>>8&255]<<8|st[Dt&255]):(Dt=Dt<<8|Dt>>>24,Dt=st[Dt>>>24]<<24|st[Dt>>>16&255]<<16|st[Dt>>>8&255]<<8|st[Dt&255],Dt^=xt[qt/Tt|0]<<24),Lt[qt]=Lt[qt-Tt]^Dt}for(var zt=this._invKeySchedule=[],Zt=0;Zt>>24]]^vt[st[Dt>>>16&255]]^bt[st[Dt>>>8&255]]^yt[st[Dt&255]]}}},encryptBlock:function(_t,At){this._doCryptBlock(_t,At,this._keySchedule,dt,ht,pt,mt,st)},decryptBlock:function(_t,At){var Tt=_t[At+1];_t[At+1]=_t[At+3],_t[At+3]=Tt,this._doCryptBlock(_t,At,this._invKeySchedule,gt,vt,bt,yt,lt);var Tt=_t[At+1];_t[At+1]=_t[At+3],_t[At+3]=Tt},_doCryptBlock:function(_t,At,Tt,kt,jt,Lt,qt,Dt){for(var zt=this._nRounds,Zt=_t[At]^Tt[0],Bt=_t[At+1]^Tt[1],Et=_t[At+2]^Tt[2],Ct=_t[At+3]^Tt[3],Pt=4,Ot=1;Ot>>24]^jt[Bt>>>16&255]^Lt[Et>>>8&255]^qt[Ct&255]^Tt[Pt++],Ut=kt[Bt>>>24]^jt[Et>>>16&255]^Lt[Ct>>>8&255]^qt[Zt&255]^Tt[Pt++],Wt=kt[Et>>>24]^jt[Ct>>>16&255]^Lt[Zt>>>8&255]^qt[Bt&255]^Tt[Pt++],$t=kt[Ct>>>24]^jt[Zt>>>16&255]^Lt[Bt>>>8&255]^qt[Et&255]^Tt[Pt++];Zt=Mt,Bt=Ut,Et=Wt,Ct=$t}var Mt=(Dt[Zt>>>24]<<24|Dt[Bt>>>16&255]<<16|Dt[Et>>>8&255]<<8|Dt[Ct&255])^Tt[Pt++],Ut=(Dt[Bt>>>24]<<24|Dt[Et>>>16&255]<<16|Dt[Ct>>>8&255]<<8|Dt[Zt&255])^Tt[Pt++],Wt=(Dt[Et>>>24]<<24|Dt[Ct>>>16&255]<<16|Dt[Zt>>>8&255]<<8|Dt[Bt&255])^Tt[Pt++],$t=(Dt[Ct>>>24]<<24|Dt[Zt>>>16&255]<<16|Dt[Bt>>>8&255]<<8|Dt[Et&255])^Tt[Pt++];_t[At]=Mt,_t[At+1]=Ut,_t[At+2]=Wt,_t[At+3]=$t},keySize:256/32});rt.AES=it._createHelper(wt)}(),tt.AES})}(aes)),aes.exports}var tripledes={exports:{}},hasRequiredTripledes;function requireTripledes(){return hasRequiredTripledes||(hasRequiredTripledes=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.WordArray,at=nt.BlockCipher,st=rt.algo,lt=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],dt=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],ht=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],pt=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],mt=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],gt=st.DES=at.extend({_doReset:function(){for(var xt=this._key,wt=xt.words,_t=[],At=0;At<56;At++){var Tt=lt[At]-1;_t[At]=wt[Tt>>>5]>>>31-Tt%32&1}for(var kt=this._subKeys=[],jt=0;jt<16;jt++){for(var Lt=kt[jt]=[],qt=ht[jt],At=0;At<24;At++)Lt[At/6|0]|=_t[(dt[At]-1+qt)%28]<<31-At%6,Lt[4+(At/6|0)]|=_t[28+(dt[At+24]-1+qt)%28]<<31-At%6;Lt[0]=Lt[0]<<1|Lt[0]>>>31;for(var At=1;At<7;At++)Lt[At]=Lt[At]>>>(At-1)*4+3;Lt[7]=Lt[7]<<5|Lt[7]>>>27}for(var Dt=this._invSubKeys=[],At=0;At<16;At++)Dt[At]=kt[15-At]},encryptBlock:function(xt,wt){this._doCryptBlock(xt,wt,this._subKeys)},decryptBlock:function(xt,wt){this._doCryptBlock(xt,wt,this._invSubKeys)},_doCryptBlock:function(xt,wt,_t){this._lBlock=xt[wt],this._rBlock=xt[wt+1],vt.call(this,4,252645135),vt.call(this,16,65535),bt.call(this,2,858993459),bt.call(this,8,16711935),vt.call(this,1,1431655765);for(var At=0;At<16;At++){for(var Tt=_t[At],kt=this._lBlock,jt=this._rBlock,Lt=0,qt=0;qt<8;qt++)Lt|=pt[qt][((jt^Tt[qt])&mt[qt])>>>0];this._lBlock=jt,this._rBlock=kt^Lt}var Dt=this._lBlock;this._lBlock=this._rBlock,this._rBlock=Dt,vt.call(this,1,1431655765),bt.call(this,8,16711935),bt.call(this,2,858993459),vt.call(this,16,65535),vt.call(this,4,252645135),xt[wt]=this._lBlock,xt[wt+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function vt(xt,wt){var _t=(this._lBlock>>>xt^this._rBlock)&wt;this._rBlock^=_t,this._lBlock^=_t<>>xt^this._lBlock)&wt;this._lBlock^=_t,this._rBlock^=_t<>>2]>>>24-yt%4*8&255;bt=(bt+gt[vt]+xt)%256;var wt=gt[vt];gt[vt]=gt[bt],gt[bt]=wt}this._i=this._j=0},_doProcessBlock:function(ht,pt){ht[pt]^=lt.call(this)},keySize:256/32,ivSize:0});function lt(){for(var ht=this._S,pt=this._i,mt=this._j,gt=0,vt=0;vt<4;vt++){pt=(pt+1)%256,mt=(mt+ht[pt])%256;var bt=ht[pt];ht[pt]=ht[mt],ht[mt]=bt,gt|=ht[(ht[pt]+ht[mt])%256]<<24-vt*8}return this._i=pt,this._j=mt,gt}rt.RC4=it._createHelper(st);var dt=at.RC4Drop=st.extend({cfg:st.cfg.extend({drop:192}),_doReset:function(){st._doReset.call(this);for(var ht=this.cfg.drop;ht>0;ht--)lt.call(this)}});rt.RC4Drop=it._createHelper(dt)}(),tt.RC4})}(rc4)),rc4.exports}var rabbit={exports:{}},hasRequiredRabbit;function requireRabbit(){return hasRequiredRabbit||(hasRequiredRabbit=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.StreamCipher,at=rt.algo,st=[],lt=[],dt=[],ht=at.Rabbit=it.extend({_doReset:function(){for(var mt=this._key.words,gt=this.cfg.iv,vt=0;vt<4;vt++)mt[vt]=(mt[vt]<<8|mt[vt]>>>24)&16711935|(mt[vt]<<24|mt[vt]>>>8)&4278255360;var bt=this._X=[mt[0],mt[3]<<16|mt[2]>>>16,mt[1],mt[0]<<16|mt[3]>>>16,mt[2],mt[1]<<16|mt[0]>>>16,mt[3],mt[2]<<16|mt[1]>>>16],yt=this._C=[mt[2]<<16|mt[2]>>>16,mt[0]&4294901760|mt[1]&65535,mt[3]<<16|mt[3]>>>16,mt[1]&4294901760|mt[2]&65535,mt[0]<<16|mt[0]>>>16,mt[2]&4294901760|mt[3]&65535,mt[1]<<16|mt[1]>>>16,mt[3]&4294901760|mt[0]&65535];this._b=0;for(var vt=0;vt<4;vt++)pt.call(this);for(var vt=0;vt<8;vt++)yt[vt]^=bt[vt+4&7];if(gt){var xt=gt.words,wt=xt[0],_t=xt[1],At=(wt<<8|wt>>>24)&16711935|(wt<<24|wt>>>8)&4278255360,Tt=(_t<<8|_t>>>24)&16711935|(_t<<24|_t>>>8)&4278255360,kt=At>>>16|Tt&4294901760,jt=Tt<<16|At&65535;yt[0]^=At,yt[1]^=kt,yt[2]^=Tt,yt[3]^=jt,yt[4]^=At,yt[5]^=kt,yt[6]^=Tt,yt[7]^=jt;for(var vt=0;vt<4;vt++)pt.call(this)}},_doProcessBlock:function(mt,gt){var vt=this._X;pt.call(this),st[0]=vt[0]^vt[5]>>>16^vt[3]<<16,st[1]=vt[2]^vt[7]>>>16^vt[5]<<16,st[2]=vt[4]^vt[1]>>>16^vt[7]<<16,st[3]=vt[6]^vt[3]>>>16^vt[1]<<16;for(var bt=0;bt<4;bt++)st[bt]=(st[bt]<<8|st[bt]>>>24)&16711935|(st[bt]<<24|st[bt]>>>8)&4278255360,mt[gt+bt]^=st[bt]},blockSize:128/32,ivSize:64/32});function pt(){for(var mt=this._X,gt=this._C,vt=0;vt<8;vt++)lt[vt]=gt[vt];gt[0]=gt[0]+1295307597+this._b|0,gt[1]=gt[1]+3545052371+(gt[0]>>>0>>0?1:0)|0,gt[2]=gt[2]+886263092+(gt[1]>>>0>>0?1:0)|0,gt[3]=gt[3]+1295307597+(gt[2]>>>0>>0?1:0)|0,gt[4]=gt[4]+3545052371+(gt[3]>>>0>>0?1:0)|0,gt[5]=gt[5]+886263092+(gt[4]>>>0>>0?1:0)|0,gt[6]=gt[6]+1295307597+(gt[5]>>>0>>0?1:0)|0,gt[7]=gt[7]+3545052371+(gt[6]>>>0>>0?1:0)|0,this._b=gt[7]>>>0>>0?1:0;for(var vt=0;vt<8;vt++){var bt=mt[vt]+gt[vt],yt=bt&65535,xt=bt>>>16,wt=((yt*yt>>>17)+yt*xt>>>15)+xt*xt,_t=((bt&4294901760)*bt|0)+((bt&65535)*bt|0);dt[vt]=wt^_t}mt[0]=dt[0]+(dt[7]<<16|dt[7]>>>16)+(dt[6]<<16|dt[6]>>>16)|0,mt[1]=dt[1]+(dt[0]<<8|dt[0]>>>24)+dt[7]|0,mt[2]=dt[2]+(dt[1]<<16|dt[1]>>>16)+(dt[0]<<16|dt[0]>>>16)|0,mt[3]=dt[3]+(dt[2]<<8|dt[2]>>>24)+dt[1]|0,mt[4]=dt[4]+(dt[3]<<16|dt[3]>>>16)+(dt[2]<<16|dt[2]>>>16)|0,mt[5]=dt[5]+(dt[4]<<8|dt[4]>>>24)+dt[3]|0,mt[6]=dt[6]+(dt[5]<<16|dt[5]>>>16)+(dt[4]<<16|dt[4]>>>16)|0,mt[7]=dt[7]+(dt[6]<<8|dt[6]>>>24)+dt[5]|0}rt.Rabbit=it._createHelper(ht)}(),tt.Rabbit})}(rabbit)),rabbit.exports}var rabbitLegacy={exports:{}},hasRequiredRabbitLegacy;function requireRabbitLegacy(){return hasRequiredRabbitLegacy||(hasRequiredRabbitLegacy=1,function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())})(commonjsGlobal,function(tt){return function(){var rt=tt,nt=rt.lib,it=nt.StreamCipher,at=rt.algo,st=[],lt=[],dt=[],ht=at.RabbitLegacy=it.extend({_doReset:function(){var mt=this._key.words,gt=this.cfg.iv,vt=this._X=[mt[0],mt[3]<<16|mt[2]>>>16,mt[1],mt[0]<<16|mt[3]>>>16,mt[2],mt[1]<<16|mt[0]>>>16,mt[3],mt[2]<<16|mt[1]>>>16],bt=this._C=[mt[2]<<16|mt[2]>>>16,mt[0]&4294901760|mt[1]&65535,mt[3]<<16|mt[3]>>>16,mt[1]&4294901760|mt[2]&65535,mt[0]<<16|mt[0]>>>16,mt[2]&4294901760|mt[3]&65535,mt[1]<<16|mt[1]>>>16,mt[3]&4294901760|mt[0]&65535];this._b=0;for(var yt=0;yt<4;yt++)pt.call(this);for(var yt=0;yt<8;yt++)bt[yt]^=vt[yt+4&7];if(gt){var xt=gt.words,wt=xt[0],_t=xt[1],At=(wt<<8|wt>>>24)&16711935|(wt<<24|wt>>>8)&4278255360,Tt=(_t<<8|_t>>>24)&16711935|(_t<<24|_t>>>8)&4278255360,kt=At>>>16|Tt&4294901760,jt=Tt<<16|At&65535;bt[0]^=At,bt[1]^=kt,bt[2]^=Tt,bt[3]^=jt,bt[4]^=At,bt[5]^=kt,bt[6]^=Tt,bt[7]^=jt;for(var yt=0;yt<4;yt++)pt.call(this)}},_doProcessBlock:function(mt,gt){var vt=this._X;pt.call(this),st[0]=vt[0]^vt[5]>>>16^vt[3]<<16,st[1]=vt[2]^vt[7]>>>16^vt[5]<<16,st[2]=vt[4]^vt[1]>>>16^vt[7]<<16,st[3]=vt[6]^vt[3]>>>16^vt[1]<<16;for(var bt=0;bt<4;bt++)st[bt]=(st[bt]<<8|st[bt]>>>24)&16711935|(st[bt]<<24|st[bt]>>>8)&4278255360,mt[gt+bt]^=st[bt]},blockSize:128/32,ivSize:64/32});function pt(){for(var mt=this._X,gt=this._C,vt=0;vt<8;vt++)lt[vt]=gt[vt];gt[0]=gt[0]+1295307597+this._b|0,gt[1]=gt[1]+3545052371+(gt[0]>>>0>>0?1:0)|0,gt[2]=gt[2]+886263092+(gt[1]>>>0>>0?1:0)|0,gt[3]=gt[3]+1295307597+(gt[2]>>>0>>0?1:0)|0,gt[4]=gt[4]+3545052371+(gt[3]>>>0>>0?1:0)|0,gt[5]=gt[5]+886263092+(gt[4]>>>0>>0?1:0)|0,gt[6]=gt[6]+1295307597+(gt[5]>>>0>>0?1:0)|0,gt[7]=gt[7]+3545052371+(gt[6]>>>0>>0?1:0)|0,this._b=gt[7]>>>0>>0?1:0;for(var vt=0;vt<8;vt++){var bt=mt[vt]+gt[vt],yt=bt&65535,xt=bt>>>16,wt=((yt*yt>>>17)+yt*xt>>>15)+xt*xt,_t=((bt&4294901760)*bt|0)+((bt&65535)*bt|0);dt[vt]=wt^_t}mt[0]=dt[0]+(dt[7]<<16|dt[7]>>>16)+(dt[6]<<16|dt[6]>>>16)|0,mt[1]=dt[1]+(dt[0]<<8|dt[0]>>>24)+dt[7]|0,mt[2]=dt[2]+(dt[1]<<16|dt[1]>>>16)+(dt[0]<<16|dt[0]>>>16)|0,mt[3]=dt[3]+(dt[2]<<8|dt[2]>>>24)+dt[1]|0,mt[4]=dt[4]+(dt[3]<<16|dt[3]>>>16)+(dt[2]<<16|dt[2]>>>16)|0,mt[5]=dt[5]+(dt[4]<<8|dt[4]>>>24)+dt[3]|0,mt[6]=dt[6]+(dt[5]<<16|dt[5]>>>16)+(dt[4]<<16|dt[4]>>>16)|0,mt[7]=dt[7]+(dt[6]<<8|dt[6]>>>24)+dt[5]|0}rt.RabbitLegacy=it._createHelper(ht)}(),tt.RabbitLegacy})}(rabbitLegacy)),rabbitLegacy.exports}(function(_e,et){(function(tt,rt,nt){_e.exports=rt(requireCore(),requireX64Core(),requireLibTypedarrays(),requireEncUtf16(),requireEncBase64(),requireMd5(),requireSha1(),sha256Exports,requireSha224(),requireSha512(),requireSha384(),requireSha3(),requireRipemd160(),requireHmac(),requirePbkdf2(),requireEvpkdf(),requireCipherCore(),requireModeCfb(),requireModeCtr(),requireModeCtrGladman(),requireModeOfb(),requireModeEcb(),requirePadAnsix923(),requirePadIso10126(),requirePadIso97971(),requirePadZeropadding(),requirePadNopadding(),requireFormatHex(),requireAes(),requireTripledes(),requireRc4(),requireRabbit(),requireRabbitLegacy())})(commonjsGlobal,function(tt){return tt})})(cryptoJs);var cryptoJsExports=cryptoJs.exports,__importDefault$3=commonjsGlobal&&commonjsGlobal.__importDefault||function(_e){return _e&&_e.__esModule?_e:{default:_e}};Object.defineProperty(Base$1,"__esModule",{value:!0});Base$1.Base=void 0;const buffer_1$2=buffer,crypto_js_1=__importDefault$3(cryptoJsExports);class Base{print(){Base.print(this)}bufferIndexOf(et,tt,rt=!1){if(rt)return this.binarySearch(et,tt,buffer_1$2.Buffer.compare);const nt=(it,at)=>it.equals(at);return this.linearSearch(et,tt,nt)}static binarySearch(et,tt,rt){let nt=0,it=et.length-1;for(;nt<=it;){const at=Math.floor((nt+it)/2),st=rt(et[at],tt);if(st===0){for(let lt=at-1;lt>=0;lt--)if(rt(et[lt],tt)!==0)return lt+1;return 0}else st<0?nt=at+1:it=at-1}return-1}binarySearch(et,tt,rt){return Base.binarySearch(et,tt,rt)}static linearSearch(et,tt,rt){for(let nt=0;nt{const rt=et(tt);return buffer_1$2.Buffer.isBuffer(rt)?rt:this.isHexString(rt)?buffer_1$2.Buffer.from(rt.replace("0x",""),"hex"):typeof rt=="string"?buffer_1$2.Buffer.from(rt):typeof rt=="bigint"?buffer_1$2.Buffer.from(tt.toString(16),"hex"):ArrayBuffer.isView(rt)?buffer_1$2.Buffer.from(rt.buffer,rt.byteOffset,rt.byteLength):buffer_1$2.Buffer.from(et(crypto_js_1.default.enc.Hex.parse(tt.toString("hex"))).toString(crypto_js_1.default.enc.Hex),"hex")}}isHexString(et){return Base.isHexString(et)}log2(et){return et===1?0:1+this.log2(et/2|0)}zip(et,tt){return et.map((rt,nt)=>[rt,tt[nt]])}static hexZeroPad(et,tt){return"0x"+et.replace("0x","").padStart(tt,"0")}}Base$1.Base=Base;Base$1.default=Base;var __importDefault$2=commonjsGlobal&&commonjsGlobal.__importDefault||function(_e){return _e&&_e.__esModule?_e:{default:_e}};Object.defineProperty(MerkleTree$1,"__esModule",{value:!0});MerkleTree$1.MerkleTree=void 0;const buffer_1$1=buffer,buffer_reverse_1=__importDefault$2(bufferReverse),sha256_1$1=__importDefault$2(sha256Exports),treeify_1$1=__importDefault$2(treeifyExports),Base_1$3=__importDefault$2(Base$1);class MerkleTree extends Base_1$3.default{constructor(et,tt=sha256_1$1.default,rt={}){if(super(),this.duplicateOdd=!1,this.concatenator=buffer_1$1.Buffer.concat,this.hashLeaves=!1,this.isBitcoinTree=!1,this.leaves=[],this.layers=[],this.sortLeaves=!1,this.sortPairs=!1,this.sort=!1,this.fillDefaultHash=null,this.complete=!1,rt.complete){if(rt.isBitcoinTree)throw new Error('option "complete" is incompatible with "isBitcoinTree"');if(rt.duplicateOdd)throw new Error('option "complete" is incompatible with "duplicateOdd"')}if(this.isBitcoinTree=!!rt.isBitcoinTree,this.hashLeaves=!!rt.hashLeaves,this.sortLeaves=!!rt.sortLeaves,this.sortPairs=!!rt.sortPairs,this.complete=!!rt.complete,rt.fillDefaultHash)if(typeof rt.fillDefaultHash=="function")this.fillDefaultHash=rt.fillDefaultHash;else if(buffer_1$1.Buffer.isBuffer(rt.fillDefaultHash)||typeof rt.fillDefaultHash=="string")this.fillDefaultHash=(nt,it)=>rt.fillDefaultHash;else throw new Error('method "fillDefaultHash" must be a function, Buffer, or string');this.sort=!!rt.sort,this.sort&&(this.sortLeaves=!0,this.sortPairs=!0),this.duplicateOdd=!!rt.duplicateOdd,rt.concatenator&&(this.concatenator=rt.concatenator),this.hashFn=this.bufferifyFn(tt),this.processLeaves(et)}getOptions(){var et,tt;return{complete:this.complete,isBitcoinTree:this.isBitcoinTree,hashLeaves:this.hashLeaves,sortLeaves:this.sortLeaves,sortPairs:this.sortPairs,sort:this.sort,fillDefaultHash:(tt=(et=this.fillDefaultHash)===null||et===void 0?void 0:et.toString())!==null&&tt!==void 0?tt:null,duplicateOdd:this.duplicateOdd}}processLeaves(et){if(this.hashLeaves&&(et=et.map(this.hashFn)),this.leaves=et.map(this.bufferify),this.sortLeaves&&(this.leaves=this.leaves.sort(buffer_1$1.Buffer.compare)),this.fillDefaultHash)for(let tt=this.leaves.length;tt1;){const tt=this.layers.length;this.layers.push([]);const rt=this.complete&&tt===1&&!Number.isInteger(Math.log2(et.length))?2*et.length-Math.pow(2,Math.ceil(Math.log2(et.length))):et.length;for(let nt=0;nt=rt){this.layers[tt].push(...et.slice(rt));break}else if(nt+1===et.length&&et.length%2===1){const dt=et[et.length-1];let ht=dt;if(this.isBitcoinTree){ht=this.hashFn(this.concatenator([buffer_reverse_1.default(dt),buffer_reverse_1.default(dt)])),ht=buffer_reverse_1.default(this.hashFn(ht)),this.layers[tt].push(ht);continue}else if(!this.duplicateOdd){this.layers[tt].push(et[nt]);continue}}const it=et[nt],at=nt+1===et.length?it:et[nt+1];let st=null;this.isBitcoinTree?st=[buffer_reverse_1.default(it),buffer_reverse_1.default(at)]:st=[it,at],this.sortPairs&&st.sort(buffer_1$1.Buffer.compare);let lt=this.hashFn(this.concatenator(st));this.isBitcoinTree&&(lt=buffer_reverse_1.default(this.hashFn(lt))),this.layers[tt].push(lt)}et=this.layers[tt]}}addLeaf(et,tt=!1){tt&&(et=this.hashFn(et)),this.processLeaves(this.leaves.concat(et))}addLeaves(et,tt=!1){tt&&(et=et.map(this.hashFn)),this.processLeaves(this.leaves.concat(et))}getLeaves(et){return Array.isArray(et)?(this.hashLeaves&&(et=et.map(this.hashFn),this.sortLeaves&&(et=et.sort(buffer_1$1.Buffer.compare))),this.leaves.filter(tt=>this.bufferIndexOf(et,tt,this.sortLeaves)!==-1)):this.leaves}getLeaf(et){return et<0||et>this.leaves.length-1?buffer_1$1.Buffer.from([]):this.leaves[et]}getLeafIndex(et){et=this.bufferify(et);const tt=this.getLeaves();for(let rt=0;rtthis.bufferToHex(et))}static marshalLeaves(et){return JSON.stringify(et.map(tt=>MerkleTree.bufferToHex(tt)),null,2)}static unmarshalLeaves(et){let tt=null;if(typeof et=="string")tt=JSON.parse(et);else if(et instanceof Object)tt=et;else throw new Error("Expected type of string or object");if(!tt)return[];if(!Array.isArray(tt))throw new Error("Expected JSON string to be array");return tt.map(MerkleTree.bufferify)}getLayers(){return this.layers}getHexLayers(){return this.layers.reduce((et,tt)=>(Array.isArray(tt)?et.push(tt.map(rt=>this.bufferToHex(rt))):et.push(tt),et),[])}getLayersFlat(){const et=this.layers.reduce((tt,rt)=>(Array.isArray(rt)?tt.unshift(...rt):tt.unshift(rt),tt),[]);return et.unshift(buffer_1$1.Buffer.from([0])),et}getHexLayersFlat(){return this.getLayersFlat().map(et=>this.bufferToHex(et))}getLayerCount(){return this.getLayers().length}getRoot(){return this.layers.length===0?buffer_1$1.Buffer.from([]):this.layers[this.layers.length-1][0]||buffer_1$1.Buffer.from([])}getHexRoot(){return this.bufferToHex(this.getRoot())}getProof(et,tt){if(typeof et>"u")throw new Error("leaf is required");et=this.bufferify(et);const rt=[];if(!Number.isInteger(tt)){tt=-1;for(let nt=0;ntthis.bufferToHex(rt.data))}getProofs(){const et=[],tt=[];return this.getProofsDFS(this.layers.length-1,0,et,tt),tt}getProofsDFS(et,tt,rt,nt){const it=tt%2;if(et===-1){it||nt.push([...rt].reverse());return}if(tt>=this.layers[et].length)return;const at=this.layers[et],st=it?tt-1:tt+1;let lt=!1;stthis.bufferToHex(et.data))}getPositionalHexProof(et,tt){return this.getProof(et,tt).map(rt=>[rt.position==="left"?0:1,this.bufferToHex(rt.data)])}static marshalProof(et){const tt=et.map(rt=>typeof rt=="string"?rt:buffer_1$1.Buffer.isBuffer(rt)?MerkleTree.bufferToHex(rt):{position:rt.position,data:MerkleTree.bufferToHex(rt.data)});return JSON.stringify(tt,null,2)}static unmarshalProof(et){let tt=null;if(typeof et=="string")tt=JSON.parse(et);else if(et instanceof Object)tt=et;else throw new Error("Expected type of string or object");if(!tt)return[];if(!Array.isArray(tt))throw new Error("Expected JSON string to be array");return tt.map(rt=>{if(typeof rt=="string")return MerkleTree.bufferify(rt);if(rt instanceof Object)return{position:rt.position,data:MerkleTree.bufferify(rt.data)};throw new Error("Expected item to be of type string or object")})}static marshalTree(et){const tt=et.getHexRoot(),rt=et.leaves.map(at=>MerkleTree.bufferToHex(at)),nt=et.getHexLayers(),it=et.getOptions();return JSON.stringify({options:it,root:tt,layers:nt,leaves:rt},null,2)}static unmarshalTree(et,tt=sha256_1$1.default,rt={}){let nt=null;if(typeof et=="string")nt=JSON.parse(et);else if(et instanceof Object)nt=et;else throw new Error("Expected type of string or object");if(!nt)throw new Error("could not parse json");return rt=Object.assign({},nt.options||{},rt),new MerkleTree(nt.leaves,tt,rt)}getProofIndices(et,tt){const rt=Math.pow(2,tt);let nt=new Set;for(const dt of et){let ht=rt+dt;for(;ht>1;)nt.add(ht^1),ht=ht/2|0}const it=et.map(dt=>rt+dt),at=Array.from(nt).sort((dt,ht)=>dt-ht).reverse();nt=it.concat(at);const st=new Set,lt=[];for(let dt of nt)if(!st.has(dt))for(lt.push(dt);dt>1&&(st.add(dt),!!st.has(dt^1));)dt=dt/2|0;return lt.filter(dt=>!et.includes(dt-rt))}getProofIndicesForUnevenTree(et,tt){const rt=Math.ceil(Math.log2(tt)),nt=[];for(let st=0;stpt%2===0?pt+1:pt-1).filter(pt=>!at.includes(pt));const ht=nt.find(({index:pt})=>pt===st);ht&&at.includes(ht.leavesCount-1)&&(dt=dt.slice(0,-1)),it.push(dt),at=[...new Set(at.map(pt=>pt%2===0?pt/2:pt%2===0?(pt+1)/2:(pt-1)/2))]}return it}getMultiProof(et,tt){if(this.complete||console.warn("Warning: For correct multiProofs it's strongly recommended to set complete: true"),tt||(tt=et,et=this.getLayersFlat()),this.isUnevenTree()&&tt.every(Number.isInteger))return this.getMultiProofForUnevenTree(tt);if(!tt.every(Number.isInteger)){let nt=tt;this.sortPairs&&(nt=nt.sort(buffer_1$1.Buffer.compare));let it=nt.map(dt=>this.bufferIndexOf(this.leaves,dt,this.sortLeaves)).sort((dt,ht)=>dt===ht?0:dt>ht?1:-1);if(!it.every(dt=>dt!==-1))throw new Error("Element does not exist in Merkle tree");const at=[],st=[];let lt=[];for(let dt=0;dtgt.indexOf(pt)===mt),lt=[]}return st.filter(dt=>!at.includes(dt))}return this.getProofIndices(tt,Math.log2(et.length/2|0)).map(nt=>et[nt])}getMultiProofForUnevenTree(et,tt){tt||(tt=et,et=this.getLayers());let rt=[],nt=tt;for(const it of et){const at=[];for(const lt of nt){if(lt%2===0){const ht=lt+1;if(!nt.includes(ht)&&it[ht]){at.push(it[ht]);continue}}const dt=lt-1;if(!nt.includes(dt)&&it[dt]){at.push(it[dt]);continue}}rt=rt.concat(at);const st=new Set;for(const lt of nt){if(lt%2===0){st.add(lt/2);continue}if(lt%2===0){st.add((lt+1)/2);continue}st.add((lt-1)/2)}nt=Array.from(st)}return rt}getHexMultiProof(et,tt){return this.getMultiProof(et,tt).map(rt=>this.bufferToHex(rt))}getProofFlags(et,tt){if(!Array.isArray(et)||et.length<=0)throw new Error("Invalid Inputs!");let rt;if(et.every(Number.isInteger)?rt=[...et].sort((st,lt)=>st===lt?0:st>lt?1:-1):rt=et.map(st=>this.bufferIndexOf(this.leaves,st,this.sortLeaves)).sort((st,lt)=>st===lt?0:st>lt?1:-1),!rt.every(st=>st!==-1))throw new Error("Element does not exist in Merkle tree");const nt=tt.map(st=>this.bufferify(st)),it=[],at=[];for(let st=0;st{if(!it.includes(lt[ht])){const mt=this.getPairNode(lt,ht),gt=nt.includes(lt[ht])||nt.includes(mt);mt&&at.push(!gt),it.push(lt[ht]),it.push(mt)}return dt.push(ht/2|0),dt},[])}return at}verify(et,tt,rt){let nt=this.bufferify(tt);if(rt=this.bufferify(rt),!Array.isArray(et)||!tt||!rt)return!1;for(let it=0;itthis.bufferify(pt)),it=it.map(pt=>this.bufferify(pt));const lt={};for(const[pt,mt]of this.zip(tt,rt))lt[Math.pow(2,st)+pt]=mt;for(const[pt,mt]of this.zip(this.getProofIndices(tt,st),it))lt[pt]=mt;let dt=Object.keys(lt).map(pt=>+pt).sort((pt,mt)=>pt-mt);dt=dt.slice(0,dt.length-1);let ht=0;for(;ht=2&&{}.hasOwnProperty.call(lt,pt^1)){let mt=[lt[pt-pt%2],lt[pt-pt%2+1]];this.sortPairs&&(mt=mt.sort(buffer_1$1.Buffer.compare));const gt=mt[1]?this.hashFn(this.concatenator(mt)):mt[0];lt[pt/2|0]=gt,dt.push(pt/2|0)}ht+=1}return!tt.length||{}.hasOwnProperty.call(lt,1)&<[1].equals(et)}verifyMultiProofWithFlags(et,tt,rt,nt){et=this.bufferify(et),tt=tt.map(this.bufferify),rt=rt.map(this.bufferify);const it=tt.length,at=nt.length,st=[];let lt=0,dt=0,ht=0;for(let pt=0;ptthis.bufferify(st)),it=it.map(st=>this.bufferify(st));const at=this.calculateRootForUnevenTree(tt,rt,nt,it);return et.equals(at)}getDepth(){return this.getLayers().length-1}getLayersAsObject(){const et=this.getLayers().map(rt=>rt.map(nt=>this.bufferToHex(nt,!1))),tt=[];for(let rt=0;rtpt-mt),at=it.map(([pt])=>pt),st=this.getProofIndicesForUnevenTree(at,rt);let lt=0;const dt=[];for(let pt=0;ptyt-xt).map(([,yt])=>yt),gt=ht[pt].map(([yt])=>yt),vt=[...new Set(gt.map(yt=>yt%2===0?yt/2:yt%2===0?(yt+1)/2:(yt-1)/2))],bt=[];for(let yt=0;yt0&&!(et&1<=tt));at--);if(nt!==rt.length)throw new Error("invalid bit calculation");return rt}numOfPeaks(et){let tt=et,rt=0;for(;tt>0;)tt%2===1&&rt++,tt=tt>>1;return rt}peakBagging(et,tt){const rt=this.getSize(et);if(this.numOfPeaks(et)!==tt.length)throw new Error("received invalid number of peaks");return et===0&&!tt.length?buffer_1.Buffer.alloc(0):this.peakBaggingFn?this.bufferify(this.peakBaggingFn(rt,tt)):this.hashFn(buffer_1.Buffer.concat([this.bufferify(rt),...tt.map(this.bufferify)]))}getSize(et){return(et<<1)-this.numOfPeaks(et)}getRoot(){return this.root}getHexRoot(){return this.bufferToHex(this.getRoot())}getNode(et){return this.hashes[et]}mountainHeight(et){let tt=1;for(;1<rt;)tt-=(1<this.size)throw new Error("out of range");if(!this.isLeaf(et))throw new Error("not a leaf");const tt=this.root,rt=this.width,nt=this.getPeakIndexes(this.width),it=[];let at=0;for(let pt=0;pt=et&&at===0&&(at=nt[pt]);let st=0,lt=0,dt=this.heightAt(at);const ht=[];for(;at!==et;)dt--,[st,lt]=this.getChildren(at),at=et<=st?st:lt,ht[dt-1]=this.hashes[et<=st?lt:st];return{root:tt,width:rt,peakBagging:it,siblings:ht}}verify(et,tt,rt,nt,it,at){if(nt=this.bufferify(nt),this.getSize(tt)=rt){dt=it[yt],lt=ht[yt];break}if(!dt)throw new Error("target not found");let pt=at.length+1;const mt=new Array(pt);let gt=0,vt=0;for(;pt>0&&(mt[--pt]=lt,lt!==rt);)[gt,vt]=this.getChildren(lt),lt=rt>gt?vt:gt;let bt;for(;ptthis.size)throw new Error("out of range");if(!this.hashes[et]){const[tt,rt]=this.getChildren(et),nt=this._getOrCreateNode(tt),it=this._getOrCreateNode(rt);this.hashes[et]=this.hashBranch(et,nt,it)}return this.hashes[et]}}MerkleMountainRange$1.MerkleMountainRange=MerkleMountainRange;typeof window<"u"&&(window.MerkleMountainRange=MerkleMountainRange);MerkleMountainRange$1.default=MerkleMountainRange;var IncrementalMerkleTree$1={},__importDefault=commonjsGlobal&&commonjsGlobal.__importDefault||function(_e){return _e&&_e.__esModule?_e:{default:_e}};Object.defineProperty(IncrementalMerkleTree$1,"__esModule",{value:!0});IncrementalMerkleTree$1.IncrementalMerkleTree=void 0;const Base_1$1=__importDefault(Base$1),treeify_1=__importDefault(treeifyExports);class IncrementalMerkleTree extends Base_1$1.default{constructor(et,tt){if(super(),this.hashFn=et,tt.depth&&(this.depth=tt.depth),tt.arity&&(this.arity=tt.arity),this.depth<1)throw new Error("depth must be greater than 0");if(this.arity<1)throw new Error("arity must be greater than 0");const rt=[];let nt=tt.zeroValue;if(this.zeroValue=nt,this.zeroes=[],this.depth)for(let it=0;it=this.getMaxLeaves())throw new Error("tree is full");let tt=et,rt=this.nodes[0].length;for(let nt=0;nt=this.nodes[0].length)throw new Error("out of bounds");let rt=tt;for(let nt=0;ntBigInt(tt))}getLayers(){const et=[];for(const tt of this.nodes)et.push(this.copyList(tt));if(et[0].length=et[rt].length&&(et[rt][st]=this.zeroes[rt]);tt=Math.floor(tt/this.arity)}}return et.push([this.root]),et}getHexLayers(){return this.getLayers().reduce((et,tt)=>(Array.isArray(tt)?et.push(tt.map(rt=>this.bufferToHex(this.bufferify(rt)))):et.push(tt),et),[])}getLayersAsObject(){const et=this.getLayers().map(rt=>rt.map(nt=>this.bufferToHex(this.bufferify(nt),!1))),tt=[];for(let rt=0;rt=this.nodes[0].length)throw new Error("The leaf does not exist in this tree");const tt=[],rt=[],nt=et;for(let it=0;itBigInt(nt)),this.data=rt}getBucket(){let et;return this.data?et=this.hashFn(this.data):et=Buffer.alloc(32),new Bucket(BigInt(this.rng[1])-BigInt(this.rng[0]),et)}}MerkleSumTree$1.Leaf=Leaf;class ProofStep{constructor(et,tt){this.bucket=et,this.right=tt}}MerkleSumTree$1.ProofStep=ProofStep;class MerkleSumTree extends Base_1.Base{constructor(et,tt){super(),this.leaves=et,this.hashFn=tt,MerkleSumTree.checkConsecutive(et),this.buckets=[];for(const nt of et)this.buckets.push(nt.getBucket());let rt=[];for(const nt of this.buckets)rt.push(nt);for(;rt.length!==1;){const nt=[];for(;rt.length;)if(rt.length>=2){const it=rt.shift(),at=rt.shift(),st=it.size+at.size,lt=this.hashFn(Buffer.concat([this.sizeToBuffer(it.size),this.bufferify(it.hashed),this.sizeToBuffer(at.size),this.bufferify(at.hashed)])),dt=new Bucket(st,lt);at.parent=dt,it.parent=at.parent,it.right=at,at.left=it,nt.push(dt)}else nt.push(rt.shift());rt=nt}this.root=rt[0]}sizeToBuffer(et){const tt=Buffer.alloc(8);return new DataView(tt.buffer).setBigInt64(0,BigInt(et),!1),tt}static checkConsecutive(et){let tt=BigInt(0);for(const rt of et){if(rt.rng[0]!==tt)throw new Error("leaf ranges are invalid");tt=BigInt(rt.rng[1])}}getProof(et){let tt=this.buckets[Number(et)];const rt=[];for(;tt&&tt.parent;){const nt=!!tt.right,it=tt.right?tt.right:tt.left;tt=tt.parent,rt.push(new ProofStep(it,nt))}return rt}sum(et){let tt=BigInt(0);for(const rt of et)tt+=BigInt(rt);return tt}verifyProof(et,tt,rt){const nt=[this.sum(rt.filter(st=>!st.right).map(st=>st.bucket.size)),BigInt(et.size)-this.sum(rt.filter(st=>st.right).map(st=>st.bucket.size))];if(!(nt[0]===tt.rng[0]&&nt[1]===tt.rng[1]))return!1;let it=tt.getBucket(),at;for(const st of rt)st.right?at=this.hashFn(Buffer.concat([this.sizeToBuffer(it.size),this.bufferify(it.hashed),this.sizeToBuffer(st.bucket.size),this.bufferify(st.bucket.hashed)])):at=this.hashFn(Buffer.concat([this.sizeToBuffer(st.bucket.size),this.bufferify(st.bucket.hashed),this.sizeToBuffer(it.size),this.bufferify(it.hashed)])),it=new Bucket(BigInt(it.size)+BigInt(st.bucket.size),at);return it.size===et.size&&it.hashed.toString("hex")===et.hashed.toString("hex")}}MerkleSumTree$1.MerkleSumTree=MerkleSumTree;typeof window<"u"&&(window.MerkleSumTree=MerkleSumTree);MerkleSumTree$1.default=MerkleSumTree;(function(_e){var et=commonjsGlobal&&commonjsGlobal.__importDefault||function(at){return at&&at.__esModule?at:{default:at}};Object.defineProperty(_e,"__esModule",{value:!0}),_e.MerkleTree=void 0;const tt=et(MerkleTree$1);_e.MerkleTree=tt.default;var rt=MerkleMountainRange$1;Object.defineProperty(_e,"MerkleMountainRange",{enumerable:!0,get:function(){return rt.MerkleMountainRange}});var nt=IncrementalMerkleTree$1;Object.defineProperty(_e,"IncrementalMerkleTree",{enumerable:!0,get:function(){return nt.IncrementalMerkleTree}});var it=MerkleSumTree$1;Object.defineProperty(_e,"MerkleSumTree",{enumerable:!0,get:function(){return it.MerkleSumTree}}),_e.default=tt.default})(dist);const useMerkel=_e=>{const et=st=>{const lt=[];for(let dt=0;dt{const dt=it(st,lt,1);return rt.current.getHexProof(dt)},it=(st,lt,dt)=>buffer.Buffer.from(utils.solidityKeccak256(["uint16","string","uint16","string","uint8"],[st,",",lt,",",dt]).slice(2),"hex"),at=st=>{const lt=st.map(({x:ht,y:pt})=>[ht,pt]),dt=[];for(let ht=0;ht{_e.length!==0&&(tt.current=et(_e),rt.current=new dist.MerkleTree(tt.current.map(st=>it(st.x,st.y,st.value)),utils.keccak256,{sortPairs:!0}))},[_e]),at},Map$1=_e=>{const{width:et,height:tt,vertexCoordinate:rt}=_e,{x:nt,y:it}=rt,[at,st]=reactExports.useState({x:-1,y:-1}),{onPlayerMove:lt,players:dt,treasureChest:ht=[],curId:pt,mapData:mt}=reactExports.useContext(GameContext),gt=reactExports.useMemo(()=>Array(tt).fill(0).map(()=>Array(et).fill(0)),[et,tt]),vt=reactExports.useMemo(()=>simplifyMapData(mt),[mt]),bt=useMerkel(vt),yt=reactExports.useMemo(()=>{const At={};return ht.forEach(Tt=>{At[`${Tt.x}-${Tt.y}`]?At[`${Tt.x}-${Tt.y}`].push(Tt):At[`${Tt.x}-${Tt.y}`]=[Tt]}),At},[ht]),xt=reactExports.useMemo(()=>{const At={};return dt.forEach(Tt=>{At[`${Tt.x}-${Tt.y}`]?At[`${Tt.x}-${Tt.y}`].push(Tt):At[`${Tt.x}-${Tt.y}`]=[Tt]}),At},[dt]),wt=reactExports.useRef({}),_t=At=>{console.log(dt,At,"onMoveTo",pt);const{x:Tt,y:kt,speed:jt}=dt.find(qt=>qt.addr.toLocaleLowerCase()===pt.toLocaleLowerCase()),Lt=bfs(vt,{x:Tt,y:kt},At).slice(1).slice(0,Number(jt));lt(Lt,bt(Lt))};return mt.length===0?jsxRuntimeExports.jsx("div",{className:"mi-map-wrapper"}):jsxRuntimeExports.jsx("div",{className:"mi-map-wrapper",children:jsxRuntimeExports.jsx("div",{className:"mi-map-content",children:gt.map((At,Tt)=>{const kt=it+Tt;return jsxRuntimeExports.jsx("div",{className:"mi-map-row",children:At.map((jt,Lt)=>{const qt=nt+Lt;return jsxRuntimeExports.jsx(MapCell,{coordinate:{x:qt,y:kt},prevActionCoordinate:at,onExeAction:st,cellClassCache:wt.current,players:xt[`${qt}-${kt}`],treasureChest:yt[`${qt}-${kt}`],onMoveTo:_t},nt+Lt)})},kt)})})})},styles$9="";var Component={};function _typeof(_e){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(et){return typeof et}:function(et){return et&&typeof Symbol=="function"&&et.constructor===Symbol&&et!==Symbol.prototype?"symbol":typeof et},_typeof(_e)}Object.defineProperty(Component,"__esModule",{value:!0});Component.CopyToClipboard=void 0;var _react=_interopRequireDefault(reactExports),_copyToClipboard=_interopRequireDefault(copyToClipboard),_excluded=["text","onCopy","options","children"];function _interopRequireDefault(_e){return _e&&_e.__esModule?_e:{default:_e}}function ownKeys(_e,et){var tt=Object.keys(_e);if(Object.getOwnPropertySymbols){var rt=Object.getOwnPropertySymbols(_e);et&&(rt=rt.filter(function(nt){return Object.getOwnPropertyDescriptor(_e,nt).enumerable})),tt.push.apply(tt,rt)}return tt}function _objectSpread(_e){for(var et=1;et=0)&&Object.prototype.propertyIsEnumerable.call(_e,rt)&&(tt[rt]=_e[rt])}return tt}function _objectWithoutPropertiesLoose(_e,et){if(_e==null)return{};var tt={},rt=Object.keys(_e),nt,it;for(it=0;it=0)&&(tt[nt]=_e[nt]);return tt}function _classCallCheck(_e,et){if(!(_e instanceof et))throw new TypeError("Cannot call a class as a function")}function _defineProperties(_e,et){for(var tt=0;tt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _getPrototypeOf(_e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(tt){return tt.__proto__||Object.getPrototypeOf(tt)},_getPrototypeOf(_e)}function _defineProperty(_e,et,tt){return et in _e?Object.defineProperty(_e,et,{value:tt,enumerable:!0,configurable:!0,writable:!0}):_e[et]=tt,_e}var CopyToClipboard$1=function(_e){_inherits(tt,_e);var et=_createSuper(tt);function tt(){var rt;_classCallCheck(this,tt);for(var nt=arguments.length,it=new Array(nt),at=0;at{const{account:et,address:tt=""}=_e,rt=`${tt.slice(0,6)}...${tt.slice(-4)}`,nt=()=>{message$1.success("Successfully copied")};return jsxRuntimeExports.jsxs("div",{className:"user-address-wrapper",children:[jsxRuntimeExports.jsx("div",{className:"user-account",children:et}),jsxRuntimeExports.jsx(lib.CopyToClipboard,{text:tt,onCopy:nt,children:jsxRuntimeExports.jsx("div",{className:"user-address",children:rt})})]})},UserAvatar=_e=>{const{avatar:et,username:tt="user",hp:rt,maxHp:nt,ap:it,maxAp:at,roomId:st,address:lt,balance:dt}=_e;return jsxRuntimeExports.jsxs("div",{className:"mi-c-user-avatar",children:[jsxRuntimeExports.jsx("div",{className:"avatar-box",children:jsxRuntimeExports.jsx(Appearance$1,{..._e})}),jsxRuntimeExports.jsx(UserAddress,{address:lt,account:dt+"ETH"})]})},style="",Appearance=_e=>{const{boxesCount:et=0,leaderboard:tt=[]}=_e;return jsxRuntimeExports.jsxs("div",{className:"mi-leaderboard",children:[jsxRuntimeExports.jsxs("div",{className:"boxes",children:["Remaining Boxes: ",et]}),jsxRuntimeExports.jsx("div",{className:"section-title",children:"Leaderboard"}),tt.map((rt,nt)=>jsxRuntimeExports.jsxs("div",{className:"leaderboard-item",children:[jsxRuntimeExports.jsxs("span",{className:"player-score",children:[nt+1,"."]}),jsxRuntimeExports.jsx("span",{className:"player-name",children:rt.username}),jsxRuntimeExports.jsx("span",{className:"player-gems",children:rt.oreBalance})]},nt))]})},styles$7="",MUDContext=reactExports.createContext(null),MUDProvider=({children:_e,value:et})=>{if(reactExports.useContext(MUDContext))throw new Error("MUDProvider can only be used once");return jsxRuntimeExports.jsx(MUDContext.Provider,{value:et,children:_e})},useMUD=()=>{const _e=reactExports.useContext(MUDContext);if(!_e)throw new Error("Must be used within a MUDProvider");return _e},attackButton="data:image/png;base64,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",runButton="data:image/png;base64,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",rock="data:image/png;base64,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",scissors="data:image/png;base64,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",paper="data:image/png;base64,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",button1="/assets/Button1-7c37c156.png",button2="/assets/Button2-b77e8a6c.png",button3="/assets/Button3-70cd1281.png",button4="/assets/Button4-9a6886e3.png",button5="/assets/Button5-5e68841d.png",btnBg="/assets/btn-bg-0b59e8f6.svg",styles$6="",getRandomStr=_e=>{let et="abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXWZ0123456789",tt="";for(let rt=0;rt<_e;rt++){let nt=getRandom(0,62),it=et[nt];tt+=it}return tt},getRandom=(_e,et)=>(_e=Math.ceil(_e),et=Math.floor(et),Math.floor(Math.random()*(et-_e))+_e);let timeout$1=null,nonceHex="",battle={};function Battle(_e){const[et,tt]=reactExports.useState(""),[rt,nt]=reactExports.useState(""),[it,at]=reactExports.useState([]);reactExports.useState([]);const[st,lt]=reactExports.useState({}),[dt,ht]=reactExports.useState(0),[pt,mt]=reactExports.useState(0),[gt,vt]=reactExports.useState(0),{components:{BattleList:bt},systemCalls:{confirmBattle:yt,revealBattle:xt,forceEnd:wt},network:_t}=useMUD();let At=localStorage.getItem("nonce")||"";At||(At=getRandomStr(18),localStorage.setItem("nonce",At)),nonceHex||(nonceHex=formatBytes32String(At));const Tt=async()=>{if(battle&&(battle.attackerState==1&&battle.defenderState==0||battle.attackerState==0&&battle.defenderState==1))timeout$1||(timeout$1=setTimeout(async()=>{let Zt=await wt(battle.id);if(console.log(Zt),Zt.isEnd&&Zt.winner){_e.finishBattle(Zt.winner,Zt.attacker,Zt.defender);return}},23e3));else if(battle&&(battle.attackerState==1&&battle.defenderState==1||battle.attackerState==2&&battle.defenderState==1||battle.attackerState==1&&battle.defenderState==2)&&dt<=1){if(dt==3)return;clearTimeout(timeout$1),timeout$1=null;let Zt=it[0]||"attack",Bt=it[1]||0,Et=formatBytes32String(Zt),Ct=await xt(battle.id,Et,Bt,nonceHex);Ct?.type=="success"&&(battle=Ct.data,ht(3))}},kt=ne([Ye$1(bt),Je$1(bt,{isEnd:!1})]).map(Zt=>{let Bt=ot({battleId:"uint256"},Zt),Et=g$7(bt,Zt);return Et.id=Bt.battleId.toString(),Et});let jt=kt?.filter(Zt=>Zt.attacker.toLocaleLowerCase()==_e?.curPlayer?.addr.toLocaleLowerCase()||Zt.defender.toLocaleLowerCase()==_e?.curPlayer?.addr.toLocaleLowerCase())[0];jt?(battle=jt,Tt()):_e.finishBattle(),reactExports.useEffect(()=>{if(console.log(battle),battle){if(!st.curHp||!st.targetHp){let Zt={attackerHP:battle.attackerHP.toString(),defenderHP:battle.defenderHP.toString(),attacker:battle.attacker.toLocaleLowerCase(),defender:battle.defender.toLocaleLowerCase()};lt(Zt)}if(dt==3){let Zt=st,Bt=document.querySelector(".battle-1"),Et=document.querySelector(".battle-2");Bt&&Et&&(Bt.classList.add("attack"),setTimeout(()=>{Bt.classList.remove("attack"),Et.classList.add("back");let Ct=battle.defenderHP;mt(Number(Zt.defenderHP)-Number(Ct)),Zt.defenderHP=Ct,lt(Zt),setTimeout(()=>{if(Et.classList.remove("back"),mt(0),Ct<=0||battle.isEnd){setTimeout(()=>{_e.finishBattle(battle.winner,battle.attacker,battle.defender)},600);return}setTimeout(()=>{Et.classList.add("attack"),setTimeout(()=>{Et.classList.remove("attack"),Bt.classList.add("back");let Pt=battle.attackerHP;if(vt(Number(Zt.attackerHP)-Number(Pt)),Zt.attackerHP=Pt,lt(Zt),Pt<=0||battle.isEnd){setPlayer1ResidualData(0),setTimeout(()=>{_e.finishBattle(battle.winner,battle.attacker,battle.defender)},600);return}setTimeout(()=>{Bt.classList.remove("back"),vt(0),ht(0)},400)},400)},500)},400)},400))}}},[dt]);const Lt=(Zt,Bt)=>{if(dt!=0)return;tt(Zt);let Et=it;Et[0]=Bt,at(Et)},qt=(Zt,Bt)=>{if(dt!=0)return;nt(Zt);let Et=it;Et[1]=Bt,at(Et)},Dt=(Zt,Bt,Et)=>utils.solidityKeccak256(["bytes32","uint256","bytes32"],[Zt,Bt,Et]),zt=async()=>{if(dt!=0)return;if(!it[0]){message$1.info("Please select action");return}let Zt=kt.filter(Mt=>(Mt?.attacker?.toLocaleLowerCase()==_e?.curPlayer?.addr.toLocaleLowerCase()||Mt?.defender?.toLocaleLowerCase()==_e?.curPlayer?.addr.toLocaleLowerCase())&&!Mt.isEnd)[0],Bt=it[0],Et=it[1]||0,Ct=formatBytes32String(Bt),Pt=Dt(Ct,Et,nonceHex);ht(1);let Ot=await yt(Pt,Zt.id);Ot.type=="success"&&(Zt=Ot.data)};return jsxRuntimeExports.jsx("div",{className:"mi-battle-wrap",children:jsxRuntimeExports.jsxs("div",{className:"mi-battle-content",children:[jsxRuntimeExports.jsxs("div",{className:"mi-battle",children:[jsxRuntimeExports.jsx("div",{className:"mi-battle-main",children:jsxRuntimeExports.jsxs("div",{className:"mi-battle-character",children:[jsxRuntimeExports.jsxs("div",{className:"mi-battle-character-card battle-1",style:{marginLeft:"90px"},children:[jsxRuntimeExports.jsxs("div",{className:"mi-battle-character-card-hp",children:[jsxRuntimeExports.jsx("div",{className:"hp",style:{position:"absolute",borderRadius:"2px",borderTopLeftRadius:0,borderBottomLeftRadius:0,background:"#FF6161",width:Math.floor(152*(Number(st?.attackerHP)/Number(_e?.curPlayer?.addr==st?.attacker?_e?.curPlayer?.maxHp:_e?.targetPlayer?.maxHp)))+"px",height:"22px"}}),gt?jsxRuntimeExports.jsxs("div",{className:"hp-loss",children:["-",gt.toFixed(0)]}):null]}),_e?.curPlayer?.addr==st.attacker?jsxRuntimeExports.jsx(Appearance$1,{..._e?.curPlayer?.equip}):jsxRuntimeExports.jsx(Appearance$1,{..._e?.targetPlayer?.equip})]}),jsxRuntimeExports.jsxs("div",{className:"mi-battle-character-card battle-2",style:{marginRight:"90px"},children:[jsxRuntimeExports.jsxs("div",{className:"mi-battle-character-card-hp",children:[jsxRuntimeExports.jsx("div",{className:"hp",style:{position:"absolute",borderRadius:"2px",borderTopLeftRadius:0,borderBottomLeftRadius:0,background:"#FF6161",width:Math.floor(152*(Number(st.defenderHP)/Number(_e?.curPlayer?.addr==st.defender?_e?.curPlayer?.maxHp:_e?.targetPlayer?.maxHp)))+"px",height:"22px"}}),pt?jsxRuntimeExports.jsxs("div",{className:"hp-loss",children:["-",pt.toFixed(0)]}):null]}),_e?.curPlayer?.addr==st.defender?jsxRuntimeExports.jsx(Appearance$1,{..._e?.curPlayer?.equip}):jsxRuntimeExports.jsx(Appearance$1,{..._e?.targetPlayer?.equip})]}),jsxRuntimeExports.jsxs("div",{className:"mi-battle-character-info",children:[jsxRuntimeExports.jsxs("div",{className:"character-info self",children:[jsxRuntimeExports.jsxs("div",{children:["HP : ",st.attackerHP,"/",_e?.curPlayer?.addr==st.attacker?_e?.curPlayer?.maxHp.toString():_e?.targetPlayer?.maxHp.toString()]}),jsxRuntimeExports.jsxs("div",{children:["ATK : ",_e?.curPlayer?.addr==st.attacker?_e?.curPlayer?.attack?.toString():_e?.targetPlayer?.attack.toString()]})]}),jsxRuntimeExports.jsxs("div",{className:"character-info opponent",children:[jsxRuntimeExports.jsxs("div",{children:["HP : ",st.defenderHP,"/",_e?.curPlayer?.addr==st.defender?_e?.curPlayer?.maxHp.toString():_e?.targetPlayer?.maxHp.toString()]}),jsxRuntimeExports.jsxs("div",{children:["ATK : ",_e?.curPlayer?.addr==st.defender?_e?.curPlayer?.attack?.toString():_e?.targetPlayer?.attack.toString()]})]})]})]})}),jsxRuntimeExports.jsxs("div",{className:"mi-battle-action",children:[jsxRuntimeExports.jsxs("div",{className:"action",children:[jsxRuntimeExports.jsx("div",{className:"action-title",children:"Action"}),jsxRuntimeExports.jsxs("div",{style:{display:"flex"},children:[jsxRuntimeExports.jsx("div",{className:"icon",onClick:()=>Lt(attackButton,"attack"),children:jsxRuntimeExports.jsx("img",{src:button4,alt:"",className:"icon-btn"})}),jsxRuntimeExports.jsx("div",{className:"icon",onClick:()=>Lt(runButton,"escape"),children:jsxRuntimeExports.jsx("img",{src:button5,alt:"",className:"icon-btn"})})]})]}),jsxRuntimeExports.jsxs("div",{className:"action",children:[jsxRuntimeExports.jsx("div",{className:"action-hint",children:dt==0?"Select your action and tactic":dt==1?"Waiting for your opponent's move, it may take up to 120 seconds":""}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"12px",display:"flex",justifyContent:"center",alignItems:"flex-end",columnGap:"12px"},children:[jsxRuntimeExports.jsx("div",{style:{width:"40px",height:et.indexOf("run-button.png")>-1?"40px":"34px"},children:et?jsxRuntimeExports.jsx("img",{src:et,style:{width:et.indexOf("run-button.png")>-1?"54px":"34px",height:et.indexOf("run-button.png")>-1?"54px":"34px",marginTop:et.indexOf("run-button.png")>-1?"-4px":"0"},alt:""}):null}),jsxRuntimeExports.jsx("div",{style:{width:"40px",height:"40px"},children:rt?jsxRuntimeExports.jsx("img",{src:rt,style:{width:"40px",height:"40px"},alt:""}):null})]}),jsxRuntimeExports.jsxs("div",{className:"confirm-btn",onClick:zt,style:{cursor:dt==0?"pointer":"no-drop"},children:[jsxRuntimeExports.jsx("img",{src:btnBg,alt:""}),jsxRuntimeExports.jsx("div",{className:"confirm-text",children:"confirm"})]})]}),jsxRuntimeExports.jsxs("div",{className:"action",children:[jsxRuntimeExports.jsx("div",{className:"action-title",style:{marginLeft:"auto"},children:"Tactic"}),jsxRuntimeExports.jsxs("div",{style:{display:"flex"},children:[jsxRuntimeExports.jsx("div",{className:"icon icon-r",onClick:()=>qt(rock,1),children:jsxRuntimeExports.jsx("img",{src:button1,alt:"",className:"icon-btn"})}),jsxRuntimeExports.jsx("div",{className:"icon icon-r",onClick:()=>qt(scissors,2),children:jsxRuntimeExports.jsx("img",{src:button2,alt:"",className:"icon-btn"})}),jsxRuntimeExports.jsx("div",{className:"icon icon-r",onClick:()=>qt(paper,3),children:jsxRuntimeExports.jsx("img",{src:button3,alt:"",className:"icon-btn"})})]})]})]})]}),jsxRuntimeExports.jsxs("div",{className:"mi-battle-info",children:[jsxRuntimeExports.jsx("div",{className:"info-title",children:"Rules"}),jsxRuntimeExports.jsxs("div",{className:"action-section",children:[jsxRuntimeExports.jsx("div",{className:"section-title",children:"action"}),jsxRuntimeExports.jsxs("div",{className:"action-item",children:[jsxRuntimeExports.jsx("img",{src:attackButton,alt:"",style:{width:"34px",height:"34px"}}),jsxRuntimeExports.jsx("p",{children:"attack"})]}),jsxRuntimeExports.jsxs("div",{className:"action-item",children:[jsxRuntimeExports.jsx("img",{src:runButton,alt:"",style:{width:"54px",height:"54px",marginLeft:"-8px"}}),jsxRuntimeExports.jsx("p",{children:"escape"})]})]}),jsxRuntimeExports.jsxs("div",{className:"tactic-section",children:[jsxRuntimeExports.jsx("div",{className:"section-title",children:"tactic"}),jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[jsxRuntimeExports.jsx("img",{src:rock,alt:""}),jsxRuntimeExports.jsx("p",{children:">"}),jsxRuntimeExports.jsx("img",{src:scissors,alt:""}),jsxRuntimeExports.jsx("p",{children:">"}),jsxRuntimeExports.jsx("img",{src:paper,alt:""}),jsxRuntimeExports.jsx("p",{children:">"}),jsxRuntimeExports.jsx("img",{src:rock,alt:""})]})]})]})]})})}function useModal(_e={title:""}){const[et,tt]=reactExports.useState(!1),rt=reactExports.useRef(null);function nt(){tt(!0)}function it(){tt(!1)}function at(st){return jsxRuntimeExports.jsx(Modal$1,{..._e,className:"mi-modal",open:et,onCancel:it,footer:null,children:rt.current})}return{Modal:at,open:nt,close:it,setContent:st=>{rt.current=st}}}const styles$5="",gemImg="/assets/gem-71e0d154.png",styles$4="",UserPackage=_e=>{const et=new Array(10).fill(0);return et[0]=_e.gem,jsxRuntimeExports.jsxs("div",{className:"mi-user-package",children:[jsxRuntimeExports.jsx("h3",{children:_e.title}),jsxRuntimeExports.jsx("div",{className:"package-items-wrapper",children:et.map((tt,rt)=>jsxRuntimeExports.jsx("div",{className:"package-item",children:tt>0&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("img",{src:gemImg,alt:"",className:"package-item-gem"}),jsxRuntimeExports.jsx("div",{className:"package-item-count",children:tt})]})},rt))})]})},UserInfo=_e=>{const{handheld:et,head:tt,clothes:rt,userUrl:nt,lootUrl:it,player:at}=_e,st=et&&tt&&rt||at?.equip?.handheld&&at?.equip?.head&&at?.equip?.clothes;return jsxRuntimeExports.jsxs("div",{className:"mi-userinfo-wrapper",children:[jsxRuntimeExports.jsxs("div",{className:"left-main-content",children:[jsxRuntimeExports.jsx("h3",{children:"User info"}),jsxRuntimeExports.jsxs("div",{className:"user-detail-wrapper",children:[jsxRuntimeExports.jsx("div",{className:"user-appearance-wrapper",children:jsxRuntimeExports.jsx("div",{className:"user-appearance-box",children:jsxRuntimeExports.jsx(Appearance$1,{clothes:rt||at?.equip?.clothes,handheld:et||at?.equip?.handheld,head:tt||at?.equip?.head})})}),jsxRuntimeExports.jsxs("div",{className:`loot-wrapper ${st?"loaded":""}`,children:[jsxRuntimeExports.jsx("div",{className:"loot-detail",children:nt?jsxRuntimeExports.jsx("img",{src:nt,alt:""}):null}),jsxRuntimeExports.jsx("div",{className:"loot-detail",children:it?jsxRuntimeExports.jsx("img",{src:it,alt:""}):null})]}),jsxRuntimeExports.jsxs("div",{className:`user-attr-wrapper ${st?"loaded":""}`,children:[jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"HP"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.maxHp.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.maxHp?.toString():""})]})]}),jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"Attack"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.attack?.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.attack?.toString():""})]})]}),jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"AttackRange"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.attackRange?.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.attackRange?.toString():""})]})]}),jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"Speed"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.speed?.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.speed?.toString():""})]})]}),jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"Strength"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.strength?.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.strength?.toString():""})]})]}),jsxRuntimeExports.jsxs("dl",{children:[jsxRuntimeExports.jsx("dt",{children:"Space"}),jsxRuntimeExports.jsxs("dd",{children:[jsxRuntimeExports.jsx("span",{className:"base-attr",children:st?at?.space?.toString():0}),jsxRuntimeExports.jsx("span",{className:"extra-attr",children:st?at?.space?.toString():""})]})]})]})]})]}),jsxRuntimeExports.jsxs("div",{className:"right-main-content",children:[jsxRuntimeExports.jsx(UserPackage,{gem:at?.oreBalance,title:"User Package"}),jsxRuntimeExports.jsx(UserPackage,{gem:at?.seasonOreBalance,title:"Season Package"})]})]})},styles$3="",UserInfoDialog=_e=>{const{visible:et,onClose:tt,...rt}=_e;return jsxRuntimeExports.jsxs("div",{className:`mi-userinfo-dialog ${et?"":"hidden"}`,children:[jsxRuntimeExports.jsx(UserInfo,{...rt,player:rt}),jsxRuntimeExports.jsx("button",{className:"mi-btn close-btn",onClick:tt,children:"OK"})]})},updatePlayerPosition=(_e,et)=>{const tt=_e.x-et.x,rt=tt===0?void 0:tt<0?"Right":"Left";Object.assign(_e,et),rt&&(_e.toward=rt)},getPlayersCache=(_e=[])=>_e.map(et=>`${et.addr}-${et.x}-${et.y}`).join("*"),lootAbi=[{inputs:[{internalType:"string",name:"_desc",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"_notRevealedInfo",type:"string"},{internalType:"uint256",name:"_waitBlockCount",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"randomId",type:"uint256"},{indexed:!1,internalType:"address",name:"author",type:"address"}],name:"NewRandom",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"getStructIndexInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"getStructInfo",outputs:[{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"},{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUserTokenIdList",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"lootList",outputs:[{internalType:"uint256",name:"randomId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"string",name:"Weapon",type:"string"},{internalType:"string",name:"Chest",type:"string"},{internalType:"string",name:"Head",type:"string"},{internalType:"string",name:"Waist",type:"string"},{internalType:"string",name:"Foot",type:"string"},{internalType:"string",name:"Hand",type:"string"},{internalType:"string",name:"Neck",type:"string"},{internalType:"string",name:"Ring",type:"string"},{internalType:"enum MRandom.RandomState",name:"state",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_addr",type:"address"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"randomId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"randomList",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"address",name:"author",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"revealNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"waitBlockCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_targetAddress",type:"address"},{internalType:"address",name:"_contractAddress",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"withdrawErc20",outputs:[],stateMutability:"nonpayable",type:"function"}],userAbi=[{inputs:[{internalType:"uint256",name:"_waitBlockCount",type:"uint256"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_notRevealedInfo",type:"string"},{internalType:"string",name:"_revealedDesc",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"randomId",type:"uint256"},{indexed:!1,internalType:"address",name:"author",type:"address"}],name:"NewRandom",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"getStructInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUserTokenIdList",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_addr",type:"address"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"randomId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"randomList",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"address",name:"author",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"revealNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"userList",outputs:[{internalType:"uint256",name:"randomId",type:"uint256"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"HP",type:"uint256"},{internalType:"uint256",name:"Attack",type:"uint256"},{internalType:"uint256",name:"AttackRange",type:"uint256"},{internalType:"uint256",name:"Speed",type:"uint256"},{internalType:"uint256",name:"Strength",type:"uint256"},{internalType:"uint256",name:"Space",type:"uint256"},{internalType:"enum MRandom.RandomState",name:"state",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"waitBlockCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],toObject=_e=>JSON.parse(JSON.stringify(_e,(et,tt)=>typeof tt=="bigint"?tt.toString():tt));let userContract$2,lootContract$2,timeout=null;const Game=()=>{const _e=useNavigate(),{components:{Player:et,PlayerAddon:tt,BattleList:rt,BoxList:nt,GlobalConfig:it,LootList1:at,LootList2:st,PlayerLocationLock:lt,PlayerSeason:dt},systemCalls:{move:ht,openBox:pt,revealBox:mt,getCollections:gt,battleInvitation:vt,unlockUserLocation:bt,submitGem:yt},network:xt}=useMUD(),[wt,_t]=reactExports.useState([]),[At,Tt]=reactExports.useState({x:0,y:0}),kt=reactExports.useMemo(()=>simplifyMapData(wt),[wt]),jt=useMerkel(kt),[Lt,qt]=reactExports.useState(null),[Dt,zt]=reactExports.useState(null),[Zt,Bt]=reactExports.useState(),[Et,Ct]=reactExports.useState(!1),[Pt,Ot]=reactExports.useState(!1),[Mt,Ut]=reactExports.useState(0),[Wt,$t]=reactExports.useState(),{account:St}=xt,Ft=St,{Modal:Vt,open:Rt,close:Yt,setContent:Kt}=useModal(),Xt=reactExports.useRef([]),rr=reactExports.useRef(),or=ne([Ye$1(it)]).map(Qt=>g$7(it,Qt));if(or.length&&or[0].userContract){let Qt=xt.privateKey,tr=xt.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",dr=new JsonRpcProvider(tr),xr=new Wallet(Qt,dr),Jt=or[0].userContract;userContract$2=new Contract(Jt,userAbi,xr)}if(or.length&&or[0].lootContract&&!lootContract$2){let Qt=xt.privateKey,tr=xt.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",dr=new JsonRpcProvider(tr),xr=new Wallet(Qt,dr),Jt=or[0].lootContract;lootContract$2=new Contract(Jt,lootAbi,xr)}const ar=ne([Ye$1(at)]).map(Qt=>{const tr=g$7(at,Qt),dr=ot({addr:"address"},Qt)?.addr?.toLocaleLowerCase()||"";return tr.addr=dr,tr}),ir=ne([Ye$1(et)]).map(Qt=>{const tr=ot({addr:"address"},Qt)?.addr?.toLocaleLowerCase()||"",dr=g$7(et,Qt);return dr.addr=tr,dr.username=dr.name,ar.forEach(xr=>{if(xr.addr.toLocaleLowerCase()===tr.toLocaleLowerCase()){let Jt=xr.chest.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),sr=xr.weapon.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),cr=xr.head.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,"");dr.equip={clothes:Jt,handheld:sr,head:cr}}}),dr}).filter(Qt=>Qt.state>1),pr=ne([Ye$1(dt)]).map(Qt=>{const tr=g$7(dt,Qt),dr=ot({addr:"address"},Qt)?.addr?.toLocaleLowerCase()||"";return tr.addr=dr,tr.username=ir.filter(xr=>xr.addr.toLocaleLowerCase()==dr.toLocaleLowerCase())[0]?.name,tr}).sort((Qt,tr)=>tr.oreBalance-Qt.oreBalance),[nr,hr]=reactExports.useState([]),Ar=getPlayersCache(ir);reactExports.useEffect(()=>{let Qt=[...nr];ir.forEach(tr=>{const dr=nr.findIndex(xr=>xr.addr===tr.addr);dr===-1?Qt.push({...tr}):Qt[dr]=Object.assign(Qt[dr],tr)}),Qt=Qt.filter(tr=>ir.findIndex(dr=>dr.addr===tr.addr)!==-1),hr(Qt)},[Ar]);const ur=nr.find(Qt=>Qt.addr.toLocaleLowerCase()==St.toLocaleLowerCase());ur&&ur.addr&&(localStorage.setItem("curPlayer",JSON.stringify(toObject(ur))),localStorage.setItem("worldContractAddress",xt.worldContract.address));const vr=ne([Ye$1(rt)]).map(Qt=>{const tr=ot({battleId:"uint256"},Qt),dr=g$7(rt,Qt);return dr.id=tr.battleId.toString(),dr});if(vr.length&&!Et){const Qt=vr.filter(tr=>(tr.attacker.toLocaleLowerCase()==St.toLocaleLowerCase()||tr.defender.toLocaleLowerCase()==St.toLocaleLowerCase())&&!tr.isEnd)[0];if(Qt){const tr=Qt.attacker.toLocaleLowerCase()==St.toLocaleLowerCase()?Qt.defender:Qt.attacker,dr=ir.filter(Jt=>Jt.addr.toLocaleLowerCase()==tr.toLocaleLowerCase())[0],xr=ir.find(Jt=>Jt.addr.toLocaleLowerCase()==St.toLocaleLowerCase());Dt||zt(xr),Lt||qt(dr),Ct(!0)}}const wr=Qt=>{Kt(jsxRuntimeExports.jsxs("div",{className:"mi-modal-content-wrapper",children:[jsxRuntimeExports.jsxs("div",{className:"mi-modal-content",children:["Congrats,you got ",Qt.oreBalance," gems!",jsxRuntimeExports.jsx("div",{className:"mi-treasure-chest-wrapper",children:jsxRuntimeExports.jsx(TreasureChest,{})})]}),jsxRuntimeExports.jsx("div",{className:"mi-modal-footer",children:jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:async()=>{await gt(Qt.id,Qt.oreBalance,Qt.treasureBalance),Yt()},children:"OK"})})]})),Rt()},gr=ne([Ye$1(nt)]).map(Qt=>{const tr=ot({boxId:"uint256"},Qt),dr=g$7(nt,Qt);return dr.id=tr.boxId.toString(),dr}).filter(Qt=>Qt.opened==!1||Qt.opened&&(Qt.oreBalance||Qt.treasureBalance)),yr=async()=>{const Qt=await xt.publicClient.getBalance({address:xt.walletClient.account.address}),tr=(+formatEther$1(Qt.toString())).toFixed(2);Ut(tr)};reactExports.useEffect(()=>{loadMapData().then(Qt=>{_t(Qt),Xt.current=Qt}),yr()},[]);const Er=(Qt,tr,dr)=>{if(Ct(!1),Qt&&tr&&dr){let xr=Qt.toLocaleLowerCase()==tr.toLocaleLowerCase()?dr:tr,Jt=g$7(et,u$1({addr:"address"},{addr:xr}));if(Qt.toLocaleLowerCase()==St.toLocaleLowerCase())console.log("win"),Jt?.state==1||Jt?.state==0?message$1.success("You win the battle"):(message$1.info("Target has escaped"),timeout=setTimeout(()=>{bt(),timeout=null},23e3)),qt(null);else{console.log("lose");let sr=g$7(et,xt.playerEntity);if(sr?.state==1||sr?.state==0){message$1.error("You lose the battle"),_e("/");return}else message$1.info("You escaped the battle")}}else{let xr=g$7(et,xt.playerEntity);if(xr?.state==1||xr?.state==0){_e("/");return}}},_r=async(Qt,tr)=>{if(ur.waiting){message$1.error("Waiting for transaction");return}let dr=g$7(lt,u$1({addr:"address"},{addr:St}));if(console.log(dr,"playerLock"),dr&&Number(dr.lockTime)){message$1.error("You are locked"),timeout||(timeout=setTimeout(()=>{bt(),timeout=null},2e3));return}let xr=!1;clearInterval(rr.current);let Jt=0;const sr=~~(1500/Number(ur.speed));rr.current=setInterval(async()=>{if(Tt(triggerVertexUpdate(Qt[Jt],ur,Xt.current,At)),updatePlayerPosition(ur,Qt[Jt]),hr([...nr]),Jt++,Jt===Qt.length){clearInterval(rr.current),xr||(ur.waiting=!0);const br=Qt[Jt-1];if(DELIVERY.x===br.x&&DELIVERY.y===br.y){let Pr=ur,Nr=g$7(tt,u$1({addr:"address"},{addr:Pr.addr})),Or=Nr.userId.toString(),Tr=Nr.lootId.toString(),Ir=await Promise.all([userContract$2.tokenURI(Or),lootContract$2.tokenURI(Tr)]),Ur=Ir[0],Br=Ir[1];Ur=$r(Ur),Br=$r(Br),Pr.userUrl=Ur.image,Pr.lootUrl=Br.image,Pr.seasonOreBalance=pr.filter(Mr=>Mr.addr.toLocaleLowerCase()==Pr.addr.toLocaleLowerCase())[0]?.oreBalance,Bt(Pr),kr()}}},sr);const cr=await ht(tr);if(xr=!0,ur.waiting=!1,Nt.length>0){const br=Nt[Nt.length-1];er(br.x,br.y)}cr?.type==="error"&&message$1.error(cr.message)},$r=Qt=>(Qt=Qt.replace("data:application/json;base64,",""),Qt=atob(Qt),Qt=JSON.parse(Qt),Qt),Dr=async Qt=>{if(!Qt.userUrl||!Qt.lootUrl){let tr=g$7(tt,u$1({addr:"address"},{addr:Qt.addr}));console.log(tr);let dr=tr.userId.toString(),xr=tr.lootId.toString(),Jt=await Promise.all([userContract$2.tokenURI(dr),lootContract$2.tokenURI(xr)]),sr=Jt[0],cr=Jt[1];sr=$r(sr),cr=$r(cr),Qt.userUrl=sr.image,Qt.lootUrl=cr.image}Qt.seasonOreBalance=pr.filter(tr=>tr.addr.toLocaleLowerCase()==Qt.addr.toLocaleLowerCase())[0]?.oreBalance,Bt(Qt),Ot(!0)},kr=async()=>{Ot(!0);try{ur.oreBalance>0&&(await yt(),Kt(jsxRuntimeExports.jsxs("div",{className:"mi-modal-content-wrapper",children:[jsxRuntimeExports.jsxs("div",{className:"mi-modal-content",children:["Congrats,you submitted ",ur.oreBalance," gems!",jsxRuntimeExports.jsx("div",{className:"mi-treasure-chest-wrapper",children:jsxRuntimeExports.jsx(TreasureChest,{})})]}),jsxRuntimeExports.jsx("div",{className:"mi-modal-footer",children:jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:()=>{ur.seasonOreBalance+=ur.oreBalance,ur.oreBalance=0,Yt()},children:"OK"})})]})),Rt())}catch(Qt){console.log(Qt)}},Ht=async Qt=>{const tr=bfs(kt,{x:ur.x,y:ur.y},{x:Qt.x,y:Qt.y}).slice(1);await vt(Qt.addr,jt(tr))&&(qt(Qt),zt(ur),Ct(!0))},It=async Qt=>{const tr=gr.findIndex(sr=>sr.id===Qt),dr=gr[tr];if(dr.opened)if(dr.owner.toLocaleLowerCase()!=St.toLocaleLowerCase()){message$1.error("The treasure chest has been opened by others");return}else{wr(dr);return}$t(gr[tr].id),await pt(Qt);const xr=await xt.publicClient.getBlockNumber(),Jt=setInterval(async()=>{if(await xt.publicClient.getBlockNumber()-xr>=2){clearInterval(Jt);let cr=await mt(Qt);cr.id=Qt,$t(null),wr(cr)}},1e3)},[Nt,Gt]=reactExports.useState([]),er=(Qt,tr)=>{if(!(Qt===ur?.x&&tr===ur?.y)&&ur){const dr=bfs(kt,ur,{x:Qt,y:tr}).slice(1);ur.waiting||dr.slice(0,Number(ur.speed)).forEach(xr=>xr.movable=!0),Gt(dr)}};return jsxRuntimeExports.jsx(GameContext.Provider,{value:{curId:Ft,curAddr:ur?.addr,players:nr,renderPreviewPaths:Nt,mapData:wt,onPlayerMove:_r,openingBox:Wt,showUserInfo:Dr,treasureChest:gr,openTreasureChest:It,setStartBattle:Ht,previewPath:er},children:jsxRuntimeExports.jsxs("div",{className:"mi-game",tabIndex:0,children:[jsxRuntimeExports.jsx("div",{className:"mi-game-user-avatar",children:jsxRuntimeExports.jsx(UserAvatar,{username:ur?.username,hp:ur?.hp,maxHp:ur?.maxHp,ap:50,maxAp:100,clothes:ur?.equip?.clothes,handheld:ur?.equip?.handheld,head:ur?.equip?.head,address:St,balance:Mt})}),jsxRuntimeExports.jsx(Map$1,{width:MapConfig.visualWidth,height:MapConfig.visualHeight,vertexCoordinate:At}),Et?jsxRuntimeExports.jsx(Battle,{curPlayer:Dt,targetPlayer:Lt,finishBattle:Er}):null,jsxRuntimeExports.jsx(UserInfoDialog,{visible:Pt,onClose:()=>{Ot(!1)},...Zt}),jsxRuntimeExports.jsx(Vt,{}),jsxRuntimeExports.jsx(Appearance,{boxesCount:gr.length,leaderboard:pr})]})})};let map_info=[],line=Array.from({length:100},()=>1);for(let _e=0;_e<10;_e++)map_info.push(line);function convertToLeafs(_e){let et=[];for(let tt=0;tt<_e.length;tt++)for(let rt=0;rt<_e[tt].length;rt++)et.push({x:tt,y:rt,value:_e[tt][rt]});return et}let leafs=convertToLeafs(map_info);console.log("leafs.length",leafs.length);function generateLeaf(_e,et,tt){return buffer.Buffer.from(utils.solidityKeccak256(["uint16","string","uint16","string","uint8"],[_e,",",et,",",tt]).slice(2),"hex")}new dist.MerkleTree(leafs.map(_e=>generateLeaf(_e.x,_e.y,_e.value)),utils.keccak256,{sortPairs:!0});const index="";let userContract$1,lootContract$1,transfering$1=!1,boxData1=[{x:13,y:1},{x:23,y:5},{x:26,y:8},{x:23,y:18},{x:30,y:20},{x:8,y:21},{x:5,y:25},{x:30,y:36},{x:19,y:30},{x:3,y:37},{x:28,y:39},{x:36,y:51},{x:40,y:55},{x:27,y:59},{x:13,y:55},{x:3,y:49},{x:3,y:40},{x:21,y:29},{x:41,y:26},{x:59,y:20}];const Test=()=>{const[_e,et]=reactExports.useState([]),[tt,rt]=reactExports.useState([]),[nt,it]=reactExports.useState([]),[at,st]=reactExports.useState(["attack",1]),[lt,dt]=reactExports.useState([]),[ht,pt]=reactExports.useState([]),[mt,gt]=reactExports.useState([]),[vt,bt]=reactExports.useState(""),[yt,xt]=reactExports.useState([]),[wt,_t]=reactExports.useState(""),[At,Tt]=reactExports.useState([]),{components:{Player:kt,GameConfig:jt,BattleList:Lt,BoxList:qt,GlobalConfig:Dt},systemCalls:{move:zt,joinBattlefield:Zt,transfer:Bt,battleInvitation:Et,confirmBattle:Ct,selectUserNft:Pt,revealBattle:Ot,openBox:Mt,revealBox:Ut,getCollections:Wt,CreateBox:$t,getBattlePlayerHp:St},network:Ft}=useMUD(),{account:Vt}=Ft,Rt=reactExports.useMemo(()=>simplifyMapData(At),[At]),Yt=useMerkel(Rt);reactExports.useEffect(()=>{loadMapData().then(Jt=>{Tt(Jt),mapDataRef.current=Jt})},[]);const Kt=async Jt=>{if(transfering$1)return;transfering$1=!0;let sr="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",cr=Ft.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",br=new JsonRpcProvider(cr),Sr=new Wallet(sr,br);console.log(Sr,"wallet"),Sr.sendTransaction({to:Jt,value:parseEther$1("1")}).then(Pr=>{console.log(Pr,"res"),transfering$1=!1,Xt()}).catch(Pr=>{console.log(Pr)})},Xt=()=>{Ft.publicClient.getBalance({address:Ft.walletClient.account.address}).then(Jt=>{if(Jt.toString()==0)Kt(Ft.walletClient.account.address);else{let sr=(+formatEther$1(Jt.toString())).toFixed(2);console.log(sr),_t(sr)}})};Xt();const rr=ne([Ye$1(jt)]).map(Jt=>g$7(jt,Jt));console.log(rr,"GameData");const or=ne([Ye$1(Dt)]).map(Jt=>g$7(Dt,Jt));if(console.log(or,"GlobalConfigData"),or.length&&or[0].userContract&&!userContract$1){console.log(userAbi,"userAbi");let Jt=Ft.privateKey,sr=Ft.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",cr=new JsonRpcProvider(sr),br=new Wallet(Jt,cr),Sr=or[0].userContract;userContract$1=new Contract(Sr,userAbi,br)}if(or.length&&or[0].lootContract&&!lootContract$1){console.log(lootAbi,"lootAbi");let Jt=Ft.privateKey,sr=Ft.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",cr=new JsonRpcProvider(sr),br=new Wallet(Jt,cr),Sr=or[0].lootContract;lootContract$1=new Contract(Sr,lootAbi,br)}const ar=ne([Ye$1(Lt)]).map(Jt=>{let sr=ot({battleId:"uint256"},Jt),cr=g$7(Lt,Jt);return console.log(cr,"battle",sr,Jt),cr.id=sr.battleId.toString(),cr}).filter(Jt=>!Jt.isEnd);console.log(ar,"battles");const ir=ne([Ye$1(qt)]).map(Jt=>{let sr=ot({boxId:"uint256"},Jt),cr=g$7(qt,Jt);return cr.id=sr.boxId.toString(),cr}).filter(Jt=>!Jt.opened);console.log(ir,"boxs");const pr=ne([Ye$1(kt)]).map(Jt=>{console.log("entity",Jt);let sr=Vt,br=ot({addr:"address"},Jt)?.addr?.toLocaleLowerCase()||"",Sr=g$7(kt,Jt);return br.toLocaleLowerCase()==sr.toLocaleLowerCase()?(console.log("当前用户"),console.log(Sr,"player"),Sr.isMe=!0):Sr.isMe=!1,Sr.addr=br,Sr});console.log("players",pr);const nr=async()=>{let Jt=await userContract$1.getUserTokenIdList();Jt=Jt.map(sr=>sr.toString()),console.log(Jt),xt(Jt)},hr=()=>{userContract$1.mint().then(async Jt=>{await Jt.wait(),console.log(Jt),nr()})},Ar=()=>{userContract$1.revealNFT(vt).then(async Jt=>{console.log(Jt),await Jt.wait()})},ur=(Jt,sr)=>{console.log(Jt);let cr=Jt.target.value,br=[..._e];br[sr]=+cr,et(br)},vr=Jt=>{console.log(Jt);let sr=Jt.target.value;gt(sr)},wr=Jt=>{console.log(Jt);let sr=+Jt.target.value;bt(sr)},gr=(Jt,sr)=>{console.log(Jt);let cr=Jt.target.value,br=[...ht];br[sr]=+cr,pt(br)},yr=(Jt,sr)=>{console.log(Jt);let cr=Jt.target.value,br=[...tt];br[sr]=+cr,rt(br)},Er=(Jt,sr)=>{console.log(Jt.target.value);let cr=Jt.target.value,br=[...nt];br[sr]=+cr,it(br)},_r=(Jt,sr)=>{let cr=sr==1?+Jt.target.value:Jt.target.value,br=[...at];br[sr]=cr,console.log(br),st(br)},$r=()=>{Pt(vt)},Dr=()=>{console.log(_e,"move");let Jt=pr.find(Sr=>Sr.isMe),sr={x:Jt.x,y:Jt.y},cr={x:_e[0],y:_e[1]};const br=bfs(Rt,sr,cr).slice(1);zt(Yt(br))},kr=()=>{console.log(tt,"transfer"),Bt(Vt,tt)},Ht=()=>{console.log(nt,"battle");let Jt=pr.find(sr=>sr.x==nt[0]&&sr.y==nt[1]);if(!Jt)alert("该位置没有玩家");else{let sr=pr.find(Nr=>Nr.isMe),cr={x:sr.x,y:sr.y},br={x:nt[0],y:nt[1]};const Sr=bfs(Rt,cr,br).slice(1);let Pr=Yt(Sr);Et(Jt.addr,Pr)}},It=()=>{console.log(at,"confirmBattle");let Jt=ar.filter(br=>br.attacker.toLocaleLowerCase()==Vt.toLocaleLowerCase()||br.defender.toLocaleLowerCase()==Vt.toLocaleLowerCase())[0],sr=[...lt],cr=sr.find(br=>br.id==Jt.id);if(Jt&&!cr){let br=at[0],Sr=at[1],Pr=getRandomStr(18);console.log(Pr,Sr);let Nr=formatBytes32String(br),Or=formatBytes32String(Pr),Tr=xr(Nr,Sr,Or);Ct(Tr,Jt.id),sr.push({id:Jt.id,action:Nr,arg:Sr,nonce:Or}),dt(sr)}else alert("已经确认过了")},Nt=()=>{Zt()},Gt=()=>{let Jt=ar.filter(Sr=>Sr.attacker.toLocaleLowerCase()==Vt.toLocaleLowerCase()||Sr.defender.toLocaleLowerCase()==Vt.toLocaleLowerCase())[0],sr=lt.filter(Sr=>Sr.id==Jt.id)[0];console.log(sr,"bettleItem"),Ot(Jt.id,sr.action,sr.arg,sr.nonce);let cr=[...lt],br=cr.findIndex(Sr=>Sr.id==Jt.id);cr.splice(br,1),dt(cr)},er=async Jt=>{Jt==null&&(Jt=0);let sr=boxData1[Jt];console.log(sr,"box",Jt,boxData1),await $t(sr.x,sr.y),Jt>=boxData1.length||setTimeout(()=>{er(Jt+1)},100)},Qt=()=>{Mt(mt)},tr=()=>{Ut(mt)},dr=()=>{let Jt=ir.find(sr=>sr.id==mt);Wt(mt,Jt.oreBalance,Jt.treasureBalance)},xr=(Jt,sr,cr)=>utils.solidityKeccak256(["bytes32","uint256","bytes32"],[Jt,sr,cr]);return jsxRuntimeExports.jsxs("div",{className:"content",children:[jsxRuntimeExports.jsxs("div",{className:"nav",children:[jsxRuntimeExports.jsx("h3",{children:"测试面板"}),jsxRuntimeExports.jsxs("div",{className:"addr",children:["当前用户地址:",Vt," | ",wt," ETH"]})]}),jsxRuntimeExports.jsx("div",{className:"hd",children:pr.map((Jt,sr)=>jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("h6",{children:["用户信息 ",Jt.isMe?"(自己)":""]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["addr: ",Jt.addr]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["hp: ",Jt.hp.toString()]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["attack: ",Jt.attack.toString()]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["oreBalance: ",Jt.oreBalance.toString()]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["treasureBalance: ",Jt.treasureBalance.toString()]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["坐标:",Jt?.x||0,",",Jt?.y||0]})]},sr))}),jsxRuntimeExports.jsx("div",{className:"hd",children:ir.map((Jt,sr)=>jsxRuntimeExports.jsxs("div",{style:{marginBottom:"20px"},children:[jsxRuntimeExports.jsx("h6",{children:"宝箱信息"}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["id: ",Jt.id]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["opened: ",Jt.opened.toString()]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["owner: ",Jt.owner]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["oreBalance: ",Jt.opened?Jt.oreBalance:"--"]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["treasureBalance: ",Jt.opened?Jt.treasureBalance:"--"]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"8px"},children:["坐标:",Jt?.x||0,",",Jt?.y||0]})]},sr))}),ar.map((Jt,sr)=>jsxRuntimeExports.jsxs("div",{className:"battle-item",children:[jsxRuntimeExports.jsxs("h6",{children:["战场信息(id: ",Jt.id,")"]}),jsxRuntimeExports.jsxs("div",{style:{marginTop:"12px",fontSize:"12px"},children:["胜利者:",Jt.winner]}),jsxRuntimeExports.jsxs("div",{className:"info-w",children:[jsxRuntimeExports.jsxs("div",{className:"battle-section",children:[jsxRuntimeExports.jsx("p",{children:"攻击者信息"}),jsxRuntimeExports.jsxs("div",{children:["地址: ",Jt?.attacker]}),jsxRuntimeExports.jsxs("div",{children:["Action: ",Jt?.attackerAction]}),jsxRuntimeExports.jsxs("div",{children:["Arg: ",Jt?.attackerArg.toString()]}),jsxRuntimeExports.jsxs("div",{children:["BuffHash: ",Jt?.attackerBuffHash]}),jsxRuntimeExports.jsxs("div",{children:["HP: ",Jt?.attackerHP.toString()]}),jsxRuntimeExports.jsxs("div",{children:["State: ",Jt?.attackerState]})]}),jsxRuntimeExports.jsxs("div",{className:"battle-section",children:[jsxRuntimeExports.jsx("p",{children:"被攻击者信息"}),jsxRuntimeExports.jsxs("div",{children:["地址: ",Jt?.defender]}),jsxRuntimeExports.jsxs("div",{children:["Action: ",Jt?.defenderAction]}),jsxRuntimeExports.jsxs("div",{children:["Arg: ",Jt?.defenderArg.toString()]}),jsxRuntimeExports.jsxs("div",{children:["BuffHash: ",Jt?.defenderBuffHash]}),jsxRuntimeExports.jsxs("div",{children:["HP: ",Jt?.defenderHP.toString()]}),jsxRuntimeExports.jsxs("div",{children:["State: ",Jt?.defenderState]})]})]})]},sr)),jsxRuntimeExports.jsxs("div",{className:"main",children:[jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"mintNFT"}),jsxRuntimeExports.jsx("div",{className:"input"}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:hr,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"revealNFT"}),jsxRuntimeExports.jsx("div",{className:"input",children:jsxRuntimeExports.jsx("select",{value:vt,onChange:wr,children:yt.map((Jt,sr)=>jsxRuntimeExports.jsx("option",{value:Jt,children:Jt},sr))})}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Ar,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"初始化玩家"}),jsxRuntimeExports.jsx("div",{className:"input",children:jsxRuntimeExports.jsx("select",{value:vt,onChange:wr,children:yt.map((Jt,sr)=>jsxRuntimeExports.jsx("option",{value:Jt,children:Jt},sr))})}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:$r,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"加入游戏"}),jsxRuntimeExports.jsx("div",{className:"input"}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Nt,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"移动"}),jsxRuntimeExports.jsxs("div",{className:"input",children:[jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>ur(Jt,0),placeholder:"x"}),jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>ur(Jt,1),placeholder:"y"})]}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Dr,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"传送"}),jsxRuntimeExports.jsxs("div",{className:"input",children:[jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>yr(Jt,0),placeholder:"x"}),jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>yr(Jt,1),placeholder:"y"})]}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:kr,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"攻击"}),jsxRuntimeExports.jsxs("div",{className:"input",children:[jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>Er(Jt,0),placeholder:"x"}),jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>Er(Jt,1),placeholder:"y"})]}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Ht,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"攻击策略"}),jsxRuntimeExports.jsxs("div",{className:"input",children:[jsxRuntimeExports.jsxs("select",{onChange:Jt=>_r(Jt,0),children:[jsxRuntimeExports.jsx("option",{value:"attack",children:"Attack"}),jsxRuntimeExports.jsx("option",{value:"escape",children:"Escape"}),jsxRuntimeExports.jsx("option",{value:"props",children:"Props"})]}),jsxRuntimeExports.jsxs("select",{onChange:Jt=>_r(Jt,1),children:[jsxRuntimeExports.jsx("option",{value:"1",children:"Fire"}),jsxRuntimeExports.jsx("option",{value:"2",children:"Water"}),jsxRuntimeExports.jsx("option",{value:"3",children:"Wind"})]})]}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:It,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"揭示结果"}),jsxRuntimeExports.jsx("div",{className:"input"}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Gt,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"创建宝箱"}),jsxRuntimeExports.jsxs("div",{className:"input",children:[jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>gr(Jt,0),placeholder:"x"}),jsxRuntimeExports.jsx("input",{type:"text",onChange:Jt=>gr(Jt,1),placeholder:"y"})]}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:()=>er(0),children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"打开宝箱"}),jsxRuntimeExports.jsx("div",{className:"input",children:jsxRuntimeExports.jsx("input",{type:"text",onChange:vr,placeholder:"boxId"})}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:Qt,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"揭示宝箱"}),jsxRuntimeExports.jsx("div",{className:"input",children:jsxRuntimeExports.jsx("input",{type:"text",value:mt,disabled:!0,placeholder:"boxId"})}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:tr,children:"确认"})]}),jsxRuntimeExports.jsxs("div",{className:"section",children:[jsxRuntimeExports.jsx("div",{className:"title",children:"获取宝物"}),jsxRuntimeExports.jsx("div",{className:"input",children:jsxRuntimeExports.jsx("input",{type:"text",value:mt,disabled:!0,placeholder:"boxId"})}),jsxRuntimeExports.jsx("div",{className:"btn",onClick:dr,children:"确认"})]})]})]})},Logo="/assets/logo-4ce51cd9.png",styles$2="",imgTelegram="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAfCAYAAABgfwTIAAACWUlEQVRYhc2XT4hNURzHv28wpjRkojQLJM2TDTU0RZQoplGSGEoSs2ChwdqGhexEMhuFhZ0Ny1eUYmaaxp+ViJKFUVPITI+i6aMznavjvTPv3nvOZXzr9N455/f79jnv3fu7v1sC9B9ok6QjkvZKGptNqHZJ+yUdlrTB3Zg7CzA9kg5ZoGbP/uS/glpjQXollVNiS38TqsVCmNGdI2+ezDVV8OgCrgIfmVnjwADw0xPxriigZcBJYLgBSKI7NmcPMOXbj4XZBdwGvmeAGQN6bN6ZBnH9ISAdwDngVQaQRNec/IGU2K1ZQZqBg8C9HCBGL4Atjs/9lPgfQGsaTCdwGfiQEwb7ayY+LcBQhpyR6WLuAVkCnAAGA0CMKsBax2858DZj7vVaqB3ATWAyEOYL0FdzwHXA5xwefQnUNuBpIEiiW0BbDdD2AJ/1CVSM3gC7PZdAb4DnJ2BOAnUUeBxgcglo8gD1Bx6ykni4ZmXgFPAgJfmJvSt9N8nFQCDsIeug3LEKOAbcBao2yTynzjYoHzcigIwOpEG5Y6ktnOUGMXmLqk8rEr/YznOBpIptZ2P0XtLKJD+mnzLt7CNJqyOBjEbdSVOE0c6CgIyeu5MYqPnxLL817E5ioNqK4dFUkX/fQs9aVdJ4Tp+Xkr4WBbXIs9Zpr7ORHD7PahdioBY7301d2SzptXlvk9Ql6UpGn6EioVrt5zdJGyUN1uyflrRP0kSKz2jdSuALQ8mpyB0pse3AwxmqeNV2pX/khEKZnv28beKy5lzwQJk+ri42FCp0dNvWeMKO43VeoF9qyMw4sCw8jwAAAABJRU5ErkJggg==",imgTwitter="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAACt0lEQVRYhbWXXWiPURzHH28XXsK0C7VYDE3Z1UqTl8LcuGCJktrNUkZxIUXaWrlQUxo31i6GKO9xg5Sat6y2kpdSyFtkXkIa1hBf/fI79e3nPM9znv//+Z/61Tqf3/mdz/95zjnPWQSgC//aoMYPAD8pvgN4C6ASQJRDHAYwpHPWSz3pLNeOtPYgB4E2mqPN9Tu4hGAzgBoACzRaiLUWIbCB6hxgxkmdmnDDU+AqFaguQKCOxl+03CYPaGKX6Z+ga0Xa04wCFQCGdexDX47tqCXj5YatJrYvUGAUgBc65guAshCJSCeQ9hXAGMNOkEhtgMR1yq+Jy4sb/EwHXjD9IwB8VPYmRaCbBFYl5caBaiqw3rCFxDpjxu+inO1pTywJtmqRPwCmGNZBkywzbG2AZLCExF0t1uthj5XJiTpJ+xK3YqESU6nobsNmEDsCoEqPemn3QwVCJCQ20WRzDdtGzJ0jn+jJ5CYR0VZ77mE9JCK7alYWgSwSZbpAYc99AOPoq9iTVSCLRGQ+QIsMW0lsayklIl3x7r2PNOwoiUwrpcRYAK91opMe/l7ZvVJK2NfSYNj8hC2d65Pop4nkXJhoctqJzymFRB+tiXf6921P3iNlT/KWOE+/cLqGa/baV0msIy+J/VS0kfoPUr+9L2wmVlesRDMV2+PhL5W98jB3mn4oRmIFCfi2ZKSLz7VDhsmi/aWsuxCJ2VS8L0V2J+UuNWwNsfosEuPp4BnQrZn21O5ovlxoRxt2Wtmgh8VKuIK/AcwMXLwV9IvPGSZH/GdlZ0IkziY82rTYQmPXmdzFxBqSJPZS4saMAi5u0VOcbJjb0sP6yv+TaCKB9gIFIr0Uu+b7l/KSsstWQq71rp0qQsAFf+SuATgG4Ljevm8S2+Ek5umNWfbzlRwEXMjE32hCbrJLhA0BqPoLL7jEsJpifsMAAAAASUVORK5CYII=",imgDiscord="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAcCAYAAADiHqZbAAACqUlEQVRYhc2XT0hVQRTGfz2VMgiSMCnLigjNwP4hREVtrCCEJMhFRItW0bp2UZsW4aZo0bYIXASBy5DCIMqopKIWvUKlfy8ooYSQNKsvTszLy+XOvfNUen4wj/vunDPn48y535yZJ4lArAS2AzuAZuAscD/AdSlwHRgC7rkxGBIyi9wG4ACwG9hj9pG5125+AdAILAYqgN/AN0dmFOgGOmPrPgRuATeBfm90I5cwcpJ6lI2CpFGP1Xc3n4U7kmqSePjIdQcsOpsYSOKRS0hmB3A4pCZmEVuB0/Hlkmruq6ufcqAO+FyMG8/cyTISM1yI/olmrsJ9ZdVloTWFVcA7Ypk7MQeIEa29aOZMGNeWjdIUfgE1tovFzLXOEWK48jLF+LetcQVPw0vghel3CT554HkJ9of+/jrBywcI6hdJOyMi2SCpN8NnSNKWiE+TpCcBsSYkVZtDfaDSt3pOk2GP/bikFQn2i1KOvCj22rbuCkhzH/DYM3fZ874H+JDw3uSqKyBmS861Qll4kDJf8Lx/k+KTD4i52cg1BRi2pcz5/BvTAgfEXGc10B9Yc/sT6qdK0ieP/U9JLQk+VodjAfEG0wo6jklJByVVuiAbXauThhFJ+1x/aD7bJL0NjPfeToiPwLKANBdh9pPuDAxFwSl/Qwk+I5Wx1jsEy0u0N9RPwydnH8SPaTj+D4wbuaqMQHZhuQoMzBIhk5grAUmpM3JnAsj1uubAroY3gLESCdkat4F2YA1wDZjI8OkqtkzrnWq3pxg/dYteBJa4u6sFWu2ea4H5LiOjrkGwLA0Dr9xpcQQ46q6ZPjwCTgF34xrUIelZxie+0HPGhozBNOmQdDzkatjmubdumgExG7UJa/ZJ6ozoZya54miWdM6J7fkZEiuOY253LqV0OkjiD5w2QLNvH7qiAAAAAElFTkSuQmCC",HomeHeader=_e=>jsxRuntimeExports.jsxs("div",{className:"home-header",children:[jsxRuntimeExports.jsx("a",{href:"/",children:jsxRuntimeExports.jsx("img",{src:Logo,alt:"MISSISSIPPI",className:"header-logo"})}),jsxRuntimeExports.jsx("nav",{className:"header-nav",children:jsxRuntimeExports.jsx("ul",{className:"menu-lv1",children:jsxRuntimeExports.jsxs("li",{className:"menu-socials",children:[jsxRuntimeExports.jsx("a",{href:"",children:"Socials"}),jsxRuntimeExports.jsxs("ul",{className:"menu-lv2",children:[jsxRuntimeExports.jsxs("li",{children:[jsxRuntimeExports.jsx("a",{href:"https://twitter.com/0xMississippi",target:"_blank",rel:"noreferrer",children:"Twitter"}),jsxRuntimeExports.jsx("img",{src:imgTwitter,alt:""})]}),jsxRuntimeExports.jsxs("li",{children:[jsxRuntimeExports.jsx("a",{href:"",title:"coming soon",children:"Discord"}),jsxRuntimeExports.jsx("img",{src:imgDiscord,alt:""})]}),jsxRuntimeExports.jsxs("li",{children:[jsxRuntimeExports.jsx("a",{href:"",title:"coming soon",children:"Telegram"}),jsxRuntimeExports.jsx("img",{src:imgTelegram,alt:""})]})]})]})})}),_e.walletAddress?jsxRuntimeExports.jsx(UserAddress,{address:_e.walletAddress,account:_e.walletBalance+"ETH"}):jsxRuntimeExports.jsx("button",{className:"play-btn mi-btn",onClick:_e.onPlayBtnClick,children:"PLAY NOW"})]}),styles$1="",indexDuckImg="/assets/duck_index-627ed778.svg",pluginAbi=[{inputs:[{internalType:"address",name:"_lootAddress",type:"address"},{internalType:"address",name:"_userAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"lootAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"multMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_lootTokenId",type:"uint256"},{internalType:"uint256",name:"_userTokenId",type:"uint256"}],name:"multRevealNFT",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"userAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}];let userContract,lootContract,pluginContract,userTokenIds,lootTokenIds,transfering=!1;const Home=()=>{const[_e,et]=message$1.useMessage(),{components:{GlobalConfig:tt,Player:rt,LootList1:nt,PlayerAddon:it},systemCalls:{selectBothNFT:at,joinBattlefield:st,setInfo:lt,initUserInfo:dt},network:ht}=useMUD(),[pt,mt]=reactExports.useState(""),[gt,vt]=reactExports.useState(""),[bt,yt]=reactExports.useState("play"),xt=reactExports.useRef(),[wt,_t]=reactExports.useState(!1),[At,Tt]=reactExports.useState(!1),kt=useNavigate(),[jt,Lt]=reactExports.useState(),[qt,Dt]=reactExports.useState(),[zt,Zt]=reactExports.useState(),[Bt,Et]=reactExports.useState(),[Ct,Pt]=reactExports.useState(),[Ot,Mt]=reactExports.useState(),[Ut,Wt]=reactExports.useState(),$t=ne([Ye$1(nt)]).map(nr=>{const hr=g$7(nt,nr),Ar=ot({addr:"address"},nr)?.addr?.toLocaleLowerCase()||"";return hr.addr=Ar,hr}),Ft=ne([Ye$1(rt)]).map(nr=>{const hr=ot({addr:"address"},nr)?.addr?.toLocaleLowerCase()||"",Ar=g$7(rt,nr);return Ar.addr=hr,$t.forEach(ur=>{if(ur.addr.toLocaleLowerCase()===hr.toLocaleLowerCase()){let vr=ur.chest.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),wr=ur.weapon.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),gr=ur.head.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,"");Ar.equip={clothes:vr,handheld:wr,head:gr}}}),Ar}).find(nr=>nr.addr.toLocaleLowerCase()==ht?.account.toLocaleLowerCase()),Vt=ne([Ye$1(tt)]).map(nr=>g$7(tt,nr));if(Vt.length&&Vt[0].userContract){let nr=ht.privateKey,hr=ht.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",Ar=new JsonRpcProvider(hr),ur=new Wallet(nr,Ar),vr=Vt[0].userContract;userContract=new Contract(vr,userAbi,ur),userContract?.getUserTokenIdList().then(wr=>{userTokenIds=wr})}if(Vt.length&&Vt[0].lootContract&&!lootContract){let nr=ht.privateKey,hr=ht.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",Ar=new JsonRpcProvider(hr),ur=new Wallet(nr,Ar),vr=Vt[0].lootContract;lootContract=new Contract(vr,lootAbi,ur),lootContract?.getUserTokenIdList().then(wr=>{lootTokenIds=wr})}if(Vt.length&&Vt[0].pluginContract&&!pluginContract){let nr=ht.privateKey,hr=ht.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",Ar=new JsonRpcProvider(hr),ur=new Wallet(nr,Ar),vr=Vt[0].pluginContract;pluginContract=new Contract(vr,pluginAbi,ur)}const Rt=nr=>(nr=nr.replace("data:application/json;base64,",""),nr=atob(nr),nr=JSON.parse(nr),nr);reactExports.useEffect(()=>{ir();async function nr(){if(Ft?.state>=1&&Ft?.name){let hr=g$7(it,u$1({addr:"address"},{addr:Ft.addr})),Ar=hr.userId.toString(),ur=hr.lootId.toString(),vr=await Promise.all([userContract.tokenURI(Ar),lootContract.tokenURI(ur)]),wr=vr[0],gr=vr[1];wr=Rt(wr),gr=Rt(gr),Ft.userUrl=wr.image,Ft.lootUrl=gr.image,Et(Ft.name),Lt(Ft?.equip?.clothes),Dt(Ft?.equip?.handheld),Zt(Ft?.equip?.head),Pt(Ft.userUrl),Mt(Ft.lootUrl),Wt(Ft),yt("mint")}}nr()},[Ft]);const Yt=()=>{_t(!0)},Kt=async()=>{if(!xt.current.value){message$1.error("Please input your username");return}Et(xt.current.value),_t(!1),yt("mint")},Xt=async()=>new Promise(async(nr,hr)=>{try{await(await pluginContract.multMint()).wait();let ur=await ht.publicClient.getBlockNumber(),vr=setInterval(async()=>{if(await ht.publicClient.getBlockNumber()-ur>=2){clearInterval(vr);let gr=await Promise.all([userContract.getUserTokenIdList(),lootContract.getUserTokenIdList()]);userTokenIds=gr[0],lootTokenIds=gr[1],await(await pluginContract.multRevealNFT(lootTokenIds[lootTokenIds.length-1].toString(),userTokenIds[userTokenIds.length-1].toString())).wait(),nr("success")}},1e3)}catch(Ar){console.log(Ar),hr(Ar)}}),rr=async()=>{Tt(!0);try{_e.open({type:"loading",content:"minting loot and user,please wait...",duration:7}),userTokenIds.length&&lootTokenIds.length||await Xt();let nr=userTokenIds[userTokenIds.length-1].toString(),hr=lootTokenIds[lootTokenIds.length-1].toString(),Ar=await Promise.all([userContract.tokenURI(nr),lootContract.tokenURI(hr)]),ur=Ar[0],vr=Ar[1];console.log(Ar,"url"),ur=Rt(ur),vr=Rt(vr),Pt(ur.image),Mt(vr.image);let{playerData:wr,lootData:gr}=await at(nr,hr,ht.account),yr=gr.chest.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),Er=gr.weapon.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,""),_r=gr.head.replace(/"(.*?)"/,"").split(" of")[0].replace(/^\s+|\s+$/g,"");Wt(wr),Lt(yr),Dt(Er),Zt(_r),wr.equip={clothes:yr,handheld:Er,head:_r};let $r=Object.assign(wr,{username:Bt,clothes:yr,handheld:Er,head:_r,userUrl:ur.image,lootUrl:vr.image});console.log($r,"player");let Dr=await Promise.all([lt(Bt,""),st()]);console.log(Dr,"result"),Tt(!1),kt("/game",{state:{username:Bt,clothes:yr,handheld:Er,head:_r}})}catch(nr){Tt(!1),console.log(nr),message$1.error(nr)}},or=()=>{if(!ht.account){message$1.error("waiting for wallet connection");return}Ft&&Ft.state!=1&&Ft.state!=0?kt("/game",{state:{username:"",clothes:"",handheld:"",head:""}}):(localStorage.removeItem("curPlayer"),localStorage.removeItem("worldContractAddress"),Yt())},ar=async nr=>{if(transfering)return;transfering=!0;let hr="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",Ar=ht.walletClient?.chain?.rpcUrls?.default?.http[0]||"http://127.0.0.1:8545",ur=new JsonRpcProvider(Ar),vr=new Wallet(hr,ur);console.log(vr,"wallet"),vr.sendTransaction({to:nr,value:parseEther$1("1")}).then(wr=>{console.log(wr,"res"),transfering=!1,ir()}).catch(wr=>{console.log(wr)})},ir=async()=>{let nr=await ht.publicClient.getBalance({address:ht.walletClient.account.address});if(nr.toString()=="0")ar(ht.walletClient.account.address);else{let hr=(+formatEther$1(nr.toString())).toFixed(2);mt(ht.walletClient.account.address),vt(hr),localStorage.setItem("mi_user_address",ht.walletClient.account.address)}},pr=async()=>{await dt(),localStorage.removeItem("curPlayer"),localStorage.removeItem("worldContractAddress"),message$1.success("init success")};return jsxRuntimeExports.jsxs("div",{className:"mi-home-page",children:[et,jsxRuntimeExports.jsx(HomeHeader,{onPlayBtnClick:or,walletAddress:pt,walletBalance:gt}),bt==="play"&&jsxRuntimeExports.jsxs("section",{className:"mi-section index-section",children:[jsxRuntimeExports.jsx("div",{className:"section-box",children:jsxRuntimeExports.jsxs("div",{className:"intro-box",children:[jsxRuntimeExports.jsx("h1",{className:"intro-title",children:"Welcome to Mississippi"}),jsxRuntimeExports.jsxs("p",{children:["An ancient cave, cursed by its creator, opens intermittently as if alive ",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"The cavern is rich in energy gems that prudent adventurers can take, while those who miss the time to leave due to greed will be trapped in the cavern forever ",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"The Mississippi Company executives saw the value of the caves and decided to monopolize them ",jsxRuntimeExports.jsx("br",{}),jsxRuntimeExports.jsx("br",{}),"Just when the plan was about to succeed, a group of crazy duck adventurers stormed into the cave..."]}),jsxRuntimeExports.jsx("button",{className:"play-btn mi-btn",onClick:or,children:"PLAY NOW"}),jsxRuntimeExports.jsx("button",{className:"play-btn mi-btn",onClick:pr,children:"INIT USER"})]})}),jsxRuntimeExports.jsx("img",{src:indexDuckImg,alt:"duck",className:"duck-index"})]}),bt==="mint"&&jsxRuntimeExports.jsx("div",{className:"mi-section mint-section",children:jsxRuntimeExports.jsxs("div",{className:"mint-box",children:[jsxRuntimeExports.jsx("h2",{className:"mint-title",children:"HOME"}),jsxRuntimeExports.jsx(UserInfo,{clothes:jt,handheld:qt,head:zt,userUrl:Ct,lootUrl:Ot,player:Ut}),jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:rr,disabled:At,children:At?"Loading...":"MINT AND GO"}),At?jsxRuntimeExports.jsx("div",{style:{textAlign:"center",fontSize:"12px"},children:"The minting process may take up to several tens of seconds"}):null]})}),jsxRuntimeExports.jsx(Modal$1,{visible:wt,className:"mi-modal",footer:null,onCancel:()=>_t(!1),children:jsxRuntimeExports.jsxs("div",{className:"create-wallet-wrapper",children:[jsxRuntimeExports.jsx("div",{className:"create-wallet-content",children:"You have successfully created a wallet.Name your character and start your journey!"}),jsxRuntimeExports.jsxs("div",{className:"mint-name",children:[jsxRuntimeExports.jsx("input",{type:"text",className:"mi-input",ref:xt}),jsxRuntimeExports.jsx("button",{className:"mi-btn",onClick:Kt,children:"OK"})]})]})})]})},Hero={Armor:["ArcherTunic","BanditTunic","BlueKnight","BlueWizardTunic","CaptainArmor","Chief","ChumDoctorTunic","ClericRobe","DeathRobe","DeerCostume","DemigodArmour","DruidRobe","ElfTunic","Executioner","FarmerClothes","FemaleOutfit","FemaleSwimmingSuit","FireWizardRobe","GuardianTunic","HeavyKnightArmor","HolowKnight","HornsKnight","IronKnight","LegionaryArmor","MilitiamanArmor","MinerArmour","MonkRobe","MusketeerTunic","NecromancerRobe","NinjaTunic","Overalls","PilotArmor","PirateCostume","PirateRobe","PumpkinOveralls","Samurai","SantaHelperTunic","SantaTunic","ThiefTunic","TravelerTunic"],Arms:["DarkElf","Demigod","Demon","Elf","FireLizard","Furry","Goblin","Human","HumanShadow","Lizard","Merman","Orc","Skeleton","Vampire","Werewolf","ZombieA","ZombieB"],Back:["BackSword","LargeBackpack","LeatherQuiver","SmallBackpack"],Body:["DarkElf","Demigod","Demon","Elf","FireLizard","Furry","Goblin","Human","HumanShadow","Lizard","Merman","Orc","Skeleton","Vampire","Werewolf","ZombieA","ZombieB"],Bracers:["ArcherTunic","BlueKnight","BlueWizardTunic","CaptainArmor","Chief","ChumDoctorTunic","ClericRobe","DeathTunic","DeerTunic","DemigodArmour","DruidRobe","Executioner","FireWizardRobe","GreenElfTunic","GuardianTunic","HaloweenTunic","HeavyKnightArmor","HolowKnight","HornsKnight","IronKnight","LegionaryArmor","MilitiamanArmor","MonkRobe","MusketeerTunic","NecromancerRobe","NinjaTunic","PilotArmor","PirateRobe","Samurai","SantaTunic","ThiefTunic"],Cape:["Cape"],Ears:["DarkElf","Demigod","Demon","Elf","FireLizard","Furry","Goblin","Human","HumanShadow","Lizard","Merman","Orc","Skeleton","Vampire","Werewolf","ZombieA","ZombieB"],Eyes:["DarkElf","Demigod","Demon","Elf","FireLizard","Furry","Goblin","Human","Lizard","Merman","Orc","Skeleton","Vampire","Werewolf","ZombieA","ZombieB"],Firearm:["AssaultRifle","Pistol","SniperRifle","Uzi"],Hair:["Hair1","Hair10","Hair11","Hair12","Hair13","Hair14","Hair15","Hair2","Hair3","Hair4","Hair5","Hair6","Hair7","Hair8","Hair9"],Head:["DarkElf","Demigod","Demon","Elf","FireLizard","Furry","Goblin","Human","HumanShadow","Lizard","Merman","Orc","Skeleton","Vampire","Werewolf","ZombieA","ZombieB"],Helmet:["ArcherHood","BanditBandana","BanditPatch [ShowEars]","BlueKnightHelmet","BlueWizzardHat","CaptainHelmet","ChiefHat [ShowEars]","ChumDoctorHelmet","ClericHood","DeathHood","DeerHorns [ShowEars]","DruidHelmet","ExecutionerHood","FireWizardHood","GuardianHelmet","HeavyKnightHelmet","HolowKnightHelmet","HornsHelmet","HornsKnightHelmet","IronKnightHelmet","LegionaryHelmet","MilitiamanHelmet","MinerHelment","MusketeerHat [ShowEars]","NecromancerHood","NinjaMask","PilotHelment","PirateBandana [ShowEars]","PirateHelmet [ShowEars]","PumpkinHead","SamuraiHelmet","SantaHelperCap [ShowEars]","SantaHood","SantaHoodBeard","ThiefHood","VikingHelmet"],Horns:["Demon"],Mask:["AnimeMask","BanditMask","BlackMask","ChumMask","DarkMask","IronMask","Shadow","SuperMask"],Shield:["AncientGreatShield","BlueShield","BrassRoundShield","CrusaderShield","Dreadnought","GoldenEagle","GuardianShield","IronBuckler","KnightShield","LegionShield","RoyalGreatShield","SteelShield","TowerShield","WoodenBuckler"],Weapon:["AmurWand","ArchStaff","AssaultSword","Axe","BastardSword","BattleAxe","BattleBow","BattleHammer","Bident","BishopStaff","BlacksmithHammer","Blade","BlueStick","BlueWand","Bow","Branch","Broadsword","Butcher","Crusher","CrystalWand","CurveBranch","CurvedBow","Cutlass","Dagger","DeathScythe","ElderStaff","Epee","Executioner","FireWand","FlameStaff","Fork","GiantBlade","GiantSword","GoldenSkepter","GoldenSkullWand","Greataxe","GreatHammer","Greatsword","GreenWand","GuardianHalberd","Halberd","Hammer","HermitStaff","HunterKnife","IronSword","Katana","KitchenAxe","Knife","Lance","LargePickaxe","LargeScythe","LongBow","LongKatana","Longsword","Mace","MagicWand","MarderDagger","MasterGreataxe","MasterWand","Morgenstern","NatureWand","NecromancerStaff","Pan","Pickaxe","Pitchfork","PriestWand","Rake","RedKatana","RedStick","RedWand","RoundMace","RoyalLongsword","RustedHammer","RustedPickaxe","RustedShortSword","RustedShovel","Saber","Scythe","Shestoper","ShitOnStick","ShortBow","ShortDagger","Sickle","SkullWand","SmallAxe","SmallPitchfork","SpikedClub","Stick","StormStaff","Sword","Tanto","WaterWand","WideDagger","WoodcutterAxe"]},styles="",HeroComps=["Back","Cape","Shield","Head","Ears","Body","Eyes","Mask","Hair","Armor","Helmet","Weapon"],Actions=["idle","ready","run","jump","jab","slash","shot","climb","die","crawl","block"],HeroEdit=()=>{const[_e,et]=reactExports.useState({}),[tt,rt]=reactExports.useState(Actions[0]);return reactExports.useEffect(()=>{HeroComps.forEach(nt=>{_e[nt]=Hero[nt][0]}),et({..._e})},[]),jsxRuntimeExports.jsxs("div",{className:"mi-hero-page",children:[jsxRuntimeExports.jsxs("div",{className:"actions",children:[jsxRuntimeExports.jsx("select",{onChange:nt=>{rt(nt.target.value)},children:Actions.map(nt=>jsxRuntimeExports.jsx("option",{value:nt,children:nt},nt))}),jsxRuntimeExports.jsx("img",{src:"/assets/img/duck/default.png",alt:"",className:"user-appearance"})]}),jsxRuntimeExports.jsx("div",{className:"hero-preview-wrap",children:jsxRuntimeExports.jsx("div",{className:`hero-preview action-${tt}`,children:HeroComps.map(nt=>jsxRuntimeExports.jsx("div",{className:`hero-comp ${nt}`,style:{backgroundImage:_e[nt]?`url("/src/assets/img/hero/${nt}/${_e[nt]}.png")`:"none"}},nt))})}),jsxRuntimeExports.jsx("div",{className:"select-wrap",children:HeroComps.map(nt=>jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsxs("label",{htmlFor:"",children:[nt,": "]}),jsxRuntimeExports.jsx("select",{name:"",id:"",onChange:it=>{_e[nt]=it.target.value,et({..._e})},children:Hero[nt].map(it=>jsxRuntimeExports.jsx("option",{value:it,children:it},it))},nt)]}))})]})},App=()=>jsxRuntimeExports.jsx("div",{className:"mi-app",children:jsxRuntimeExports.jsx(BrowserRouter,{children:jsxRuntimeExports.jsx(Routes,{children:jsxRuntimeExports.jsxs(Route,{path:"/",children:[jsxRuntimeExports.jsx(Route,{index:!0,element:jsxRuntimeExports.jsx(Home,{})}),jsxRuntimeExports.jsx(Route,{path:"game",element:jsxRuntimeExports.jsx(Game,{})}),jsxRuntimeExports.jsx(Route,{path:"test",element:jsxRuntimeExports.jsx(Test,{})}),jsxRuntimeExports.jsx(Route,{path:"heroEdit",element:jsxRuntimeExports.jsx(HeroEdit,{})})]})})})}),common="",{network}=await setup(),rootElement=document.getElementById("root");if(!rootElement)throw new Error("React root not found");const root=client.createRoot(rootElement);setup().then(async _e=>{root.render(jsxRuntimeExports.jsx(MUDProvider,{value:_e,children:jsxRuntimeExports.jsx(App,{})}));const{mount:et}=await __vitePreload(()=>import("./index-b2153673.js"),[]);et({config:mudConfig,publicClient:network.publicClient,walletClient:network.walletClient,latestBlock$:network.latestBlock$,blockStorageOperations$:network.blockStorageOperations$,worldAddress:network.worldContract.address,worldAbi:network.worldContract.abi,write$:network.write$,recsWorld:network.world})});export{BaseError as B,HttpRequestError as H,InvalidAddressError as I,P$7 as P,Ye$1 as Y,P$a as a,decodeErrorResult as b,c$1 as c,de$2 as d,call$1 as e,f$5 as f,getUrl$1 as g,concat as h,isAddress as i,encodeAbiParameters as j,isHex as k,ot as o,stringify$2 as s,t$4 as t,ut as u,ye$1 as y}; +//# sourceMappingURL=index-02eecd08.js.map diff --git a/packages/client/dist/assets/index-02eecd08.js.map b/packages/client/dist/assets/index-02eecd08.js.map new file mode 100644 index 00000000..003ccabb --- /dev/null +++ b/packages/client/dist/assets/index-02eecd08.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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M,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAI,EACngD86C,GAAI,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAI,EAGngD9T,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgG8T,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EACpgGC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,SAAU,EAGpgGC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAU,EAGpgGC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAU,EACpgGC,GAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,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A,GAAEA,GAAE,MAAM,EAAE,EAAE,QAAQA,GAAEA,GAAE,MAAM,EAAE,EAAE,QAAQA,GAAEA,GAAE,MAAM,EAAE,EAAE,QAAQA,GAAEA,GAAE,MAAM,EAAE,EAAE,QAAQA,GAAEA,GAAE,MAAM,EAAE,EAAE,QAAQA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,OAAO,EAAE,EAAE,SAASA,GAAEA,GAAE,QAAQ,EAAE,EAAE,UAAUA,GAAEA,GAAE,QAAQ,EAAE,EAAE,UAAUA,GAAEA,GAAE,QAAQ,EAAE,EAAE,UAAUA,GAAEA,GAAE,QAA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GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,aAAa,GAAG,EAAE,eAAeA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAAE,gBAAgBA,GAAEA,GAAE,cAAc,GAAG,EAA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WA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,SAASA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,UAAUA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,WAAWA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAAYA,IAAE,YAAY,YAA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AAM,oCAAoCrnG,EAAO,+BAA+B,EAG5F,MAAMsnG,GAAqB9tH,GAAO,IAAI,oBAAoB,EACtD,OAAOA,GAAO,IAAI,oBAAoB,CAAC,EACvC4tH,IAAO,aAAe,GAEnB,OACL,WAAYG,KAAoB,EAChC,QAAAvnG,GACA,MAAAijB,GACA,iBAAkBzpC,GAAO,IAAI,QAAQ,GAAKypC,GAAM,UAChD,aAAAokF,GACA,mBAAAC,EAAA,CAEJ,CCtCO,MAAM,MAAQE,GAAY,ECM3B,KAAO,CACX,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,WACN,KAAM,QACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,eACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,mBACN,KAAM,QACR,CACF,EACA,KAAM,yBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,mBACN,KAAM,QACR,CACF,EACA,KAAM,2BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,WACN,KAAM,QACR,CACF,EACA,KAAM,kBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,SACN,KAAM,QACR,CACF,EACA,KAAM,yBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,WACN,KAAM,QACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,WACN,KAAM,QACR,CACF,EACA,KAAM,mBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,8BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,8BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,oCACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,kCACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,4BACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,2BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,gBACN,KAAM,QACR,CACF,EACA,KAAM,+BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,gBACN,KAAM,QACR,CACF,EACA,KAAM,0BACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,eACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CAAC,EACT,KAAM,aACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,MACN,KAAM,WACR,CACF,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,QAAS,GACT,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,uBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,QAAS,GACT,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,QAAS,GACT,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CACE,QAAS,GACT,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,QAAS,GACT,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,QAAS,GACT,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,iBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,KACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,KACN,KAAM,QACR,CACF,EACA,KAAM,YACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,KAAM,mBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,KAAM,kBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,WAAY,CACV,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,aAAc,oBACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,mBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,sBACN,KAAM,OACR,CACF,EACA,KAAM,OACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACR,CACF,EACA,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,sBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,oBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,aACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,kBACN,KAAM,QACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,WACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,MACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,UACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,SACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,oBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,CACF,EACA,KAAM,iBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,SACN,KAAM,SACR,CACF,EACA,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,SACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,mBACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,mBACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,kBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,WAAY,CACV,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,EACA,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACR,CACF,EACA,aAAc,oBACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,OACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,qBACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,0BACN,KAAM,QACR,CACF,EACA,KAAM,2BACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,wBACN,KAAM,QACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,wBACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,yBACN,KAAM,QACR,CACF,EACA,KAAM,+BACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACR,CACF,EACA,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,sBACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACR,EACA,CACE,aAAc,OACd,KAAM,eACN,KAAM,MACR,CACF,EACA,KAAM,iBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,uBACd,KAAM,OACN,KAAM,SACR,CACF,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,EACA,CACE,aAAc,WACd,KAAM,WACN,KAAM,UACR,EACA,CACE,aAAc,WACd,KAAM,aACN,KAAM,UACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,mBACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACR,CACF,EACA,KAAM,eACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,EACA,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,OACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,MACN,KAAM,QACR,CACF,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,YACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,YACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACR,EACA,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,EACA,CACE,aAAc,SACd,KAAM,IACN,KAAM,QACR,CACF,EACA,KAAM,WACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACR,EACA,CACE,aAAc,YACd,KAAM,MACN,KAAM,WACR,EACA,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACR,EACA,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACR,EACA,CACE,aAAc,QACd,KAAM,YACN,KAAM,OACR,EACA,CACE,aAAc,SACd,KAAM,cACN,KAAM,SACR,CACF,EACA,KAAM,gBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,CACF,EAEO,MAAM,eAAgB,CAE3B,OAAO,iBAAmC,CACjC,WAAIC,UAAgB,IAAI,CACjC,CACA,OAAO,QAAQniH,GAAiB0b,GAA6C,CAC3E,OAAO,IAAI,SAAS1b,GAAS,KAAM0b,EAAgB,CACrD,CACF,CARa,gBACK,IAAM,KCz+CxB,gBAAe0mG,EAAU,CACvB,QAAS,CACP,aAAc,CACZ,KAAM,SACN,WAAY,EACd,EACA,WAAY,CACV,KAAM,OACN,WAAY,EACd,EACA,SAAU,CACR,KAAM,KACN,WAAY,EACd,EACA,aAAc,CACZ,KAAM,SACN,WAAY,EACd,EACA,UAAW,CACT,KAAM,MACN,WAAY,EACd,EACA,WAAY,CACV,KAAM,OACN,WAAY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,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC/T,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,I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AAU,SACV,SAAU,SACV,SAAU,MACV,SAAU,EACV,SAAU,IACV,OAAS,SACT,QAAU,SACV,QAAU,EACV,QAAU,SACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,IACV,QAAU,EACV,QAAU,IACV,SAAU,SACV,SAAU,MACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAW,SACX,SAAW,MACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,KACd,EACD,CACI,EAAK,WACL,MAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,KACT,OAAS,KACT,OAAS,WACT,MAAQ,WACR,MAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,WACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,QACT,QAAS,WACT,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,EACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,QACV,QAAU,WACV,QAAU,QACV,QAAU,GACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,EACV,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,WACV,QAAU,GACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,QACV,QAAU,OACb,EACD,CACI,EAAK,IACL,K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AM,CAAE,MAAO,EACf,KAAM,CACJ,UAAe,UACf,QAAe,MACf,aAAe,QACf,SAAe,QACf,cAAe,SACf,SAAe,MACf,WAAe,UACf,WAAe,UACf,SACF,EACA,KAAM,CACJ,UAAc,UACd,QAAc,MACd,aAAc,QACd,SAAc,QACd,SAAc,SACd,MAAc,WACd,UAAc,WACd,UAAc,SAChB,EACA,QAAS,CAAE,eAAgB,SAAU,cAAe,KAAM,EAC1D,KAAM,CACJ,QAAU,SACV,SAAU,SACV,SAAU,SACV,SAAU,QACV,QAAU,QACV,QAAU,QACV,QAAU,QACV,OACF,EACA,KAAM,CACJ,UAAe,UACf,QAAe,MACf,aAAe,QACf,SAAe,QACf,cAAe,SACf,SAAe,MACf,WAAe,UACf,WAAe,UACf,SACF,EACA,OAAQ,CACN,aACA,gBACA,yBACA,mBACA,iBACA,gBACA,sBACA,mBACA,aACA,YACA,uBACA,cACA,kBACA,iBACA,iBACA,oBACA,oBACA,cACA,oBACA,mBACA,kBACA,mBACA,eACA,0BACA,kBACA,YACA,eACA,2BACA,0BACA,cACA,gBACA,4BACA,YACA,iBACA,YACA,cACF,EACA,MAAO,CAAE,OAAQ,EACjB,KAAM,CACJ,YACA,aACA,YACA,WACA,WACA,WACA,SACA,WACF,EACA,OAAQ,CACN,qBACA,aACA,mBACA,iBACA,cACA,cACA,iBACA,cACA,eACA,eACA,mBACA,cACA,cACA,eACF,EACA,OAAQ,CACN,WAAmB,YAAoB,eACvC,MAAmB,eAAoB,YACvC,YAAmB,eAAoB,SACvC,cAAmB,mBAAoB,QACvC,YAAmB,WAAoB,MACvC,SAAmB,aAAoB,UACvC,UAAmB,cAAoB,cACvC,YAAmB,UAAoB,SACvC,cAAmB,aAAoB,OACvC,cAAmB,WAAoB,aACvC,OAAmB,aAAoB,aACvC,gBAAmB,kBAAoB,WACvC,cAAmB,aAAoB,YACvC,kBAAmB,UAAoB,SACvC,cAAmB,cAAoB,YACvC,SAAmB,aAAoB,QACvC,QAAmB,eAAoB,cACvC,UAAmB,aAAoB,YACvC,OAAmB,YAAoB,eACvC,iBAAmB,aAAoB,cACvC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","names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","reactModule","require$$0","jsxRuntimeModule","components","error","_len","args","_key","getGlobal","defineProperty","func","invoked","noop","isFunction","fn","value","isObject","isPlainObject","proto","protoConstructor","obj","constructor","object","propName","name","theClass","thing","keys","symbols","s","ownKeys","target","prop","res","key","_defineProperties","props","i","descriptor","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","_extends","source","_inheritsLoose","subClass","superClass","_setPrototypeOf","o","_assertThisInitialized","self","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr","len","arr2","allowArrayLike","it","_toPrimitive","input","hint","prim","arg","annotation","decorator","property","prototype","Atom","name_","_proto","listener","onBecomeObservedHandler","onBecomeUnobservedHandler","atom","_","observable","newValue","oldValue","options","adm","_this$options_","actionDescriptor","proxyTrap","_ref","_ref2","safeDescriptors","_annotation$options_","_annotation$options_$","_annotation$options_2","_annotation$options_$2","_annotation$options_3","_annotation$options_4","_adm$proxy_2","_adm$proxy_","flowDescriptor","_this$options_2","bound","_this$options_$enhanc","_this$options_3","_this$options_4","set","flowAnnotation","actionAnnotation","observableAnnotation","_this$options_5","_this$options_6","_options$defaultDecor","arg2","arg3","initialValues","decorators","arg1","opts","actionName","autoAction","ref","canRunAsDerivation","scope","runInfo","err","notifySpy_","startTime_","prevDerivation_","runAsAction","prevAllowStateChanges_","prevAllowStateReads_","allowStateChanges","prev","_Atom","ObservableValue","enhancer","notifySpy","equals","_this","change","handler","fireImmediately","ComputedValue","prevTrackingContext","result","wasSuspended","changed","track","firstTime","prevValue","prevU","IDerivationState_","TraceMode","cause","derivation","prevAllowStateReads","prevUntracked","obs","context","prevTracking","prevObserving","observing","lowestNewObservingDerivationState","i0","dep","_dep","_dep2","action","allowStateReads","global","node","list","Reaction","onInvalidate_","errorHandler_","requiresObservable_","prevReaction","message","abortSignal","_this2","dispose","enterBreakPoint","allReactions","iterations","remainingReactions","event","view","_opts$name","_opts","_opts2","_opts2$signal","_opts3","runSync","reaction","reactionRunner","scheduler","isScheduled","run","hook","cb","listenersKey","hookListeners","properties","annotations","descriptors","generator","ctx","runId","gen","rejector","pendingPromise","promise","resolve","reject","stepId","onFulfilled","ret","next","onRejected","_res","yieldedPromise","thisArg","_getAdm$set_","_getAdm$delete_","_getAdm$definePropert","_target$$mobx","_target$$mobx$proxy_","interceptable","interceptors","idx","listenable","listeners","ObservableArrayAdministration","owned_","legacyMode_","newV","oldV","values","newLength","currentLength","newItems","oldLength","delta","index","deleteCount","length","lengthDelta","_this$values_","oldItems","_i","notify","added","removed","owned","proxy","_len2","items","_key2","_len3","_key3","copy","funcName","funcFactory","dehancedValues","callback","element","_this3","accumulator","currentValue","ObservableMap","initialData","enhancer_","entry","newEntry","hasKey","_change","_this3$hasMap_$get","_this4","_this4$hasMap_$get","_keys$next","done","_keys$next2","_iterator","_step","_step$value","other","_this5","_this6","_iterator2","_step2","_this7","replacementMap","orderedData","keysReportChangedCalled","_iterator3","_step3","deleted","_iterator4","_step4","_step4$value","_value","keyExisted","_value2","iter1","iter2","next1","next2","dataStructure","map","ObservableSet","callbackFn","_change2","nextIndex","observableValues","ObservableObjectAdministration","target_","values_","defaultAnnotation_","_this$target_$storedA","outcome","deleteOutcome","cachedDescriptor","_this$pendingKeys_","_this$pendingKeys_$ge","_getDescriptor","_this$pendingKeys_2","_this$pendingKeys_2$g","_options$name","_adm$target_$storedAn","ctor","_StubArray","_Symbol$toStringTag","_Symbol$iterator","LegacyObservableArray","arrays","max","_observable","named","depth","aStack","bStack","type","className","areArrays","aCtor","bCtor","iterator","__extends","__","__awaiter","_arguments","adopt","fulfilled","step","rejected","body","verb","op","__read","ar","__spreadArray","to","from","pack","resume","settle","fulfill","createImpl","_super","instance","ctorFunc","errors","item","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","e_2_1","teardown","parent","empty","timeout","delegate","handle","Subscriber","destination","complete","ConsumerObserver","partialObserver","SafeSubscriber","observerOrNext","context_1","identity","fns","pipeFromArray","Observable","subscribe","operator","subscriber","sink","promiseCtor","Symbol_observable","operations","init","liftedSource","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","Subject","subject","_c","observer","observers","hasError","isStopped","thrownError","AnonymousSubject","ReplaySubject","_bufferSize","_windowTime","_timestampProvider","_buffer","_infiniteTimeWindow","subscription","adjustedBufferSize","now","last","defaultValue","isAsyncIterable","isIterable","Symbol_iterator","readableStream","reader","array","iterable","iterable_1","iterable_1_1","asyncIterable","process","asyncIterable_1","asyncIterable_1_1","parentSubscription","work","delay","repeat","scheduleSubscription","of","config","hasConfig","project","isArray","getPrototypeOf","first_1","resultSelector","observables","valueTransform","active","remainingFirstValues","_loop_1","hasFirstValue","execute","concurrent","onBeforeNext","expand","innerSubScheduler","additionalFinalizer","buffer","isComplete","checkComplete","outerNext","doInnerSub","innerComplete","innerValue","bufferedValue","ii","concat","observableFactory","merge","sources","predicate","selector","innerSub","syncUnsub","handledResult","count","seen","comparator","keySelector","previousKey","first","currentKey","share","connector","resetOnError","resetOnComplete","_d","resetOnRefCountZero","wrapperSource","connection","resetConnection","refCount","hasCompleted","hasErrored","cancelReset","reset","resetAndUnsubscribe","conn","dest","on","configOrBufferSize","windowTime","bufferSize","tapObserver","isUnsub","module","exports","assert","val","msg","inherits","superCtor","TempCtor","BN","number","base","endian","Buffer","num","left","right","start","j","off","parseHex4Bits","string","parseHexByte","lowerBound","parseLength","parseBase","str","end","mul","limbLen","limbPow","total","mod","word","pow","move","src","size","inspect","zeros","groupSizes","groupBases","padding","out","carry","groupSize","groupBase","allocate","ArrayType","byteLength","reqLength","postfix","position","shift","hi","toBitArray","bit","wbit","width","bytesNeeded","bitsLeft","cmp","smallMulTo","lo","ncarry","rword","maxJ","comb10MulTo","mid","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","jumboMulTo","isNegNum","bits","carryMask","newCarry","extended","mask","maskedWords","mode","bhi","bhiBits","diff","qj","positive","div","dm","half","r2","acc","yp","xp","im","jm","x1","x2","negative","Red","primes","MPrime","tmp","rlen","K256","output","outLen","P224","P192","P25519","prime","mod3","one","nOne","lpow","inv","windowSize","wnd","current","currentLen","Mont","this","version","missing","form","LogLevel","ErrorCode","logLevel","level","code","params","messageDetails","hex","reason","url","fault","condition","expectedCount","kind","censorship","permanent","logger","objects","accum","offset","data","endOffset","trimmed","signature","bytes","vs","recoveryParam","recId","_vs","_BN","_constructorGuard","constructorGuard","throwFault","toHex","anyValue","operation","Zero","NegativeOne","decimals","multiplier","fraction","whole","comps","wholeValue","fractionValue","wei","signed","match","check","format","hasFraction","ONE","factor","bump","fixedFormat","numeric","decimal","promises","info","param","allowIndexed","originalParam","throwError","newNode","child","sibling","comp","ParamTypify","allowIndex","anonymous","modifier","state","parens","returns","fragment","sig","checkErrors","path","childPath","localName","dynamic","wordSize","writer","paddingOffset","Reader","coerceFunc","allowLoose","loose","alignedLength","INPUT_ERROR","FINALIZE_ERROR","WINDOW","root","WEB_WORKER","NODE_JS","COMMON_JS","ARRAY_BUFFER","HEX_CHARS","SHAKE_PADDING","CSHAKE_PADDING","KECCAK_PADDING","PADDING","SHIFT","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","createOutputMethod","outputType","Keccak","createShakeOutputMethod","outputBits","createCshakeOutputMethod","methods","createKmacOutputMethod","createOutputMethods","method","createMethod","createShakeMethod","createCshakeMethod","createKmacMethod","Kmac","algorithms","methodNames","algorithm","methodName","newMethodName","notString","blocks","byteCount","blockCount","strs","paddingBytes","outputBlocks","extraBytes","block","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","b10","b11","b12","b13","b14","b15","b16","b17","b18","b19","b20","b21","b22","b23","b24","b25","b26","b27","b28","b29","b30","b31","b32","b33","b34","b35","b36","b37","b38","b39","b40","b41","b42","b43","b44","b45","b46","b47","b48","b49","keccak256","sha3","payload","encode","childOffset","decoded","lengthLength","decode","address","chars","expanded","hashed","checksum","getAddress","isAddress","base36","getContractAddress","transaction","nonce","salt","initCodeHash","coder","coders","arrayValues","unique","staticWriter","Writer","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","baseOffset","baseReader","offsetReader","uniqueNames","defaultChild","One","MaxUint256","maxUintValue","bounds","UnicodeNormalizationForm","Utf8ErrorReason","badCodepoint","extraLength","overlongMask","nextChar","pair","codePoint","codePoints","text","ranges","range","codepoint","codes","complex","codesTableB2","types","component","id","textData","forEach","flatDeep","pos","u16","symbol_count","skip","pos_payload","read_width","read_buffer","read_bit","FULL","HALF","QRTR","MASK","register","low","lookup","vX","vN","dx","dy","ys","j_dy","sorted","read","branches","temp","valid","fe0f","save","cps","cp","label","normalize","emoji_filter","emoji","eaten","saved","stack","Zeros","namehash","hashMessage","padOffset","boundsUpper","boundsLower","encodeType","fields","links","parents","subtypes","field","baseType","primaryTypes","checkCircular","found","subtype","st","encoder","subEncoder","encodedType","domain","domainFields","resolveName","ensCache","domainValues","domainTypes","typesWithDomain","wrap","fragments","abi","bucket","eventFragment","nameOrSignatureOrSighash","matching","nameOrSignatureOrTopic","topichash","getSighash","functionFragment","errorArgs","errorName","errorSignature","builtin","topics","encodeTopic","dataTypes","dataValues","topicHash","indexed","nonIndexed","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","tx","log","hexData","gasPrice","lastBaseFeePerGas","maxFeePerGas","maxPriorityFeePerGas","eventName","allowedTransactionKeys","blockTag","signedTx","hasEip1559","feeData","results","provider","minimalisticAssert","inherits_browserModule","require$$1","utils","toArray","enc","rotr32","rotl32","sum32","sum32_3","sum32_4","sum32_5","sum64","buf","ah","al","bh","bl","sum64_hi","sum64_lo","sum64_4_hi","ch","cl","dh","dl","sum64_4_lo","sum64_5_hi","eh","el","sum64_5_lo","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","BlockHash","common","ft_1","ch32","maj32","s0_256","s1_256","g0_256","g1_256","shaCommon","require$$2","require$$3","SHA256","T1","T2","SHA224","SHA512","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","fh","fl","gh","gl","hh","hl","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","xh","xl","yh","yl","zh","zl","require$$4","Ah","Bh","Ch","Dh","Eh","rh","Kh","sh","hash","hmac","basedir","zero2","getNAF","naf","ws","getJSF","k1","k2","jsf","d1","d2","m8","m14","m24","u1","u2","cachedProperty","computer","parseBytes","intFromLE","assert$1","conf","adjustCount","doubles","repr","nafW","nafPoints","defW","points","coeffs","jacobianResult","wndWidth","comb","ja","jb","zero","curve","compact","power","precomputed","dbl","assert$2","beta","lambda","betas","lambdas","basis","vec","red","tinv","ntinv","l1","l2","aprxSqrt","y1","y2","prevR","len1","len2","v1","v2","p1","p2","q1","q2","odd","isOdd","point","ax","rhs","npoints","ncoeffs","split","isRed","pre","endoMul","obj2point","nx","ny","ys1","dyinv","_precompute","negate","zinv","zinv2","ay","pz2","z2","s1","s2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","t1","t2","dny","xx","yy","yyyy","yyyy8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","zz","mm","ee","yyu4","kbase","z3","pz3","zs","rx","xc","curves","PresetCurve","defineCurve","entropy","pers","seed","kmac","entropyEnc","add","addEnc","ec","pub","priv","initial","octetLen","slen","octets","backHalf","drbg","ns2","truncOnly","bkey","ns1","iter","kp","kpX","signature$1","sinv","isYOdd","isSecondKey","rInv","Qprime","elliptic","EC","privateKey","keyPair","p0","digest","digestBytes","otherKey","otherKeyPair","rs","compressed","signingKey","TransactionTypes","publicKey","addr","storageKeys","storageKey","RLP.encode","raw","fieldInfo","chainId","serialize","recid","RLP.decode","rawTransaction","parse","resolver","nameOrPromise","paramType","contract","overrides","resolved","ro","intrinsic","roValue","leftovers","signerOrProvider","wait","confirmations","receipt","parsed","collapseSimple","txRequest","getEventTag","filter","topic","tag","once","listenerCount","argsCopy","contractInterface","addressOrName","uniqueFilters","eventSignature","filters","uniqueSignatures","signatures","runningEvent","emit","wrappedEmit","fromBlockOrBlockhash","toBlock","logs","alphabet","digits","byte","SupportedAlgorithm","ripemd160","sha256","sha512","pbkdf2","password","keylen","hashAlgorithm","hLen","DK","block1","destPos","locale","mnemonic","words","wordlist","lang","en","parentFingerprint","chainCode","mnemonicOrPath","IL","IR","ki","Ki","srcMnemonic","seedArray","extendedKey","entropyBits","checksumBits","checksumMask","indices","remainingBits","crypto","randomBytes","checkInt","checkInts","arrayish","coerceArray","createArray","copyArray","sourceArray","targetArray","targetStart","sourceStart","sourceEnd","convertUtf8","toBytes","fromBytes","convertHex","Hex","numberOfRounds","rcon","Si","T3","T4","T5","T6","T7","T8","U1","U2","U3","U4","convertToInt32","AES","rounds","roundKeyCount","KC","tk","rconpointer","tt","plaintext","ciphertext","ModeOfOperationECB","ModeOfOperationCBC","iv","ModeOfOperationCFB","segmentSize","encrypted","xorSegment","ModeOfOperationOFB","Counter","initialValue","ModeOfOperationCTR","counter","pkcs7pad","padder","pkcs7strip","aesjs","hexString","currentChild","matchingChild","decrypt","json","ethaddr","encseed","encryptedSeed","aesCbc","aes","seedHex","seedHexBytes","h0","h1","h4","h5","h6","h7","bytesLeft","bitLenHi","bitLenLo","numZeros","PBKDF2_HMAC_SHA256_OneIter","dkLen","innerLen","inner","outerKey","dk","incrementCounter","blockmix_salsa8","BY","Yi","_X","arraycopy","blockxor","salsa20_8","srcPos","checkBufferish","ensureInteger","_scrypt","XY","totalOps","currentOp","lastPercent10","stop","i1","Bi","limit","nextTick","incrementalSMix","steps","percent10","derivedKey","lib","progressCallback","lastProgress","progress","hasMnemonic","aesCtr","mnemonicKey","account","mnemonicCiphertext","mnemonicIv","mnemonicCounter","mnemonicAesCtr","passwordBytes","prfFunc","_pbkdf2","pbkdf2Func","scryptFunc","kdf","prf","client","uuidRandom","macPrefix","mac","timestamp","decryptCrowdsale","decryptKeystore","decryptKeystoreSync","populated","_TypedDataEncoder","encryptKeystore","verifyMessage","verifyTypedData","network","providers","providerList","quorum","standard","defaultProvider","getUrl","href","request","response","headers","duration","all","processFunc","attemptLimit","throttleCallback","throttleSlotInterval","errorPassThrough","allow304","authorization","base64Encode","reData","dataMatch","base64Decode","flatHeaders","header","runningTimeout","timer","runningFetch","attempt","location","tryAgain","stall","retryAfter","processJsonFunc","updated","poll","cancel","retryLimit","prefix","chk","LIMIT","lowered","uppered","wordChars","inBits","outBits","pad","maxV","formats","bigNumber","strictData","accessList","strict","difficulty","parseTransaction","nullValue","replaceValue","matchers","link","padded","encodeBytes","datas","resolvedAddress","parameters","coinType","hexBytes","coinInfo","p2pkh","p2sh","bech32","linkage","avatar","scheme","owner","tokenId","tokenOwner","balance","metadataUrl","metadata","imageUrl","ipfs","ipns","swarm","skynet","urlSafe","keyBytes","knownNetwork","calldata","urls","sender","errorMessages","errorMessage","maxAge","internalBlockNumber","reqTime","checkInternalBlockNumber","blockNumber","networkError","respTime","pollId","runners","eventBlockNumber","runner","minFromBlock","currentNetwork","transactionHash","replaceable","cancelFuncs","alreadyDone","minedHandler","lastBlockNumber","scannedBlock","replaceHandler","mined","ti","startBlock","confirms","replacement","signedTransaction","hexTx","txSender","urlsOffset","urlsLength","urlsData","callbackSelector","extraData","ccipResult","blockHashOrBlockTag","includeTransactions","blockWithTxs","currentName","addrData","resolverAddr","nameOrAddress","resolverAddress","Event","stopped","eventTag","requireData","addressOrIndex","accounts","fromAddress","estimate","networkOrReady","getNetwork","cache","pendingFilter","filterId","hashes","seq","allowExtra","allowed","tight","hashKeccak256","hashSha256","names","suffix","formatted","formatUnits","unitName","parseUnits","formatEther","parseEther","ether","__createBinding","__setModuleDefault","__importStar","abi_1","address_1","base64","basex_1","bytes_1","hash_1","hdnode_1","json_wallets_1","keccak256_1","logger_1","sha2_1","solidity_1","random_1","properties_1","RLP","signing_key_1","strings_1","transactions_1","units_1","wallet_1","web_1","sha2_2","strings_2","tr","fe","Y","ie","$","ue","se","le","de","ce","Ye","Je","BaseError","shortMessage","details","docsPath","regex","bytesRegex","integerRegex","abiParameter","structs","inputParams","inputs","inputLength","outputs","outputParams","outputLength","abiParameters","parameterCacheKey","isTuple","components_","char","tail","shallowStructs","signaturesLength","propertiesLength","resolvedStructs","entries","entriesLength","ancestors","parseAbiParameter_","abiItem","includeName","expectedLength","givenLength","expectedSize","functionName","givenSize","targetSize","hexOrBytes","dir","hex_","paddedBytes","padEnd","min","maxSize","trim","sliceLength","size_","hexToNumber","hexToBytes","hexes","_v","bytesToHex","value_","maxValue","minValue","hexByte","def","parts","bool","lengths","exists","checkFinished","lst","Al","Bl","Cl","Dl","El","isLE","utf8ToBytes","wrapConstructor","hashConstructor","hashC","hashCons","_0n","_1n","_2n","round","idx1","idx0","B0","B1","Th","Tl","curH","curL","PI","Hash","blockLen","outputLen","enableXOF","take","bufferOut","to_","concatBytes","slice","preparedParams","arrayComponents","staticSize","encoded","staticParams","dynamicParams","dynamicSize","dynamicChild","preparedParam","paramSize","bytesSize","hexValue","partsLength","param_","matches","abiItems","argType","abiParameterType","definition","indexedInputs","args_","requestMap","method_","status","transport","fromBlock","getRequest","address_","hexAddress","decodedValues","consumed","decodedChild","hasUnnamedChild","stringify","replacer","space","includeFunctionName","display","integer","unit","maxLength","chain","gas","prettyArgs","blockHash","identifier","account_","contractAddress","formattedArgs","functionWithParams","decodedData","metaMessages","firstArg","errorWithParams","transactionRequest","transaction_","transactions","blockTag_","includeTransactions_","blockNumberHex","defaultPriorityFee","rest","currentChainId","fees","formatters","serializers","shouldSplitBatch","exec","getScheduler","flush","getBatchedArgs","setScheduler","call","batch","offchainLookup","offchainLookupSignature","request_","batchSize","multicallAddress_","multicallAddress","schedule","requests","calls","returnData","success","callRequest","dataSuffix","observerId","callbacks","callbackId","getListeners","unsubscribe","unwatch","cleanup","time","emitOnBegin","initialWaitTime","interval","initialWait","cacheKey","buildCache","cacheTime","strict_","argTopics","isUnnamed","nonIndexedInputs","_client","events_","events","onLogs","poll_","pollingInterval","previousBlockNumber","initialized","unsubscribe_","chainIdHex","serializer","signedRequest","publicClient","walletClient","hasPublicClient","hasWalletClient","hasReadFunction","hasWriteFunction","hasEvent","abiEvent","hasArgs","nativeCurrency","rpcUrls","blockExplorers","createClient","extend","extendFn","combined","delay_","retryCount","shouldRetry","attemptRetry","retry","retryDelay","err_","transports_","rank","transports","onResponse","fetch","rankOptions","onTransports","sampleCount","weights","stabilityWeight","latencyWeight","samples","rankTransports_","sample","transport_","maxLatency","latency","scores","latencies","latencyScore","successes","stabilityScore","errorInstance","signal","timeoutId","controller","http","fetchOptions","signal_","url_","urlKey","socket","WebSocket","webSocket","subscriptions","onMessage","isSubscription","onClose","socket_","id_","rpc","retryCount_","timeout_","callType","primaryType","types_","validateData","struct","type_","integerMatch","_type","bytesMatch","bytecode","description","transactionReceipt","domain_","encodedTypes","encodedValues","encodedHashType","unsortedDeps","deps","primaryType_","parsedType","typeValuePairs","messageBytes","prefixBytes","serializedAccessList","serializedTransaction","rounded","labels","hashFromEncodedLabel","packet","universalResolverAddress_","universalResolverAddress","functionData","uri","namespace","img","custom","defaultGateway","gatewayUrls","isEncoded","ipfsGateway","arweaveGateway","networkRegexMatch","protocol","subpath","subtarget","isIPNS","isIPFS","replacedUri","parsedUri","resolvedURI","isOnChain","uri_","reference","asset_namespace","tokenID","eip_namespace","chainID","erc_namespace","nft","record","nftUri","resolvedNftUri","encodedJson","uriTokenId","reverseNode","feeHistory","reward","rewardPercentiles","slot","transactionBlockNumber","allowFailure","batchSize_","contracts_","contracts","chunkedCalls","currentChunk","currentChunkSize","callData","u8a","title","sum","hashLen","qByteLen","hmacFn","reseed","sl","pred","validators","optValidators","checkField","fieldName","isOptional","checkVal","a_","b_","signatureHex","emitMissed","onBlockNumber","enablePolling","prevBlockNumber","onReplaced","replacedTransaction","retrying","_unobserve","_unwatch","blockNumber_","replacementTransaction","onBlock","prevBlock","onTransactions","permissions","signMessage","message_","signTypedData","typedData","onData","subscriptionId","bytesLength","byteOffset","_32n","_u32_max","wh","wl","dataView","oview","finished","destroyed","W15","W2","s0","sigma1","_3n","modulo","invert","legendreC","Z","p1div4","Fp","Q1div2","ge","n2","nv","nums","lastMultiplied","inverted","nBitLength","_nBitLength","nByteLength","Field","ORDER","bitLen","redef","BYTES","sqrtP","lhs","groupOrder","constTimeNegate","neg","windows","elm","window","precomputes","maxNumber","shiftBy","wbits","offset1","offset2","cond1","cond2","precomputesMap","transform","ut.validateObject","endo","ut","sBytes","rBytesLeft","shl","rhl","rl","CURVE","isCompressed","ut.concatBytes","weierstrassEquation","x3","isWithinCurveOrder","assertGE","normPrivateKeyToScalar","wrapPrivateKey","ut.bytesToHex","ut.bytesToNumberBE","mod.mod","pointPrecomputes","assertPrjPoint","Point","px","py","pz","is0","toInv","X1","Y1","Z1","X2","Y2","Z2","X3","Y3","Z3","t0","t3","t4","t5","wnaf","k1neg","k2neg","k1p","k2p","scalar","fake","f1p","f2p","iz","cofactor","isTorsionFree","clearCofactor","_bits","curveDef","CURVE_ORDER","compressedLen","uncompressedLen","isValidFieldElement","modN","invN","mod.invert","cat","head","numToNByteStr","ut.numberToBytesBE","isBiggerThanHalfOrder","normalizeS","slcNum","Signature","recovery","msgHash","rec","bits2int_modN","radj","ir","ut.hexToBytes","rand","mod.hashToPrivateScalar","getPublicKey","isProbPub","getSharedSecret","privateA","publicB","bits2int","ORDER_MASK","ut.bitMask","int2octets","prepSig","defaultSigOpts","lowS","prehash","ent","h1int","seedArgs","k2sig","kBytes","ik","normS","defaultVerOpts","sign","privKey","ut.createHmacDrbg","verify","sg","_sig","derError","is","oHash","iHash","msgs","defHash","create","_6n","_11n","_22n","_23n","_44n","_88n","b88","b176","b220","b223","POW_2_128","ne","ke","ze","X","te","fmtLong","fmtShort","ms","msAbs","plural","isPlural","setup","env","createDebug","coerce","disable","enable","enabled","destroy","selectColor","prevTime","enableOverride","namespacesCache","enabledCache","debug","curr","formatter","delimiter","newDebug","namespaces","toNamespace","regexp","formatArgs","load","useColors","localstorage","warned","lastC","timeouts","currentTime","timeoutOps","counts","mainError","mainErrorCount","RetryOperation","random","original","attemptNumber","retriesLeft","AbortError","me","be","ye","He","Ee","util","assertIs","_arg","assertNever","_x","validKeys","filtered","checker","joinValues","separator","objectUtil","second","issues","sub","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","formErrors","_ctx","errorMaps","issueData","fullPath","fullIssue","maps","arrayValue","pairs","syncPairs","finalObject","errorUtil","errorMap","invalid_type_error","required_error","iss","maybeAsyncResult","getIssueProperties","setError","refinementData","refinement","option","incoming","defaultValueFunc","catchValueFunc","This","ip","tooBig","tooSmall","validation","minLength","valDecCount","stepDecCount","decCount","valInt","stepInt","inclusive","minDate","maxDate","schema","newShape","fieldSchema","shape","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","defaultError","augmentation","merging","newField","handleResults","unionErrors","childCtx","dirty","discriminator","discriminatorValue","optionsMap","discriminatorValues","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","merged","itemIndex","schemas","keyType","valueType","third","finalMap","finalizeSet","elements","parsedSet","minSize","makeArgsIssue","makeReturnsIssue","parsedArgs","parsedReturns","returnType","getter","expectedValues","enumValues","opt","nativeEnumValues","promisified","effect","checkCtx","processed","executeRefinement","preprocess","newCtx","inResult","fatal","_fatal","ZodFirstPartyTypeKind","cls","green","blue","styles","groupName","group","styleName","style","colorString","character","remainder","brand","substring","substringLength","endIndex","returnValue","gotCR","supportsColor","colorLevel","chalk","strings","ansiStyles","builder","model","arguments_","styler","bgModel","open","close","openAll","closeAll","_styler","_isEmpty","lfIndex","issueSeparator","unionSeparator","zodError","newIssues","prefixSeparator","maxIssuesInMessage","E.isAddress","re","_obj","_1","_2","isApply","DoubleIndexedKV","Registry","generateIdentifier","extendStatics","ClassRegistry","valuesNotNever","CustomTransformerRegistry","transformer","getType","isString","parsePath","segment","isEscapedDot","isEndOfSegment","lastSegment","__assign","il","isApplicable","untransform","superJson","baseError","flags","isRegistered","potentialClass","clazz","allowedProps","applicableCompositeRule","rule","applicableSimpleRule","transformation","row","keyOfRow","isEnd","lastKey","keyToRow","newKey","tree","walker","origin","subtree","nodeValue","children","plain","apply","identicalPaths","identicalObjectPath","identicalPath","identities","existingSet","identitites","dedupe","rootEqualityPaths","paths","representativePath","objectsInThisPath","seenObjects","primitive","transformed_1","result_1","transformationResult","transformed","transformedValue","innerAnnotations","recursiveResult","newVal","originalObject","includeNonenumerable","propType","SuperJSON","equalityAnnotations","meta","teardownRef","isDone","unsubscribed","teardownImmediately","originalObserver","startIfNeeded","resetIfNeeded","_sub","abort","onDone","obs$","nextOp","customFetchImpl","customAbortControllerImpl","dict","_input","queryParts","ac","resolvedHeaders","runtime","batchLoader","pendingItems","dispatchTimer","destroyTimerAndPendingItems","groupItems","groupedItems","lastGroup","dispatch","unitResolver","_item","requester","resolvedOpts","maxURLLength","validate","batchOps","query","mutation","loaders","loader","requesterOpts","req$","envelope","combinedTransformer","clientCallType","pathCopy","procedureType","ae","hasOwn","classNames","classes","reactIsModule","isFragment","warning","_typeof","toPrimitive","_defineProperty","toPropertyKey","getValue","shouldUpdate","cacheRef","React.useRef","refs","refList","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","schedulerModule","Oe","na","xa","$a","ba","reactDomModule","_classCallCheck","_inherits","setPrototypeOf","_getPrototypeOf","_isNativeReflectConstruct","_possibleConstructorReturn","assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","isNativeReflectConstruct","Super","NewTarget","possibleConstructorReturn","clone","_objectSpread","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","times","callRef","leftTimes","realId","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","obj1","obj2","shallow","refSet","deepEqual","circular","newLevel","SPLIT","Entity","instanceId","valueFn","nextValue","cssinjsInstanceId","firstChild","styleHash","_style$parentNode","CacheEntity","React.createContext","mark","prepend","container","css","csp","_option$priority","priority","mergedOrder","isPrependQueue","styleNode","existStyle","nodePriority","existNode","cachedRealContainer","placeholderStyle","parentNode","_option$csp","_option$csp2","_option$csp3","arrayWithHoles","iterableToArrayLimit","nonIterableRest","ThemeCache","derivativeOption","_cache2","_cache3","updateCallTimes","derivative","_cache","_cache$map","_this$internalGet","_this$keys$reduce","_result","callTimes","_this$keys$reduce2","targetKey","cacheValue","currentCache","derivatives","_cache$value","uuid","Theme","token","derivativeArr","styleStr","handleElement","supportCheck","_getComputedStyle$con","_ele$parentNode","_ele","support","ele","React.useLayoutEffect","React.useEffect","firstMountRef","fullClone","React","useInsertionEffect","renderEffect","React.useMemo","effectCleanups","cleanupFlag","keyPath","cacheFn","onCacheRemove","onCacheEffect","_React$useContext","React.useContext","StyleContext","globalCache","useEffectCleanupRegister","updater","prevCache","_ref2$","tmpCache","mergedCache","cacheEntity","cacheContent","useCompatibleInsertionEffect","polyfill","_ref3","_ref4","_ref5","_ref6","_ref6$","nextCount","tokenKey","tokenKeyList","cleanableKeyList","getComputedToken","originToken","overrideToken","theme","derivativeToken","mergedDerivativeToken","tokens","_useContext","useContext","_option$salt","_option$override","override","formatToken","compute","mergedToken","tokenStr","overrideTokenStr","cachedToken","hashId","pattern","search","begin","line","siblings","whitespace","rules","rulesets","pseudo","declarations","atrule","previous","variable","scanning","ampersand","characters","post","content","_item$split","_item$split2","inlineMapStyle","_inlineMapStyle$paren","_style","serialized","hashPriority","hashClassName","hashSelector","_firstPath$match","firstPath","htmlElement","parseStyle","interpolation","injectHash","parentSelectors","layer","_config$transformers","transformers","effectStyle","parseKeyframes","keyframes","animationName","_parseStyle","_parseStyle2","_parsedStr","flattenList","fullList","flattenStyleList","originStyle","mergedStyle","trans","_trans$visit","subInjectHash","mergedKey","nextRoot","_parseStyle3","_parseStyle4","_parsedStr2","childEffectStyle","appendStyle","cssKey","cssValue","formatValue","unitless","actualValue","layerCells","layerName","styleFn","clientOnly","_info$order","order","autoClear","defaultCache","ssrInline","linters","isMergedClientSide","_useGlobalCache","cachePath","_getStyleAndHash","_getStyleAndHash2","inlineCacheStyleStr","styleObj","_parseStyle5","_parseStyle6","parsedStyle","styleId","fromHMR","mergedCSSConfig","nonceStr","effectKey","_useGlobalCache2","cachedStyleStr","cachedTokenKey","cachedStyleId","React.createElement","React.Fragment","Keyframe","createContext","entity","removeIfUndefined","_paths","restPath","internalMerge","parentLoopSet","loopSet","isArr","originValue","CalendarLocale","TimePickerLocale","typeTemplate","Pagination","DatePicker","Calendar","newLocale","cloneLocale","componentName","defaultLocale","fullLocale","LocaleContext","getLocale","defaultLocaleData","localeFromContext","getLocaleCode","localeCode","_ANT_MARK__","getMemoizedContextValue","isPercent","allow3Char","allow4Char","color","rgb","ok","TinyColor","RsRGB","GsRGB","BsRGB","hsv","hsl","allowShortChar","fmt","rnd","formatSet","formattedString","hasAlpha","needsAlphaFormat","amount","hue","rgb1","rgb2","rgba","slices","part","modification","background","fg","bg","increment","light","saturation","generate","patterns","pColor","_hsv","_colorString","opacity","darkColorString","controlHeight","sizeUnit","sizeStep","generateColorPalettes","generateNeutralColorPalettes","colorSuccessBase","colorWarningBase","colorErrorBase","colorInfoBase","colorPrimaryBase","colorBgBase","colorTextBase","primaryColors","successColors","warningColors","errorColors","infoColors","neutralColors","colorLink","linkColors","radiusBase","radiusLG","radiusSM","radiusXS","radiusOuter","motionUnit","motionBase","borderRadius","lineWidth","genRadius","getAlphaColor","baseColor","brightness","colors","bgBaseColor","textBaseColor","fontSizes","baseSize","intSize","height","fontSize","fontSizePairs","genFontSizes","lineHeights","colorPalettes","colorKey","cur","genFontMapToken","genControlHeight","defaultDerivative","defaultSeedToken","suffixCls","customizePrefixCls","globalPrefixCls","variables","formatColor","fillColor","colorVal","primaryColor","primaryActiveColor","disabled","originDisabled","originSize","componentDisabled","componentSize","SizeContext","frontColor","backgroundColor","fR","fG","fB","originAlpha","bR","bG","bB","fA","__rest","restToken","overrideTokens","seedToken","screenXS","screenSM","screenMD","screenLG","screenXL","screenXXL","fastDuration","componentTheme","componentTokens","mergedComponentToken","rootDesignToken","mergedTheme","fnRef","memoFn","React.useCallback","_fnRef$current","destroyRef","_React$useState","React.useState","_React$useState2","setValue","safeSetState","ignoreDestroy","needInheritFontFamily","componentPrefixCls","fontFamily","rootPrefixSelector","objs","tokenKeys","componentToken","iconPrefixCls","getDefaultToken","cells","concatComponent","prefixCls","getPrefixCls","rootPrefixCls","sharedConfig","useResetIconStyle","proxyToken","customComponentToken","deprecatedTokens","oldTokenKey","newTokenKey","defaultComponentToken","mergeToken","componentCls","styleInterpolation","useStyle","parentTheme","themeConfig","parentThemeConfig","mergedComponents","prevTheme","nextTheme","_excluded","Context","_React$Component","DomWrapper","React.Component","styleProp","prefixes","domSupport","win","canUseDOM","prefixMap","stylePropList","getTransitionName","transitionName","transitionType","cacheElementRef","useRef","callbackRef","onInternalMotionEnd","removeMotionEvents","patchMotionEvents","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","nextFrameRef","cancelNextFrame","raf","nextFrame","nextFrameId","prepareOnly","_useState","useState","_useState2","setStep","_useNextFrame","_useNextFrame2","startQueue","STEP_QUEUE","nextStep","doNext","supportMotion","visible","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","updateMotionEndStatus","currentActive","canEnd","_useDomMotionEvents","_useDomMotionEvents2","getEventHandlers","targetStatus","eventHandlers","_useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","isMounted","nextStatus","nextEventHandlers","firstMountChangeRef","transitionSupport","isSupportTransition","contextMotion","CSSMotion","React.forwardRef","_props$visible","_props$removeOnLeave","removeOnLeave","forceRender","motionName","leavedClassName","eventProps","nodeRef","wrapperNodeRef","_useStatus","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","setNodeRef","motionChildren","mergedProps","_classNames","statusSuffix","motionCls","React.isValidElement","originNodeRef","React.cloneElement","keyObj","prevKeys","currentKeys","currentIndex","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","duplicatedKeys","matchKey","OriginCSSMotion","CSSMotionList","removeKey","keyEntities","nextKeyEntities","_this$props","_onVisibleChanged","onAllRemoved","restProps","Component","motionProps","changedVisible","restKeysCount","parsedKeyObjects","mixedKeyEntities","prevEntity","motion","needWrapMotionProviderRef","customCsp","autoInsertSpaceInButton","alert","anchor","direction","virtual","dropdownMatchSelectWidth","popupMatchSelectWidth","popupOverflow","legacyLocale","parentContext","customIconPrefixCls","segmented","statistic","spin","calendar","carousel","cascader","collapse","typography","checkbox","descriptions","divider","drawer","skeleton","image","layout","mentions","modal","slider","breadcrumb","menu","pagination","badge","radio","rate","SWITCH","transfer","table","card","tabs","timeline","timePicker","upload","notification","colorPicker","datePicker","flex","wave","warningConfig","mergedPrefixCls","baseConfig","propValue","memoedConfig","prevConfig","currentConfig","memoIconContextValue","childNode","validateMessages","LocaleProvider","IconContext","memoTheme","themeObj","parsedComponents","parsedToken","antLocale","CheckCircleFilled","_ele$getRootNode","warn","attrs","rootProps","generateColor","twoToneColor","eleRef","mergedStyleStr","shadowRoot","secondaryColor","icon","onClick","svgRef","_normalizeTwoToneColo","_normalizeTwoToneColo2","rotate","tabIndex","_React$useContext$pre","rootClassName","classString","iconTabIndex","svgStyle","CloseCircleFilled","CloseOutlined","ExclamationCircleFilled","InfoCircleFilled","ariaOnly","mergedConfig","keyCode","_props$duration","eventKey","closable","_props$closeIcon","closeIcon","divProps","onNoticeClose","forcedHovering","hovering","setHovering","mergedHovering","onInternalClose","onCloseKeyDown","noticePrefixCls","_divProps$onMouseEnte","_divProps$onMouseLeav","DEFAULT_OFFSET","_config$offset","_config$threshold","_config$gap","_clsx","configList","placement","onAllNoticeRemoved","stackConfig","ctxCls","dictRef","latestNotice","setLatestNotice","hoverKeys","setHoverKeys","_useStack","_useStack2","_useStack2$","threshold","gap","placementMotion","dataKey","_keys","_keys2","clsx","motionClassName","motionStyle","motionIndex","configClassName","configStyle","dataIndex","stackStyle","transformX","_dictRef$current$key","_dictRef$current$key2","_dictRef$current$key3","verticalOffset","_dictRef$current$keys","transformY","scaleX","Notice","_props$prefixCls","maxCount","renderNotifications","setConfigList","_config$onClose","React.useImperativeHandle","innerConfig","_list$index","_React$useState3","_React$useState4","placements","setPlacements","nextPlacements","_config$placement","originPlacements","emptyRef","placementList","createPortal","placementConfigList","objList","rootConfig","_rootConfig$getContai","getContainer","shareConfig","setContainer","notificationsRef","contextHolder","taskQueue","setTaskQueue","api","queue","task","oriQueue","LoadingOutlined","iconCls","boxShadow","colorText","colorSuccess","colorError","colorWarning","colorInfo","fontSizeLG","motionEaseInOutCirc","motionDurationSlow","marginXS","paddingXS","borderRadiusLG","zIndexPopup","contentPadding","contentBg","noticeCls","messageMoveIn","Keyframes","messageMoveOut","noticeStyle","combinedToken","PurePanel","staticPrefixCls","openFn","closeFn","closePromise","filled","top","staticGetContainer","rtl","getPopupContainer","getStyle","getClassName","getNotificationMotion","mergedCloseIcon","holder","useRcNotification","messageConfig","holderRef","fakeResult","originOpen","restConfig","typeOpen","jointContent","mergedDuration","mergedOnClose","setElements","patchElement","originElements","define","Generator","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","invoke","callInvokeWithMethodAndArg","maybeInvokeDelegate","pushTryEntry","resetTryEntry","_next","_throw","ReactDOM","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","_callee","_context","_container$MARK","_x2","_callee2","_context2","_getBBox","_element$getBoundingC","_width","_height","colorPrimary","borderTopColor","borderColor","divRef","setWaveColor","setBorderRadius","setLeft","setTop","setWidth","setHeight","setEnabled","waveStyle","radius","syncPos","nodeStyle","isStatic","borderLeftWidth","borderTopWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","resizeObserver","isSmallComponent","showWave","targetNode","showEffect","showWaveEffect","rafId","containerRef","customSize","compactItemContext","compactItemClassnames","compactDirection","isFirstItem","isLastItem","others","sizeCls","needInserted","SPACE","isPrevChildPure","childList","isCurrentChildPure","lastIndex","lastChild","forwardRef","iconWrapperCls","iconClassName","mergedIconCls","IconWrapper","loading","existIcon","buttonTypeCls","groupBorderColor","colorErrorHover","fontWeight","btnCls","hoverStyle","activeStyle","textColor","textColorDisabled","borderColorDisabled","sizePrefixCls","lineHeight","buttonPaddingHorizontal","paddingVertical","iconOnlyCls","smallToken","largeToken","prepareToken","paddingInline","onlyIconSize","prepareComponentToken","buttonToken","genGroupStyle","parentCls","focusElCls","focus","borderElCls","childCombinator","hoverEffects","compactCls","danger","customizeSize","customDisabled","ghost","htmlType","customClassNames","customStyle","button","wrapSSR","mergedDisabled","loadingOrDelay","useMemo","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","buttonRef","createRef","Children","delayTimer","cleanupTimer","buttonText","handleClick","autoInsertSpace","compactSize","sizeClassNameMap","sizeFullName","useSize","ctxSize","iconType","linkButtonRestProps","fullStyle","iconClasses","iconStyle","iconNode","LoadingIcon","kids","buttonNode","Wave","buttonProps","autoFocus","emitEvent","isSilent","quitOnNullishReturnValue","actionFn","clickedRef","handlePromiseOnOk","returnValueOfOnOk","Button","autoFocusButton","cancelButtonProps","cancelTextLocale","mergedOkCancel","onCancel","onConfirm","ActionButton","okButtonProps","okTextLocale","okType","onOk","render","defaultEle","appendedRef","queueCreate","setQueue","mergedQueueCreate","appendFn","newQueue","append","_ele$parentElement","fresh","outer","outerStyle","widthContained","widthScroll","_getComputedStyle","lock","mergedLock","scrollbarSize","isOverflow","nextInline","autoLock","_props$autoDestroy","autoDestroy","shouldRender","setShouldRender","mergedRender","innerContainer","setInnerContainer","customizeContainer","_useDom","_useDom2","defaultContainer","mergedContainer","childRef","mergedRef","renderInline","reffedChildren","reactId","innerId","setInnerId","nextId","rect","doc","React.memo","ariaId","footer","bodyStyle","bodyProps","modalRender","onMouseDown","onMouseUp","modalClassNames","modalStyles","panelRef","sentinelStartRef","sentinelEndRef","_sentinelStartRef$cur","_document","activeElement","contentStyle","footerNode","headerNode","closer","destroyOnClose","mousePosition","dialogRef","transformOrigin","setTransformOrigin","elementOffset","motionRef","maskProps","zIndex","_props$keyboard","keyboard","_props$focusTriggerAf","focusTriggerAfterClose","wrapStyle","wrapClassName","wrapProps","afterOpenChange","afterClose","animation","_props$closable","_props$mask","maskTransitionName","maskAnimation","_props$maskClosable","maskClosable","maskStyle","lastOutSideActiveElementRef","wrapperRef","contentRef","animatedVisible","setAnimatedVisible","saveLastOutSideActiveElementRef","focusDialogContent","_contentRef$current","onDialogVisibleChanged","newVisible","contentClickRef","contentTimeoutRef","onContentMouseDown","onContentMouseUp","onWrapperClick","onWrapperKeyDown","_props$destroyOnClose","_afterClose","refContext","defaultClosable","customCloseIconRender","defaultCloseIcon","Parent","Class","Wrapper","template","arrLength","objArr","_Error","AsyncValidationError","_pending","flattenArr","firstFields","objArrKeys","objArrLength","pending","oe","fieldValue","v4","v6seg","v6","v46Exact","v4exact","v6exact","auth","ipv4","ipv6","host","tld","port","ruleType","spRegexp","_pattern","dateObject","cloned","Schema","_messages","source_","oc","_errors","messages$1","series","errorFields","doIt","deep","addFullField","errorList","filledErrors","fieldsSchema","paredFieldsSchema","fieldSchemaList","errs","finalErrors","messageIndex","validator","RawAsyncValidator","kv","_x3","_x4","_x5","messageVariables","cloneRule","originValidator","subRuleField","messages","subResults","fillVariableResult","mergedMessage","subValue","namePath","validateFirst","filledRules","currentRule","ruleIndex","originValidatorFunc","hasPromise","wrappedCallback","i2","summaryPromise","_x6","_x7","rulePromises","_x8","_callee3","_context3","errorsList","_x9","_callee4","_context4","ruleError","store","namePathList","newStore","partialMatch","subNamePath","nameUnit","targetKeys","sourceValue","targetValue","valuePropName","moveIndex","toIndex","preserve","isListField","_this$props2","fieldContext","_fieldContext$prefixN","prefixName","_this$props3","_this$props3$rules","resetCount","onMetaChange","_meta","prevStore","_this$props4","_this$props4$dependen","dependencies","onReset","curValue","namePathMatch","dependencyList","dependency","triggerName","_ref2$validateOnly","validateOnly","rootPromise","_this$props5","_this$props5$validate","validateDebounce","filteredRules","validateTrigger","triggerList","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","warningOnly","_ref4$errors","_fieldContext$getInte","getInitialValue","_meta2","toChildrenArray","getFieldsValue","childProps","_this$props6","trigger","getValueFromEvent","getValueProps","mergedValidateTrigger","getInternalHooks","_getInternalHooks","mergedGetValueProps","originTriggerFunc","control","validateTriggerList","originTrigger","_getInternalHooks2","initEntityValue","_this$props7","_getInternalHooks3","registerField","_this$getOnlyChild","returnChildNode","FieldContext","listContext","wrapperListContext","keyRef","keyManager","parentPrefixName","pathName","_ref3$value","onChange","getFieldValue","getNewValue","indexSet","keysIndex","valueIndex","_move","listValue","promiseList","cell","NameMap","_cell$match","_cell$match2","FormStore","forceRootUpdate","subscribable","_this$prevWithoutPres","nextStore","prevWithoutPreserves","initValue","allValues","pure","nameList","filterFunc","mergedNameList","mergedFilterFunc","mergedStrict","fieldEntities","filteredNameList","_isListField","_isList","fieldError","arg0","isAllFieldsTouched","isFieldTouched","shortNamePath","fieldNamePath","isNamePathListTouched","entities","namePathListEntities","testField","records","resetWithFields","formInitialValue","requiredFieldEntities","_requiredFieldEntitie","fieldData","fieldPreserve","mergedPreserve","_prevStore","_namePath","mergedInfo","onStoreChange","childrenFields","onValuesChange","changedValues","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","filedErrors","onFieldsChange","changedFields","_ref7","_options","provideNameList","TMP_SPLIT","validateNamePathList","recursive","mergedErrors","mergedWarnings","_ref8","resultNamePathList","_ref9","returnPromise","triggerNamePathList","onFinish","onFinishFailed","formRef","forceUpdate","forceReRender","formStore","onFormChange","onFormFinish","formContext","formsRef","newForms","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","_useForm","_useForm2","formInstance","useSubscribe","setInitialValues","setCallbacks","setValidateMessages","setPreserve","destroyForm","mountRef","childrenNode","childrenRenderProps","_values","prevFieldsRef","formContextValue","wrapperNode","_restProps$onReset","_args$","_args$2","_form","valueStr","valueStrRef","isValidForm","namePathRef","registerWatch","cancelRegister","nextValueStr","FieldForm","formItemInputContext","newFormItemInputContext","newContext","panelSelector","watermark","panelEleRef","innerContentEle","confirmLoading","okText","cancelText","useLocale","btnCtxValue","btnCtxValueMemo","NormalCancelBtn","NormalOkBtn","inKeyframes","outKeyframes","sameLevelPrefix","sameLevel","antCls","confirmComponentCls","headerPaddingVertical","headerFontSize","headerLineHeight","modalToken","Modal","getContextPopupContainer","handleCancel","handleOk","centered","wrapClassNameExtended","dialogFooter","mergedClosable","Dialog","titleFontSize","titleLineHeight","modalConfirmIconSize","titleHeight","contentHeight","confirmPrefixCls","okCancel","staticLocale","resetProps","mergedIcon","mergedLocale","footerOriginNode","hasTitle","bodyCls","ConfigProvider","triggerCancel","destroyFns","reactUnmount","runtimeLocale","getIconPrefixCls","getTheme","mergedGetContainer","reactRender","ConfirmDialog","update","configUpdate","hookAfterClose","setOpen","setInnerConfig","newConfig","originConfig","contextLocale","_props","useModal","actionQueue","setActionQueue","getConfirmFunc","withFunc","modalRef","React.createRef","resolvePromise","silent","closeFunc","HookModal","confirmed","destroyAction","updateAction","globalGetContainer","setMessageConfig","rootIconPrefixCls","sync","holderFragment","newMessage","skipped","_message$instance","additionalProps","selection","copyKey","reselectPrevious","successful","worldContract","waitForTransaction","ClientComponents","Player","LootList1","LootList2","BoxList","BattleList","getComponentValue","singletonEntity","transferData","buffHash","battleId","encodeEntity","boxId","oreAmount","treasureAmount","userTokenId","lootTokenId","high","unsigned","cachedObj","lowBits","highBits","radix","radixToPower","radixLong","rem1","rem","remDiv","intval","thisNeg","otherNeg","addend","a48","a32","a16","a00","b00","c48","c32","c16","c00","subtrahend","divisor","approx","halfThis","log2","approxRes","approxRem","numBits","b64","s64","chunk","invalidEncoding","evt","f32","f8b","writeFloat_f32_cpy","writeFloat_f32_rev","readFloat_f32_cpy","readFloat_f32_rev","writeFloat_ieee754","writeUint","exponent","mantissa","readFloat_ieee754","readUint","uint","f64","writeDouble_f64_cpy","writeDouble_f64_rev","readDouble_f64_cpy","readDouble_f64_rev","writeDouble_ieee754","off0","off1","readDouble_ieee754","utf8","alloc","SIZE","MAX","slab","LongBits","zeroHash","charCodeAt","part0","part1","part2","require$$5","require$$6","require$$7","sizeOrArray","dst","ifNotSet","newError","CustomError","fieldNames","fieldMap","encoding","BufferWriter","push","write_uint32","write_int32","write_sint32","write_uint64","write_sint64","write_bool","write_fixed32","write_fixed64","write_float","write_double","writeBytes_set","writeBytes_for","write_bytes","write_string","fork","ldelim","finish","BufferWriter_","write_bytes_buffer","write_string_buffer","BufferReader","writeLength","create_typed_array","create_array","read_uint32_setup","read_int32","read_sint32","read_bool","read_fixed32","read_sfixed32","read_float","read_double","read_bytes","nativeBuffer","read_string","wireType","BufferReader_","read_string_buffer","rpcImpl","requestDelimited","responseDelimited","rpcCall","requestCtor","responseCtor","endedByRPC","protobuf","configure","Metadata","Status","composeClientMiddleware_1","middleware1","middleware2","options2","propertyDescriptor","hasOwnProperty","objectCreate","propertyDescriptors","helpers","uglyErrorPrinting","extendableErrorName","ExtendableError","originalConstructor","constructorName","constructorNameMatch","constructorNameIsError","ClientError_1","ts_error_1","Status_1","composeServerMiddleware_1","context1","ServerError_1","desc","__exportStar","require$$8","require$$9","require$$10","requestEncode","requestFromPartial","responseEncode","responseFromPartial","grpc_web_1","serviceName","executor","removeAbortListener","callbackResult","dueTime","unlisten","sourceObj","innerAbortController","abortListener","rejection","settledCount","settled","baseMs","maxDelayMs","maxAttempts","delayMs","backoff","deferredFunctions","spawnAbortController","spawnSignal","abortSpawn","tasks","abortTasks","removeSpawnAbortListener","failure","forkFn","taskAbortController","taskSignal","taskPromise","deferPromise","abortController","attemptsExhausted","handleFulfilled","handleRejected","makeAttempts","AsyncSink_1","isAsyncIterable_1","factory","VERSION","_hasatob","_hasbtoa","_hasBuffer","_TD","_TE","b64ch","b64chs","b64tab","tab","b64re","_fromCC","_U8Afrom","_mkUriSafe","m0","_tidyB64","btoaPolyfill","bin","u32","asc","_btoa","_fromUint8Array","maxargs","fromUint8Array","urlsafe","cb_utob","cc","re_utob","utob","_encode","encodeURI","re_btou","cb_btou","cccc","btou","atobPolyfill","u24","r1","_atob","_toUint8Array","toUint8Array","_unURI","_decode","isValid","_noEnum","extendString","_add","extendUint8Array","extendBuiltins","gBase64","nice_grpc_common_1","grpcMetadata","createBidiStreamingMethod_1","abort_controller_x_1","service_definitions_1","convertMetadata_1","channel","middleware","defaultOptions","grpcMethodDefinition","methodDescriptor","bidiStreamingMethod","onHeader","onTrailer","pipeAbortController","trailers","pipeError","pipeRequest","createClientStreamingMethod_1","clientStreamingMethod","createServerStreamingMethod_1","serverStreamingMethod","createUnaryMethod_1","unaryMethod","defaultCallOptions","newMiddleware","methodEntries","methodDefinition","createChannel","arbitrumGoerli","foundry","sepolia","chains.arbitrumGoerli","chains.foundry","chains.sepolia","mudFoundry","latticeTestnet","chainIndex","world","worldAddress","initialBlockNumber","getBurnerPrivateKey","createWorld","utils.Interface","mudConfig","networkConfig","clientOptions","transportObserver","burnerAccount","createBurnerAccount","burnerWalletClient","write$","createContract","write","latestBlock$","blockStorageOperations$","syncToRecs","faucet","requestDrip","systemCalls","Action","createBrowserLocation","globalHistory","pathname","createBrowserHref","cond","parsedPath","hashIndex","searchIndex","getLocation","createHref","validateLocation","v5Compat","getIndex","handlePop","history","historyState","replace","createURL","ResultType","routes","locationArg","basename","parentsMeta","parentPath","flattenRoute","route","relativePath","routesMeta","_route$path","exploded","segments","required","restExploded","initialScore","score","branch","matchedParams","matchedPathname","remainingPathname","matcher","paramNames","pathnameBase","captureGroups","memo","paramName","splatValue","caseSensitive","regexpSource","startIndex","fromPathname","toPathname","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","UNSAFE_invariant","isDataRoute","dataRouterContext","navigator","routePathnamesJson","UNSAFE_getPathContributingMatches","dataRouterState","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","renderedMatches","preStyles","devInfo","errorInfo","routeContext","_dataRouterState2","_dataRouterState","errorIndex","outlet","errorElement","getChildren","DataRouterHook","DataRouterStateHook","hookName","thisRoute","_state$errors","routeId","router","basenameProp","locationProp","navigationType","staticProp","navigationContext","locationContext","trailingPathname","React.Children","treePath","future","historyRef","setStateImpl","v7_startTransition","setState","newState","pe","equal","isLeftCritical","isRightCritical","isTopCritical","isBottomCritical","topMovable","bottomMovable","leftMovable","rightMovable","topLeftMovable","topRightMovable","bottomLeftMovable","bottomRightMovable","movableConfig","wallIndexArr","transforms","productIndex","coordinate","cellClass","mapData","dirs","newPaths","dX","dY","nextX","nextY","before","vertexCoordinate","xDegree","yDegree","limitExceeded","lessBoundary","jsx","Appearance","handheld","clothes","toward","jsxs","username","equip","gem","waiting","curAddr","openingBox","opening","cellClassCache","treasureChest","players","onMoveTo","onExeAction","prevActionCoordinate","menuVisible","setMenuVisible","activePlayerId","setActivePlayerId","openTreasureChest","setStartBattle","showUserInfo","previewPath","renderPreviewPaths","AllPlayers","isDelivery","movable","classList","onContextMenu","curPlayer","exeAction","activePlayer","renderPreviewPath","transformStyle","createElement","player","validLen","placeHoldersLen","lens","curByte","uint8","maxChunkLength","mLen","nBytes","eLen","eMax","eBias","nBits","rt","ieee754","customInspectSymbol","SlowBuffer","K_MAX_LENGTH","typedArraySupport","createBuffer","encodingOrOffset","allocUnsafe","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","fromObject","assertSize","fill","checked","actual","fromArrayLike","arrayView","numberIsNaN","mustMatch","loweredCase","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","arrayIndexOf","indexSize","valLength","foundIndex","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","firstByte","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","hexSliceLookupTable","newBuf","checkOffset","ext","noAssert","defineBigIntMethod","validateNumber","boundsError","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","writeDouble","sym","getMessage","Base","received","addNumericalSeparator","checkBounds","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","i16","BufferBigIntNotDefined","reverse","CryptoJS","Math","undefined","C_lib","propertyName","WordArray","sigBytes","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","thatByte","m_w","m_z","rcache","_r","C_enc","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","Utf8","utf8Str","BufferedBlockAlgorithm","doFlush","dataWords","dataSigBytes","blockSize","blockSizeBytes","nBlocksReady","nWordsReady","nBytesReady","processedWords","cfg","messageUpdate","hasher","C_algo","Hasher","isPrime","sqrtN","getFractionalBits","nPrime","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","nBitsTotal","nBitsLeft","makePrefix","filterKeys","hideFunctions","growBranch","lastStates","showValues","lastStatesCopy","lastState","Treeify","lineCallback","hideFunctionsArg","X32WordArray","C_x64","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","superInit","subInit","typedArray","typedArrayByteLength","utf16Chars","utf16Str","utf16StrLength","swapEndian","base64Chars","byte1","byte2","byte3","triplet","paddingChar","base64Str","base64StrLength","reverseMap","paddingIndex","parseLoop","bits1","bits2","MD5","offset_i","M_offset_i","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","GG","HH","II","nBitsTotalH","nBitsTotalL","H_i","SHA1","undef","X64Word","X64WordArray","X64Word_create","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","Wi","Wih","Wil","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","t1l","t1h","t2l","t2h","SHA384","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newX","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","nBlockSizeLanes","M2i","M2i1","lane","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","hr","zr","sr","br","cr","dr","er","f1","f2","f3","f4","f5","rotl","hasherBlockSize","hasherBlockSizeBytes","oKey","iKey","oKeyWords","iKeyWords","innerHash","HMAC","PBKDF2","blockIndex","derivedKeyWords","blockIndexWords","keySize","blockWords","blockWordsLength","intermediate","intermediateWords","EvpKDF","Base64","Cipher","xformMode","dataUpdate","finalProcessedData","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","finalProcessedBlocks","C_mode","BlockCipherMode","CBC","xorBlock","thisBlock","C_pad","Pkcs7","nPaddingBytes","paddingWord","paddingWords","modeCreator","CipherParams","cipherParams","C_format","OpenSSLFormatter","openSSLStr","ciphertextWords","encryptor","cipherCfg","C_kdf","OpenSSLKdf","ivSize","derivedParams","CFB","generateKeystreamAndEncrypt","keystream","CTR","Encryptor","CTRGladman","incWord","incCounter","OFB","ECB","lastBytePos","BlockCipher","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","x4","x8","RCON","keyWords","nRounds","ksRows","keySchedule","ksRow","invKeySchedule","invKsRow","s3","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","nSubKey","subKey","bitShift","invSubKeys","exchangeLR","exchangeRL","lBlock","rBlock","TripleDES","StreamCipher","RC4","keySigBytes","keyByteIndex","keyByte","generateKeystreamWord","keystreamWord","RC4Drop","C_","Rabbit","nextState","IV","IV_0","IV_1","i3","gx","ga","gb","RabbitLegacy","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$27","require$$28","require$$29","require$$30","require$$31","require$$32","__importDefault","Base_1","buffer_1","isSorted","eqChecker","buffer1","buffer2","compareFunction","ordering","withPrefix","MerkleTree_1","sha256_1","treeify_1","leaves","hashFn","nodes","layerIndex","layerLimit","leaf","shouldHash","jsonStr","layers","proof","isRightNode","pairIndex","proofs","currentLayer","pushed","leftchildIndex","rightchildIndex","treeIndices","leafCount","maximalIndices","redundantIndices","sortedLeafIndices","leavesCount","unevenLayers","proofIndices","layerNodes","proofNodeIndices","unevenLayer","els","ids","nextIds","pairElement","proofHashes","currentLayerIndices","treeLayer","uniqueIndices","_proofs","tested","proofUsed","isLeftNode","buffers","proofLeaves","proofitem","indexqueue","proofFlag","leavesLen","totalHashes","leafPos","hashPos","proofPos","bufA","bufB","computedRoot","akey","pairIdx","treeLayers","leafIndices","leafHashes","totalLeavesCount","leafTuples","indexA","indexB","leafTupleIndices","nextSliceStart","proofTuplesByLayers","sliceStart","parentIndices","parentLayer","parentNodeTreeIndex","MerkleMountainRange_1","hashLeafFn","peakBaggingFn","hashBranchFn","dataHash","dataHashHex","peakIndexes","peaks","numPeaks","reducedIndex","peakIndex","peakBagging","cursor","targetPeak","peakMap","bitIndex","peakRef","prevPeakMap","itemHash","nextPeakMap","newWidth","cursorIndex","cursorNode","prevPeakExist","nextPeakExist","obtained","itemHashes","tmpWidth","tmpPeakMap","leftIndex","rightIndex","leftHash","rightHash","IncrementalMerkleTree_1","zeroValue","levelStartIndex","levelEndIndex","newLeaf","pathIndices","leafIndex","MerkleSumTree_1","rng","buckets","newBuckets","convertToLeafs","leafs","merkel","getProof","generateLeaf","solidityKeccak256","formatMovePath","MerkleTree","Map","startX","startY","setPrevActionCoordinate","onPlayerMove","curId","staticData","simpleMapData","treasureChestData","playerData","speed","rowIndex","colIndex","enumerableOnly","CopyToClipboard","_React$PureComponent","onCopy","elem","addressTxt","hp","maxHp","ap","maxAp","roomId","boxesCount","leaderboard","newStrs","tempStr","selectActionData","setSelectActionData","selectTacticData","setSelectTacticData","confirmBattleData","setConfirmBattleData","battleData","setBattleData","battleState","setBattleState","player2LossData","setPlayer2LossData","player1LossData","setPlayer1LossData","confirmBattle","revealBattle","forceEnd","ethers.utils.formatBytes32String","initBattle","resultBattle","actionHex","battles","useEntityQuery","Has","HasValue","decodeEntity","battle","battleTemp","battle1","battle2","defenderHP","attackerHP","setSelectAction","bt","setSelectTactic","tactic","getProofHash","confirmBattleFun","setVisible","ModalComponent","Fragment","userUrl","lootUrl","lootHasLoaded","updateX","userContract","lootContract","navigate","PlayerAddon","GlobalConfig","PlayerLocationLock","PlayerSeason","openBox","revealBox","getCollections","battleInvitation","unlockUserLocation","submitGem","renderMapData","setRenderMapData","setVertexCoordinate","targetPlayer","setTargetPlayer","battleCurPlayer","setBattleCurPlayer","userInfoPlayer","setUserInfoPlayer","startBattleData","setStartBattleData","userInfoVisible","setUserInfoVisible","setBalance","setOpeningBox","setContent","mapDataRef","moveInterval","GlobalConfigData","ethers.providers.JsonRpcProvider","wallet","ethers.Wallet","userContractAddress","ethers.Contract","lootContractAddress","LootList1Data","loot","PlayerSeasonData","playerSeason","renderPlayers","setRenderPlayers","playersCache","renderPlayersArr","rPlayer","targetAddr","getCollectionsFun","box","boxs","getBalance","walletBalance","ethers.utils.formatEther","csv","finishBattle","winner","attacker","defender","loser","loserData","movePlayer","merkelData","playerLock","txFinished","pathIndex","timeInterval","addon","atobUrl","submitGemFun","lastPreviewPath","boxIndex","boxData","setRenderPreviewPaths","Leaderboard","map_info","transfering","stepData","setStepData","setTransferData","battlesData","setBattlesData","setBoxData","setBoxId","revealNFTData","setRevealNFTData","nftListData","setNftListData","setWalletBalance","GameConfig","joinBattlefield","selectUserNft","CreateBox","getBattlePlayerHp","transferFun","PRIVATE_KEY","ethers.utils.parseEther","GameData","getNftList","nftList","mintFun","revealNFTFun","stepChange","boxIdChange","tokenIdChange","boxChange","transferChange","battleChange","confirmBattleChange","selectUserNftFun","transferPlayer","battleInvitationFun","tragePlayer","battlesDataTemp","battleItem","nonceHex","joinBattlefieldFun","revealBattleFun","bettleItem","CreateBoxFun","boxi","openBoxFun","revealBoxFun","messageApi","selectBothNFT","setInfo","initUserInfo","walletAddress","setWalletAddress","usernameRef","modalVisible","setModalVisible","minting","setMinting","setClothes","setHandheld","setHead","setUsername","setUserUrl","setLootUrl","setPlayer","pluginContractAddress","createWallet","toMint","mint","tokenIds","mintAndGo","lootData","play","initUserInfoFun","Header","appearance","setAppearance","heroAction","setHeroActions","mountDevTools"],"sources":["../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react.production.min.js","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/index.js","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js","../../src/mud/createClientComponents.ts","../../../../node_modules/.pnpm/mobx@6.10.2/node_modules/mobx/dist/mobx.esm.js","../../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/config.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/Subject.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/args.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/from.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/of.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/argsArgArrayOrObject.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/util/createObject.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/combineLatest.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/concatAll.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/concat.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/defer.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/observable/merge.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/catchError.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/concatMap.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/take.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/distinctUntilChanged.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/share.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js","../../../../node_modules/.pnpm/rxjs@7.5.5/node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../__vite-browser-external","../../../../node_modules/.pnpm/bn.js@5.2.1/node_modules/bn.js/lib/bn.js","../../../../node_modules/.pnpm/@ethersproject+logger@5.7.0/node_modules/@ethersproject/logger/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+logger@5.7.0/node_modules/@ethersproject/logger/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+bytes@5.7.0/node_modules/@ethersproject/bytes/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+bytes@5.7.0/node_modules/@ethersproject/bytes/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+bignumber@5.7.0/node_modules/@ethersproject/bignumber/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+bignumber@5.7.0/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js","../../../../node_modules/.pnpm/@ethersproject+bignumber@5.7.0/node_modules/@ethersproject/bignumber/lib.esm/fixednumber.js","../../../../node_modules/.pnpm/@ethersproject+properties@5.7.0/node_modules/@ethersproject/properties/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+properties@5.7.0/node_modules/@ethersproject/properties/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/fragments.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js","../../../../node_modules/.pnpm/js-sha3@0.8.0/node_modules/js-sha3/src/sha3.js","../../../../node_modules/.pnpm/@ethersproject+keccak256@5.7.0/node_modules/@ethersproject/keccak256/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+rlp@5.7.0/node_modules/@ethersproject/rlp/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+rlp@5.7.0/node_modules/@ethersproject/rlp/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+address@5.7.0/node_modules/@ethersproject/address/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+address@5.7.0/node_modules/@ethersproject/address/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/address.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/array.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/null.js","../../../../node_modules/.pnpm/@ethersproject+constants@5.7.0/node_modules/@ethersproject/constants/lib.esm/addresses.js","../../../../node_modules/.pnpm/@ethersproject+constants@5.7.0/node_modules/@ethersproject/constants/lib.esm/bignumbers.js","../../../../node_modules/.pnpm/@ethersproject+constants@5.7.0/node_modules/@ethersproject/constants/lib.esm/hashes.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/number.js","../../../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/utf8.js","../../../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/bytes32.js","../../../../node_modules/.pnpm/@ethersproject+strings@5.7.0/node_modules/@ethersproject/strings/lib.esm/idna.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/string.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/abi-coder.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/id.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+base64@5.7.0/node_modules/@ethersproject/base64/lib.esm/base64.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/namehash.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/message.js","../../../../node_modules/.pnpm/@ethersproject+hash@5.7.0/node_modules/@ethersproject/hash/lib.esm/typed-data.js","../../../../node_modules/.pnpm/@ethersproject+abi@5.7.0/node_modules/@ethersproject/abi/lib.esm/interface.js","../../../../node_modules/.pnpm/@ethersproject+abstract-provider@5.7.0/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+abstract-provider@5.7.0/node_modules/@ethersproject/abstract-provider/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+abstract-signer@5.7.0/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+abstract-signer@5.7.0/node_modules/@ethersproject/abstract-signer/lib.esm/index.js","../../../../node_modules/.pnpm/minimalistic-assert@1.0.1/node_modules/minimalistic-assert/index.js","../../../../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/utils.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/common.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/1.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/256.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/224.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/512.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha/384.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/sha.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/ripemd.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash/hmac.js","../../../../node_modules/.pnpm/hash.js@1.1.7/node_modules/hash.js/lib/hash.js","../../../../node_modules/.pnpm/@ethersproject+signing-key@5.7.0/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js","../../../../node_modules/.pnpm/@ethersproject+signing-key@5.7.0/node_modules/@ethersproject/signing-key/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+signing-key@5.7.0/node_modules/@ethersproject/signing-key/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+transactions@5.7.0/node_modules/@ethersproject/transactions/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+transactions@5.7.0/node_modules/@ethersproject/transactions/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+contracts@5.7.0/node_modules/@ethersproject/contracts/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+contracts@5.7.0/node_modules/@ethersproject/contracts/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+basex@5.7.0/node_modules/@ethersproject/basex/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+sha2@5.7.0/node_modules/@ethersproject/sha2/lib.esm/types.js","../../../../node_modules/.pnpm/@ethersproject+sha2@5.7.0/node_modules/@ethersproject/sha2/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+sha2@5.7.0/node_modules/@ethersproject/sha2/lib.esm/sha2.js","../../../../node_modules/.pnpm/@ethersproject+pbkdf2@5.7.0/node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js","../../../../node_modules/.pnpm/@ethersproject+wordlists@5.7.0/node_modules/@ethersproject/wordlists/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+wordlists@5.7.0/node_modules/@ethersproject/wordlists/lib.esm/wordlist.js","../../../../node_modules/.pnpm/@ethersproject+wordlists@5.7.0/node_modules/@ethersproject/wordlists/lib.esm/lang-en.js","../../../../node_modules/.pnpm/@ethersproject+wordlists@5.7.0/node_modules/@ethersproject/wordlists/lib.esm/wordlists.js","../../../../node_modules/.pnpm/@ethersproject+hdnode@5.7.0/node_modules/@ethersproject/hdnode/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+hdnode@5.7.0/node_modules/@ethersproject/hdnode/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+random@5.7.0/node_modules/@ethersproject/random/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+random@5.7.0/node_modules/@ethersproject/random/lib.esm/random.js","../../../../node_modules/.pnpm/@ethersproject+random@5.7.0/node_modules/@ethersproject/random/lib.esm/shuffle.js","../../../../node_modules/.pnpm/aes-js@3.0.0/node_modules/aes-js/index.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/utils.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/crowdsale.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/inspect.js","../../../../node_modules/.pnpm/scrypt-js@3.0.1/node_modules/scrypt-js/scrypt.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/keystore.js","../../../../node_modules/.pnpm/@ethersproject+json-wallets@5.7.0/node_modules/@ethersproject/json-wallets/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+wallet@5.7.0/node_modules/@ethersproject/wallet/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+wallet@5.7.0/node_modules/@ethersproject/wallet/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+networks@5.7.1/node_modules/@ethersproject/networks/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+networks@5.7.1/node_modules/@ethersproject/networks/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+web@5.7.1/node_modules/@ethersproject/web/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+web@5.7.1/node_modules/@ethersproject/web/lib.esm/geturl.js","../../../../node_modules/.pnpm/@ethersproject+web@5.7.1/node_modules/@ethersproject/web/lib.esm/index.js","../../../../node_modules/.pnpm/bech32@1.1.4/node_modules/bech32/index.js","../../../../node_modules/.pnpm/@ethersproject+providers@5.7.2/node_modules/@ethersproject/providers/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+providers@5.7.2/node_modules/@ethersproject/providers/lib.esm/formatter.js","../../../../node_modules/.pnpm/@ethersproject+providers@5.7.2/node_modules/@ethersproject/providers/lib.esm/base-provider.js","../../../../node_modules/.pnpm/@ethersproject+providers@5.7.2/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js","../../../../node_modules/.pnpm/@ethersproject+solidity@5.7.0/node_modules/@ethersproject/solidity/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+solidity@5.7.0/node_modules/@ethersproject/solidity/lib.esm/index.js","../../../../node_modules/.pnpm/@ethersproject+units@5.7.0/node_modules/@ethersproject/units/lib.esm/_version.js","../../../../node_modules/.pnpm/@ethersproject+units@5.7.0/node_modules/@ethersproject/units/lib.esm/index.js","../../../../node_modules/.pnpm/ethers@5.7.2/node_modules/ethers/lib/utils.js","../../../../node_modules/.pnpm/@latticexyz+utils@2.0.0-next.4/node_modules/@latticexyz/utils/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+recs@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/recs/dist/chunk-EL5Z72NP.js","../../../../node_modules/.pnpm/@latticexyz+recs@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/recs/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+schema-type@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/schema-type/dist/typescript/index.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/version.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/errors.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/regex.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/runtime/signatures.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/errors/abiItem.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/errors/abiParameter.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/errors/signature.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/errors/struct.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/errors/splitParameters.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/runtime/cache.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/runtime/utils.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/runtime/structs.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/parseAbi.js","../../../../node_modules/.pnpm/abitype@0.9.3_typescript@5.1.6_zod@3.22.4/node_modules/abitype/dist/esm/human-readable/parseAbiParameters.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/formatAbiItem.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/isHex.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/size.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/version.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/utils.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/base.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/abi.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/log.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/data.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/pad.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/encoding.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/trim.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/encoding/fromHex.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/encoding/toHex.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/encoding/toBytes.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/contract/extractFunctionParts.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.0/node_modules/@noble/hashes/esm/_assert.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.0/node_modules/@noble/hashes/esm/_u64.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.0/node_modules/@noble/hashes/esm/utils.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.0/node_modules/@noble/hashes/esm/sha3.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/hash/keccak256.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/hash/hashFunction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/hash/getEventSelector.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/address.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/address/isAddress.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/concat.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/slice.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/encodeAbiParameters.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/getAbiItem.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/encodeEventTopics.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/filters/createFilterRequestScope.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/createContractEventFilter.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/parseAccount.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/hash/getFunctionSelector.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/encodeFunctionData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/constants/solidity.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/address/getAddress.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/decodeAbiParameters.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/decodeErrorResult.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/stringify.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/formatAbiItemWithArgs.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/constants/unit.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/unit/formatUnits.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/unit/formatEther.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/unit/formatGwei.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/transaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/contract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/errors/getContractError.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/account.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/estimateGas.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/node.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/request.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/rpc.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/errors/getNodeError.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/errors/getEstimateGasError.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/extract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/transactionRequest.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/assertRequest.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/block.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/transaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/block.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getBlock.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getGasPrice.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getTransactionCount.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/prepareRequest.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/estimateGas.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/estimateContractGas.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/decodeFunctionResult.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/constants/abis.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/constants/contract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/chain.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/chain.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/errors/getCallError.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/promise/createBatchScheduler.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/call.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/readContract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/simulateContract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/observe.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/wait.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/poll.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/promise/withCache.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getBlockNumber.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/decodeEventLog.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/log.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getFilterChanges.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getLogs.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/uninstallFilter.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/watchContractEvent.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/errors/getTransactionError.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getChainId.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/sendTransaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/writeContract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/getContract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/addChain.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/publicKeyToAddress.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/uid.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/createClient.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/promise/withRetry.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/buildRequest.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/transports/createTransport.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/transports/fallback.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/transport.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/promise/withTimeout.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/rpc.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/transports/http.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/errors.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/regex.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/typedData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/abi/encodeDeployData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/encoding/toRlp.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/transactionReceipt.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/signature/hashTypedData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/signature/hashMessage.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/getTransactionType.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/assertTransaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/serializeAccessList.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/transaction/serializeTransaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/unit/parseUnits.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/unit/parseEther.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/encodedLabelToLabelhash.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/namehash.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/encodeLabelhash.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/labelhash.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/packetToBytes.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/ens/getEnsAddress.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/errors/ens.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/avatar/utils.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/ens/avatar/parseAvatarRecord.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/ens/getEnsText.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/ens/getEnsAvatar.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/ens/getEnsName.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/ens/getEnsResolver.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/createBlockFilter.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/createEventFilter.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/createPendingTransactionFilter.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getBalance.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getBlockTransactionCount.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getBytecode.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/formatters/feeHistory.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getFeeHistory.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getFilterLogs.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getStorageAt.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getTransaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getTransactionConfirmations.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/getTransactionReceipt.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/multicall.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/constants/contracts.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/abstract/utils.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/data/isBytesEqual.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/verifyHash.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/verifyMessage.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/verifyTypedData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/watchBlockNumber.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/waitForTransactionReceipt.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/watchBlocks.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/watchEvent.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/public/watchPendingTransactions.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/decorators/public.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/createPublicClient.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/deployContract.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/getAddresses.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/getPermissions.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/requestAddresses.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/requestPermissions.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/signMessage.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/signTypedData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/switchChain.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/actions/wallet/watchAsset.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/decorators/wallet.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/createWalletClient.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/clients/transports/webSocket.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/utils.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/abstract/modular.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/abstract/curve.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/abstract/weierstrass.js","../../../../node_modules/.pnpm/@noble+hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/_shortw_utils.js","../../../../node_modules/.pnpm/@noble+curves@1.1.0/node_modules/@noble/curves/esm/secp256k1.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/utils/signature/signatureToHex.js","../../../../node_modules/.pnpm/@latticexyz+common@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/common/dist/utils.js","../../../../node_modules/.pnpm/@latticexyz+common@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/common/dist/chunk-UPQEB2HW.js","../../../../node_modules/.pnpm/@latticexyz+protocol-parser@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/protocol-parser/dist/index.js","../../../../node_modules/.pnpm/ms@2.1.2/node_modules/ms/index.js","../../../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/common.js","../../../../node_modules/.pnpm/debug@4.3.4_supports-color@8.1.1/node_modules/debug/src/browser.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/generatePrivateKey.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/toAccount.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/sign.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/signMessage.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/signTransaction.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/utils/signTypedData.js","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/accounts/privateKeyToAccount.js","../../../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js","../../../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js","../../../../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js","../../../../node_modules/.pnpm/p-retry@5.1.2/node_modules/p-retry/index.js","../../../../node_modules/.pnpm/@latticexyz+common@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/common/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+schema-type@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/schema-type/dist/typescript/deprecated/index.js","../../../../node_modules/.pnpm/zod@3.22.4/node_modules/zod/lib/index.mjs","../../../../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/ansi-styles/index.js","../../../../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/supports-color/browser.js","../../../../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/utilities.js","../../../../node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/index.js","../../../../node_modules/.pnpm/zod-validation-error@1.4.0_zod@3.22.4/node_modules/zod-validation-error/dist/esm/utils/joinPath.js","../../../../node_modules/.pnpm/zod-validation-error@1.4.0_zod@3.22.4/node_modules/zod-validation-error/dist/esm/utils/NonEmptyArray.js","../../../../node_modules/.pnpm/zod-validation-error@1.4.0_zod@3.22.4/node_modules/zod-validation-error/dist/esm/ValidationError.js","../../../../node_modules/.pnpm/@latticexyz+config@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/config/dist/chunk-AXXYPYMM.js","../../../../node_modules/.pnpm/@latticexyz+config@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/config/dist/chunk-4G6ZGMDP.js","../../../../node_modules/.pnpm/@latticexyz+store@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store/dist/chunk-5AKM5HGJ.js","../../../../node_modules/.pnpm/@latticexyz+config@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/config/dist/register/index.js","../../../../node_modules/.pnpm/@latticexyz+store@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store/dist/chunk-6QMWGFYG.js","../../../../node_modules/.pnpm/@latticexyz+store@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store/dist/mud.config.js","../../../../node_modules/.pnpm/@latticexyz+store-sync@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store-sync/dist/chunk-SNWOSPCV.js","../../../../node_modules/.pnpm/@trpc+server@10.34.0/node_modules/@trpc/server/dist/codes-24aa1ce1.mjs","../../../../node_modules/.pnpm/@trpc+server@10.34.0/node_modules/@trpc/server/dist/index-044a193b.mjs","../../../../node_modules/.pnpm/@trpc+server@10.34.0/node_modules/@trpc/server/dist/config-7eddc5bb.mjs","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/double-indexed-kv.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/registry.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/class-registry.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/util.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/custom-transformer-registry.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/is.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/pathstringifier.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/transformer.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/accessDeep.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/plainer.js","../../../../node_modules/.pnpm/is-what@4.1.15/node_modules/is-what/dist/index.js","../../../../node_modules/.pnpm/copy-anything@3.0.5/node_modules/copy-anything/dist/index.js","../../../../node_modules/.pnpm/superjson@1.13.3/node_modules/superjson/dist/esm/index.js","../../../../node_modules/.pnpm/@trpc+server@10.34.0/node_modules/@trpc/server/dist/observable-ade1bad8.mjs","../../../../node_modules/.pnpm/@trpc+server@10.34.0/node_modules/@trpc/server/dist/observable/index.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/splitLink-4c75f7be.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/TRPCClientError-fef6cf44.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/httpUtils-1efcb902.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/transformResult-7ab522e6.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/httpBatchLink-fbd7b43c.mjs","../../../../node_modules/.pnpm/@trpc+client@10.34.0_@trpc+server@10.34.0/node_modules/@trpc/client/dist/index.mjs","../../../../node_modules/.pnpm/@latticexyz+store-sync@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store-sync/dist/chunk-A2BQSIM3.js","../../../../node_modules/.pnpm/@latticexyz+store@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store/dist/ts/index.js","../../../../node_modules/.pnpm/@latticexyz+block-logs-stream@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/block-logs-stream/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+store-sync@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store-sync/dist/chunk-IH5UMM4B.js","../../../../node_modules/.pnpm/@latticexyz+world@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/world/dist/chunk-JOQBBVRS.js","../../../../node_modules/.pnpm/@latticexyz+world@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/world/dist/chunk-24XAL2ND.js","../../../../node_modules/.pnpm/@latticexyz+world@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/world/dist/mud.config.js","../../../../node_modules/.pnpm/@latticexyz+store-sync@2.0.0-next.4_typescript@5.1.6/node_modules/@latticexyz/store-sync/dist/recs/index.js","../../../../node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/react-is@18.2.0/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/.pnpm/react-is@18.2.0/node_modules/react-is/index.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Children/toArray.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/warning.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useMemo.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/ref.js","../../../../node_modules/.pnpm/scheduler@0.23.0/node_modules/scheduler/cjs/scheduler.production.min.js","../../../../node_modules/.pnpm/scheduler@0.23.0/node_modules/scheduler/index.js","../../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/cjs/react-dom.production.min.js","../../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/index.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/findDOMNode.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/omit.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/raf.js","../../../../node_modules/.pnpm/@emotion+hash@0.8.0/node_modules/@emotion/hash/dist/hash.browser.esm.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/isEqual.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/Cache.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/StyleContext.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/canUseDom.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/contains.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/dynamicCSS.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/Theme.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/theme/createTheme.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/util.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useLayoutEffect.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useCompatibleInsertionEffect.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useEffectCleanupRegister.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","../../../../node_modules/.pnpm/@emotion+unitless@0.7.5/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../../../../node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/src/Enum.js","../../../../node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/src/Utility.js","../../../../node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/src/Tokenizer.js","../../../../node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/src/Parser.js","../../../../node_modules/.pnpm/stylis@4.3.0/node_modules/stylis/src/Serializer.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister/cacheMapUtil.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister/index.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/Keyframes.js","../../../../node_modules/.pnpm/@ant-design+cssinjs@1.17.2_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/cssinjs/es/transformers/legacyLogicalProperties.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/Context.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/utils/get.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/utils/set.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/warning.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/form/validateMessagesContext.js","../../../../node_modules/.pnpm/rc-pagination@3.6.1_react-dom@18.2.0_react@18.2.0/node_modules/rc-pagination/es/locale/en_US.js","../../../../node_modules/.pnpm/rc-picker@3.14.5_dayjs@1.11.10_react-dom@18.2.0_react@18.2.0/node_modules/rc-picker/es/locale/en_US.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/time-picker/locale/en_US.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/date-picker/locale/en_US.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/en_US.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/locale.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/useLocale.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/locale/index.js","../../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/util.js","../../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/index.js","../../../../node_modules/.pnpm/@ant-design+colors@7.0.0/node_modules/@ant-design/colors/es/generate.js","../../../../node_modules/.pnpm/@ant-design+colors@7.0.0/node_modules/@ant-design/colors/es/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genControlHeight.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/seed.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genColorMapToken.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genRadius.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/colorAlgorithm.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/colors.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genFontSizes.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/shared/genFontMapToken.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/themes/default/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/cssVariables.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/DisabledContext.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/SizeContext.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/hooks/useConfig.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/version/version.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/getAlphaColor.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/alias.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/useToken.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useEvent.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useState.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/statistic.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/useResetIconStyle.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/theme/util/genComponentStyleHook.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/hooks/useTheme.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/context.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/DomWrapper.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/interface.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/util/motion.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/hooks/useNextFrame.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/hooks/useStepQueue.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/hooks/useStatus.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/CSSMotion.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/util/diff.js","../../../../node_modules/.pnpm/rc-motion@2.9.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-motion/es/CSSMotionList.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/MotionWrapper.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/PropWarning.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/index.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/shadow.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/utils.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/IconBase.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/components/AntdIcon.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/pickAttrs.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/reactNode.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/KeyCode.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/Notice.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/NotificationProvider.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/hooks/useStack.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/NoticeList.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/Notifications.js","../../../../node_modules/.pnpm/rc-notification@5.2.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-notification/es/hooks/useNotification.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/message/style/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/message/PurePanel.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/message/util.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/message/useMessage.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/hooks/usePatchElement.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../../../../node_modules/.pnpm/@babel+runtime@7.23.2/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/React/render.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/motion.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/Dom/isVisible.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/style.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/util.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/interface.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/WaveEffect.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/useWave.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/wave/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/config-provider/hooks/useSize.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/space/Compact.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/button-group.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/buttonHelpers.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/IconWrapper.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/LoadingIcon.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/style/group.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/style/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/compact-item.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/compact-item-vertical.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/style/compactCmp.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/button/button.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/ActionButton.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/components/ConfirmCancelBtn.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/components/ConfirmOkBtn.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/Context.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/useDom.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/getScrollBarSize.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/util.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/useScrollLocker.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/mock.js","../../../../node_modules/.pnpm/@rc-component+portal@1.1.2_react-dom@18.2.0_react@18.2.0/node_modules/@rc-component/portal/es/Portal.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/context.js","../../../../node_modules/.pnpm/rc-util@5.38.0_react-dom@18.2.0_react@18.2.0/node_modules/rc-util/es/hooks/useId.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/util.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/Dialog/Content/Panel.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/Dialog/Content/index.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/Dialog/Mask.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/Dialog/index.js","../../../../node_modules/.pnpm/rc-dialog@9.3.3_react-dom@18.2.0_react@18.2.0/node_modules/rc-dialog/es/DialogWrap.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/hooks/useClosable.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/styleChecker.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/FieldContext.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/ListContext.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/typeUtil.js","../../../../node_modules/.pnpm/async-validator@4.2.5/node_modules/async-validator/dist-web/index.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/messages.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/validateUtil.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/valueUtil.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/Field.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/List.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/asyncUtil.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/utils/NameMap.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/useForm.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/FormContext.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/Form.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/useWatch.js","../../../../node_modules/.pnpm/rc-field-form@1.38.2_react-dom@18.2.0_react@18.2.0/node_modules/rc-field-form/es/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/form/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/watermark/context.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/components/NormalCancelBtn.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/components/NormalOkBtn.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/shared.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/motion/motion.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/motion/fade.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/style/motion/zoom.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/style/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/Modal.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/style/confirmCmp.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/ConfirmDialog.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/destroyFns.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/confirm.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/useModal/HookModal.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/useModal/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/_util/PurePanel.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/message/index.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/PurePanel.js","../../../../node_modules/.pnpm/antd@5.10.0_react-dom@18.2.0_react@18.2.0/node_modules/antd/es/modal/index.js","../../../../node_modules/.pnpm/toggle-selection@1.0.6/node_modules/toggle-selection/index.js","../../../../node_modules/.pnpm/copy-to-clipboard@3.3.3/node_modules/copy-to-clipboard/index.js","../../src/mud/createSystemCalls.ts","../../../../node_modules/.pnpm/long@5.2.3/node_modules/long/index.js","../../../../node_modules/.pnpm/@protobufjs+aspromise@1.1.2/node_modules/@protobufjs/aspromise/index.js","../../../../node_modules/.pnpm/@protobufjs+base64@1.1.2/node_modules/@protobufjs/base64/index.js","../../../../node_modules/.pnpm/@protobufjs+eventemitter@1.1.0/node_modules/@protobufjs/eventemitter/index.js","../../../../node_modules/.pnpm/@protobufjs+float@1.0.2/node_modules/@protobufjs/float/index.js","../../../../node_modules/.pnpm/@protobufjs+inquire@1.1.0/node_modules/@protobufjs/inquire/index.js","../../../../node_modules/.pnpm/@protobufjs+utf8@1.1.0/node_modules/@protobufjs/utf8/index.js","../../../../node_modules/.pnpm/@protobufjs+pool@1.1.0/node_modules/@protobufjs/pool/index.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/util/longbits.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/util/minimal.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/writer.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/writer_buffer.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/reader.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/reader_buffer.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/rpc/service.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/rpc.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/roots.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/src/index-minimal.js","../../../../node_modules/.pnpm/protobufjs@7.2.5/node_modules/protobufjs/minimal.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/Metadata.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/Status.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/MethodDescriptor.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/client/CallOptions.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/client/ClientMiddleware.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/client/composeClientMiddleware.js","../../../../node_modules/.pnpm/ts-error@1.0.6/node_modules/ts-error/lib/helpers.js","../../../../node_modules/.pnpm/ts-error@1.0.6/node_modules/ts-error/lib/cjs.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/client/ClientError.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/server/CallContext.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/server/ServerMiddleware.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/server/composeServerMiddleware.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/server/ServerError.js","../../../../node_modules/.pnpm/nice-grpc-common@2.0.2/node_modules/nice-grpc-common/lib/index.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/service-definitions/grpc-web.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/service-definitions/ts-proto.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/service-definitions/index.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/channel.js","../../../../node_modules/.pnpm/@improbable-eng+grpc-web@0.15.0_google-protobuf@3.21.2/node_modules/@improbable-eng/grpc-web/dist/grpc-web-client.umd.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/AbortError.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/execute.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/abortable.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/delay.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/forever.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/waitForEvent.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/all.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/race.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/retry.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/spawn.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/run.js","../../../../node_modules/.pnpm/abort-controller-x@0.4.3/node_modules/abort-controller-x/es/proactiveRetry.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/utils/AsyncSink.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/utils/isAsyncIterable.js","../../../../node_modules/.pnpm/js-base64@3.7.5/node_modules/js-base64/base64.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/utils/convertMetadata.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/createBidiStreamingMethod.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/createClientStreamingMethod.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/createServerStreamingMethod.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/createUnaryMethod.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/ClientFactory.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/client/Client.js","../../../../node_modules/.pnpm/nice-grpc-web@2.0.2_google-protobuf@3.21.2/node_modules/nice-grpc-web/lib/index.js","../../../../node_modules/.pnpm/@latticexyz+services@2.0.0-next.4_google-protobuf@3.21.2/node_modules/@latticexyz/services/dist/faucet.js","../../../../node_modules/.pnpm/@wagmi+chains@1.6.0_typescript@5.1.6/node_modules/@wagmi/chains/dist/index.mjs","../../../../node_modules/.pnpm/viem@1.6.0_typescript@5.1.6_zod@3.22.4/node_modules/viem/dist/esm/chains/index.js","../../../../node_modules/.pnpm/@latticexyz+common@2.0.0-next.4_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/common/dist/chains.js","../../src/mud/supportedChains.ts","../../src/mud/getNetworkConfig.ts","../../src/mud/world.ts","../../../contracts/types/ethers-contracts/factories/IWorld__factory.ts","../../../contracts/mud.config.ts","../../src/mud/setupNetwork.ts","../../src/mud/setup.ts","../../../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/client.js","../../../../node_modules/.pnpm/@remix-run+router@1.9.0/node_modules/@remix-run/router/dist/router.js","../../../../node_modules/.pnpm/react-router@6.16.0_react@18.2.0/node_modules/react-router/dist/index.js","../../../../node_modules/.pnpm/react-router-dom@6.16.0_react-dom@18.2.0_react@18.2.0/node_modules/react-router-dom/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+utils@2.0.0-alpha.1.177/node_modules/@latticexyz/utils/dist/index.js","../../../../node_modules/.pnpm/@latticexyz+recs@2.0.0-alpha.1.177_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/recs/dist/index.js","../../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js","../../../../node_modules/.pnpm/@latticexyz+react@2.0.0-alpha.1.177_typescript@5.1.6_zod@3.22.4/node_modules/@latticexyz/react/dist/index.js","../../src/config/index.ts","../../src/constants/index.ts","../../src/config/map.ts","../../src/utils/map.ts","../../src/utils/delay.ts","../../src/components/Fog/index.tsx","../../src/components/Appearance/index.tsx","../../src/mock/data.ts","../../src/context/index.tsx","../../src/components/Player/index.tsx","../../src/components/TreasureChest/index.tsx","../../src/components/MapCell/index.tsx","../../../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","../../../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","../../../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js","../../../../node_modules/.pnpm/buffer-reverse@1.0.1/node_modules/buffer-reverse/index.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/core.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha256.js","../../../../node_modules/.pnpm/treeify@1.1.0/node_modules/treeify/treeify.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/x64-core.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/lib-typedarrays.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/enc-utf16.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/enc-base64.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/md5.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha1.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha224.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha512.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha384.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/sha3.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/ripemd160.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/hmac.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pbkdf2.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/evpkdf.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/cipher-core.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/mode-cfb.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/mode-ctr.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/mode-ctr-gladman.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/mode-ofb.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/mode-ecb.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pad-ansix923.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pad-iso10126.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pad-iso97971.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pad-zeropadding.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/pad-nopadding.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/format-hex.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/aes.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/tripledes.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/rc4.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/rabbit.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/rabbit-legacy.js","../../../../node_modules/.pnpm/crypto-js@3.3.0/node_modules/crypto-js/index.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/Base.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/MerkleTree.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/MerkleMountainRange.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/IncrementalMerkleTree.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/MerkleSumTree.js","../../../../node_modules/.pnpm/merkletreejs@0.3.10/node_modules/merkletreejs/dist/index.js","../../src/hooks/useMerkel.tsx","../../src/components/Map/index.tsx","../../../../node_modules/.pnpm/react-copy-to-clipboard@5.1.0_react@18.2.0/node_modules/react-copy-to-clipboard/lib/Component.js","../../../../node_modules/.pnpm/react-copy-to-clipboard@5.1.0_react@18.2.0/node_modules/react-copy-to-clipboard/lib/index.js","../../src/components/UserAddress/index.tsx","../../src/components/UserAvatar/index.tsx","../../src/components/Leaderboard/index.jsx","../../src/mud/MUDContext.tsx","../../src/assets/img/battle/attack-button.png","../../src/assets/img/battle/run-button.png","../../src/assets/img/battle/rock.png","../../src/assets/img/battle/scissors.png","../../src/assets/img/battle/paper.png","../../src/assets/img/battle/Button1.png","../../src/assets/img/battle/Button2.png","../../src/assets/img/battle/Button3.png","../../src/assets/img/battle/Button4.png","../../src/assets/img/battle/Button5.png","../../src/assets/img/battle/btn-bg.svg","../../src/utils/utils.js","../../src/components/Battle/index.tsx","../../src/hooks/useModal.tsx","../../src/assets/img/gem.png","../../src/components/UserPackage/index.tsx","../../src/components/UserInfo/index.tsx","../../src/components/UserInfoDialog/index.tsx","../../src/utils/player.ts","../../src/pages/game/index.tsx","../../src/utils/createMerkelTree.js","../../src/pages/test/index.jsx","../../src/assets/img/logo.png","../../src/assets/img/icon_t.png","../../src/assets/img/icon_tw.png","../../src/assets/img/icon_d.png","../../src/pages/home/header/index.tsx","../../src/assets/img/duck_index.svg","../../src/pages/home/index.tsx","../../src/config/hero.ts","../../src/pages/heroEdit/index.tsx","../../src/App.tsx","../../src/index.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1;\n\nexport function createClientComponents({ components }: SetupNetworkResult) {\n return {\n ...components,\n // add your client components or overrides here\n };\n}\n","var niceErrors = {\n 0: \"Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'\",\n 1: function _(annotationType, key) {\n return \"Cannot apply '\" + annotationType + \"' to '\" + key.toString() + \"': Field not found.\";\n },\n /*\r\n 2(prop) {\r\n return `invalid decorator for '${prop.toString()}'`\r\n },\r\n 3(prop) {\r\n return `Cannot decorate '${prop.toString()}': action can only be used on properties with a function value.`\r\n },\r\n 4(prop) {\r\n return `Cannot decorate '${prop.toString()}': computed can only be used on getter properties.`\r\n },\r\n */\n 5: \"'keys()' can only be used on observable objects, arrays, sets and maps\",\n 6: \"'values()' can only be used on observable objects, arrays, sets and maps\",\n 7: \"'entries()' can only be used on observable objects, arrays and maps\",\n 8: \"'set()' can only be used on observable objects, arrays and maps\",\n 9: \"'remove()' can only be used on observable objects, arrays and maps\",\n 10: \"'has()' can only be used on observable objects, arrays and maps\",\n 11: \"'get()' can only be used on observable objects, arrays and maps\",\n 12: \"Invalid annotation\",\n 13: \"Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 14: \"Intercept handlers should return nothing or a change object\",\n 15: \"Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)\",\n 16: \"Modification exception: the internal structure of an observable array was changed.\",\n 17: function _(index, length) {\n return \"[mobx.array] Index out of bounds, \" + index + \" is larger than \" + length;\n },\n 18: \"mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js\",\n 19: function _(other) {\n return \"Cannot initialize from classes that inherit from Map: \" + other.constructor.name;\n },\n 20: function _(other) {\n return \"Cannot initialize map from \" + other;\n },\n 21: function _(dataStructure) {\n return \"Cannot convert to map from '\" + dataStructure + \"'\";\n },\n 22: \"mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js\",\n 23: \"It is not possible to get index atoms from arrays\",\n 24: function _(thing) {\n return \"Cannot obtain administration from \" + thing;\n },\n 25: function _(property, name) {\n return \"the entry '\" + property + \"' does not exist in the observable map '\" + name + \"'\";\n },\n 26: \"please specify a property\",\n 27: function _(property, name) {\n return \"no observable property '\" + property.toString() + \"' found on the observable object '\" + name + \"'\";\n },\n 28: function _(thing) {\n return \"Cannot obtain atom from \" + thing;\n },\n 29: \"Expecting some object\",\n 30: \"invalid action stack. did you forget to finish an action?\",\n 31: \"missing option for computed: get\",\n 32: function _(name, derivation) {\n return \"Cycle detected in computation \" + name + \": \" + derivation;\n },\n 33: function _(name) {\n return \"The setter of computed value '\" + name + \"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\";\n },\n 34: function _(name) {\n return \"[ComputedValue '\" + name + \"'] It is not possible to assign a new value to a computed value.\";\n },\n 35: \"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`\",\n 36: \"isolateGlobalState should be called before MobX is running any reactions\",\n 37: function _(method) {\n return \"[mobx] `observableArray.\" + method + \"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice().\" + method + \"()` instead\";\n },\n 38: \"'ownKeys()' can only be used on observable objects\",\n 39: \"'defineProperty()' can only be used on observable objects\"\n};\nvar errors = process.env.NODE_ENV !== \"production\" ? niceErrors : {};\nfunction die(error) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (process.env.NODE_ENV !== \"production\") {\n var e = typeof error === \"string\" ? error : errors[error];\n if (typeof e === \"function\") e = e.apply(null, args);\n throw new Error(\"[MobX] \" + e);\n }\n throw new Error(typeof error === \"number\" ? \"[MobX] minified error nr: \" + error + (args.length ? \" \" + args.map(String).join(\",\") : \"\") + \". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\" : \"[MobX] \" + error);\n}\n\nvar mockGlobal = {};\nfunction getGlobal() {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n return mockGlobal;\n}\n\n// We shorten anything used > 5 times\nvar assign = Object.assign;\nvar getDescriptor = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar objectPrototype = Object.prototype;\nvar EMPTY_ARRAY = [];\nObject.freeze(EMPTY_ARRAY);\nvar EMPTY_OBJECT = {};\nObject.freeze(EMPTY_OBJECT);\nvar hasProxy = typeof Proxy !== \"undefined\";\nvar plainObjectString = /*#__PURE__*/Object.toString();\nfunction assertProxies() {\n if (!hasProxy) {\n die(process.env.NODE_ENV !== \"production\" ? \"`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`\" : \"Proxy not available\");\n }\n}\nfunction warnAboutProxyRequirement(msg) {\n if (process.env.NODE_ENV !== \"production\" && globalState.verifyProxies) {\n die(\"MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to \" + msg);\n }\n}\nfunction getNextId() {\n return ++globalState.mobxGuid;\n}\n/**\r\n * Makes sure that the provided function is invoked at most once.\r\n */\nfunction once(func) {\n var invoked = false;\n return function () {\n if (invoked) {\n return;\n }\n invoked = true;\n return func.apply(this, arguments);\n };\n}\nvar noop = function noop() {};\nfunction isFunction(fn) {\n return typeof fn === \"function\";\n}\nfunction isStringish(value) {\n var t = typeof value;\n switch (t) {\n case \"string\":\n case \"symbol\":\n case \"number\":\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && typeof value === \"object\";\n}\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n var proto = Object.getPrototypeOf(value);\n if (proto == null) {\n return true;\n }\n var protoConstructor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof protoConstructor === \"function\" && protoConstructor.toString() === plainObjectString;\n}\n// https://stackoverflow.com/a/37865170\nfunction isGenerator(obj) {\n var constructor = obj == null ? void 0 : obj.constructor;\n if (!constructor) {\n return false;\n }\n if (\"GeneratorFunction\" === constructor.name || \"GeneratorFunction\" === constructor.displayName) {\n return true;\n }\n return false;\n}\nfunction addHiddenProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: true,\n configurable: true,\n value: value\n });\n}\nfunction addHiddenFinalProp(object, propName, value) {\n defineProperty(object, propName, {\n enumerable: false,\n writable: false,\n configurable: true,\n value: value\n });\n}\nfunction createInstanceofPredicate(name, theClass) {\n var propName = \"isMobX\" + name;\n theClass.prototype[propName] = true;\n return function (x) {\n return isObject(x) && x[propName] === true;\n };\n}\nfunction isES6Map(thing) {\n return thing instanceof Map;\n}\nfunction isES6Set(thing) {\n return thing instanceof Set;\n}\nvar hasGetOwnPropertySymbols = typeof Object.getOwnPropertySymbols !== \"undefined\";\n/**\r\n * Returns the following: own enumerable keys and symbols.\r\n */\nfunction getPlainObjectKeys(object) {\n var keys = Object.keys(object);\n // Not supported in IE, so there are not going to be symbol props anyway...\n if (!hasGetOwnPropertySymbols) {\n return keys;\n }\n var symbols = Object.getOwnPropertySymbols(object);\n if (!symbols.length) {\n return keys;\n }\n return [].concat(keys, symbols.filter(function (s) {\n return objectPrototype.propertyIsEnumerable.call(object, s);\n }));\n}\n// From Immer utils\n// Returns all own keys, including non-enumerable and symbolic\nvar ownKeys = typeof Reflect !== \"undefined\" && Reflect.ownKeys ? Reflect.ownKeys : hasGetOwnPropertySymbols ? function (obj) {\n return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj));\n} : /* istanbul ignore next */Object.getOwnPropertyNames;\nfunction stringifyKey(key) {\n if (typeof key === \"string\") {\n return key;\n }\n if (typeof key === \"symbol\") {\n return key.toString();\n }\n return new String(key).toString();\n}\nfunction toPrimitive(value) {\n return value === null ? null : typeof value === \"object\" ? \"\" + value : value;\n}\nfunction hasProp(target, prop) {\n return objectPrototype.hasOwnProperty.call(target, prop);\n}\n// From Immer utils\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(target) {\n // Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n var res = {};\n // Note: without polyfill for ownKeys, symbols won't be picked up\n ownKeys(target).forEach(function (key) {\n res[key] = getDescriptor(target, key);\n });\n return res;\n};\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar storedAnnotationsSymbol = /*#__PURE__*/Symbol(\"mobx-stored-annotations\");\n/**\r\n * Creates a function that acts as\r\n * - decorator\r\n * - annotation object\r\n */\nfunction createDecoratorAnnotation(annotation) {\n function decorator(target, property) {\n storeAnnotation(target, property, annotation);\n }\n return Object.assign(decorator, annotation);\n}\n/**\r\n * Stores annotation to prototype,\r\n * so it can be inspected later by `makeObservable` called from constructor\r\n */\nfunction storeAnnotation(prototype, key, annotation) {\n if (!hasProp(prototype, storedAnnotationsSymbol)) {\n addHiddenProp(prototype, storedAnnotationsSymbol, _extends({}, prototype[storedAnnotationsSymbol]));\n }\n // @override must override something\n if (process.env.NODE_ENV !== \"production\" && isOverride(annotation) && !hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n die(\"'\" + fieldName + \"' is decorated with 'override', \" + \"but no such decorated member was found on prototype.\");\n }\n // Cannot re-decorate\n assertNotDecorated(prototype, annotation, key);\n // Ignore override\n if (!isOverride(annotation)) {\n prototype[storedAnnotationsSymbol][key] = annotation;\n }\n}\nfunction assertNotDecorated(prototype, annotation, key) {\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(prototype[storedAnnotationsSymbol], key)) {\n var fieldName = prototype.constructor.name + \".prototype.\" + key.toString();\n var currentAnnotationType = prototype[storedAnnotationsSymbol][key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '@\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already decorated with '@\" + currentAnnotationType + \"'.\") + \"\\nRe-decorating fields is not allowed.\" + \"\\nUse '@override' decorator for methods overridden by subclass.\");\n }\n}\n/**\r\n * Collects annotations from prototypes and stores them on target (instance)\r\n */\nfunction collectStoredAnnotations(target) {\n if (!hasProp(target, storedAnnotationsSymbol)) {\n if (process.env.NODE_ENV !== \"production\" && !target[storedAnnotationsSymbol]) {\n die(\"No annotations were passed to makeObservable, but no decorated members have been found either\");\n }\n // We need a copy as we will remove annotation from the list once it's applied.\n addHiddenProp(target, storedAnnotationsSymbol, _extends({}, target[storedAnnotationsSymbol]));\n }\n return target[storedAnnotationsSymbol];\n}\n\nvar $mobx = /*#__PURE__*/Symbol(\"mobx administration\");\nvar Atom = /*#__PURE__*/function () {\n // for effective unobserving. BaseAtom has true, for extra optimization, so its onBecomeUnobserved never gets called, because it's not needed\n\n /**\r\n * Create a new atom. For debugging purposes it is recommended to give it a name.\r\n * The onBecomeObserved and onBecomeUnobserved callbacks can be used for resource management.\r\n */\n function Atom(name_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Atom@\" + getNextId() : \"Atom\";\n }\n this.name_ = void 0;\n this.isPendingUnobservation_ = false;\n this.isBeingObserved_ = false;\n this.observers_ = new Set();\n this.batchId_ = void 0;\n this.diffValue_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.NOT_TRACKING_;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n this.name_ = name_;\n this.batchId_ = globalState.inBatch ? globalState.batchId : NaN;\n }\n // onBecomeObservedListeners\n var _proto = Atom.prototype;\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n /**\r\n * Invoke this method to notify mobx that your atom has been used somehow.\r\n * Returns true if there is currently a reactive context.\r\n */;\n _proto.reportObserved = function reportObserved$1() {\n return reportObserved(this);\n }\n /**\r\n * Invoke this method _after_ this method has changed to signal mobx that all its observers should invalidate.\r\n */;\n _proto.reportChanged = function reportChanged() {\n if (!globalState.inBatch || this.batchId_ !== globalState.batchId) {\n // We could update state version only at the end of batch,\n // but we would still have to switch some global flag here to signal a change.\n globalState.stateVersion = globalState.stateVersion < Number.MAX_SAFE_INTEGER ? globalState.stateVersion + 1 : Number.MIN_SAFE_INTEGER;\n // Avoids the possibility of hitting the same globalState.batchId when it cycled through all integers (necessary?)\n this.batchId_ = NaN;\n }\n startBatch();\n propagateChanged(this);\n endBatch();\n };\n _proto.toString = function toString() {\n return this.name_;\n };\n return Atom;\n}();\nvar isAtom = /*#__PURE__*/createInstanceofPredicate(\"Atom\", Atom);\nfunction createAtom(name, onBecomeObservedHandler, onBecomeUnobservedHandler) {\n if (onBecomeObservedHandler === void 0) {\n onBecomeObservedHandler = noop;\n }\n if (onBecomeUnobservedHandler === void 0) {\n onBecomeUnobservedHandler = noop;\n }\n var atom = new Atom(name);\n // default `noop` listener will not initialize the hook Set\n if (onBecomeObservedHandler !== noop) {\n onBecomeObserved(atom, onBecomeObservedHandler);\n }\n if (onBecomeUnobservedHandler !== noop) {\n onBecomeUnobserved(atom, onBecomeUnobservedHandler);\n }\n return atom;\n}\n\nfunction identityComparer(a, b) {\n return a === b;\n}\nfunction structuralComparer(a, b) {\n return deepEqual(a, b);\n}\nfunction shallowComparer(a, b) {\n return deepEqual(a, b, 1);\n}\nfunction defaultComparer(a, b) {\n if (Object.is) {\n return Object.is(a, b);\n }\n return a === b ? a !== 0 || 1 / a === 1 / b : a !== a && b !== b;\n}\nvar comparer = {\n identity: identityComparer,\n structural: structuralComparer,\n \"default\": defaultComparer,\n shallow: shallowComparer\n};\n\nfunction deepEnhancer(v, _, name) {\n // it is an observable already, done\n if (isObservable(v)) {\n return v;\n }\n // something that can be converted and mutated?\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name\n });\n }\n if (typeof v === \"function\" && !isAction(v) && !isFlow(v)) {\n if (isGenerator(v)) {\n return flow(v);\n } else {\n return autoAction(name, v);\n }\n }\n return v;\n}\nfunction shallowEnhancer(v, _, name) {\n if (v === undefined || v === null) {\n return v;\n }\n if (isObservableObject(v) || isObservableArray(v) || isObservableMap(v) || isObservableSet(v)) {\n return v;\n }\n if (Array.isArray(v)) {\n return observable.array(v, {\n name: name,\n deep: false\n });\n }\n if (isPlainObject(v)) {\n return observable.object(v, undefined, {\n name: name,\n deep: false\n });\n }\n if (isES6Map(v)) {\n return observable.map(v, {\n name: name,\n deep: false\n });\n }\n if (isES6Set(v)) {\n return observable.set(v, {\n name: name,\n deep: false\n });\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets\");\n }\n}\nfunction referenceEnhancer(newValue) {\n // never turn into an observable\n return newValue;\n}\nfunction refStructEnhancer(v, oldValue) {\n if (process.env.NODE_ENV !== \"production\" && isObservable(v)) {\n die(\"observable.struct should not be used with observable values\");\n }\n if (deepEqual(v, oldValue)) {\n return oldValue;\n }\n return v;\n}\n\nvar OVERRIDE = \"override\";\nvar override = /*#__PURE__*/createDecoratorAnnotation({\n annotationType_: OVERRIDE,\n make_: make_,\n extend_: extend_\n});\nfunction isOverride(annotation) {\n return annotation.annotationType_ === OVERRIDE;\n}\nfunction make_(adm, key) {\n // Must not be plain object\n if (process.env.NODE_ENV !== \"production\" && adm.isPlainObject_) {\n die(\"Cannot apply '\" + this.annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + this.annotationType_ + \"' cannot be used on plain objects.\"));\n }\n // Must override something\n if (process.env.NODE_ENV !== \"production\" && !hasProp(adm.appliedAnnotations_, key)) {\n die(\"'\" + adm.name_ + \".\" + key.toString() + \"' is annotated with '\" + this.annotationType_ + \"', \" + \"but no such annotated member was found on prototype.\");\n }\n return 0 /* Cancel */;\n}\n\nfunction extend_(adm, key, descriptor, proxyTrap) {\n die(\"'\" + this.annotationType_ + \"' can only be used with 'makeObservable'\");\n}\n\nfunction createActionAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$1,\n extend_: extend_$1\n };\n}\nfunction make_$1(adm, key, descriptor, source) {\n var _this$options_;\n // bound\n if ((_this$options_ = this.options_) != null && _this$options_.bound) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* Cancel */ : 1 /* Break */;\n }\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* Cancel */ : 2 /* Continue */;\n }\n // prototype\n if (isAction(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* Break */;\n }\n\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor, false);\n defineProperty(source, key, actionDescriptor);\n return 2 /* Continue */;\n}\n\nfunction extend_$1(adm, key, descriptor, proxyTrap) {\n var actionDescriptor = createActionDescriptor(adm, this, key, descriptor);\n return adm.defineProperty_(key, actionDescriptor, proxyTrap);\n}\nfunction assertActionDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a function value.\"));\n }\n}\nfunction createActionDescriptor(adm, annotation, key, descriptor,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n var _annotation$options_, _annotation$options_$, _annotation$options_2, _annotation$options_$2, _annotation$options_3, _annotation$options_4, _adm$proxy_2;\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertActionDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n if ((_annotation$options_ = annotation.options_) != null && _annotation$options_.bound) {\n var _adm$proxy_;\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return {\n value: createAction((_annotation$options_$ = (_annotation$options_2 = annotation.options_) == null ? void 0 : _annotation$options_2.name) != null ? _annotation$options_$ : key.toString(), value, (_annotation$options_$2 = (_annotation$options_3 = annotation.options_) == null ? void 0 : _annotation$options_3.autoAction) != null ? _annotation$options_$2 : false,\n // https://github.com/mobxjs/mobx/discussions/3140\n (_annotation$options_4 = annotation.options_) != null && _annotation$options_4.bound ? (_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_ : undefined),\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createFlowAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$2,\n extend_: extend_$2\n };\n}\nfunction make_$2(adm, key, descriptor, source) {\n var _this$options_;\n // own\n if (source === adm.target_) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* Cancel */ : 2 /* Continue */;\n }\n // prototype\n // bound - must annotate protos to support super.flow()\n if ((_this$options_ = this.options_) != null && _this$options_.bound && (!hasProp(adm.target_, key) || !isFlow(adm.target_[key]))) {\n if (this.extend_(adm, key, descriptor, false) === null) {\n return 0 /* Cancel */;\n }\n }\n\n if (isFlow(descriptor.value)) {\n // A prototype could have been annotated already by other constructor,\n // rest of the proto chain must be annotated already\n return 1 /* Break */;\n }\n\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, false, false);\n defineProperty(source, key, flowDescriptor);\n return 2 /* Continue */;\n}\n\nfunction extend_$2(adm, key, descriptor, proxyTrap) {\n var _this$options_2;\n var flowDescriptor = createFlowDescriptor(adm, this, key, descriptor, (_this$options_2 = this.options_) == null ? void 0 : _this$options_2.bound);\n return adm.defineProperty_(key, flowDescriptor, proxyTrap);\n}\nfunction assertFlowDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var value = _ref2.value;\n if (process.env.NODE_ENV !== \"production\" && !isFunction(value)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on properties with a generator function value.\"));\n }\n}\nfunction createFlowDescriptor(adm, annotation, key, descriptor, bound,\n// provides ability to disable safeDescriptors for prototypes\nsafeDescriptors) {\n if (safeDescriptors === void 0) {\n safeDescriptors = globalState.safeDescriptors;\n }\n assertFlowDescriptor(adm, annotation, key, descriptor);\n var value = descriptor.value;\n // In case of flow.bound, the descriptor can be from already annotated prototype\n if (!isFlow(value)) {\n value = flow(value);\n }\n if (bound) {\n var _adm$proxy_;\n // We do not keep original function around, so we bind the existing flow\n value = value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n // This is normally set by `flow`, but `bind` returns new function...\n value.isMobXFlow = true;\n }\n return {\n value: value,\n // Non-configurable for classes\n // prevents accidental field redefinition in subclass\n configurable: safeDescriptors ? adm.isPlainObject_ : true,\n // https://github.com/mobxjs/mobx/pull/2641#issuecomment-737292058\n enumerable: false,\n // Non-obsevable, therefore non-writable\n // Also prevents rewriting in subclass constructor\n writable: safeDescriptors ? false : true\n };\n}\n\nfunction createComputedAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$3,\n extend_: extend_$3\n };\n}\nfunction make_$3(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* Cancel */ : 1 /* Break */;\n}\n\nfunction extend_$3(adm, key, descriptor, proxyTrap) {\n assertComputedDescriptor(adm, this, key, descriptor);\n return adm.defineComputedProperty_(key, _extends({}, this.options_, {\n get: descriptor.get,\n set: descriptor.set\n }), proxyTrap);\n}\nfunction assertComputedDescriptor(adm, _ref, key, _ref2) {\n var annotationType_ = _ref.annotationType_;\n var get = _ref2.get;\n if (process.env.NODE_ENV !== \"production\" && !get) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' can only be used on getter(+setter) properties.\"));\n }\n}\n\nfunction createObservableAnnotation(name, options) {\n return {\n annotationType_: name,\n options_: options,\n make_: make_$4,\n extend_: extend_$4\n };\n}\nfunction make_$4(adm, key, descriptor) {\n return this.extend_(adm, key, descriptor, false) === null ? 0 /* Cancel */ : 1 /* Break */;\n}\n\nfunction extend_$4(adm, key, descriptor, proxyTrap) {\n var _this$options_$enhanc, _this$options_;\n assertObservableDescriptor(adm, this, key, descriptor);\n return adm.defineObservableProperty_(key, descriptor.value, (_this$options_$enhanc = (_this$options_ = this.options_) == null ? void 0 : _this$options_.enhancer) != null ? _this$options_$enhanc : deepEnhancer, proxyTrap);\n}\nfunction assertObservableDescriptor(adm, _ref, key, descriptor) {\n var annotationType_ = _ref.annotationType_;\n if (process.env.NODE_ENV !== \"production\" && !(\"value\" in descriptor)) {\n die(\"Cannot apply '\" + annotationType_ + \"' to '\" + adm.name_ + \".\" + key.toString() + \"':\" + (\"\\n'\" + annotationType_ + \"' cannot be used on getter/setter properties\"));\n }\n}\n\nvar AUTO = \"true\";\nvar autoAnnotation = /*#__PURE__*/createAutoAnnotation();\nfunction createAutoAnnotation(options) {\n return {\n annotationType_: AUTO,\n options_: options,\n make_: make_$5,\n extend_: extend_$5\n };\n}\nfunction make_$5(adm, key, descriptor, source) {\n var _this$options_3, _this$options_4;\n // getter -> computed\n if (descriptor.get) {\n return computed.make_(adm, key, descriptor, source);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.make_\n var set = createAction(key.toString(), descriptor.set);\n // own\n if (source === adm.target_) {\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: set\n }) === null ? 0 /* Cancel */ : 2 /* Continue */;\n }\n // proto\n defineProperty(source, key, {\n configurable: true,\n set: set\n });\n return 2 /* Continue */;\n }\n // function on proto -> autoAction/flow\n if (source !== adm.target_ && typeof descriptor.value === \"function\") {\n var _this$options_2;\n if (isGenerator(descriptor.value)) {\n var _this$options_;\n var flowAnnotation = (_this$options_ = this.options_) != null && _this$options_.autoBind ? flow.bound : flow;\n return flowAnnotation.make_(adm, key, descriptor, source);\n }\n var actionAnnotation = (_this$options_2 = this.options_) != null && _this$options_2.autoBind ? autoAction.bound : autoAction;\n return actionAnnotation.make_(adm, key, descriptor, source);\n }\n // other -> observable\n // Copy props from proto as well, see test:\n // \"decorate should work with Object.create\"\n var observableAnnotation = ((_this$options_3 = this.options_) == null ? void 0 : _this$options_3.deep) === false ? observable.ref : observable;\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_4 = this.options_) != null && _this$options_4.autoBind) {\n var _adm$proxy_;\n descriptor.value = descriptor.value.bind((_adm$proxy_ = adm.proxy_) != null ? _adm$proxy_ : adm.target_);\n }\n return observableAnnotation.make_(adm, key, descriptor, source);\n}\nfunction extend_$5(adm, key, descriptor, proxyTrap) {\n var _this$options_5, _this$options_6;\n // getter -> computed\n if (descriptor.get) {\n return computed.extend_(adm, key, descriptor, proxyTrap);\n }\n // lone setter -> action setter\n if (descriptor.set) {\n // TODO make action applicable to setter and delegate to action.extend_\n return adm.defineProperty_(key, {\n configurable: globalState.safeDescriptors ? adm.isPlainObject_ : true,\n set: createAction(key.toString(), descriptor.set)\n }, proxyTrap);\n }\n // other -> observable\n // if function respect autoBind option\n if (typeof descriptor.value === \"function\" && (_this$options_5 = this.options_) != null && _this$options_5.autoBind) {\n var _adm$proxy_2;\n descriptor.value = descriptor.value.bind((_adm$proxy_2 = adm.proxy_) != null ? _adm$proxy_2 : adm.target_);\n }\n var observableAnnotation = ((_this$options_6 = this.options_) == null ? void 0 : _this$options_6.deep) === false ? observable.ref : observable;\n return observableAnnotation.extend_(adm, key, descriptor, proxyTrap);\n}\n\nvar OBSERVABLE = \"observable\";\nvar OBSERVABLE_REF = \"observable.ref\";\nvar OBSERVABLE_SHALLOW = \"observable.shallow\";\nvar OBSERVABLE_STRUCT = \"observable.struct\";\n// Predefined bags of create observable options, to avoid allocating temporarily option objects\n// in the majority of cases\nvar defaultCreateObservableOptions = {\n deep: true,\n name: undefined,\n defaultDecorator: undefined,\n proxy: true\n};\nObject.freeze(defaultCreateObservableOptions);\nfunction asCreateObservableOptions(thing) {\n return thing || defaultCreateObservableOptions;\n}\nvar observableAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE);\nvar observableRefAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_REF, {\n enhancer: referenceEnhancer\n});\nvar observableShallowAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_SHALLOW, {\n enhancer: shallowEnhancer\n});\nvar observableStructAnnotation = /*#__PURE__*/createObservableAnnotation(OBSERVABLE_STRUCT, {\n enhancer: refStructEnhancer\n});\nvar observableDecoratorAnnotation = /*#__PURE__*/createDecoratorAnnotation(observableAnnotation);\nfunction getEnhancerFromOptions(options) {\n return options.deep === true ? deepEnhancer : options.deep === false ? referenceEnhancer : getEnhancerFromAnnotation(options.defaultDecorator);\n}\nfunction getAnnotationFromOptions(options) {\n var _options$defaultDecor;\n return options ? (_options$defaultDecor = options.defaultDecorator) != null ? _options$defaultDecor : createAutoAnnotation(options) : undefined;\n}\nfunction getEnhancerFromAnnotation(annotation) {\n var _annotation$options_$, _annotation$options_;\n return !annotation ? deepEnhancer : (_annotation$options_$ = (_annotation$options_ = annotation.options_) == null ? void 0 : _annotation$options_.enhancer) != null ? _annotation$options_$ : deepEnhancer;\n}\n/**\r\n * Turns an object, array or function into a reactive structure.\r\n * @param v the value which should become observable.\r\n */\nfunction createObservable(v, arg2, arg3) {\n // @observable someProp;\n if (isStringish(arg2)) {\n storeAnnotation(v, arg2, observableAnnotation);\n return;\n }\n // already observable - ignore\n if (isObservable(v)) {\n return v;\n }\n // plain object\n if (isPlainObject(v)) {\n return observable.object(v, arg2, arg3);\n }\n // Array\n if (Array.isArray(v)) {\n return observable.array(v, arg2);\n }\n // Map\n if (isES6Map(v)) {\n return observable.map(v, arg2);\n }\n // Set\n if (isES6Set(v)) {\n return observable.set(v, arg2);\n }\n // other object - ignore\n if (typeof v === \"object\" && v !== null) {\n return v;\n }\n // anything else\n return observable.box(v, arg2);\n}\nassign(createObservable, observableDecoratorAnnotation);\nvar observableFactories = {\n box: function box(value, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableValue(value, getEnhancerFromOptions(o), o.name, true, o.equals);\n },\n array: function array(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return (globalState.useProxies === false || o.proxy === false ? createLegacyArray : createObservableArray)(initialValues, getEnhancerFromOptions(o), o.name);\n },\n map: function map(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableMap(initialValues, getEnhancerFromOptions(o), o.name);\n },\n set: function set(initialValues, options) {\n var o = asCreateObservableOptions(options);\n return new ObservableSet(initialValues, getEnhancerFromOptions(o), o.name);\n },\n object: function object(props, decorators, options) {\n return initObservable(function () {\n return extendObservable(globalState.useProxies === false || (options == null ? void 0 : options.proxy) === false ? asObservableObject({}, options) : asDynamicObservableObject({}, options), props, decorators);\n });\n },\n ref: /*#__PURE__*/createDecoratorAnnotation(observableRefAnnotation),\n shallow: /*#__PURE__*/createDecoratorAnnotation(observableShallowAnnotation),\n deep: observableDecoratorAnnotation,\n struct: /*#__PURE__*/createDecoratorAnnotation(observableStructAnnotation)\n};\n// eslint-disable-next-line\nvar observable = /*#__PURE__*/assign(createObservable, observableFactories);\n\nvar COMPUTED = \"computed\";\nvar COMPUTED_STRUCT = \"computed.struct\";\nvar computedAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED);\nvar computedStructAnnotation = /*#__PURE__*/createComputedAnnotation(COMPUTED_STRUCT, {\n equals: comparer.structural\n});\n/**\r\n * Decorator for class properties: @computed get value() { return expr; }.\r\n * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`;\r\n */\nvar computed = function computed(arg1, arg2) {\n if (isStringish(arg2)) {\n // @computed\n return storeAnnotation(arg1, arg2, computedAnnotation);\n }\n if (isPlainObject(arg1)) {\n // @computed({ options })\n return createDecoratorAnnotation(createComputedAnnotation(COMPUTED, arg1));\n }\n // computed(expr, options?)\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(arg1)) {\n die(\"First argument to `computed` should be an expression.\");\n }\n if (isFunction(arg2)) {\n die(\"A setter as second argument is no longer supported, use `{ set: fn }` option instead\");\n }\n }\n var opts = isPlainObject(arg2) ? arg2 : {};\n opts.get = arg1;\n opts.name || (opts.name = arg1.name || \"\"); /* for generated name */\n return new ComputedValue(opts);\n};\nObject.assign(computed, computedAnnotation);\ncomputed.struct = /*#__PURE__*/createDecoratorAnnotation(computedStructAnnotation);\n\nvar _getDescriptor$config, _getDescriptor;\n// we don't use globalState for these in order to avoid possible issues with multiple\n// mobx versions\nvar currentActionId = 0;\nvar nextActionId = 1;\nvar isFunctionNameConfigurable = (_getDescriptor$config = (_getDescriptor = /*#__PURE__*/getDescriptor(function () {}, \"name\")) == null ? void 0 : _getDescriptor.configurable) != null ? _getDescriptor$config : false;\n// we can safely recycle this object\nvar tmpNameDescriptor = {\n value: \"action\",\n configurable: true,\n writable: false,\n enumerable: false\n};\nfunction createAction(actionName, fn, autoAction, ref) {\n if (autoAction === void 0) {\n autoAction = false;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(fn)) {\n die(\"`action` can only be invoked on functions\");\n }\n if (typeof actionName !== \"string\" || !actionName) {\n die(\"actions should have valid names, got: '\" + actionName + \"'\");\n }\n }\n function res() {\n return executeAction(actionName, autoAction, fn, ref || this, arguments);\n }\n res.isMobxAction = true;\n if (isFunctionNameConfigurable) {\n tmpNameDescriptor.value = actionName;\n defineProperty(res, \"name\", tmpNameDescriptor);\n }\n return res;\n}\nfunction executeAction(actionName, canRunAsDerivation, fn, scope, args) {\n var runInfo = _startAction(actionName, canRunAsDerivation, scope, args);\n try {\n return fn.apply(scope, args);\n } catch (err) {\n runInfo.error_ = err;\n throw err;\n } finally {\n _endAction(runInfo);\n }\n}\nfunction _startAction(actionName, canRunAsDerivation,\n// true for autoAction\nscope, args) {\n var notifySpy_ = process.env.NODE_ENV !== \"production\" && isSpyEnabled() && !!actionName;\n var startTime_ = 0;\n if (process.env.NODE_ENV !== \"production\" && notifySpy_) {\n startTime_ = Date.now();\n var flattenedArgs = args ? Array.from(args) : EMPTY_ARRAY;\n spyReportStart({\n type: ACTION,\n name: actionName,\n object: scope,\n arguments: flattenedArgs\n });\n }\n var prevDerivation_ = globalState.trackingDerivation;\n var runAsAction = !canRunAsDerivation || !prevDerivation_;\n startBatch();\n var prevAllowStateChanges_ = globalState.allowStateChanges; // by default preserve previous allow\n if (runAsAction) {\n untrackedStart();\n prevAllowStateChanges_ = allowStateChangesStart(true);\n }\n var prevAllowStateReads_ = allowStateReadsStart(true);\n var runInfo = {\n runAsAction_: runAsAction,\n prevDerivation_: prevDerivation_,\n prevAllowStateChanges_: prevAllowStateChanges_,\n prevAllowStateReads_: prevAllowStateReads_,\n notifySpy_: notifySpy_,\n startTime_: startTime_,\n actionId_: nextActionId++,\n parentActionId_: currentActionId\n };\n currentActionId = runInfo.actionId_;\n return runInfo;\n}\nfunction _endAction(runInfo) {\n if (currentActionId !== runInfo.actionId_) {\n die(30);\n }\n currentActionId = runInfo.parentActionId_;\n if (runInfo.error_ !== undefined) {\n globalState.suppressReactionErrors = true;\n }\n allowStateChangesEnd(runInfo.prevAllowStateChanges_);\n allowStateReadsEnd(runInfo.prevAllowStateReads_);\n endBatch();\n if (runInfo.runAsAction_) {\n untrackedEnd(runInfo.prevDerivation_);\n }\n if (process.env.NODE_ENV !== \"production\" && runInfo.notifySpy_) {\n spyReportEnd({\n time: Date.now() - runInfo.startTime_\n });\n }\n globalState.suppressReactionErrors = false;\n}\nfunction allowStateChanges(allowStateChanges, func) {\n var prev = allowStateChangesStart(allowStateChanges);\n try {\n return func();\n } finally {\n allowStateChangesEnd(prev);\n }\n}\nfunction allowStateChangesStart(allowStateChanges) {\n var prev = globalState.allowStateChanges;\n globalState.allowStateChanges = allowStateChanges;\n return prev;\n}\nfunction allowStateChangesEnd(prev) {\n globalState.allowStateChanges = prev;\n}\n\nvar _Symbol$toPrimitive;\nvar CREATE = \"create\";\n_Symbol$toPrimitive = Symbol.toPrimitive;\nvar ObservableValue = /*#__PURE__*/function (_Atom) {\n _inheritsLoose(ObservableValue, _Atom);\n function ObservableValue(value, enhancer, name_, notifySpy, equals) {\n var _this;\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableValue@\" + getNextId() : \"ObservableValue\";\n }\n if (notifySpy === void 0) {\n notifySpy = true;\n }\n if (equals === void 0) {\n equals = comparer[\"default\"];\n }\n _this = _Atom.call(this, name_) || this;\n _this.enhancer = void 0;\n _this.name_ = void 0;\n _this.equals = void 0;\n _this.hasUnreportedChange_ = false;\n _this.interceptors_ = void 0;\n _this.changeListeners_ = void 0;\n _this.value_ = void 0;\n _this.dehancer = void 0;\n _this.enhancer = enhancer;\n _this.name_ = name_;\n _this.equals = equals;\n _this.value_ = enhancer(value, undefined, name_);\n if (process.env.NODE_ENV !== \"production\" && notifySpy && isSpyEnabled()) {\n // only notify spy if this is a stand-alone observable\n spyReport({\n type: CREATE,\n object: _assertThisInitialized(_this),\n observableKind: \"value\",\n debugObjectName: _this.name_,\n newValue: \"\" + _this.value_\n });\n }\n return _this;\n }\n var _proto = ObservableValue.prototype;\n _proto.dehanceValue = function dehanceValue(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.set = function set(newValue) {\n var oldValue = this.value_;\n newValue = this.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart({\n type: UPDATE,\n object: this,\n observableKind: \"value\",\n debugObjectName: this.name_,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n this.setNewValue_(newValue);\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.prepareNewValue_ = function prepareNewValue_(newValue) {\n checkIfStateModificationsAreAllowed(this);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this,\n type: UPDATE,\n newValue: newValue\n });\n if (!change) {\n return globalState.UNCHANGED;\n }\n newValue = change.newValue;\n }\n // apply modifier\n newValue = this.enhancer(newValue, this.value_, this.name_);\n return this.equals(this.value_, newValue) ? globalState.UNCHANGED : newValue;\n };\n _proto.setNewValue_ = function setNewValue_(newValue) {\n var oldValue = this.value_;\n this.value_ = newValue;\n this.reportChanged();\n if (hasListeners(this)) {\n notifyListeners(this, {\n type: UPDATE,\n object: this,\n newValue: newValue,\n oldValue: oldValue\n });\n }\n };\n _proto.get = function get() {\n this.reportObserved();\n return this.dehanceValue(this.value_);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately) {\n listener({\n observableKind: \"value\",\n debugObjectName: this.name_,\n object: this,\n type: UPDATE,\n newValue: this.value_,\n oldValue: undefined\n });\n }\n return registerListener(this, listener);\n };\n _proto.raw = function raw() {\n // used by MST ot get undehanced value\n return this.value_;\n };\n _proto.toJSON = function toJSON() {\n return this.get();\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.value_ + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive] = function () {\n return this.valueOf();\n };\n return ObservableValue;\n}(Atom);\nvar isObservableValue = /*#__PURE__*/createInstanceofPredicate(\"ObservableValue\", ObservableValue);\n\nvar _Symbol$toPrimitive$1;\n/**\r\n * A node in the state dependency root that observes other nodes, and can be observed itself.\r\n *\r\n * ComputedValue will remember the result of the computation for the duration of the batch, or\r\n * while being observed.\r\n *\r\n * During this time it will recompute only when one of its direct dependencies changed,\r\n * but only when it is being accessed with `ComputedValue.get()`.\r\n *\r\n * Implementation description:\r\n * 1. First time it's being accessed it will compute and remember result\r\n * give back remembered result until 2. happens\r\n * 2. First time any deep dependency change, propagate POSSIBLY_STALE to all observers, wait for 3.\r\n * 3. When it's being accessed, recompute if any shallow dependency changed.\r\n * if result changed: propagate STALE to all observers, that were POSSIBLY_STALE from the last step.\r\n * go to step 2. either way\r\n *\r\n * If at any point it's outside batch and it isn't observed: reset everything and go to 1.\r\n */\n_Symbol$toPrimitive$1 = Symbol.toPrimitive;\nvar ComputedValue = /*#__PURE__*/function () {\n // nodes we are looking at. Our value depends on these nodes\n // during tracking it's an array with new observed observers\n\n // to check for cycles\n\n // N.B: unminified as it is used by MST\n\n /**\r\n * Create a new computed value based on a function expression.\r\n *\r\n * The `name` property is for debug purposes only.\r\n *\r\n * The `equals` property specifies the comparer function to use to determine if a newly produced\r\n * value differs from the previous value. Two comparers are provided in the library; `defaultComparer`\r\n * compares based on identity comparison (===), and `structuralComparer` deeply compares the structure.\r\n * Structural comparison can be convenient if you always produce a new aggregated object and\r\n * don't want to notify observers if it is structurally the same.\r\n * This is useful for working with vectors, mouse coordinates etc.\r\n */\n function ComputedValue(options) {\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.observing_ = [];\n this.newObserving_ = null;\n this.isBeingObserved_ = false;\n this.isPendingUnobservation_ = false;\n this.observers_ = new Set();\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.lastAccessedBy_ = 0;\n this.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n this.unboundDepsCount_ = 0;\n this.value_ = new CaughtException(null);\n this.name_ = void 0;\n this.triggeredBy_ = void 0;\n this.isComputing_ = false;\n this.isRunningSetter_ = false;\n this.derivation = void 0;\n this.setter_ = void 0;\n this.isTracing_ = TraceMode.NONE;\n this.scope_ = void 0;\n this.equals_ = void 0;\n this.requiresReaction_ = void 0;\n this.keepAlive_ = void 0;\n this.onBOL = void 0;\n this.onBUOL = void 0;\n if (!options.get) {\n die(31);\n }\n this.derivation = options.get;\n this.name_ = options.name || (process.env.NODE_ENV !== \"production\" ? \"ComputedValue@\" + getNextId() : \"ComputedValue\");\n if (options.set) {\n this.setter_ = createAction(process.env.NODE_ENV !== \"production\" ? this.name_ + \"-setter\" : \"ComputedValue-setter\", options.set);\n }\n this.equals_ = options.equals || (options.compareStructural || options.struct ? comparer.structural : comparer[\"default\"]);\n this.scope_ = options.context;\n this.requiresReaction_ = options.requiresReaction;\n this.keepAlive_ = !!options.keepAlive;\n }\n var _proto = ComputedValue.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n propagateMaybeChanged(this);\n };\n _proto.onBO = function onBO() {\n if (this.onBOL) {\n this.onBOL.forEach(function (listener) {\n return listener();\n });\n }\n };\n _proto.onBUO = function onBUO() {\n if (this.onBUOL) {\n this.onBUOL.forEach(function (listener) {\n return listener();\n });\n }\n }\n /**\r\n * Returns the current value of this computed value.\r\n * Will evaluate its computation first if needed.\r\n */;\n _proto.get = function get() {\n if (this.isComputing_) {\n die(32, this.name_, this.derivation);\n }\n if (globalState.inBatch === 0 &&\n // !globalState.trackingDerivatpion &&\n this.observers_.size === 0 && !this.keepAlive_) {\n if (shouldCompute(this)) {\n this.warnAboutUntrackedRead_();\n startBatch(); // See perf test 'computed memoization'\n this.value_ = this.computeValue_(false);\n endBatch();\n }\n } else {\n reportObserved(this);\n if (shouldCompute(this)) {\n var prevTrackingContext = globalState.trackingContext;\n if (this.keepAlive_ && !prevTrackingContext) {\n globalState.trackingContext = this;\n }\n if (this.trackAndCompute()) {\n propagateChangeConfirmed(this);\n }\n globalState.trackingContext = prevTrackingContext;\n }\n }\n var result = this.value_;\n if (isCaughtException(result)) {\n throw result.cause;\n }\n return result;\n };\n _proto.set = function set(value) {\n if (this.setter_) {\n if (this.isRunningSetter_) {\n die(33, this.name_);\n }\n this.isRunningSetter_ = true;\n try {\n this.setter_.call(this.scope_, value);\n } finally {\n this.isRunningSetter_ = false;\n }\n } else {\n die(34, this.name_);\n }\n };\n _proto.trackAndCompute = function trackAndCompute() {\n // N.B: unminified as it is used by MST\n var oldValue = this.value_;\n var wasSuspended = /* see #1208 */this.dependenciesState_ === IDerivationState_.NOT_TRACKING_;\n var newValue = this.computeValue_(true);\n var changed = wasSuspended || isCaughtException(oldValue) || isCaughtException(newValue) || !this.equals_(oldValue, newValue);\n if (changed) {\n this.value_ = newValue;\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n observableKind: \"computed\",\n debugObjectName: this.name_,\n object: this.scope_,\n type: \"update\",\n oldValue: oldValue,\n newValue: newValue\n });\n }\n }\n return changed;\n };\n _proto.computeValue_ = function computeValue_(track) {\n this.isComputing_ = true;\n // don't allow state changes during computation\n var prev = allowStateChangesStart(false);\n var res;\n if (track) {\n res = trackDerivedFunction(this, this.derivation, this.scope_);\n } else {\n if (globalState.disableErrorBoundaries === true) {\n res = this.derivation.call(this.scope_);\n } else {\n try {\n res = this.derivation.call(this.scope_);\n } catch (e) {\n res = new CaughtException(e);\n }\n }\n }\n allowStateChangesEnd(prev);\n this.isComputing_ = false;\n return res;\n };\n _proto.suspend_ = function suspend_() {\n if (!this.keepAlive_) {\n clearObserving(this);\n this.value_ = undefined; // don't hold on to computed value!\n if (process.env.NODE_ENV !== \"production\" && this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' was suspended and it will recompute on the next access.\");\n }\n }\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n var _this = this;\n var firstTime = true;\n var prevValue = undefined;\n return autorun(function () {\n // TODO: why is this in a different place than the spyReport() function? in all other observables it's called in the same place\n var newValue = _this.get();\n if (!firstTime || fireImmediately) {\n var prevU = untrackedStart();\n listener({\n observableKind: \"computed\",\n debugObjectName: _this.name_,\n type: UPDATE,\n object: _this,\n newValue: newValue,\n oldValue: prevValue\n });\n untrackedEnd(prevU);\n }\n firstTime = false;\n prevValue = newValue;\n });\n };\n _proto.warnAboutUntrackedRead_ = function warnAboutUntrackedRead_() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (this.isTracing_ !== TraceMode.NONE) {\n console.log(\"[mobx.trace] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n if (typeof this.requiresReaction_ === \"boolean\" ? this.requiresReaction_ : globalState.computedRequiresReaction) {\n console.warn(\"[mobx] Computed value '\" + this.name_ + \"' is being read outside a reactive context. Doing a full recompute.\");\n }\n };\n _proto.toString = function toString() {\n return this.name_ + \"[\" + this.derivation.toString() + \"]\";\n };\n _proto.valueOf = function valueOf() {\n return toPrimitive(this.get());\n };\n _proto[_Symbol$toPrimitive$1] = function () {\n return this.valueOf();\n };\n return ComputedValue;\n}();\nvar isComputedValue = /*#__PURE__*/createInstanceofPredicate(\"ComputedValue\", ComputedValue);\n\nvar IDerivationState_;\n(function (IDerivationState_) {\n // before being run or (outside batch and not being observed)\n // at this point derivation is not holding any data about dependency tree\n IDerivationState_[IDerivationState_[\"NOT_TRACKING_\"] = -1] = \"NOT_TRACKING_\";\n // no shallow dependency changed since last computation\n // won't recalculate derivation\n // this is what makes mobx fast\n IDerivationState_[IDerivationState_[\"UP_TO_DATE_\"] = 0] = \"UP_TO_DATE_\";\n // some deep dependency changed, but don't know if shallow dependency changed\n // will require to check first if UP_TO_DATE or POSSIBLY_STALE\n // currently only ComputedValue will propagate POSSIBLY_STALE\n //\n // having this state is second big optimization:\n // don't have to recompute on every dependency change, but only when it's needed\n IDerivationState_[IDerivationState_[\"POSSIBLY_STALE_\"] = 1] = \"POSSIBLY_STALE_\";\n // A shallow dependency has changed since last computation and the derivation\n // will need to recompute when it's needed next.\n IDerivationState_[IDerivationState_[\"STALE_\"] = 2] = \"STALE_\";\n})(IDerivationState_ || (IDerivationState_ = {}));\nvar TraceMode;\n(function (TraceMode) {\n TraceMode[TraceMode[\"NONE\"] = 0] = \"NONE\";\n TraceMode[TraceMode[\"LOG\"] = 1] = \"LOG\";\n TraceMode[TraceMode[\"BREAK\"] = 2] = \"BREAK\";\n})(TraceMode || (TraceMode = {}));\nvar CaughtException = function CaughtException(cause) {\n this.cause = void 0;\n this.cause = cause;\n // Empty\n};\n\nfunction isCaughtException(e) {\n return e instanceof CaughtException;\n}\n/**\r\n * Finds out whether any dependency of the derivation has actually changed.\r\n * If dependenciesState is 1 then it will recalculate dependencies,\r\n * if any dependency changed it will propagate it by changing dependenciesState to 2.\r\n *\r\n * By iterating over the dependencies in the same order that they were reported and\r\n * stopping on the first change, all the recalculations are only called for ComputedValues\r\n * that will be tracked by derivation. That is because we assume that if the first x\r\n * dependencies of the derivation doesn't change then the derivation should run the same way\r\n * up until accessing x-th dependency.\r\n */\nfunction shouldCompute(derivation) {\n switch (derivation.dependenciesState_) {\n case IDerivationState_.UP_TO_DATE_:\n return false;\n case IDerivationState_.NOT_TRACKING_:\n case IDerivationState_.STALE_:\n return true;\n case IDerivationState_.POSSIBLY_STALE_:\n {\n // state propagation can occur outside of action/reactive context #2195\n var prevAllowStateReads = allowStateReadsStart(true);\n var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.\n var obs = derivation.observing_,\n l = obs.length;\n for (var i = 0; i < l; i++) {\n var obj = obs[i];\n if (isComputedValue(obj)) {\n if (globalState.disableErrorBoundaries) {\n obj.get();\n } else {\n try {\n obj.get();\n } catch (e) {\n // we are not interested in the value *or* exception at this moment, but if there is one, notify all\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n // if ComputedValue `obj` actually changed it will be computed and propagated to its observers.\n // and `derivation` is an observer of `obj`\n // invariantShouldCompute(derivation)\n if (derivation.dependenciesState_ === IDerivationState_.STALE_) {\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return true;\n }\n }\n }\n changeDependenciesStateTo0(derivation);\n untrackedEnd(prevUntracked);\n allowStateReadsEnd(prevAllowStateReads);\n return false;\n }\n }\n}\nfunction isComputingDerivation() {\n return globalState.trackingDerivation !== null; // filter out actions inside computations\n}\n\nfunction checkIfStateModificationsAreAllowed(atom) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var hasObservers = atom.observers_.size > 0;\n // Should not be possible to change observed state outside strict mode, except during initialization, see #563\n if (!globalState.allowStateChanges && (hasObservers || globalState.enforceActions === \"always\")) {\n console.warn(\"[MobX] \" + (globalState.enforceActions ? \"Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: \" : \"Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: \") + atom.name_);\n }\n}\nfunction checkIfStateReadsAreAllowed(observable) {\n if (process.env.NODE_ENV !== \"production\" && !globalState.allowStateReads && globalState.observableRequiresReaction) {\n console.warn(\"[mobx] Observable '\" + observable.name_ + \"' being read outside a reactive context.\");\n }\n}\n/**\r\n * Executes the provided function `f` and tracks which observables are being accessed.\r\n * The tracking information is stored on the `derivation` object and the derivation is registered\r\n * as observer of any of the accessed observables.\r\n */\nfunction trackDerivedFunction(derivation, f, context) {\n var prevAllowStateReads = allowStateReadsStart(true);\n // pre allocate array allocation + room for variation in deps\n // array will be trimmed by bindDependencies\n changeDependenciesStateTo0(derivation);\n derivation.newObserving_ = new Array(derivation.observing_.length + 100);\n derivation.unboundDepsCount_ = 0;\n derivation.runId_ = ++globalState.runId;\n var prevTracking = globalState.trackingDerivation;\n globalState.trackingDerivation = derivation;\n globalState.inBatch++;\n var result;\n if (globalState.disableErrorBoundaries === true) {\n result = f.call(context);\n } else {\n try {\n result = f.call(context);\n } catch (e) {\n result = new CaughtException(e);\n }\n }\n globalState.inBatch--;\n globalState.trackingDerivation = prevTracking;\n bindDependencies(derivation);\n warnAboutDerivationWithoutDependencies(derivation);\n allowStateReadsEnd(prevAllowStateReads);\n return result;\n}\nfunction warnAboutDerivationWithoutDependencies(derivation) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (derivation.observing_.length !== 0) {\n return;\n }\n if (typeof derivation.requiresObservable_ === \"boolean\" ? derivation.requiresObservable_ : globalState.reactionRequiresObservable) {\n console.warn(\"[mobx] Derivation '\" + derivation.name_ + \"' is created/updated without reading any observable value.\");\n }\n}\n/**\r\n * diffs newObserving with observing.\r\n * update observing to be newObserving with unique observables\r\n * notify observers that become observed/unobserved\r\n */\nfunction bindDependencies(derivation) {\n // invariant(derivation.dependenciesState !== IDerivationState.NOT_TRACKING, \"INTERNAL ERROR bindDependencies expects derivation.dependenciesState !== -1\");\n var prevObserving = derivation.observing_;\n var observing = derivation.observing_ = derivation.newObserving_;\n var lowestNewObservingDerivationState = IDerivationState_.UP_TO_DATE_;\n // Go through all new observables and check diffValue: (this list can contain duplicates):\n // 0: first occurrence, change to 1 and keep it\n // 1: extra occurrence, drop it\n var i0 = 0,\n l = derivation.unboundDepsCount_;\n for (var i = 0; i < l; i++) {\n var dep = observing[i];\n if (dep.diffValue_ === 0) {\n dep.diffValue_ = 1;\n if (i0 !== i) {\n observing[i0] = dep;\n }\n i0++;\n }\n // Upcast is 'safe' here, because if dep is IObservable, `dependenciesState` will be undefined,\n // not hitting the condition\n if (dep.dependenciesState_ > lowestNewObservingDerivationState) {\n lowestNewObservingDerivationState = dep.dependenciesState_;\n }\n }\n observing.length = i0;\n derivation.newObserving_ = null; // newObserving shouldn't be needed outside tracking (statement moved down to work around FF bug, see #614)\n // Go through all old observables and check diffValue: (it is unique after last bindDependencies)\n // 0: it's not in new observables, unobserve it\n // 1: it keeps being observed, don't want to notify it. change to 0\n l = prevObserving.length;\n while (l--) {\n var _dep = prevObserving[l];\n if (_dep.diffValue_ === 0) {\n removeObserver(_dep, derivation);\n }\n _dep.diffValue_ = 0;\n }\n // Go through all new observables and check diffValue: (now it should be unique)\n // 0: it was set to 0 in last loop. don't need to do anything.\n // 1: it wasn't observed, let's observe it. set back to 0\n while (i0--) {\n var _dep2 = observing[i0];\n if (_dep2.diffValue_ === 1) {\n _dep2.diffValue_ = 0;\n addObserver(_dep2, derivation);\n }\n }\n // Some new observed derivations may become stale during this derivation computation\n // so they have had no chance to propagate staleness (#916)\n if (lowestNewObservingDerivationState !== IDerivationState_.UP_TO_DATE_) {\n derivation.dependenciesState_ = lowestNewObservingDerivationState;\n derivation.onBecomeStale_();\n }\n}\nfunction clearObserving(derivation) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR clearObserving should be called only inside batch\");\n var obs = derivation.observing_;\n derivation.observing_ = [];\n var i = obs.length;\n while (i--) {\n removeObserver(obs[i], derivation);\n }\n derivation.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n}\nfunction untracked(action) {\n var prev = untrackedStart();\n try {\n return action();\n } finally {\n untrackedEnd(prev);\n }\n}\nfunction untrackedStart() {\n var prev = globalState.trackingDerivation;\n globalState.trackingDerivation = null;\n return prev;\n}\nfunction untrackedEnd(prev) {\n globalState.trackingDerivation = prev;\n}\nfunction allowStateReadsStart(allowStateReads) {\n var prev = globalState.allowStateReads;\n globalState.allowStateReads = allowStateReads;\n return prev;\n}\nfunction allowStateReadsEnd(prev) {\n globalState.allowStateReads = prev;\n}\n/**\r\n * needed to keep `lowestObserverState` correct. when changing from (2 or 1) to 0\r\n *\r\n */\nfunction changeDependenciesStateTo0(derivation) {\n if (derivation.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n return;\n }\n derivation.dependenciesState_ = IDerivationState_.UP_TO_DATE_;\n var obs = derivation.observing_;\n var i = obs.length;\n while (i--) {\n obs[i].lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n}\n\n/**\r\n * These values will persist if global state is reset\r\n */\nvar persistentKeys = [\"mobxGuid\", \"spyListeners\", \"enforceActions\", \"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"allowStateReads\", \"disableErrorBoundaries\", \"runId\", \"UNCHANGED\", \"useProxies\"];\nvar MobXGlobals = function MobXGlobals() {\n this.version = 6;\n this.UNCHANGED = {};\n this.trackingDerivation = null;\n this.trackingContext = null;\n this.runId = 0;\n this.mobxGuid = 0;\n this.inBatch = 0;\n this.batchId = Number.MIN_SAFE_INTEGER;\n this.pendingUnobservations = [];\n this.pendingReactions = [];\n this.isRunningReactions = false;\n this.allowStateChanges = false;\n this.allowStateReads = true;\n this.enforceActions = true;\n this.spyListeners = [];\n this.globalReactionErrorHandlers = [];\n this.computedRequiresReaction = false;\n this.reactionRequiresObservable = false;\n this.observableRequiresReaction = false;\n this.disableErrorBoundaries = false;\n this.suppressReactionErrors = false;\n this.useProxies = true;\n this.verifyProxies = false;\n this.safeDescriptors = true;\n this.stateVersion = Number.MIN_SAFE_INTEGER;\n};\nvar canMergeGlobalState = true;\nvar isolateCalled = false;\nvar globalState = /*#__PURE__*/function () {\n var global = /*#__PURE__*/getGlobal();\n if (global.__mobxInstanceCount > 0 && !global.__mobxGlobals) {\n canMergeGlobalState = false;\n }\n if (global.__mobxGlobals && global.__mobxGlobals.version !== new MobXGlobals().version) {\n canMergeGlobalState = false;\n }\n if (!canMergeGlobalState) {\n // Because this is a IIFE we need to let isolateCalled a chance to change\n // so we run it after the event loop completed at least 1 iteration\n setTimeout(function () {\n if (!isolateCalled) {\n die(35);\n }\n }, 1);\n return new MobXGlobals();\n } else if (global.__mobxGlobals) {\n global.__mobxInstanceCount += 1;\n if (!global.__mobxGlobals.UNCHANGED) {\n global.__mobxGlobals.UNCHANGED = {};\n } // make merge backward compatible\n return global.__mobxGlobals;\n } else {\n global.__mobxInstanceCount = 1;\n return global.__mobxGlobals = /*#__PURE__*/new MobXGlobals();\n }\n}();\nfunction isolateGlobalState() {\n if (globalState.pendingReactions.length || globalState.inBatch || globalState.isRunningReactions) {\n die(36);\n }\n isolateCalled = true;\n if (canMergeGlobalState) {\n var global = getGlobal();\n if (--global.__mobxInstanceCount === 0) {\n global.__mobxGlobals = undefined;\n }\n globalState = new MobXGlobals();\n }\n}\nfunction getGlobalState() {\n return globalState;\n}\n/**\r\n * For testing purposes only; this will break the internal state of existing observables,\r\n * but can be used to get back at a stable state after throwing errors\r\n */\nfunction resetGlobalState() {\n var defaultGlobals = new MobXGlobals();\n for (var key in defaultGlobals) {\n if (persistentKeys.indexOf(key) === -1) {\n globalState[key] = defaultGlobals[key];\n }\n }\n globalState.allowStateChanges = !globalState.enforceActions;\n}\n\nfunction hasObservers(observable) {\n return observable.observers_ && observable.observers_.size > 0;\n}\nfunction getObservers(observable) {\n return observable.observers_;\n}\n// function invariantObservers(observable: IObservable) {\n// const list = observable.observers\n// const map = observable.observersIndexes\n// const l = list.length\n// for (let i = 0; i < l; i++) {\n// const id = list[i].__mapid\n// if (i) {\n// invariant(map[id] === i, \"INTERNAL ERROR maps derivation.__mapid to index in list\") // for performance\n// } else {\n// invariant(!(id in map), \"INTERNAL ERROR observer on index 0 shouldn't be held in map.\") // for performance\n// }\n// }\n// invariant(\n// list.length === 0 || Object.keys(map).length === list.length - 1,\n// \"INTERNAL ERROR there is no junk in map\"\n// )\n// }\nfunction addObserver(observable, node) {\n // invariant(node.dependenciesState !== -1, \"INTERNAL ERROR, can add only dependenciesState !== -1\");\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR add already added node\");\n // invariantObservers(observable);\n observable.observers_.add(node);\n if (observable.lowestObserverState_ > node.dependenciesState_) {\n observable.lowestObserverState_ = node.dependenciesState_;\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR didn't add node\");\n}\n\nfunction removeObserver(observable, node) {\n // invariant(globalState.inBatch > 0, \"INTERNAL ERROR, remove should be called only inside batch\");\n // invariant(observable._observers.indexOf(node) !== -1, \"INTERNAL ERROR remove already removed node\");\n // invariantObservers(observable);\n observable.observers_[\"delete\"](node);\n if (observable.observers_.size === 0) {\n // deleting last observer\n queueForUnobservation(observable);\n }\n // invariantObservers(observable);\n // invariant(observable._observers.indexOf(node) === -1, \"INTERNAL ERROR remove already removed node2\");\n}\n\nfunction queueForUnobservation(observable) {\n if (observable.isPendingUnobservation_ === false) {\n // invariant(observable._observers.length === 0, \"INTERNAL ERROR, should only queue for unobservation unobserved observables\");\n observable.isPendingUnobservation_ = true;\n globalState.pendingUnobservations.push(observable);\n }\n}\n/**\r\n * Batch starts a transaction, at least for purposes of memoizing ComputedValues when nothing else does.\r\n * During a batch `onBecomeUnobserved` will be called at most once per observable.\r\n * Avoids unnecessary recalculations.\r\n */\nfunction startBatch() {\n if (globalState.inBatch === 0) {\n globalState.batchId = globalState.batchId < Number.MAX_SAFE_INTEGER ? globalState.batchId + 1 : Number.MIN_SAFE_INTEGER;\n }\n globalState.inBatch++;\n}\nfunction endBatch() {\n if (--globalState.inBatch === 0) {\n runReactions();\n // the batch is actually about to finish, all unobserving should happen here.\n var list = globalState.pendingUnobservations;\n for (var i = 0; i < list.length; i++) {\n var observable = list[i];\n observable.isPendingUnobservation_ = false;\n if (observable.observers_.size === 0) {\n if (observable.isBeingObserved_) {\n // if this observable had reactive observers, trigger the hooks\n observable.isBeingObserved_ = false;\n observable.onBUO();\n }\n if (observable instanceof ComputedValue) {\n // computed values are automatically teared down when the last observer leaves\n // this process happens recursively, this computed might be the last observabe of another, etc..\n observable.suspend_();\n }\n }\n }\n globalState.pendingUnobservations = [];\n }\n}\nfunction reportObserved(observable) {\n checkIfStateReadsAreAllowed(observable);\n var derivation = globalState.trackingDerivation;\n if (derivation !== null) {\n /**\r\n * Simple optimization, give each derivation run an unique id (runId)\r\n * Check if last time this observable was accessed the same runId is used\r\n * if this is the case, the relation is already known\r\n */\n if (derivation.runId_ !== observable.lastAccessedBy_) {\n observable.lastAccessedBy_ = derivation.runId_;\n // Tried storing newObserving, or observing, or both as Set, but performance didn't come close...\n derivation.newObserving_[derivation.unboundDepsCount_++] = observable;\n if (!observable.isBeingObserved_ && globalState.trackingContext) {\n observable.isBeingObserved_ = true;\n observable.onBO();\n }\n }\n return observable.isBeingObserved_;\n } else if (observable.observers_.size === 0 && globalState.inBatch > 0) {\n queueForUnobservation(observable);\n }\n return false;\n}\n// function invariantLOS(observable: IObservable, msg: string) {\n// // it's expensive so better not run it in produciton. but temporarily helpful for testing\n// const min = getObservers(observable).reduce((a, b) => Math.min(a, b.dependenciesState), 2)\n// if (min >= observable.lowestObserverState) return // <- the only assumption about `lowestObserverState`\n// throw new Error(\n// \"lowestObserverState is wrong for \" +\n// msg +\n// \" because \" +\n// min +\n// \" < \" +\n// observable.lowestObserverState\n// )\n// }\n/**\r\n * NOTE: current propagation mechanism will in case of self reruning autoruns behave unexpectedly\r\n * It will propagate changes to observers from previous run\r\n * It's hard or maybe impossible (with reasonable perf) to get it right with current approach\r\n * Hopefully self reruning autoruns aren't a feature people should depend on\r\n * Also most basic use cases should be ok\r\n */\n// Called by Atom when its value changes\nfunction propagateChanged(observable) {\n // invariantLOS(observable, \"changed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n // Ideally we use for..of here, but the downcompiled version is really slow...\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n d.onBecomeStale_();\n }\n d.dependenciesState_ = IDerivationState_.STALE_;\n });\n // invariantLOS(observable, \"changed end\");\n}\n// Called by ComputedValue when it recalculate and its value changed\nfunction propagateChangeConfirmed(observable) {\n // invariantLOS(observable, \"confirmed start\");\n if (observable.lowestObserverState_ === IDerivationState_.STALE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.POSSIBLY_STALE_) {\n d.dependenciesState_ = IDerivationState_.STALE_;\n if (process.env.NODE_ENV !== \"production\" && d.isTracing_ !== TraceMode.NONE) {\n logTraceInfo(d, observable);\n }\n } else if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_ // this happens during computing of `d`, just keep lowestObserverState up to date.\n ) {\n observable.lowestObserverState_ = IDerivationState_.UP_TO_DATE_;\n }\n });\n // invariantLOS(observable, \"confirmed end\");\n}\n// Used by computed when its dependency changed, but we don't wan't to immediately recompute.\nfunction propagateMaybeChanged(observable) {\n // invariantLOS(observable, \"maybe start\");\n if (observable.lowestObserverState_ !== IDerivationState_.UP_TO_DATE_) {\n return;\n }\n observable.lowestObserverState_ = IDerivationState_.POSSIBLY_STALE_;\n observable.observers_.forEach(function (d) {\n if (d.dependenciesState_ === IDerivationState_.UP_TO_DATE_) {\n d.dependenciesState_ = IDerivationState_.POSSIBLY_STALE_;\n d.onBecomeStale_();\n }\n });\n // invariantLOS(observable, \"maybe end\");\n}\n\nfunction logTraceInfo(derivation, observable) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' is invalidated due to a change in: '\" + observable.name_ + \"'\");\n if (derivation.isTracing_ === TraceMode.BREAK) {\n var lines = [];\n printDepTree(getDependencyTree(derivation), lines, 1);\n // prettier-ignore\n new Function(\"debugger;\\n/*\\nTracing '\" + derivation.name_ + \"'\\n\\nYou are entering this break point because derivation '\" + derivation.name_ + \"' is being traced and '\" + observable.name_ + \"' is now forcing it to update.\\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\\n\\n\" + (derivation instanceof ComputedValue ? derivation.derivation.toString().replace(/[*]\\//g, \"/\") : \"\") + \"\\n\\nThe dependencies for this derivation are:\\n\\n\" + lines.join(\"\\n\") + \"\\n*/\\n \")();\n }\n}\nfunction printDepTree(tree, lines, depth) {\n if (lines.length >= 1000) {\n lines.push(\"(and many more)\");\n return;\n }\n lines.push(\"\" + \"\\t\".repeat(depth - 1) + tree.name);\n if (tree.dependencies) {\n tree.dependencies.forEach(function (child) {\n return printDepTree(child, lines, depth + 1);\n });\n }\n}\n\nvar Reaction = /*#__PURE__*/function () {\n // nodes we are looking at. Our value depends on these nodes\n\n function Reaction(name_, onInvalidate_, errorHandler_, requiresObservable_) {\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n }\n this.name_ = void 0;\n this.onInvalidate_ = void 0;\n this.errorHandler_ = void 0;\n this.requiresObservable_ = void 0;\n this.observing_ = [];\n this.newObserving_ = [];\n this.dependenciesState_ = IDerivationState_.NOT_TRACKING_;\n this.diffValue_ = 0;\n this.runId_ = 0;\n this.unboundDepsCount_ = 0;\n this.isDisposed_ = false;\n this.isScheduled_ = false;\n this.isTrackPending_ = false;\n this.isRunning_ = false;\n this.isTracing_ = TraceMode.NONE;\n this.name_ = name_;\n this.onInvalidate_ = onInvalidate_;\n this.errorHandler_ = errorHandler_;\n this.requiresObservable_ = requiresObservable_;\n }\n var _proto = Reaction.prototype;\n _proto.onBecomeStale_ = function onBecomeStale_() {\n this.schedule_();\n };\n _proto.schedule_ = function schedule_() {\n if (!this.isScheduled_) {\n this.isScheduled_ = true;\n globalState.pendingReactions.push(this);\n runReactions();\n }\n };\n _proto.isScheduled = function isScheduled() {\n return this.isScheduled_;\n }\n /**\r\n * internal, use schedule() if you intend to kick off a reaction\r\n */;\n _proto.runReaction_ = function runReaction_() {\n if (!this.isDisposed_) {\n startBatch();\n this.isScheduled_ = false;\n var prev = globalState.trackingContext;\n globalState.trackingContext = this;\n if (shouldCompute(this)) {\n this.isTrackPending_ = true;\n try {\n this.onInvalidate_();\n if (process.env.NODE_ENV !== \"production\" && this.isTrackPending_ && isSpyEnabled()) {\n // onInvalidate didn't trigger track right away..\n spyReport({\n name: this.name_,\n type: \"scheduled-reaction\"\n });\n }\n } catch (e) {\n this.reportExceptionInDerivation_(e);\n }\n }\n globalState.trackingContext = prev;\n endBatch();\n }\n };\n _proto.track = function track(fn) {\n if (this.isDisposed_) {\n return;\n // console.warn(\"Reaction already disposed\") // Note: Not a warning / error in mobx 4 either\n }\n\n startBatch();\n var notify = isSpyEnabled();\n var startTime;\n if (process.env.NODE_ENV !== \"production\" && notify) {\n startTime = Date.now();\n spyReportStart({\n name: this.name_,\n type: \"reaction\"\n });\n }\n this.isRunning_ = true;\n var prevReaction = globalState.trackingContext; // reactions could create reactions...\n globalState.trackingContext = this;\n var result = trackDerivedFunction(this, fn, undefined);\n globalState.trackingContext = prevReaction;\n this.isRunning_ = false;\n this.isTrackPending_ = false;\n if (this.isDisposed_) {\n // disposed during last run. Clean up everything that was bound after the dispose call.\n clearObserving(this);\n }\n if (isCaughtException(result)) {\n this.reportExceptionInDerivation_(result.cause);\n }\n if (process.env.NODE_ENV !== \"production\" && notify) {\n spyReportEnd({\n time: Date.now() - startTime\n });\n }\n endBatch();\n };\n _proto.reportExceptionInDerivation_ = function reportExceptionInDerivation_(error) {\n var _this = this;\n if (this.errorHandler_) {\n this.errorHandler_(error, this);\n return;\n }\n if (globalState.disableErrorBoundaries) {\n throw error;\n }\n var message = process.env.NODE_ENV !== \"production\" ? \"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\" + this + \"'\" : \"[mobx] uncaught error in '\" + this + \"'\";\n if (!globalState.suppressReactionErrors) {\n console.error(message, error);\n /** If debugging brought you here, please, read the above message :-). Tnx! */\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[mobx] (error in reaction '\" + this.name_ + \"' suppressed, fix error of causing action below)\");\n } // prettier-ignore\n if (process.env.NODE_ENV !== \"production\" && isSpyEnabled()) {\n spyReport({\n type: \"error\",\n name: this.name_,\n message: message,\n error: \"\" + error\n });\n }\n globalState.globalReactionErrorHandlers.forEach(function (f) {\n return f(error, _this);\n });\n };\n _proto.dispose = function dispose() {\n if (!this.isDisposed_) {\n this.isDisposed_ = true;\n if (!this.isRunning_) {\n // if disposed while running, clean up later. Maybe not optimal, but rare case\n startBatch();\n clearObserving(this);\n endBatch();\n }\n }\n };\n _proto.getDisposer_ = function getDisposer_(abortSignal) {\n var _this2 = this;\n var dispose = function dispose() {\n _this2.dispose();\n abortSignal == null ? void 0 : abortSignal.removeEventListener == null ? void 0 : abortSignal.removeEventListener(\"abort\", dispose);\n };\n abortSignal == null ? void 0 : abortSignal.addEventListener == null ? void 0 : abortSignal.addEventListener(\"abort\", dispose);\n dispose[$mobx] = this;\n return dispose;\n };\n _proto.toString = function toString() {\n return \"Reaction[\" + this.name_ + \"]\";\n };\n _proto.trace = function trace$1(enterBreakPoint) {\n if (enterBreakPoint === void 0) {\n enterBreakPoint = false;\n }\n trace(this, enterBreakPoint);\n };\n return Reaction;\n}();\nfunction onReactionError(handler) {\n globalState.globalReactionErrorHandlers.push(handler);\n return function () {\n var idx = globalState.globalReactionErrorHandlers.indexOf(handler);\n if (idx >= 0) {\n globalState.globalReactionErrorHandlers.splice(idx, 1);\n }\n };\n}\n/**\r\n * Magic number alert!\r\n * Defines within how many times a reaction is allowed to re-trigger itself\r\n * until it is assumed that this is gonna be a never ending loop...\r\n */\nvar MAX_REACTION_ITERATIONS = 100;\nvar reactionScheduler = function reactionScheduler(f) {\n return f();\n};\nfunction runReactions() {\n // Trampolining, if runReactions are already running, new reactions will be picked up\n if (globalState.inBatch > 0 || globalState.isRunningReactions) {\n return;\n }\n reactionScheduler(runReactionsHelper);\n}\nfunction runReactionsHelper() {\n globalState.isRunningReactions = true;\n var allReactions = globalState.pendingReactions;\n var iterations = 0;\n // While running reactions, new reactions might be triggered.\n // Hence we work with two variables and check whether\n // we converge to no remaining reactions after a while.\n while (allReactions.length > 0) {\n if (++iterations === MAX_REACTION_ITERATIONS) {\n console.error(process.env.NODE_ENV !== \"production\" ? \"Reaction doesn't converge to a stable state after \" + MAX_REACTION_ITERATIONS + \" iterations.\" + (\" Probably there is a cycle in the reactive function: \" + allReactions[0]) : \"[mobx] cycle in reaction: \" + allReactions[0]);\n allReactions.splice(0); // clear reactions\n }\n\n var remainingReactions = allReactions.splice(0);\n for (var i = 0, l = remainingReactions.length; i < l; i++) {\n remainingReactions[i].runReaction_();\n }\n }\n globalState.isRunningReactions = false;\n}\nvar isReaction = /*#__PURE__*/createInstanceofPredicate(\"Reaction\", Reaction);\nfunction setReactionScheduler(fn) {\n var baseScheduler = reactionScheduler;\n reactionScheduler = function reactionScheduler(f) {\n return fn(function () {\n return baseScheduler(f);\n });\n };\n}\n\nfunction isSpyEnabled() {\n return process.env.NODE_ENV !== \"production\" && !!globalState.spyListeners.length;\n}\nfunction spyReport(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n } // dead code elimination can do the rest\n if (!globalState.spyListeners.length) {\n return;\n }\n var listeners = globalState.spyListeners;\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](event);\n }\n}\nfunction spyReportStart(event) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var change = _extends({}, event, {\n spyReportStart: true\n });\n spyReport(change);\n}\nvar END_EVENT = {\n type: \"report-end\",\n spyReportEnd: true\n};\nfunction spyReportEnd(change) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n if (change) {\n spyReport(_extends({}, change, {\n type: \"report-end\",\n spyReportEnd: true\n }));\n } else {\n spyReport(END_EVENT);\n }\n}\nfunction spy(listener) {\n if (!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\"[mobx.spy] Is a no-op in production builds\");\n return function () {};\n } else {\n globalState.spyListeners.push(listener);\n return once(function () {\n globalState.spyListeners = globalState.spyListeners.filter(function (l) {\n return l !== listener;\n });\n });\n }\n}\n\nvar ACTION = \"action\";\nvar ACTION_BOUND = \"action.bound\";\nvar AUTOACTION = \"autoAction\";\nvar AUTOACTION_BOUND = \"autoAction.bound\";\nvar DEFAULT_ACTION_NAME = \"\";\nvar actionAnnotation = /*#__PURE__*/createActionAnnotation(ACTION);\nvar actionBoundAnnotation = /*#__PURE__*/createActionAnnotation(ACTION_BOUND, {\n bound: true\n});\nvar autoActionAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION, {\n autoAction: true\n});\nvar autoActionBoundAnnotation = /*#__PURE__*/createActionAnnotation(AUTOACTION_BOUND, {\n autoAction: true,\n bound: true\n});\nfunction createActionFactory(autoAction) {\n var res = function action(arg1, arg2) {\n // action(fn() {})\n if (isFunction(arg1)) {\n return createAction(arg1.name || DEFAULT_ACTION_NAME, arg1, autoAction);\n }\n // action(\"name\", fn() {})\n if (isFunction(arg2)) {\n return createAction(arg1, arg2, autoAction);\n }\n // @action\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, autoAction ? autoActionAnnotation : actionAnnotation);\n }\n // action(\"name\") & @action(\"name\")\n if (isStringish(arg1)) {\n return createDecoratorAnnotation(createActionAnnotation(autoAction ? AUTOACTION : ACTION, {\n name: arg1,\n autoAction: autoAction\n }));\n }\n if (process.env.NODE_ENV !== \"production\") {\n die(\"Invalid arguments for `action`\");\n }\n };\n return res;\n}\nvar action = /*#__PURE__*/createActionFactory(false);\nObject.assign(action, actionAnnotation);\nvar autoAction = /*#__PURE__*/createActionFactory(true);\nObject.assign(autoAction, autoActionAnnotation);\naction.bound = /*#__PURE__*/createDecoratorAnnotation(actionBoundAnnotation);\nautoAction.bound = /*#__PURE__*/createDecoratorAnnotation(autoActionBoundAnnotation);\nfunction runInAction(fn) {\n return executeAction(fn.name || DEFAULT_ACTION_NAME, false, fn, this, undefined);\n}\nfunction isAction(thing) {\n return isFunction(thing) && thing.isMobxAction === true;\n}\n\n/**\r\n * Creates a named reactive view and keeps it alive, so that the view is always\r\n * updated if one of the dependencies changes, even when the view is not further used by something else.\r\n * @param view The reactive view\r\n * @returns disposer function, which can be used to stop the view from being updated in the future.\r\n */\nfunction autorun(view, opts) {\n var _opts$name, _opts, _opts2, _opts2$signal, _opts3;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(view)) {\n die(\"Autorun expects a function as first argument\");\n }\n if (isAction(view)) {\n die(\"Autorun does not accept actions since actions are untrackable\");\n }\n }\n var name = (_opts$name = (_opts = opts) == null ? void 0 : _opts.name) != null ? _opts$name : process.env.NODE_ENV !== \"production\" ? view.name || \"Autorun@\" + getNextId() : \"Autorun\";\n var runSync = !opts.scheduler && !opts.delay;\n var reaction;\n if (runSync) {\n // normal autorun\n reaction = new Reaction(name, function () {\n this.track(reactionRunner);\n }, opts.onError, opts.requiresObservable);\n } else {\n var scheduler = createSchedulerFromOptions(opts);\n // debounced autorun\n var isScheduled = false;\n reaction = new Reaction(name, function () {\n if (!isScheduled) {\n isScheduled = true;\n scheduler(function () {\n isScheduled = false;\n if (!reaction.isDisposed_) {\n reaction.track(reactionRunner);\n }\n });\n }\n }, opts.onError, opts.requiresObservable);\n }\n function reactionRunner() {\n view(reaction);\n }\n if (!((_opts2 = opts) != null && (_opts2$signal = _opts2.signal) != null && _opts2$signal.aborted)) {\n reaction.schedule_();\n }\n return reaction.getDisposer_((_opts3 = opts) == null ? void 0 : _opts3.signal);\n}\nvar run = function run(f) {\n return f();\n};\nfunction createSchedulerFromOptions(opts) {\n return opts.scheduler ? opts.scheduler : opts.delay ? function (f) {\n return setTimeout(f, opts.delay);\n } : run;\n}\nfunction reaction(expression, effect, opts) {\n var _opts$name2, _opts4, _opts4$signal, _opts5;\n if (opts === void 0) {\n opts = EMPTY_OBJECT;\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!isFunction(expression) || !isFunction(effect)) {\n die(\"First and second argument to reaction should be functions\");\n }\n if (!isPlainObject(opts)) {\n die(\"Third argument of reactions should be an object\");\n }\n }\n var name = (_opts$name2 = opts.name) != null ? _opts$name2 : process.env.NODE_ENV !== \"production\" ? \"Reaction@\" + getNextId() : \"Reaction\";\n var effectAction = action(name, opts.onError ? wrapErrorHandler(opts.onError, effect) : effect);\n var runSync = !opts.scheduler && !opts.delay;\n var scheduler = createSchedulerFromOptions(opts);\n var firstTime = true;\n var isScheduled = false;\n var value;\n var oldValue;\n var equals = opts.compareStructural ? comparer.structural : opts.equals || comparer[\"default\"];\n var r = new Reaction(name, function () {\n if (firstTime || runSync) {\n reactionRunner();\n } else if (!isScheduled) {\n isScheduled = true;\n scheduler(reactionRunner);\n }\n }, opts.onError, opts.requiresObservable);\n function reactionRunner() {\n isScheduled = false;\n if (r.isDisposed_) {\n return;\n }\n var changed = false;\n r.track(function () {\n var nextValue = allowStateChanges(false, function () {\n return expression(r);\n });\n changed = firstTime || !equals(value, nextValue);\n oldValue = value;\n value = nextValue;\n });\n if (firstTime && opts.fireImmediately) {\n effectAction(value, oldValue, r);\n } else if (!firstTime && changed) {\n effectAction(value, oldValue, r);\n }\n firstTime = false;\n }\n if (!((_opts4 = opts) != null && (_opts4$signal = _opts4.signal) != null && _opts4$signal.aborted)) {\n r.schedule_();\n }\n return r.getDisposer_((_opts5 = opts) == null ? void 0 : _opts5.signal);\n}\nfunction wrapErrorHandler(errorHandler, baseFn) {\n return function () {\n try {\n return baseFn.apply(this, arguments);\n } catch (e) {\n errorHandler.call(this, e);\n }\n };\n}\n\nvar ON_BECOME_OBSERVED = \"onBO\";\nvar ON_BECOME_UNOBSERVED = \"onBUO\";\nfunction onBecomeObserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_OBSERVED, thing, arg2, arg3);\n}\nfunction onBecomeUnobserved(thing, arg2, arg3) {\n return interceptHook(ON_BECOME_UNOBSERVED, thing, arg2, arg3);\n}\nfunction interceptHook(hook, thing, arg2, arg3) {\n var atom = typeof arg3 === \"function\" ? getAtom(thing, arg2) : getAtom(thing);\n var cb = isFunction(arg3) ? arg3 : arg2;\n var listenersKey = hook + \"L\";\n if (atom[listenersKey]) {\n atom[listenersKey].add(cb);\n } else {\n atom[listenersKey] = new Set([cb]);\n }\n return function () {\n var hookListeners = atom[listenersKey];\n if (hookListeners) {\n hookListeners[\"delete\"](cb);\n if (hookListeners.size === 0) {\n delete atom[listenersKey];\n }\n }\n };\n}\n\nvar NEVER = \"never\";\nvar ALWAYS = \"always\";\nvar OBSERVED = \"observed\";\n// const IF_AVAILABLE = \"ifavailable\"\nfunction configure(options) {\n if (options.isolateGlobalState === true) {\n isolateGlobalState();\n }\n var useProxies = options.useProxies,\n enforceActions = options.enforceActions;\n if (useProxies !== undefined) {\n globalState.useProxies = useProxies === ALWAYS ? true : useProxies === NEVER ? false : typeof Proxy !== \"undefined\";\n }\n if (useProxies === \"ifavailable\") {\n globalState.verifyProxies = true;\n }\n if (enforceActions !== undefined) {\n var ea = enforceActions === ALWAYS ? ALWAYS : enforceActions === OBSERVED;\n globalState.enforceActions = ea;\n globalState.allowStateChanges = ea === true || ea === ALWAYS ? false : true;\n }\n [\"computedRequiresReaction\", \"reactionRequiresObservable\", \"observableRequiresReaction\", \"disableErrorBoundaries\", \"safeDescriptors\"].forEach(function (key) {\n if (key in options) {\n globalState[key] = !!options[key];\n }\n });\n globalState.allowStateReads = !globalState.observableRequiresReaction;\n if (process.env.NODE_ENV !== \"production\" && globalState.disableErrorBoundaries === true) {\n console.warn(\"WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled.\");\n }\n if (options.reactionScheduler) {\n setReactionScheduler(options.reactionScheduler);\n }\n}\n\nfunction extendObservable(target, properties, annotations, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (arguments.length > 4) {\n die(\"'extendObservable' expected 2-4 arguments\");\n }\n if (typeof target !== \"object\") {\n die(\"'extendObservable' expects an object as first argument\");\n }\n if (isObservableMap(target)) {\n die(\"'extendObservable' should not be used on maps, use map.merge instead\");\n }\n if (!isPlainObject(properties)) {\n die(\"'extendObservable' only accepts plain objects as second argument\");\n }\n if (isObservable(properties) || isObservable(annotations)) {\n die(\"Extending an object with another observable (object) is not supported\");\n }\n }\n // Pull descriptors first, so we don't have to deal with props added by administration ($mobx)\n var descriptors = getOwnPropertyDescriptors(properties);\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n ownKeys(descriptors).forEach(function (key) {\n adm.extend_(key, descriptors[key],\n // must pass \"undefined\" for { key: undefined }\n !annotations ? true : key in annotations ? annotations[key] : true);\n });\n });\n return target;\n}\n\nfunction getDependencyTree(thing, property) {\n return nodeToDependencyTree(getAtom(thing, property));\n}\nfunction nodeToDependencyTree(node) {\n var result = {\n name: node.name_\n };\n if (node.observing_ && node.observing_.length > 0) {\n result.dependencies = unique(node.observing_).map(nodeToDependencyTree);\n }\n return result;\n}\nfunction getObserverTree(thing, property) {\n return nodeToObserverTree(getAtom(thing, property));\n}\nfunction nodeToObserverTree(node) {\n var result = {\n name: node.name_\n };\n if (hasObservers(node)) {\n result.observers = Array.from(getObservers(node)).map(nodeToObserverTree);\n }\n return result;\n}\nfunction unique(list) {\n return Array.from(new Set(list));\n}\n\nvar generatorId = 0;\nfunction FlowCancellationError() {\n this.message = \"FLOW_CANCELLED\";\n}\nFlowCancellationError.prototype = /*#__PURE__*/Object.create(Error.prototype);\nfunction isFlowCancellationError(error) {\n return error instanceof FlowCancellationError;\n}\nvar flowAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow\");\nvar flowBoundAnnotation = /*#__PURE__*/createFlowAnnotation(\"flow.bound\", {\n bound: true\n});\nvar flow = /*#__PURE__*/Object.assign(function flow(arg1, arg2) {\n // @flow\n if (isStringish(arg2)) {\n return storeAnnotation(arg1, arg2, flowAnnotation);\n }\n // flow(fn)\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"Flow expects single argument with generator function\");\n }\n var generator = arg1;\n var name = generator.name || \"\";\n // Implementation based on https://github.com/tj/co/blob/master/index.js\n var res = function res() {\n var ctx = this;\n var args = arguments;\n var runId = ++generatorId;\n var gen = action(name + \" - runid: \" + runId + \" - init\", generator).apply(ctx, args);\n var rejector;\n var pendingPromise = undefined;\n var promise = new Promise(function (resolve, reject) {\n var stepId = 0;\n rejector = reject;\n function onFulfilled(res) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen.next).call(gen, res);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function onRejected(err) {\n pendingPromise = undefined;\n var ret;\n try {\n ret = action(name + \" - runid: \" + runId + \" - yield \" + stepId++, gen[\"throw\"]).call(gen, err);\n } catch (e) {\n return reject(e);\n }\n next(ret);\n }\n function next(ret) {\n if (isFunction(ret == null ? void 0 : ret.then)) {\n // an async iterator\n ret.then(next, reject);\n return;\n }\n if (ret.done) {\n return resolve(ret.value);\n }\n pendingPromise = Promise.resolve(ret.value);\n return pendingPromise.then(onFulfilled, onRejected);\n }\n onFulfilled(undefined); // kick off the process\n });\n\n promise.cancel = action(name + \" - runid: \" + runId + \" - cancel\", function () {\n try {\n if (pendingPromise) {\n cancelPromise(pendingPromise);\n }\n // Finally block can return (or yield) stuff..\n var _res = gen[\"return\"](undefined);\n // eat anything that promise would do, it's cancelled!\n var yieldedPromise = Promise.resolve(_res.value);\n yieldedPromise.then(noop, noop);\n cancelPromise(yieldedPromise); // maybe it can be cancelled :)\n // reject our original promise\n rejector(new FlowCancellationError());\n } catch (e) {\n rejector(e); // there could be a throwing finally block\n }\n });\n\n return promise;\n };\n res.isMobXFlow = true;\n return res;\n}, flowAnnotation);\nflow.bound = /*#__PURE__*/createDecoratorAnnotation(flowBoundAnnotation);\nfunction cancelPromise(promise) {\n if (isFunction(promise.cancel)) {\n promise.cancel();\n }\n}\nfunction flowResult(result) {\n return result; // just tricking TypeScript :)\n}\n\nfunction isFlow(fn) {\n return (fn == null ? void 0 : fn.isMobXFlow) === true;\n}\n\nfunction interceptReads(thing, propOrHandler, handler) {\n var target;\n if (isObservableMap(thing) || isObservableArray(thing) || isObservableValue(thing)) {\n target = getAdministration(thing);\n } else if (isObservableObject(thing)) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propOrHandler)) {\n return die(\"InterceptReads can only be used with a specific property, not with an object in general\");\n }\n target = getAdministration(thing, propOrHandler);\n } else if (process.env.NODE_ENV !== \"production\") {\n return die(\"Expected observable map, object or array as first array\");\n }\n if (process.env.NODE_ENV !== \"production\" && target.dehancer !== undefined) {\n return die(\"An intercept reader was already established\");\n }\n target.dehancer = typeof propOrHandler === \"function\" ? propOrHandler : handler;\n return function () {\n target.dehancer = undefined;\n };\n}\n\nfunction intercept(thing, propOrHandler, handler) {\n if (isFunction(handler)) {\n return interceptProperty(thing, propOrHandler, handler);\n } else {\n return interceptInterceptable(thing, propOrHandler);\n }\n}\nfunction interceptInterceptable(thing, handler) {\n return getAdministration(thing).intercept_(handler);\n}\nfunction interceptProperty(thing, property, handler) {\n return getAdministration(thing, property).intercept_(handler);\n}\n\nfunction _isComputed(value, property) {\n if (property === undefined) {\n return isComputedValue(value);\n }\n if (isObservableObject(value) === false) {\n return false;\n }\n if (!value[$mobx].values_.has(property)) {\n return false;\n }\n var atom = getAtom(value, property);\n return isComputedValue(atom);\n}\nfunction isComputed(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length > 1) {\n return die(\"isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property\");\n }\n return _isComputed(value);\n}\nfunction isComputedProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"isComputed expected a property name as second argument\");\n }\n return _isComputed(value, propName);\n}\n\nfunction _isObservable(value, property) {\n if (!value) {\n return false;\n }\n if (property !== undefined) {\n if (process.env.NODE_ENV !== \"production\" && (isObservableMap(value) || isObservableArray(value))) {\n return die(\"isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.\");\n }\n if (isObservableObject(value)) {\n return value[$mobx].values_.has(property);\n }\n return false;\n }\n // For first check, see #701\n return isObservableObject(value) || !!value[$mobx] || isAtom(value) || isReaction(value) || isComputedValue(value);\n}\nfunction isObservable(value) {\n if (process.env.NODE_ENV !== \"production\" && arguments.length !== 1) {\n die(\"isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property\");\n }\n return _isObservable(value);\n}\nfunction isObservableProp(value, propName) {\n if (process.env.NODE_ENV !== \"production\" && !isStringish(propName)) {\n return die(\"expected a property name as second argument\");\n }\n return _isObservable(value, propName);\n}\n\nfunction keys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].keys_();\n }\n if (isObservableMap(obj) || isObservableSet(obj)) {\n return Array.from(obj.keys());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (_, index) {\n return index;\n });\n }\n die(5);\n}\nfunction values(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return obj[key];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return obj.get(key);\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.values());\n }\n if (isObservableArray(obj)) {\n return obj.slice();\n }\n die(6);\n}\nfunction entries(obj) {\n if (isObservableObject(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj[key]];\n });\n }\n if (isObservableMap(obj)) {\n return keys(obj).map(function (key) {\n return [key, obj.get(key)];\n });\n }\n if (isObservableSet(obj)) {\n return Array.from(obj.entries());\n }\n if (isObservableArray(obj)) {\n return obj.map(function (key, index) {\n return [index, key];\n });\n }\n die(7);\n}\nfunction set(obj, key, value) {\n if (arguments.length === 2 && !isObservableSet(obj)) {\n startBatch();\n var _values = key;\n try {\n for (var _key in _values) {\n set(obj, _key, _values[_key]);\n }\n } finally {\n endBatch();\n }\n return;\n }\n if (isObservableObject(obj)) {\n obj[$mobx].set_(key, value);\n } else if (isObservableMap(obj)) {\n obj.set(key, value);\n } else if (isObservableSet(obj)) {\n obj.add(key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n if (key < 0) {\n die(\"Invalid index: '\" + key + \"'\");\n }\n startBatch();\n if (key >= obj.length) {\n obj.length = key + 1;\n }\n obj[key] = value;\n endBatch();\n } else {\n die(8);\n }\n}\nfunction remove(obj, key) {\n if (isObservableObject(obj)) {\n obj[$mobx].delete_(key);\n } else if (isObservableMap(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableSet(obj)) {\n obj[\"delete\"](key);\n } else if (isObservableArray(obj)) {\n if (typeof key !== \"number\") {\n key = parseInt(key, 10);\n }\n obj.splice(key, 1);\n } else {\n die(9);\n }\n}\nfunction has(obj, key) {\n if (isObservableObject(obj)) {\n return obj[$mobx].has_(key);\n } else if (isObservableMap(obj)) {\n return obj.has(key);\n } else if (isObservableSet(obj)) {\n return obj.has(key);\n } else if (isObservableArray(obj)) {\n return key >= 0 && key < obj.length;\n }\n die(10);\n}\nfunction get(obj, key) {\n if (!has(obj, key)) {\n return undefined;\n }\n if (isObservableObject(obj)) {\n return obj[$mobx].get_(key);\n } else if (isObservableMap(obj)) {\n return obj.get(key);\n } else if (isObservableArray(obj)) {\n return obj[key];\n }\n die(11);\n}\nfunction apiDefineProperty(obj, key, descriptor) {\n if (isObservableObject(obj)) {\n return obj[$mobx].defineProperty_(key, descriptor);\n }\n die(39);\n}\nfunction apiOwnKeys(obj) {\n if (isObservableObject(obj)) {\n return obj[$mobx].ownKeys_();\n }\n die(38);\n}\n\nfunction observe(thing, propOrCb, cbOrFire, fireImmediately) {\n if (isFunction(cbOrFire)) {\n return observeObservableProperty(thing, propOrCb, cbOrFire, fireImmediately);\n } else {\n return observeObservable(thing, propOrCb, cbOrFire);\n }\n}\nfunction observeObservable(thing, listener, fireImmediately) {\n return getAdministration(thing).observe_(listener, fireImmediately);\n}\nfunction observeObservableProperty(thing, property, listener, fireImmediately) {\n return getAdministration(thing, property).observe_(listener, fireImmediately);\n}\n\nfunction cache(map, key, value) {\n map.set(key, value);\n return value;\n}\nfunction toJSHelper(source, __alreadySeen) {\n if (source == null || typeof source !== \"object\" || source instanceof Date || !isObservable(source)) {\n return source;\n }\n if (isObservableValue(source) || isComputedValue(source)) {\n return toJSHelper(source.get(), __alreadySeen);\n }\n if (__alreadySeen.has(source)) {\n return __alreadySeen.get(source);\n }\n if (isObservableArray(source)) {\n var res = cache(__alreadySeen, source, new Array(source.length));\n source.forEach(function (value, idx) {\n res[idx] = toJSHelper(value, __alreadySeen);\n });\n return res;\n }\n if (isObservableSet(source)) {\n var _res = cache(__alreadySeen, source, new Set());\n source.forEach(function (value) {\n _res.add(toJSHelper(value, __alreadySeen));\n });\n return _res;\n }\n if (isObservableMap(source)) {\n var _res2 = cache(__alreadySeen, source, new Map());\n source.forEach(function (value, key) {\n _res2.set(key, toJSHelper(value, __alreadySeen));\n });\n return _res2;\n } else {\n // must be observable object\n var _res3 = cache(__alreadySeen, source, {});\n apiOwnKeys(source).forEach(function (key) {\n if (objectPrototype.propertyIsEnumerable.call(source, key)) {\n _res3[key] = toJSHelper(source[key], __alreadySeen);\n }\n });\n return _res3;\n }\n}\n/**\r\n * Recursively converts an observable to it's non-observable native counterpart.\r\n * It does NOT recurse into non-observables, these are left as they are, even if they contain observables.\r\n * Computed and other non-enumerable properties are completely ignored.\r\n * Complex scenarios require custom solution, eg implementing `toJSON` or using `serializr` lib.\r\n */\nfunction toJS(source, options) {\n if (process.env.NODE_ENV !== \"production\" && options) {\n die(\"toJS no longer supports options\");\n }\n return toJSHelper(source, new Map());\n}\n\nfunction trace() {\n if (!(process.env.NODE_ENV !== \"production\")) {\n return;\n }\n var enterBreakPoint = false;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[args.length - 1] === \"boolean\") {\n enterBreakPoint = args.pop();\n }\n var derivation = getAtomFromArgs(args);\n if (!derivation) {\n return die(\"'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly\");\n }\n if (derivation.isTracing_ === TraceMode.NONE) {\n console.log(\"[mobx.trace] '\" + derivation.name_ + \"' tracing enabled\");\n }\n derivation.isTracing_ = enterBreakPoint ? TraceMode.BREAK : TraceMode.LOG;\n}\nfunction getAtomFromArgs(args) {\n switch (args.length) {\n case 0:\n return globalState.trackingDerivation;\n case 1:\n return getAtom(args[0]);\n case 2:\n return getAtom(args[0], args[1]);\n }\n}\n\n/**\r\n * During a transaction no views are updated until the end of the transaction.\r\n * The transaction will be run synchronously nonetheless.\r\n *\r\n * @param action a function that updates some reactive state\r\n * @returns any value that was returned by the 'action' parameter.\r\n */\nfunction transaction(action, thisArg) {\n if (thisArg === void 0) {\n thisArg = undefined;\n }\n startBatch();\n try {\n return action.apply(thisArg);\n } finally {\n endBatch();\n }\n}\n\nfunction when(predicate, arg1, arg2) {\n if (arguments.length === 1 || arg1 && typeof arg1 === \"object\") {\n return whenPromise(predicate, arg1);\n }\n return _when(predicate, arg1, arg2 || {});\n}\nfunction _when(predicate, effect, opts) {\n var timeoutHandle;\n if (typeof opts.timeout === \"number\") {\n var error = new Error(\"WHEN_TIMEOUT\");\n timeoutHandle = setTimeout(function () {\n if (!disposer[$mobx].isDisposed_) {\n disposer();\n if (opts.onError) {\n opts.onError(error);\n } else {\n throw error;\n }\n }\n }, opts.timeout);\n }\n opts.name = process.env.NODE_ENV !== \"production\" ? opts.name || \"When@\" + getNextId() : \"When\";\n var effectAction = createAction(process.env.NODE_ENV !== \"production\" ? opts.name + \"-effect\" : \"When-effect\", effect);\n // eslint-disable-next-line\n var disposer = autorun(function (r) {\n // predicate should not change state\n var cond = allowStateChanges(false, predicate);\n if (cond) {\n r.dispose();\n if (timeoutHandle) {\n clearTimeout(timeoutHandle);\n }\n effectAction();\n }\n }, opts);\n return disposer;\n}\nfunction whenPromise(predicate, opts) {\n var _opts$signal;\n if (process.env.NODE_ENV !== \"production\" && opts && opts.onError) {\n return die(\"the options 'onError' and 'promise' cannot be combined\");\n }\n if (opts != null && (_opts$signal = opts.signal) != null && _opts$signal.aborted) {\n return Object.assign(Promise.reject(new Error(\"WHEN_ABORTED\")), {\n cancel: function cancel() {\n return null;\n }\n });\n }\n var cancel;\n var abort;\n var res = new Promise(function (resolve, reject) {\n var _opts$signal2;\n var disposer = _when(predicate, resolve, _extends({}, opts, {\n onError: reject\n }));\n cancel = function cancel() {\n disposer();\n reject(new Error(\"WHEN_CANCELLED\"));\n };\n abort = function abort() {\n disposer();\n reject(new Error(\"WHEN_ABORTED\"));\n };\n opts == null ? void 0 : (_opts$signal2 = opts.signal) == null ? void 0 : _opts$signal2.addEventListener == null ? void 0 : _opts$signal2.addEventListener(\"abort\", abort);\n })[\"finally\"](function () {\n var _opts$signal3;\n return opts == null ? void 0 : (_opts$signal3 = opts.signal) == null ? void 0 : _opts$signal3.removeEventListener == null ? void 0 : _opts$signal3.removeEventListener(\"abort\", abort);\n });\n res.cancel = cancel;\n return res;\n}\n\nfunction getAdm(target) {\n return target[$mobx];\n}\n// Optimization: we don't need the intermediate objects and could have a completely custom administration for DynamicObjects,\n// and skip either the internal values map, or the base object with its property descriptors!\nvar objectProxyTraps = {\n has: function has(target, name) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.\");\n }\n return getAdm(target).has_(name);\n },\n get: function get(target, name) {\n return getAdm(target).get_(name);\n },\n set: function set(target, name, value) {\n var _getAdm$set_;\n if (!isStringish(name)) {\n return false;\n }\n if (process.env.NODE_ENV !== \"production\" && !getAdm(target).values_.has(name)) {\n warnAboutProxyRequirement(\"add a new observable property through direct assignment. Use 'set' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$set_ = getAdm(target).set_(name, value, true)) != null ? _getAdm$set_ : true;\n },\n deleteProperty: function deleteProperty(target, name) {\n var _getAdm$delete_;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"delete properties from an observable object. Use 'remove' from 'mobx' instead.\");\n }\n if (!isStringish(name)) {\n return false;\n }\n // null (intercepted) -> true (success)\n return (_getAdm$delete_ = getAdm(target).delete_(name, true)) != null ? _getAdm$delete_ : true;\n },\n defineProperty: function defineProperty(target, name, descriptor) {\n var _getAdm$definePropert;\n if (process.env.NODE_ENV !== \"production\") {\n warnAboutProxyRequirement(\"define property on an observable object. Use 'defineProperty' from 'mobx' instead.\");\n }\n // null (intercepted) -> true (success)\n return (_getAdm$definePropert = getAdm(target).defineProperty_(name, descriptor)) != null ? _getAdm$definePropert : true;\n },\n ownKeys: function ownKeys(target) {\n if (process.env.NODE_ENV !== \"production\" && globalState.trackingDerivation) {\n warnAboutProxyRequirement(\"iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.\");\n }\n return getAdm(target).ownKeys_();\n },\n preventExtensions: function preventExtensions(target) {\n die(13);\n }\n};\nfunction asDynamicObservableObject(target, options) {\n var _target$$mobx, _target$$mobx$proxy_;\n assertProxies();\n target = asObservableObject(target, options);\n return (_target$$mobx$proxy_ = (_target$$mobx = target[$mobx]).proxy_) != null ? _target$$mobx$proxy_ : _target$$mobx.proxy_ = new Proxy(target, objectProxyTraps);\n}\n\nfunction hasInterceptors(interceptable) {\n return interceptable.interceptors_ !== undefined && interceptable.interceptors_.length > 0;\n}\nfunction registerInterceptor(interceptable, handler) {\n var interceptors = interceptable.interceptors_ || (interceptable.interceptors_ = []);\n interceptors.push(handler);\n return once(function () {\n var idx = interceptors.indexOf(handler);\n if (idx !== -1) {\n interceptors.splice(idx, 1);\n }\n });\n}\nfunction interceptChange(interceptable, change) {\n var prevU = untrackedStart();\n try {\n // Interceptor can modify the array, copy it to avoid concurrent modification, see #1950\n var interceptors = [].concat(interceptable.interceptors_ || []);\n for (var i = 0, l = interceptors.length; i < l; i++) {\n change = interceptors[i](change);\n if (change && !change.type) {\n die(14);\n }\n if (!change) {\n break;\n }\n }\n return change;\n } finally {\n untrackedEnd(prevU);\n }\n}\n\nfunction hasListeners(listenable) {\n return listenable.changeListeners_ !== undefined && listenable.changeListeners_.length > 0;\n}\nfunction registerListener(listenable, handler) {\n var listeners = listenable.changeListeners_ || (listenable.changeListeners_ = []);\n listeners.push(handler);\n return once(function () {\n var idx = listeners.indexOf(handler);\n if (idx !== -1) {\n listeners.splice(idx, 1);\n }\n });\n}\nfunction notifyListeners(listenable, change) {\n var prevU = untrackedStart();\n var listeners = listenable.changeListeners_;\n if (!listeners) {\n return;\n }\n listeners = listeners.slice();\n for (var i = 0, l = listeners.length; i < l; i++) {\n listeners[i](change);\n }\n untrackedEnd(prevU);\n}\n\nfunction makeObservable(target, annotations, options) {\n initObservable(function () {\n var _annotations;\n var adm = asObservableObject(target, options)[$mobx];\n if (process.env.NODE_ENV !== \"production\" && annotations && target[storedAnnotationsSymbol]) {\n die(\"makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.\");\n }\n // Default to decorators\n (_annotations = annotations) != null ? _annotations : annotations = collectStoredAnnotations(target);\n // Annotate\n ownKeys(annotations).forEach(function (key) {\n return adm.make_(key, annotations[key]);\n });\n });\n return target;\n}\n// proto[keysSymbol] = new Set()\nvar keysSymbol = /*#__PURE__*/Symbol(\"mobx-keys\");\nfunction makeAutoObservable(target, overrides, options) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isPlainObject(target) && !isPlainObject(Object.getPrototypeOf(target))) {\n die(\"'makeAutoObservable' can only be used for classes that don't have a superclass\");\n }\n if (isObservableObject(target)) {\n die(\"makeAutoObservable can only be used on objects not already made observable\");\n }\n }\n // Optimization: avoid visiting protos\n // Assumes that annotation.make_/.extend_ works the same for plain objects\n if (isPlainObject(target)) {\n return extendObservable(target, target, overrides, options);\n }\n initObservable(function () {\n var adm = asObservableObject(target, options)[$mobx];\n // Optimization: cache keys on proto\n // Assumes makeAutoObservable can be called only once per object and can't be used in subclass\n if (!target[keysSymbol]) {\n var proto = Object.getPrototypeOf(target);\n var keys = new Set([].concat(ownKeys(target), ownKeys(proto)));\n keys[\"delete\"](\"constructor\");\n keys[\"delete\"]($mobx);\n addHiddenProp(proto, keysSymbol, keys);\n }\n target[keysSymbol].forEach(function (key) {\n return adm.make_(key,\n // must pass \"undefined\" for { key: undefined }\n !overrides ? true : key in overrides ? overrides[key] : true);\n });\n });\n return target;\n}\n\nvar SPLICE = \"splice\";\nvar UPDATE = \"update\";\nvar MAX_SPLICE_SIZE = 10000; // See e.g. https://github.com/mobxjs/mobx/issues/859\nvar arrayTraps = {\n get: function get(target, name) {\n var adm = target[$mobx];\n if (name === $mobx) {\n return adm;\n }\n if (name === \"length\") {\n return adm.getArrayLength_();\n }\n if (typeof name === \"string\" && !isNaN(name)) {\n return adm.get_(parseInt(name));\n }\n if (hasProp(arrayExtensions, name)) {\n return arrayExtensions[name];\n }\n return target[name];\n },\n set: function set(target, name, value) {\n var adm = target[$mobx];\n if (name === \"length\") {\n adm.setArrayLength_(value);\n }\n if (typeof name === \"symbol\" || isNaN(name)) {\n target[name] = value;\n } else {\n // numeric string\n adm.set_(parseInt(name), value);\n }\n return true;\n },\n preventExtensions: function preventExtensions() {\n die(15);\n }\n};\nvar ObservableArrayAdministration = /*#__PURE__*/function () {\n // this is the prop that gets proxied, so can't replace it!\n\n function ObservableArrayAdministration(name, enhancer, owned_, legacyMode_) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n this.owned_ = void 0;\n this.legacyMode_ = void 0;\n this.atom_ = void 0;\n this.values_ = [];\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.enhancer_ = void 0;\n this.dehancer = void 0;\n this.proxy_ = void 0;\n this.lastKnownLength_ = 0;\n this.owned_ = owned_;\n this.legacyMode_ = legacyMode_;\n this.atom_ = new Atom(name);\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, process.env.NODE_ENV !== \"production\" ? name + \"[..]\" : \"ObservableArray[..]\");\n };\n }\n var _proto = ObservableArrayAdministration.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.dehanceValues_ = function dehanceValues_(values) {\n if (this.dehancer !== undefined && values.length > 0) {\n return values.map(this.dehancer);\n }\n return values;\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (fireImmediately === void 0) {\n fireImmediately = false;\n }\n if (fireImmediately) {\n listener({\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: \"splice\",\n index: 0,\n added: this.values_.slice(),\n addedCount: this.values_.length,\n removed: [],\n removedCount: 0\n });\n }\n return registerListener(this, listener);\n };\n _proto.getArrayLength_ = function getArrayLength_() {\n this.atom_.reportObserved();\n return this.values_.length;\n };\n _proto.setArrayLength_ = function setArrayLength_(newLength) {\n if (typeof newLength !== \"number\" || isNaN(newLength) || newLength < 0) {\n die(\"Out of range: \" + newLength);\n }\n var currentLength = this.values_.length;\n if (newLength === currentLength) {\n return;\n } else if (newLength > currentLength) {\n var newItems = new Array(newLength - currentLength);\n for (var i = 0; i < newLength - currentLength; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n this.spliceWithArray_(currentLength, 0, newItems);\n } else {\n this.spliceWithArray_(newLength, currentLength - newLength);\n }\n };\n _proto.updateArrayLength_ = function updateArrayLength_(oldLength, delta) {\n if (oldLength !== this.lastKnownLength_) {\n die(16);\n }\n this.lastKnownLength_ += delta;\n if (this.legacyMode_ && delta > 0) {\n reserveArrayBuffer(oldLength + delta + 1);\n }\n };\n _proto.spliceWithArray_ = function spliceWithArray_(index, deleteCount, newItems) {\n var _this = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n var length = this.values_.length;\n if (index === undefined) {\n index = 0;\n } else if (index > length) {\n index = length;\n } else if (index < 0) {\n index = Math.max(0, length + index);\n }\n if (arguments.length === 1) {\n deleteCount = length - index;\n } else if (deleteCount === undefined || deleteCount === null) {\n deleteCount = 0;\n } else {\n deleteCount = Math.max(0, Math.min(deleteCount, length - index));\n }\n if (newItems === undefined) {\n newItems = EMPTY_ARRAY;\n }\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_,\n type: SPLICE,\n index: index,\n removedCount: deleteCount,\n added: newItems\n });\n if (!change) {\n return EMPTY_ARRAY;\n }\n deleteCount = change.removedCount;\n newItems = change.added;\n }\n newItems = newItems.length === 0 ? newItems : newItems.map(function (v) {\n return _this.enhancer_(v, undefined);\n });\n if (this.legacyMode_ || process.env.NODE_ENV !== \"production\") {\n var lengthDelta = newItems.length - deleteCount;\n this.updateArrayLength_(length, lengthDelta); // checks if internal array wasn't modified\n }\n\n var res = this.spliceItemsIntoValues_(index, deleteCount, newItems);\n if (deleteCount !== 0 || newItems.length !== 0) {\n this.notifyArraySplice_(index, newItems, res);\n }\n return this.dehanceValues_(res);\n };\n _proto.spliceItemsIntoValues_ = function spliceItemsIntoValues_(index, deleteCount, newItems) {\n if (newItems.length < MAX_SPLICE_SIZE) {\n var _this$values_;\n return (_this$values_ = this.values_).splice.apply(_this$values_, [index, deleteCount].concat(newItems));\n } else {\n // The items removed by the splice\n var res = this.values_.slice(index, index + deleteCount);\n // The items that that should remain at the end of the array\n var oldItems = this.values_.slice(index + deleteCount);\n // New length is the previous length + addition count - deletion count\n this.values_.length += newItems.length - deleteCount;\n for (var i = 0; i < newItems.length; i++) {\n this.values_[index + i] = newItems[i];\n }\n for (var _i = 0; _i < oldItems.length; _i++) {\n this.values_[index + newItems.length + _i] = oldItems[_i];\n }\n return res;\n }\n };\n _proto.notifyArrayChildUpdate_ = function notifyArrayChildUpdate_(index, newValue, oldValue) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n type: UPDATE,\n debugObjectName: this.atom_.name_,\n index: index,\n newValue: newValue,\n oldValue: oldValue\n } : null;\n // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't\n // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.notifyArraySplice_ = function notifyArraySplice_(index, added, removed) {\n var notifySpy = !this.owned_ && isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"array\",\n object: this.proxy_,\n debugObjectName: this.atom_.name_,\n type: SPLICE,\n index: index,\n removed: removed,\n added: added,\n removedCount: removed.length,\n addedCount: added.length\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n this.atom_.reportChanged();\n // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get_ = function get_(index) {\n if (this.legacyMode_ && index >= this.values_.length) {\n console.warn(process.env.NODE_ENV !== \"production\" ? \"[mobx.array] Attempt to read an array index (\" + index + \") that is out of bounds (\" + this.values_.length + \"). Please check length first. Out of bound indices will not be tracked by MobX\" : \"[mobx] Out of bounds read: \" + index);\n return undefined;\n }\n this.atom_.reportObserved();\n return this.dehanceValue_(this.values_[index]);\n };\n _proto.set_ = function set_(index, newValue) {\n var values = this.values_;\n if (this.legacyMode_ && index > values.length) {\n // out of bounds\n die(17, index, values.length);\n }\n if (index < values.length) {\n // update at index in range\n checkIfStateModificationsAreAllowed(this.atom_);\n var oldValue = values[index];\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_,\n index: index,\n newValue: newValue\n });\n if (!change) {\n return;\n }\n newValue = change.newValue;\n }\n newValue = this.enhancer_(newValue, oldValue);\n var changed = newValue !== oldValue;\n if (changed) {\n values[index] = newValue;\n this.notifyArrayChildUpdate_(index, newValue, oldValue);\n }\n } else {\n // For out of bound index, we don't create an actual sparse array,\n // but rather fill the holes with undefined (same as setArrayLength_).\n // This could be considered a bug.\n var newItems = new Array(index + 1 - values.length);\n for (var i = 0; i < newItems.length - 1; i++) {\n newItems[i] = undefined;\n } // No Array.fill everywhere...\n newItems[newItems.length - 1] = newValue;\n this.spliceWithArray_(values.length, 0, newItems);\n }\n };\n return ObservableArrayAdministration;\n}();\nfunction createObservableArray(initialValues, enhancer, name, owned) {\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n assertProxies();\n return initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, false);\n addHiddenFinalProp(adm.values_, $mobx, adm);\n var proxy = new Proxy(adm.values_, arrayTraps);\n adm.proxy_ = proxy;\n if (initialValues && initialValues.length) {\n adm.spliceWithArray_(0, 0, initialValues);\n }\n return proxy;\n });\n}\n// eslint-disable-next-line\nvar arrayExtensions = {\n clear: function clear() {\n return this.splice(0);\n },\n replace: function replace(newItems) {\n var adm = this[$mobx];\n return adm.spliceWithArray_(0, adm.values_.length, newItems);\n },\n // Used by JSON.stringify\n toJSON: function toJSON() {\n return this.slice();\n },\n /*\r\n * functions that do alter the internal structure of the array, (based on lib.es6.d.ts)\r\n * since these functions alter the inner structure of the array, the have side effects.\r\n * Because the have side effects, they should not be used in computed function,\r\n * and for that reason the do not call dependencyState.notifyObserved\r\n */\n splice: function splice(index, deleteCount) {\n for (var _len = arguments.length, newItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n newItems[_key - 2] = arguments[_key];\n }\n var adm = this[$mobx];\n switch (arguments.length) {\n case 0:\n return [];\n case 1:\n return adm.spliceWithArray_(index);\n case 2:\n return adm.spliceWithArray_(index, deleteCount);\n }\n return adm.spliceWithArray_(index, deleteCount, newItems);\n },\n spliceWithArray: function spliceWithArray(index, deleteCount, newItems) {\n return this[$mobx].spliceWithArray_(index, deleteCount, newItems);\n },\n push: function push() {\n var adm = this[$mobx];\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n adm.spliceWithArray_(adm.values_.length, 0, items);\n return adm.values_.length;\n },\n pop: function pop() {\n return this.splice(Math.max(this[$mobx].values_.length - 1, 0), 1)[0];\n },\n shift: function shift() {\n return this.splice(0, 1)[0];\n },\n unshift: function unshift() {\n var adm = this[$mobx];\n for (var _len3 = arguments.length, items = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n items[_key3] = arguments[_key3];\n }\n adm.spliceWithArray_(0, 0, items);\n return adm.values_.length;\n },\n reverse: function reverse() {\n // reverse by default mutates in place before returning the result\n // which makes it both a 'derivation' and a 'mutation'.\n if (globalState.trackingDerivation) {\n die(37, \"reverse\");\n }\n this.replace(this.slice().reverse());\n return this;\n },\n sort: function sort() {\n // sort by default mutates in place before returning the result\n // which goes against all good practices. Let's not change the array in place!\n if (globalState.trackingDerivation) {\n die(37, \"sort\");\n }\n var copy = this.slice();\n copy.sort.apply(copy, arguments);\n this.replace(copy);\n return this;\n },\n remove: function remove(value) {\n var adm = this[$mobx];\n var idx = adm.dehanceValues_(adm.values_).indexOf(value);\n if (idx > -1) {\n this.splice(idx, 1);\n return true;\n }\n return false;\n }\n};\n/**\r\n * Wrap function from prototype\r\n * Without this, everything works as well, but this works\r\n * faster as everything works on unproxied values\r\n */\naddArrayExtension(\"concat\", simpleFunc);\naddArrayExtension(\"flat\", simpleFunc);\naddArrayExtension(\"includes\", simpleFunc);\naddArrayExtension(\"indexOf\", simpleFunc);\naddArrayExtension(\"join\", simpleFunc);\naddArrayExtension(\"lastIndexOf\", simpleFunc);\naddArrayExtension(\"slice\", simpleFunc);\naddArrayExtension(\"toString\", simpleFunc);\naddArrayExtension(\"toLocaleString\", simpleFunc);\n// map\naddArrayExtension(\"every\", mapLikeFunc);\naddArrayExtension(\"filter\", mapLikeFunc);\naddArrayExtension(\"find\", mapLikeFunc);\naddArrayExtension(\"findIndex\", mapLikeFunc);\naddArrayExtension(\"flatMap\", mapLikeFunc);\naddArrayExtension(\"forEach\", mapLikeFunc);\naddArrayExtension(\"map\", mapLikeFunc);\naddArrayExtension(\"some\", mapLikeFunc);\n// reduce\naddArrayExtension(\"reduce\", reduceLikeFunc);\naddArrayExtension(\"reduceRight\", reduceLikeFunc);\nfunction addArrayExtension(funcName, funcFactory) {\n if (typeof Array.prototype[funcName] === \"function\") {\n arrayExtensions[funcName] = funcFactory(funcName);\n }\n}\n// Report and delegate to dehanced array\nfunction simpleFunc(funcName) {\n return function () {\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction mapLikeFunc(funcName) {\n return function (callback, thisArg) {\n var _this2 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n return dehancedValues[funcName](function (element, index) {\n return callback.call(thisArg, element, index, _this2);\n });\n };\n}\n// Make sure callbacks recieve correct array arg #2326\nfunction reduceLikeFunc(funcName) {\n return function () {\n var _this3 = this;\n var adm = this[$mobx];\n adm.atom_.reportObserved();\n var dehancedValues = adm.dehanceValues_(adm.values_);\n // #2432 - reduce behavior depends on arguments.length\n var callback = arguments[0];\n arguments[0] = function (accumulator, currentValue, index) {\n return callback(accumulator, currentValue, index, _this3);\n };\n return dehancedValues[funcName].apply(dehancedValues, arguments);\n };\n}\nvar isObservableArrayAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableArrayAdministration\", ObservableArrayAdministration);\nfunction isObservableArray(thing) {\n return isObject(thing) && isObservableArrayAdministration(thing[$mobx]);\n}\n\nvar _Symbol$iterator, _Symbol$toStringTag;\nvar ObservableMapMarker = {};\nvar ADD = \"add\";\nvar DELETE = \"delete\";\n// just extend Map? See also https://gist.github.com/nestharus/13b4d74f2ef4a2f4357dbd3fc23c1e54\n// But: https://github.com/mobxjs/mobx/issues/1556\n_Symbol$iterator = Symbol.iterator;\n_Symbol$toStringTag = Symbol.toStringTag;\nvar ObservableMap = /*#__PURE__*/function () {\n // hasMap, not hashMap >-).\n\n function ObservableMap(initialData, enhancer_, name_) {\n var _this = this;\n if (enhancer_ === void 0) {\n enhancer_ = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableMap@\" + getNextId() : \"ObservableMap\";\n }\n this.enhancer_ = void 0;\n this.name_ = void 0;\n this[$mobx] = ObservableMapMarker;\n this.data_ = void 0;\n this.hasMap_ = void 0;\n this.keysAtom_ = void 0;\n this.interceptors_ = void 0;\n this.changeListeners_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = enhancer_;\n this.name_ = name_;\n if (!isFunction(Map)) {\n die(18);\n }\n initObservable(function () {\n _this.keysAtom_ = createAtom(process.env.NODE_ENV !== \"production\" ? _this.name_ + \".keys()\" : \"ObservableMap.keys()\");\n _this.data_ = new Map();\n _this.hasMap_ = new Map();\n if (initialData) {\n _this.merge(initialData);\n }\n });\n }\n var _proto = ObservableMap.prototype;\n _proto.has_ = function has_(key) {\n return this.data_.has(key);\n };\n _proto.has = function has(key) {\n var _this2 = this;\n if (!globalState.trackingDerivation) {\n return this.has_(key);\n }\n var entry = this.hasMap_.get(key);\n if (!entry) {\n var newEntry = entry = new ObservableValue(this.has_(key), referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableMap.key?\", false);\n this.hasMap_.set(key, newEntry);\n onBecomeUnobserved(newEntry, function () {\n return _this2.hasMap_[\"delete\"](key);\n });\n }\n return entry.get();\n };\n _proto.set = function set(key, value) {\n var hasKey = this.has_(key);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: hasKey ? UPDATE : ADD,\n object: this,\n newValue: value,\n name: key\n });\n if (!change) {\n return this;\n }\n value = change.newValue;\n }\n if (hasKey) {\n this.updateValue_(key, value);\n } else {\n this.addValue_(key, value);\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(key) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n name: key\n });\n if (!change) {\n return false;\n }\n }\n if (this.has_(key)) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: this.data_.get(key).value_,\n name: key\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n } // TODO fix type\n transaction(function () {\n var _this3$hasMap_$get;\n _this3.keysAtom_.reportChanged();\n (_this3$hasMap_$get = _this3.hasMap_.get(key)) == null ? void 0 : _this3$hasMap_$get.setNewValue_(false);\n var observable = _this3.data_.get(key);\n observable.setNewValue_(undefined);\n _this3.data_[\"delete\"](key);\n });\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.updateValue_ = function updateValue_(key, newValue) {\n var observable = this.data_.get(key);\n newValue = observable.prepareNewValue_(newValue);\n if (newValue !== globalState.UNCHANGED) {\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: UPDATE,\n object: this,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n };\n _proto.addValue_ = function addValue_(key, newValue) {\n var _this4 = this;\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n transaction(function () {\n var _this4$hasMap_$get;\n var observable = new ObservableValue(newValue, _this4.enhancer_, process.env.NODE_ENV !== \"production\" ? _this4.name_ + \".\" + stringifyKey(key) : \"ObservableMap.key\", false);\n _this4.data_.set(key, observable);\n newValue = observable.value_; // value might have been changed\n (_this4$hasMap_$get = _this4.hasMap_.get(key)) == null ? void 0 : _this4$hasMap_$get.setNewValue_(true);\n _this4.keysAtom_.reportChanged();\n });\n var notifySpy = isSpyEnabled();\n var notify = hasListeners(this);\n var change = notify || notifySpy ? {\n observableKind: \"map\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n } // TODO fix type\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n };\n _proto.get = function get(key) {\n if (this.has(key)) {\n return this.dehanceValue_(this.data_.get(key).get());\n }\n return this.dehanceValue_(undefined);\n };\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.keys = function keys() {\n this.keysAtom_.reportObserved();\n return this.data_.keys();\n };\n _proto.values = function values() {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next = keys.next(),\n done = _keys$next.done,\n value = _keys$next.value;\n return {\n done: done,\n value: done ? undefined : self.get(value)\n };\n }\n });\n };\n _proto.entries = function entries() {\n var self = this;\n var keys = this.keys();\n return makeIterable({\n next: function next() {\n var _keys$next2 = keys.next(),\n done = _keys$next2.done,\n value = _keys$next2.value;\n return {\n done: done,\n value: done ? undefined : [value, self.get(value)]\n };\n }\n });\n };\n _proto[_Symbol$iterator] = function () {\n return this.entries();\n };\n _proto.forEach = function forEach(callback, thisArg) {\n for (var _iterator = _createForOfIteratorHelperLoose(this), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n value = _step$value[1];\n callback.call(thisArg, value, key, this);\n }\n }\n /** Merge another object into this object, returns this. */;\n _proto.merge = function merge(other) {\n var _this5 = this;\n if (isObservableMap(other)) {\n other = new Map(other);\n }\n transaction(function () {\n if (isPlainObject(other)) {\n getPlainObjectKeys(other).forEach(function (key) {\n return _this5.set(key, other[key]);\n });\n } else if (Array.isArray(other)) {\n other.forEach(function (_ref) {\n var key = _ref[0],\n value = _ref[1];\n return _this5.set(key, value);\n });\n } else if (isES6Map(other)) {\n if (other.constructor !== Map) {\n die(19, other);\n }\n other.forEach(function (value, key) {\n return _this5.set(key, value);\n });\n } else if (other !== null && other !== undefined) {\n die(20, other);\n }\n });\n return this;\n };\n _proto.clear = function clear() {\n var _this6 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator2 = _createForOfIteratorHelperLoose(_this6.keys()), _step2; !(_step2 = _iterator2()).done;) {\n var key = _step2.value;\n _this6[\"delete\"](key);\n }\n });\n });\n };\n _proto.replace = function replace(values) {\n var _this7 = this;\n // Implementation requirements:\n // - respect ordering of replacement map\n // - allow interceptors to run and potentially prevent individual operations\n // - don't recreate observables that already exist in original map (so we don't destroy existing subscriptions)\n // - don't _keysAtom.reportChanged if the keys of resulting map are indentical (order matters!)\n // - note that result map may differ from replacement map due to the interceptors\n transaction(function () {\n // Convert to map so we can do quick key lookups\n var replacementMap = convertToMap(values);\n var orderedData = new Map();\n // Used for optimization\n var keysReportChangedCalled = false;\n // Delete keys that don't exist in replacement map\n // if the key deletion is prevented by interceptor\n // add entry at the beginning of the result map\n for (var _iterator3 = _createForOfIteratorHelperLoose(_this7.data_.keys()), _step3; !(_step3 = _iterator3()).done;) {\n var key = _step3.value;\n // Concurrently iterating/deleting keys\n // iterator should handle this correctly\n if (!replacementMap.has(key)) {\n var deleted = _this7[\"delete\"](key);\n // Was the key removed?\n if (deleted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n } else {\n // Delete prevented by interceptor\n var value = _this7.data_.get(key);\n orderedData.set(key, value);\n }\n }\n }\n // Merge entries\n for (var _iterator4 = _createForOfIteratorHelperLoose(replacementMap.entries()), _step4; !(_step4 = _iterator4()).done;) {\n var _step4$value = _step4.value,\n _key = _step4$value[0],\n _value = _step4$value[1];\n // We will want to know whether a new key is added\n var keyExisted = _this7.data_.has(_key);\n // Add or update value\n _this7.set(_key, _value);\n // The addition could have been prevent by interceptor\n if (_this7.data_.has(_key)) {\n // The update could have been prevented by interceptor\n // and also we want to preserve existing values\n // so use value from _data map (instead of replacement map)\n var _value2 = _this7.data_.get(_key);\n orderedData.set(_key, _value2);\n // Was a new key added?\n if (!keyExisted) {\n // _keysAtom.reportChanged() was already called\n keysReportChangedCalled = true;\n }\n }\n }\n // Check for possible key order change\n if (!keysReportChangedCalled) {\n if (_this7.data_.size !== orderedData.size) {\n // If size differs, keys are definitely modified\n _this7.keysAtom_.reportChanged();\n } else {\n var iter1 = _this7.data_.keys();\n var iter2 = orderedData.keys();\n var next1 = iter1.next();\n var next2 = iter2.next();\n while (!next1.done) {\n if (next1.value !== next2.value) {\n _this7.keysAtom_.reportChanged();\n break;\n }\n next1 = iter1.next();\n next2 = iter2.next();\n }\n }\n }\n // Use correctly ordered map\n _this7.data_ = orderedData;\n });\n return this;\n };\n _proto.toString = function toString() {\n return \"[object ObservableMap]\";\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n /**\r\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\r\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\r\n * for callback details\r\n */\n _proto.observe_ = function observe_(listener, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with maps.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _createClass(ObservableMap, [{\n key: \"size\",\n get: function get() {\n this.keysAtom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Map\";\n }\n }]);\n return ObservableMap;\n}();\n// eslint-disable-next-line\nvar isObservableMap = /*#__PURE__*/createInstanceofPredicate(\"ObservableMap\", ObservableMap);\nfunction convertToMap(dataStructure) {\n if (isES6Map(dataStructure) || isObservableMap(dataStructure)) {\n return dataStructure;\n } else if (Array.isArray(dataStructure)) {\n return new Map(dataStructure);\n } else if (isPlainObject(dataStructure)) {\n var map = new Map();\n for (var key in dataStructure) {\n map.set(key, dataStructure[key]);\n }\n return map;\n } else {\n return die(21, dataStructure);\n }\n}\n\nvar _Symbol$iterator$1, _Symbol$toStringTag$1;\nvar ObservableSetMarker = {};\n_Symbol$iterator$1 = Symbol.iterator;\n_Symbol$toStringTag$1 = Symbol.toStringTag;\nvar ObservableSet = /*#__PURE__*/function () {\n function ObservableSet(initialData, enhancer, name_) {\n var _this = this;\n if (enhancer === void 0) {\n enhancer = deepEnhancer;\n }\n if (name_ === void 0) {\n name_ = process.env.NODE_ENV !== \"production\" ? \"ObservableSet@\" + getNextId() : \"ObservableSet\";\n }\n this.name_ = void 0;\n this[$mobx] = ObservableSetMarker;\n this.data_ = new Set();\n this.atom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.dehancer = void 0;\n this.enhancer_ = void 0;\n this.name_ = name_;\n if (!isFunction(Set)) {\n die(22);\n }\n this.enhancer_ = function (newV, oldV) {\n return enhancer(newV, oldV, name_);\n };\n initObservable(function () {\n _this.atom_ = createAtom(_this.name_);\n if (initialData) {\n _this.replace(initialData);\n }\n });\n }\n var _proto = ObservableSet.prototype;\n _proto.dehanceValue_ = function dehanceValue_(value) {\n if (this.dehancer !== undefined) {\n return this.dehancer(value);\n }\n return value;\n };\n _proto.clear = function clear() {\n var _this2 = this;\n transaction(function () {\n untracked(function () {\n for (var _iterator = _createForOfIteratorHelperLoose(_this2.data_.values()), _step; !(_step = _iterator()).done;) {\n var value = _step.value;\n _this2[\"delete\"](value);\n }\n });\n });\n };\n _proto.forEach = function forEach(callbackFn, thisArg) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this), _step2; !(_step2 = _iterator2()).done;) {\n var value = _step2.value;\n callbackFn.call(thisArg, value, value, this);\n }\n };\n _proto.add = function add(value) {\n var _this3 = this;\n checkIfStateModificationsAreAllowed(this.atom_);\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: ADD,\n object: this,\n newValue: value\n });\n if (!change) {\n return this;\n }\n // ideally, value = change.value would be done here, so that values can be\n // changed by interceptor. Same applies for other Set and Map api's.\n }\n\n if (!this.has(value)) {\n transaction(function () {\n _this3.data_.add(_this3.enhancer_(value, undefined));\n _this3.atom_.reportChanged();\n });\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: ADD,\n object: this,\n newValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change);\n }\n if (notify) {\n notifyListeners(this, _change);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n }\n return this;\n };\n _proto[\"delete\"] = function _delete(value) {\n var _this4 = this;\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: DELETE,\n object: this,\n oldValue: value\n });\n if (!change) {\n return false;\n }\n }\n if (this.has(value)) {\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var notify = hasListeners(this);\n var _change2 = notify || notifySpy ? {\n observableKind: \"set\",\n debugObjectName: this.name_,\n type: DELETE,\n object: this,\n oldValue: value\n } : null;\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportStart(_change2);\n }\n transaction(function () {\n _this4.atom_.reportChanged();\n _this4.data_[\"delete\"](value);\n });\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (notifySpy && process.env.NODE_ENV !== \"production\") {\n spyReportEnd();\n }\n return true;\n }\n return false;\n };\n _proto.has = function has(value) {\n this.atom_.reportObserved();\n return this.data_.has(this.dehanceValue_(value));\n };\n _proto.entries = function entries() {\n var nextIndex = 0;\n var keys = Array.from(this.keys());\n var values = Array.from(this.values());\n return makeIterable({\n next: function next() {\n var index = nextIndex;\n nextIndex += 1;\n return index < values.length ? {\n value: [keys[index], values[index]],\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.keys = function keys() {\n return this.values();\n };\n _proto.values = function values() {\n this.atom_.reportObserved();\n var self = this;\n var nextIndex = 0;\n var observableValues = Array.from(this.data_.values());\n return makeIterable({\n next: function next() {\n return nextIndex < observableValues.length ? {\n value: self.dehanceValue_(observableValues[nextIndex++]),\n done: false\n } : {\n done: true\n };\n }\n });\n };\n _proto.replace = function replace(other) {\n var _this5 = this;\n if (isObservableSet(other)) {\n other = new Set(other);\n }\n transaction(function () {\n if (Array.isArray(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (isES6Set(other)) {\n _this5.clear();\n other.forEach(function (value) {\n return _this5.add(value);\n });\n } else if (other !== null && other !== undefined) {\n die(\"Cannot initialize set from \" + other);\n }\n });\n return this;\n };\n _proto.observe_ = function observe_(listener, fireImmediately) {\n // ... 'fireImmediately' could also be true?\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support fireImmediately=true in combination with sets.\");\n }\n return registerListener(this, listener);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.toJSON = function toJSON() {\n return Array.from(this);\n };\n _proto.toString = function toString() {\n return \"[object ObservableSet]\";\n };\n _proto[_Symbol$iterator$1] = function () {\n return this.values();\n };\n _createClass(ObservableSet, [{\n key: \"size\",\n get: function get() {\n this.atom_.reportObserved();\n return this.data_.size;\n }\n }, {\n key: _Symbol$toStringTag$1,\n get: function get() {\n return \"Set\";\n }\n }]);\n return ObservableSet;\n}();\n// eslint-disable-next-line\nvar isObservableSet = /*#__PURE__*/createInstanceofPredicate(\"ObservableSet\", ObservableSet);\n\nvar descriptorCache = /*#__PURE__*/Object.create(null);\nvar REMOVE = \"remove\";\nvar ObservableObjectAdministration = /*#__PURE__*/function () {\n function ObservableObjectAdministration(target_, values_, name_,\n // Used anytime annotation is not explicitely provided\n defaultAnnotation_) {\n if (values_ === void 0) {\n values_ = new Map();\n }\n if (defaultAnnotation_ === void 0) {\n defaultAnnotation_ = autoAnnotation;\n }\n this.target_ = void 0;\n this.values_ = void 0;\n this.name_ = void 0;\n this.defaultAnnotation_ = void 0;\n this.keysAtom_ = void 0;\n this.changeListeners_ = void 0;\n this.interceptors_ = void 0;\n this.proxy_ = void 0;\n this.isPlainObject_ = void 0;\n this.appliedAnnotations_ = void 0;\n this.pendingKeys_ = void 0;\n this.target_ = target_;\n this.values_ = values_;\n this.name_ = name_;\n this.defaultAnnotation_ = defaultAnnotation_;\n this.keysAtom_ = new Atom(process.env.NODE_ENV !== \"production\" ? this.name_ + \".keys\" : \"ObservableObject.keys\");\n // Optimization: we use this frequently\n this.isPlainObject_ = isPlainObject(this.target_);\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(this.defaultAnnotation_)) {\n die(\"defaultAnnotation must be valid annotation\");\n }\n if (process.env.NODE_ENV !== \"production\") {\n // Prepare structure for tracking which fields were already annotated\n this.appliedAnnotations_ = {};\n }\n }\n var _proto = ObservableObjectAdministration.prototype;\n _proto.getObservablePropValue_ = function getObservablePropValue_(key) {\n return this.values_.get(key).get();\n };\n _proto.setObservablePropValue_ = function setObservablePropValue_(key, newValue) {\n var observable = this.values_.get(key);\n if (observable instanceof ComputedValue) {\n observable.set(newValue);\n return true;\n }\n // intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n type: UPDATE,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: newValue\n });\n if (!change) {\n return null;\n }\n newValue = change.newValue;\n }\n newValue = observable.prepareNewValue_(newValue);\n // notify spy & observers\n if (newValue !== globalState.UNCHANGED) {\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var _change = notify || notifySpy ? {\n type: UPDATE,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n oldValue: observable.value_,\n name: key,\n newValue: newValue\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change);\n }\n observable.setNewValue_(newValue);\n if (notify) {\n notifyListeners(this, _change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n return true;\n };\n _proto.get_ = function get_(key) {\n if (globalState.trackingDerivation && !hasProp(this.target_, key)) {\n // Key doesn't exist yet, subscribe for it in case it's added later\n this.has_(key);\n }\n return this.target_[key];\n }\n /**\r\n * @param {PropertyKey} key\r\n * @param {any} value\r\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\r\n * @param {boolean} proxyTrap whether it's called from proxy trap\r\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\r\n */;\n _proto.set_ = function set_(key, value, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n // Don't use .has(key) - we care about own\n if (hasProp(this.target_, key)) {\n // Existing prop\n if (this.values_.has(key)) {\n // Observable (can be intercepted)\n return this.setObservablePropValue_(key, value);\n } else if (proxyTrap) {\n // Non-observable - proxy\n return Reflect.set(this.target_, key, value);\n } else {\n // Non-observable\n this.target_[key] = value;\n return true;\n }\n } else {\n // New prop\n return this.extend_(key, {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n }, this.defaultAnnotation_, proxyTrap);\n }\n }\n // Trap for \"in\"\n ;\n _proto.has_ = function has_(key) {\n if (!globalState.trackingDerivation) {\n // Skip key subscription outside derivation\n return key in this.target_;\n }\n this.pendingKeys_ || (this.pendingKeys_ = new Map());\n var entry = this.pendingKeys_.get(key);\n if (!entry) {\n entry = new ObservableValue(key in this.target_, referenceEnhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + stringifyKey(key) + \"?\" : \"ObservableObject.key?\", false);\n this.pendingKeys_.set(key, entry);\n }\n return entry.get();\n }\n /**\r\n * @param {PropertyKey} key\r\n * @param {Annotation|boolean} annotation true - use default annotation, false - ignore prop\r\n */;\n _proto.make_ = function make_(key, annotation) {\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return;\n }\n assertAnnotable(this, annotation, key);\n if (!(key in this.target_)) {\n var _this$target_$storedA;\n // Throw on missing key, except for decorators:\n // Decorator annotations are collected from whole prototype chain.\n // When called from super() some props may not exist yet.\n // However we don't have to worry about missing prop,\n // because the decorator must have been applied to something.\n if ((_this$target_$storedA = this.target_[storedAnnotationsSymbol]) != null && _this$target_$storedA[key]) {\n return; // will be annotated by subclass constructor\n } else {\n die(1, annotation.annotationType_, this.name_ + \".\" + key.toString());\n }\n }\n var source = this.target_;\n while (source && source !== objectPrototype) {\n var descriptor = getDescriptor(source, key);\n if (descriptor) {\n var outcome = annotation.make_(this, key, descriptor, source);\n if (outcome === 0 /* Cancel */) {\n return;\n }\n if (outcome === 1 /* Break */) {\n break;\n }\n }\n source = Object.getPrototypeOf(source);\n }\n recordAnnotationApplied(this, annotation, key);\n }\n /**\r\n * @param {PropertyKey} key\r\n * @param {PropertyDescriptor} descriptor\r\n * @param {Annotation|boolean} annotation true - use default annotation, false - copy as is\r\n * @param {boolean} proxyTrap whether it's called from proxy trap\r\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\r\n */;\n _proto.extend_ = function extend_(key, descriptor, annotation, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n if (annotation === true) {\n annotation = this.defaultAnnotation_;\n }\n if (annotation === false) {\n return this.defineProperty_(key, descriptor, proxyTrap);\n }\n assertAnnotable(this, annotation, key);\n var outcome = annotation.extend_(this, key, descriptor, proxyTrap);\n if (outcome) {\n recordAnnotationApplied(this, annotation, key);\n }\n return outcome;\n }\n /**\r\n * @param {PropertyKey} key\r\n * @param {PropertyDescriptor} descriptor\r\n * @param {boolean} proxyTrap whether it's called from proxy trap\r\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\r\n */;\n _proto.defineProperty_ = function defineProperty_(key, descriptor, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: descriptor.value\n });\n if (!change) {\n return null;\n }\n var newValue = change.newValue;\n if (descriptor.value !== newValue) {\n descriptor = _extends({}, descriptor, {\n value: newValue\n });\n }\n }\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n // Notify\n this.notifyPropertyAddition_(key, descriptor.value);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineObservableProperty_ = function defineObservableProperty_(key, value, enhancer, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: value\n });\n if (!change) {\n return null;\n }\n value = change.newValue;\n }\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: true,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n var observable = new ObservableValue(value, enhancer, process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\", false);\n this.values_.set(key, observable);\n // Notify (value possibly changed by ObservableValue)\n this.notifyPropertyAddition_(key, observable.value_);\n } finally {\n endBatch();\n }\n return true;\n }\n // If original descriptor becomes relevant, move this to annotation directly\n ;\n _proto.defineComputedProperty_ = function defineComputedProperty_(key, options, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n try {\n startBatch();\n // Delete\n var deleteOutcome = this.delete_(key);\n if (!deleteOutcome) {\n // Failure or intercepted\n return deleteOutcome;\n }\n // ADD interceptor\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: ADD,\n newValue: undefined\n });\n if (!change) {\n return null;\n }\n }\n options.name || (options.name = process.env.NODE_ENV !== \"production\" ? this.name_ + \".\" + key.toString() : \"ObservableObject.key\");\n options.context = this.proxy_ || this.target_;\n var cachedDescriptor = getCachedObservablePropDescriptor(key);\n var descriptor = {\n configurable: globalState.safeDescriptors ? this.isPlainObject_ : true,\n enumerable: false,\n get: cachedDescriptor.get,\n set: cachedDescriptor.set\n };\n // Define\n if (proxyTrap) {\n if (!Reflect.defineProperty(this.target_, key, descriptor)) {\n return false;\n }\n } else {\n defineProperty(this.target_, key, descriptor);\n }\n this.values_.set(key, new ComputedValue(options));\n // Notify\n this.notifyPropertyAddition_(key, undefined);\n } finally {\n endBatch();\n }\n return true;\n }\n /**\r\n * @param {PropertyKey} key\r\n * @param {PropertyDescriptor} descriptor\r\n * @param {boolean} proxyTrap whether it's called from proxy trap\r\n * @returns {boolean|null} true on success, false on failure (proxyTrap + non-configurable), null when cancelled by interceptor\r\n */;\n _proto.delete_ = function delete_(key, proxyTrap) {\n if (proxyTrap === void 0) {\n proxyTrap = false;\n }\n checkIfStateModificationsAreAllowed(this.keysAtom_);\n // No such prop\n if (!hasProp(this.target_, key)) {\n return true;\n }\n // Intercept\n if (hasInterceptors(this)) {\n var change = interceptChange(this, {\n object: this.proxy_ || this.target_,\n name: key,\n type: REMOVE\n });\n // Cancelled\n if (!change) {\n return null;\n }\n }\n // Delete\n try {\n var _this$pendingKeys_, _this$pendingKeys_$ge;\n startBatch();\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n var observable = this.values_.get(key);\n // Value needed for spies/listeners\n var value = undefined;\n // Optimization: don't pull the value unless we will need it\n if (!observable && (notify || notifySpy)) {\n var _getDescriptor;\n value = (_getDescriptor = getDescriptor(this.target_, key)) == null ? void 0 : _getDescriptor.value;\n }\n // delete prop (do first, may fail)\n if (proxyTrap) {\n if (!Reflect.deleteProperty(this.target_, key)) {\n return false;\n }\n } else {\n delete this.target_[key];\n }\n // Allow re-annotating this field\n if (process.env.NODE_ENV !== \"production\") {\n delete this.appliedAnnotations_[key];\n }\n // Clear observable\n if (observable) {\n this.values_[\"delete\"](key);\n // for computed, value is undefined\n if (observable instanceof ObservableValue) {\n value = observable.value_;\n }\n // Notify: autorun(() => obj[key]), see #1796\n propagateChanged(observable);\n }\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n // Notify \"has\" observers\n // \"in\" as it may still exist in proto\n (_this$pendingKeys_ = this.pendingKeys_) == null ? void 0 : (_this$pendingKeys_$ge = _this$pendingKeys_.get(key)) == null ? void 0 : _this$pendingKeys_$ge.set(key in this.target_);\n // Notify spies/listeners\n if (notify || notifySpy) {\n var _change2 = {\n type: REMOVE,\n observableKind: \"object\",\n object: this.proxy_ || this.target_,\n debugObjectName: this.name_,\n oldValue: value,\n name: key\n };\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(_change2);\n }\n if (notify) {\n notifyListeners(this, _change2);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n } finally {\n endBatch();\n }\n return true;\n }\n /**\r\n * Observes this object. Triggers for the events 'add', 'update' and 'delete'.\r\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/observe\r\n * for callback details\r\n */;\n _proto.observe_ = function observe_(callback, fireImmediately) {\n if (process.env.NODE_ENV !== \"production\" && fireImmediately === true) {\n die(\"`observe` doesn't support the fire immediately property for observable objects.\");\n }\n return registerListener(this, callback);\n };\n _proto.intercept_ = function intercept_(handler) {\n return registerInterceptor(this, handler);\n };\n _proto.notifyPropertyAddition_ = function notifyPropertyAddition_(key, value) {\n var _this$pendingKeys_2, _this$pendingKeys_2$g;\n var notify = hasListeners(this);\n var notifySpy = process.env.NODE_ENV !== \"production\" && isSpyEnabled();\n if (notify || notifySpy) {\n var change = notify || notifySpy ? {\n type: ADD,\n observableKind: \"object\",\n debugObjectName: this.name_,\n object: this.proxy_ || this.target_,\n name: key,\n newValue: value\n } : null;\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportStart(change);\n }\n if (notify) {\n notifyListeners(this, change);\n }\n if (process.env.NODE_ENV !== \"production\" && notifySpy) {\n spyReportEnd();\n }\n }\n (_this$pendingKeys_2 = this.pendingKeys_) == null ? void 0 : (_this$pendingKeys_2$g = _this$pendingKeys_2.get(key)) == null ? void 0 : _this$pendingKeys_2$g.set(true);\n // Notify \"keys/entries/values\" observers\n this.keysAtom_.reportChanged();\n };\n _proto.ownKeys_ = function ownKeys_() {\n this.keysAtom_.reportObserved();\n return ownKeys(this.target_);\n };\n _proto.keys_ = function keys_() {\n // Returns enumerable && own, but unfortunately keysAtom will report on ANY key change.\n // There is no way to distinguish between Object.keys(object) and Reflect.ownKeys(object) - both are handled by ownKeys trap.\n // We can either over-report in Object.keys(object) or under-report in Reflect.ownKeys(object)\n // We choose to over-report in Object.keys(object), because:\n // - typically it's used with simple data objects\n // - when symbolic/non-enumerable keys are relevant Reflect.ownKeys works as expected\n this.keysAtom_.reportObserved();\n return Object.keys(this.target_);\n };\n return ObservableObjectAdministration;\n}();\nfunction asObservableObject(target, options) {\n var _options$name;\n if (process.env.NODE_ENV !== \"production\" && options && isObservableObject(target)) {\n die(\"Options can't be provided for already observable objects.\");\n }\n if (hasProp(target, $mobx)) {\n if (process.env.NODE_ENV !== \"production\" && !(getAdministration(target) instanceof ObservableObjectAdministration)) {\n die(\"Cannot convert '\" + getDebugName(target) + \"' into observable object:\" + \"\\nThe target is already observable of different type.\" + \"\\nExtending builtins is not supported.\");\n }\n return target;\n }\n if (process.env.NODE_ENV !== \"production\" && !Object.isExtensible(target)) {\n die(\"Cannot make the designated object observable; it is not extensible\");\n }\n var name = (_options$name = options == null ? void 0 : options.name) != null ? _options$name : process.env.NODE_ENV !== \"production\" ? (isPlainObject(target) ? \"ObservableObject\" : target.constructor.name) + \"@\" + getNextId() : \"ObservableObject\";\n var adm = new ObservableObjectAdministration(target, new Map(), String(name), getAnnotationFromOptions(options));\n addHiddenProp(target, $mobx, adm);\n return target;\n}\nvar isObservableObjectAdministration = /*#__PURE__*/createInstanceofPredicate(\"ObservableObjectAdministration\", ObservableObjectAdministration);\nfunction getCachedObservablePropDescriptor(key) {\n return descriptorCache[key] || (descriptorCache[key] = {\n get: function get() {\n return this[$mobx].getObservablePropValue_(key);\n },\n set: function set(value) {\n return this[$mobx].setObservablePropValue_(key, value);\n }\n });\n}\nfunction isObservableObject(thing) {\n if (isObject(thing)) {\n return isObservableObjectAdministration(thing[$mobx]);\n }\n return false;\n}\nfunction recordAnnotationApplied(adm, annotation, key) {\n var _adm$target_$storedAn;\n if (process.env.NODE_ENV !== \"production\") {\n adm.appliedAnnotations_[key] = annotation;\n }\n // Remove applied decorator annotation so we don't try to apply it again in subclass constructor\n (_adm$target_$storedAn = adm.target_[storedAnnotationsSymbol]) == null ? true : delete _adm$target_$storedAn[key];\n}\nfunction assertAnnotable(adm, annotation, key) {\n // Valid annotation\n if (process.env.NODE_ENV !== \"production\" && !isAnnotation(annotation)) {\n die(\"Cannot annotate '\" + adm.name_ + \".\" + key.toString() + \"': Invalid annotation.\");\n }\n /*\r\n // Configurable, not sealed, not frozen\r\n // Possibly not needed, just a little better error then the one thrown by engine.\r\n // Cases where this would be useful the most (subclass field initializer) are not interceptable by this.\r\n if (__DEV__) {\r\n const configurable = getDescriptor(adm.target_, key)?.configurable\r\n const frozen = Object.isFrozen(adm.target_)\r\n const sealed = Object.isSealed(adm.target_)\r\n if (!configurable || frozen || sealed) {\r\n const fieldName = `${adm.name_}.${key.toString()}`\r\n const requestedAnnotationType = annotation.annotationType_\r\n let error = `Cannot apply '${requestedAnnotationType}' to '${fieldName}':`\r\n if (frozen) {\r\n error += `\\nObject is frozen.`\r\n }\r\n if (sealed) {\r\n error += `\\nObject is sealed.`\r\n }\r\n if (!configurable) {\r\n error += `\\nproperty is not configurable.`\r\n // Mention only if caused by us to avoid confusion\r\n if (hasProp(adm.appliedAnnotations!, key)) {\r\n error += `\\nTo prevent accidental re-definition of a field by a subclass, `\r\n error += `all annotated fields of non-plain objects (classes) are not configurable.`\r\n }\r\n }\r\n die(error)\r\n }\r\n }\r\n */\n // Not annotated\n if (process.env.NODE_ENV !== \"production\" && !isOverride(annotation) && hasProp(adm.appliedAnnotations_, key)) {\n var fieldName = adm.name_ + \".\" + key.toString();\n var currentAnnotationType = adm.appliedAnnotations_[key].annotationType_;\n var requestedAnnotationType = annotation.annotationType_;\n die(\"Cannot apply '\" + requestedAnnotationType + \"' to '\" + fieldName + \"':\" + (\"\\nThe field is already annotated with '\" + currentAnnotationType + \"'.\") + \"\\nRe-annotating fields is not allowed.\" + \"\\nUse 'override' annotation for methods overridden by subclass.\");\n }\n}\n\n// Bug in safari 9.* (or iOS 9 safari mobile). See #364\nvar ENTRY_0 = /*#__PURE__*/createArrayEntryDescriptor(0);\nvar safariPrototypeSetterInheritanceBug = /*#__PURE__*/function () {\n var v = false;\n var p = {};\n Object.defineProperty(p, \"0\", {\n set: function set() {\n v = true;\n }\n });\n /*#__PURE__*/Object.create(p)[\"0\"] = 1;\n return v === false;\n}();\n/**\r\n * This array buffer contains two lists of properties, so that all arrays\r\n * can recycle their property definitions, which significantly improves performance of creating\r\n * properties on the fly.\r\n */\nvar OBSERVABLE_ARRAY_BUFFER_SIZE = 0;\n// Typescript workaround to make sure ObservableArray extends Array\nvar StubArray = function StubArray() {};\nfunction inherit(ctor, proto) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(ctor.prototype, proto);\n } else if (ctor.prototype.__proto__ !== undefined) {\n ctor.prototype.__proto__ = proto;\n } else {\n ctor.prototype = proto;\n }\n}\ninherit(StubArray, Array.prototype);\n// Weex proto freeze protection was here,\n// but it is unclear why the hack is need as MobX never changed the prototype\n// anyway, so removed it in V6\nvar LegacyObservableArray = /*#__PURE__*/function (_StubArray, _Symbol$toStringTag, _Symbol$iterator) {\n _inheritsLoose(LegacyObservableArray, _StubArray);\n function LegacyObservableArray(initialValues, enhancer, name, owned) {\n var _this;\n if (name === void 0) {\n name = process.env.NODE_ENV !== \"production\" ? \"ObservableArray@\" + getNextId() : \"ObservableArray\";\n }\n if (owned === void 0) {\n owned = false;\n }\n _this = _StubArray.call(this) || this;\n initObservable(function () {\n var adm = new ObservableArrayAdministration(name, enhancer, owned, true);\n adm.proxy_ = _assertThisInitialized(_this);\n addHiddenFinalProp(_assertThisInitialized(_this), $mobx, adm);\n if (initialValues && initialValues.length) {\n // @ts-ignore\n _this.spliceWithArray(0, 0, initialValues);\n }\n if (safariPrototypeSetterInheritanceBug) {\n // Seems that Safari won't use numeric prototype setter untill any * numeric property is\n // defined on the instance. After that it works fine, even if this property is deleted.\n Object.defineProperty(_assertThisInitialized(_this), \"0\", ENTRY_0);\n }\n });\n return _this;\n }\n var _proto = LegacyObservableArray.prototype;\n _proto.concat = function concat() {\n this[$mobx].atom_.reportObserved();\n for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {\n arrays[_key] = arguments[_key];\n }\n return Array.prototype.concat.apply(this.slice(),\n //@ts-ignore\n arrays.map(function (a) {\n return isObservableArray(a) ? a.slice() : a;\n }));\n };\n _proto[_Symbol$iterator] = function () {\n var self = this;\n var nextIndex = 0;\n return makeIterable({\n next: function next() {\n return nextIndex < self.length ? {\n value: self[nextIndex++],\n done: false\n } : {\n done: true,\n value: undefined\n };\n }\n });\n };\n _createClass(LegacyObservableArray, [{\n key: \"length\",\n get: function get() {\n return this[$mobx].getArrayLength_();\n },\n set: function set(newLength) {\n this[$mobx].setArrayLength_(newLength);\n }\n }, {\n key: _Symbol$toStringTag,\n get: function get() {\n return \"Array\";\n }\n }]);\n return LegacyObservableArray;\n}(StubArray, Symbol.toStringTag, Symbol.iterator);\nObject.entries(arrayExtensions).forEach(function (_ref) {\n var prop = _ref[0],\n fn = _ref[1];\n if (prop !== \"concat\") {\n addHiddenProp(LegacyObservableArray.prototype, prop, fn);\n }\n});\nfunction createArrayEntryDescriptor(index) {\n return {\n enumerable: false,\n configurable: true,\n get: function get() {\n return this[$mobx].get_(index);\n },\n set: function set(value) {\n this[$mobx].set_(index, value);\n }\n };\n}\nfunction createArrayBufferItem(index) {\n defineProperty(LegacyObservableArray.prototype, \"\" + index, createArrayEntryDescriptor(index));\n}\nfunction reserveArrayBuffer(max) {\n if (max > OBSERVABLE_ARRAY_BUFFER_SIZE) {\n for (var index = OBSERVABLE_ARRAY_BUFFER_SIZE; index < max + 100; index++) {\n createArrayBufferItem(index);\n }\n OBSERVABLE_ARRAY_BUFFER_SIZE = max;\n }\n}\nreserveArrayBuffer(1000);\nfunction createLegacyArray(initialValues, enhancer, name) {\n return new LegacyObservableArray(initialValues, enhancer, name);\n}\n\nfunction getAtom(thing, property) {\n if (typeof thing === \"object\" && thing !== null) {\n if (isObservableArray(thing)) {\n if (property !== undefined) {\n die(23);\n }\n return thing[$mobx].atom_;\n }\n if (isObservableSet(thing)) {\n return thing.atom_;\n }\n if (isObservableMap(thing)) {\n if (property === undefined) {\n return thing.keysAtom_;\n }\n var observable = thing.data_.get(property) || thing.hasMap_.get(property);\n if (!observable) {\n die(25, property, getDebugName(thing));\n }\n return observable;\n }\n if (isObservableObject(thing)) {\n if (!property) {\n return die(26);\n }\n var _observable = thing[$mobx].values_.get(property);\n if (!_observable) {\n die(27, property, getDebugName(thing));\n }\n return _observable;\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n } else if (isFunction(thing)) {\n if (isReaction(thing[$mobx])) {\n // disposer function\n return thing[$mobx];\n }\n }\n die(28);\n}\nfunction getAdministration(thing, property) {\n if (!thing) {\n die(29);\n }\n if (property !== undefined) {\n return getAdministration(getAtom(thing, property));\n }\n if (isAtom(thing) || isComputedValue(thing) || isReaction(thing)) {\n return thing;\n }\n if (isObservableMap(thing) || isObservableSet(thing)) {\n return thing;\n }\n if (thing[$mobx]) {\n return thing[$mobx];\n }\n die(24, thing);\n}\nfunction getDebugName(thing, property) {\n var named;\n if (property !== undefined) {\n named = getAtom(thing, property);\n } else if (isAction(thing)) {\n return thing.name;\n } else if (isObservableObject(thing) || isObservableMap(thing) || isObservableSet(thing)) {\n named = getAdministration(thing);\n } else {\n // valid for arrays as well\n named = getAtom(thing);\n }\n return named.name_;\n}\n/**\r\n * Helper function for initializing observable structures, it applies:\r\n * 1. allowStateChanges so we don't violate enforceActions.\r\n * 2. untracked so we don't accidentaly subscribe to anything observable accessed during init in case the observable is created inside derivation.\r\n * 3. batch to avoid state version updates\r\n */\nfunction initObservable(cb) {\n var derivation = untrackedStart();\n var allowStateChanges = allowStateChangesStart(true);\n startBatch();\n try {\n return cb();\n } finally {\n endBatch();\n allowStateChangesEnd(allowStateChanges);\n untrackedEnd(derivation);\n }\n}\n\nvar toString = objectPrototype.toString;\nfunction deepEqual(a, b, depth) {\n if (depth === void 0) {\n depth = -1;\n }\n return eq(a, b, depth);\n}\n// Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, depth, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) {\n return a !== 0 || 1 / a === 1 / b;\n }\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) {\n return false;\n }\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) {\n return b !== b;\n }\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== \"function\" && type !== \"object\" && typeof b != \"object\") {\n return false;\n }\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) {\n return false;\n }\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case \"[object RegExp]\":\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case \"[object String]\":\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return \"\" + a === \"\" + b;\n case \"[object Number]\":\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) {\n return +b !== +b;\n }\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case \"[object Date]\":\n case \"[object Boolean]\":\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case \"[object Symbol]\":\n return typeof Symbol !== \"undefined\" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b);\n case \"[object Map]\":\n case \"[object Set]\":\n // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.\n // Hide this extra level by increasing the depth.\n if (depth >= 0) {\n depth++;\n }\n break;\n }\n // Unwrap any wrapped objects.\n a = unwrap(a);\n b = unwrap(b);\n var areArrays = className === \"[object Array]\";\n if (!areArrays) {\n if (typeof a != \"object\" || typeof b != \"object\") {\n return false;\n }\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor,\n bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor && isFunction(bCtor) && bCtor instanceof bCtor) && \"constructor\" in a && \"constructor\" in b) {\n return false;\n }\n }\n if (depth === 0) {\n return false;\n } else if (depth < 0) {\n depth = -1;\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) {\n return bStack[length] === b;\n }\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) {\n return false;\n }\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], depth - 1, aStack, bStack)) {\n return false;\n }\n }\n } else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length) {\n return false;\n }\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {\n return false;\n }\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\nfunction unwrap(a) {\n if (isObservableArray(a)) {\n return a.slice();\n }\n if (isES6Map(a) || isObservableMap(a)) {\n return Array.from(a.entries());\n }\n if (isES6Set(a) || isObservableSet(a)) {\n return Array.from(a.entries());\n }\n return a;\n}\n\nfunction makeIterable(iterator) {\n iterator[Symbol.iterator] = getSelf;\n return iterator;\n}\nfunction getSelf() {\n return this;\n}\n\nfunction isAnnotation(thing) {\n return (\n // Can be function\n thing instanceof Object && typeof thing.annotationType_ === \"string\" && isFunction(thing.make_) && isFunction(thing.extend_)\n );\n}\n\n/**\r\n * (c) Michel Weststrate 2015 - 2020\r\n * MIT Licensed\r\n *\r\n * Welcome to the mobx sources! To get a global overview of how MobX internally works,\r\n * this is a good place to start:\r\n * https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254#.xvbh6qd74\r\n *\r\n * Source folders:\r\n * ===============\r\n *\r\n * - api/ Most of the public static methods exposed by the module can be found here.\r\n * - core/ Implementation of the MobX algorithm; atoms, derivations, reactions, dependency trees, optimizations. Cool stuff can be found here.\r\n * - types/ All the magic that is need to have observable objects, arrays and values is in this folder. Including the modifiers like `asFlat`.\r\n * - utils/ Utility stuff.\r\n *\r\n */\n[\"Symbol\", \"Map\", \"Set\"].forEach(function (m) {\n var g = getGlobal();\n if (typeof g[m] === \"undefined\") {\n die(\"MobX requires global '\" + m + \"' to be available or polyfilled\");\n }\n});\nif (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === \"object\") {\n // See: https://github.com/andykog/mobx-devtools/\n __MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({\n spy: spy,\n extras: {\n getDebugName: getDebugName\n },\n $mobx: $mobx\n });\n}\n\nexport { $mobx, FlowCancellationError, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, runInAction as _allowStateChangesInsideComputed, allowStateReadsEnd as _allowStateReadsEnd, allowStateReadsStart as _allowStateReadsStart, autoAction as _autoAction, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, apiDefineProperty as defineProperty, entries, extendObservable, flow, flowResult, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isFlow, isFlowCancellationError, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, makeAutoObservable, makeObservable, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, override, apiOwnKeys as ownKeys, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };\n//# sourceMappingURL=mobx.esm.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n//# sourceMappingURL=args.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return executeSchedule(subscriber, scheduler, function () { return subscriber.next(value); }, delay); }, function () { return executeSchedule(subscriber, scheduler, function () { return subscriber.complete(); }, delay); }, function (err) { return executeSchedule(subscriber, scheduler, function () { return subscriber.error(err); }, delay); }));\n });\n}\n//# sourceMappingURL=observeOn.js.map","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return operate(function (source, subscriber) {\n subscriber.add(scheduler.schedule(function () { return source.subscribe(subscriber); }, delay));\n });\n}\n//# sourceMappingURL=subscribeOn.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n//# sourceMappingURL=schedulePromise.js.map","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable(function (subscriber) {\n var i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n//# sourceMappingURL=scheduleArray.js.map","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable(function (subscriber) {\n var iterator;\n executeSchedule(subscriber, scheduler, function () {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, function () {\n var _a;\n var value;\n var done;\n try {\n (_a = iterator.next(), value = _a.value, done = _a.done);\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return function () { return isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return(); };\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(function (subscriber) {\n executeSchedule(subscriber, scheduler, function () {\n var iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, function () {\n iterator.next().then(function (result) {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n//# sourceMappingURL=scheduleAsyncIterable.js.map","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n//# sourceMappingURL=scheduleReadableStreamLike.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n//# sourceMappingURL=scheduled.js.map","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n//# sourceMappingURL=from.js.map","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n//# sourceMappingURL=of.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","var isArray = Array.isArray;\nvar getPrototypeOf = Object.getPrototypeOf, objectProto = Object.prototype, getKeys = Object.keys;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n var first_1 = args[0];\n if (isArray(first_1)) {\n return { args: first_1, keys: null };\n }\n if (isPOJO(first_1)) {\n var keys = getKeys(first_1);\n return {\n args: keys.map(function (key) { return first_1[key]; }),\n keys: keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n//# sourceMappingURL=argsArgArrayOrObject.js.map","export function createObject(keys, values) {\n return keys.reduce(function (result, key, i) { return ((result[key] = values[i]), result); }, {});\n}\n//# sourceMappingURL=createObject.js.map","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var resultSelector = popResultSelector(args);\n var _a = argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;\n if (observables.length === 0) {\n return from([], scheduler);\n }\n var result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n function (values) { return createObject(keys, values); }\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform) {\n if (valueTransform === void 0) { valueTransform = identity; }\n return function (subscriber) {\n maybeSchedule(scheduler, function () {\n var length = observables.length;\n var values = new Array(length);\n var active = length;\n var remainingFirstValues = length;\n var _loop_1 = function (i) {\n maybeSchedule(scheduler, function () {\n var source = from(observables[i], scheduler);\n var hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, function () {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n };\n for (var i = 0; i < length; i++) {\n _loop_1(i);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n//# sourceMappingURL=combineLatest.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return concatAll()(from(args, popScheduler(args)));\n}\n//# sourceMappingURL=concat.js.map","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable(function (subscriber) {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var concurrent = popNumber(args, Infinity);\n var sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate(function (source, subscriber) {\n var innerSub = null;\n var syncUnsub = false;\n var handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, function (err) {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n//# sourceMappingURL=catchError.js.map","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n//# sourceMappingURL=concatMap.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector) {\n if (keySelector === void 0) { keySelector = identity; }\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate(function (source, subscriber) {\n var previousKey;\n var first = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { from } from '../observable/from';\nimport { take } from '../operators/take';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection = null;\n var resetConnection = null;\n var subject = null;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = null;\n };\n var reset = function () {\n cancelReset();\n connection = subject = null;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n from(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return null;\n }\n if (on === false) {\n return null;\n }\n return on.apply(void 0, __spreadArray([], __read(args))).pipe(take(1))\n .subscribe(function () { return reset(); });\n}\n//# sourceMappingURL=share.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n//# sourceMappingURL=shareReplay.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","export default {}","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","export const version = \"logger/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nlet _permanentCensorErrors = false;\nlet _censorErrors = false;\nconst LogLevels = { debug: 1, \"default\": 2, info: 2, warning: 3, error: 4, off: 5 };\nlet _logLevel = LogLevels[\"default\"];\nimport { version } from \"./_version\";\nlet _globalLogger = null;\nfunction _checkNormalize() {\n try {\n const missing = [];\n // Make sure all forms of normalization are supported\n [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].forEach((form) => {\n try {\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad normalize\");\n }\n ;\n }\n catch (error) {\n missing.push(form);\n }\n });\n if (missing.length) {\n throw new Error(\"missing \" + missing.join(\", \"));\n }\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) {\n throw new Error(\"broken implementation\");\n }\n }\n catch (error) {\n return error.message;\n }\n return null;\n}\nconst _normalizeError = _checkNormalize();\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"DEBUG\"] = \"DEBUG\";\n LogLevel[\"INFO\"] = \"INFO\";\n LogLevel[\"WARNING\"] = \"WARNING\";\n LogLevel[\"ERROR\"] = \"ERROR\";\n LogLevel[\"OFF\"] = \"OFF\";\n})(LogLevel || (LogLevel = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ///////////////////\n // Generic Errors\n // Unknown Error\n ErrorCode[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n // Not Implemented\n ErrorCode[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n // Unsupported Operation\n // - operation\n ErrorCode[\"UNSUPPORTED_OPERATION\"] = \"UNSUPPORTED_OPERATION\";\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n ErrorCode[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n // Some sort of bad response from the server\n ErrorCode[\"SERVER_ERROR\"] = \"SERVER_ERROR\";\n // Timeout\n ErrorCode[\"TIMEOUT\"] = \"TIMEOUT\";\n ///////////////////\n // Operational Errors\n // Buffer Overrun\n ErrorCode[\"BUFFER_OVERRUN\"] = \"BUFFER_OVERRUN\";\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n ErrorCode[\"NUMERIC_FAULT\"] = \"NUMERIC_FAULT\";\n ///////////////////\n // Argument Errors\n // Missing new operator to an object\n // - name: The name of the class\n ErrorCode[\"MISSING_NEW\"] = \"MISSING_NEW\";\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n ErrorCode[\"INVALID_ARGUMENT\"] = \"INVALID_ARGUMENT\";\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"MISSING_ARGUMENT\"] = \"MISSING_ARGUMENT\";\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"UNEXPECTED_ARGUMENT\"] = \"UNEXPECTED_ARGUMENT\";\n ///////////////////\n // Blockchain Errors\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n ErrorCode[\"CALL_EXCEPTION\"] = \"CALL_EXCEPTION\";\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n ErrorCode[\"INSUFFICIENT_FUNDS\"] = \"INSUFFICIENT_FUNDS\";\n // Nonce has already been used\n // - transaction: the transaction attempted\n ErrorCode[\"NONCE_EXPIRED\"] = \"NONCE_EXPIRED\";\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n ErrorCode[\"REPLACEMENT_UNDERPRICED\"] = \"REPLACEMENT_UNDERPRICED\";\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n ErrorCode[\"UNPREDICTABLE_GAS_LIMIT\"] = \"UNPREDICTABLE_GAS_LIMIT\";\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n ErrorCode[\"TRANSACTION_REPLACED\"] = \"TRANSACTION_REPLACED\";\n ///////////////////\n // Interaction Errors\n // The user rejected the action, such as signing a message or sending\n // a transaction\n ErrorCode[\"ACTION_REJECTED\"] = \"ACTION_REJECTED\";\n})(ErrorCode || (ErrorCode = {}));\n;\nconst HEX = \"0123456789abcdef\";\nexport class Logger {\n constructor(version) {\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n _log(logLevel, args) {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) {\n this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n }\n if (_logLevel > LogLevels[level]) {\n return;\n }\n console.log.apply(console, args);\n }\n debug(...args) {\n this._log(Logger.levels.DEBUG, args);\n }\n info(...args) {\n this._log(Logger.levels.INFO, args);\n }\n warn(...args) {\n this._log(Logger.levels.WARNING, args);\n }\n makeError(message, code, params) {\n // Errors are being censored\n if (_censorErrors) {\n return this.makeError(\"censored error\", code, {});\n }\n if (!code) {\n code = Logger.errors.UNKNOWN_ERROR;\n }\n if (!params) {\n params = {};\n }\n const messageDetails = [];\n Object.keys(params).forEach((key) => {\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for (let i = 0; i < value.length; i++) {\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n }\n else {\n messageDetails.push(key + \"=\" + JSON.stringify(value));\n }\n }\n catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${code}`);\n messageDetails.push(`version=${this.version}`);\n const reason = message;\n let url = \"\";\n switch (code) {\n case ErrorCode.NUMERIC_FAULT: {\n url = \"NUMERIC_FAULT\";\n const fault = message;\n switch (fault) {\n case \"overflow\":\n case \"underflow\":\n case \"division-by-zero\":\n url += \"-\" + fault;\n break;\n case \"negative-power\":\n case \"negative-width\":\n url += \"-unsupported\";\n break;\n case \"unbound-bitwise-result\":\n url += \"-unbound-result\";\n break;\n }\n break;\n }\n case ErrorCode.CALL_EXCEPTION:\n case ErrorCode.INSUFFICIENT_FUNDS:\n case ErrorCode.MISSING_NEW:\n case ErrorCode.NONCE_EXPIRED:\n case ErrorCode.REPLACEMENT_UNDERPRICED:\n case ErrorCode.TRANSACTION_REPLACED:\n case ErrorCode.UNPREDICTABLE_GAS_LIMIT:\n url = code;\n break;\n }\n if (url) {\n message += \" [ See: https:/\\/links.ethers.org/v5-errors-\" + url + \" ]\";\n }\n if (messageDetails.length) {\n message += \" (\" + messageDetails.join(\", \") + \")\";\n }\n // @TODO: Any??\n const error = new Error(message);\n error.reason = reason;\n error.code = code;\n Object.keys(params).forEach(function (key) {\n error[key] = params[key];\n });\n return error;\n }\n throwError(message, code, params) {\n throw this.makeError(message, code, params);\n }\n throwArgumentError(message, name, value) {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n assert(condition, message, code, params) {\n if (!!condition) {\n return;\n }\n this.throwError(message, code, params);\n }\n assertArgument(condition, message, name, value) {\n if (!!condition) {\n return;\n }\n this.throwArgumentError(message, name, value);\n }\n checkNormalize(message) {\n if (message == null) {\n message = \"platform missing String.prototype.normalize\";\n }\n if (_normalizeError) {\n this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\", form: _normalizeError\n });\n }\n }\n checkSafeUint53(value, message) {\n if (typeof (value) !== \"number\") {\n return;\n }\n if (message == null) {\n message = \"value not safe\";\n }\n if (value < 0 || value >= 0x1fffffffffffff) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n }\n if (value % 1) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n }\n checkArgumentCount(count, expectedCount, message) {\n if (message) {\n message = \": \" + message;\n }\n else {\n message = \"\";\n }\n if (count < expectedCount) {\n this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n if (count > expectedCount) {\n this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n }\n checkNew(target, kind) {\n if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n checkAbstract(target, kind) {\n if (target === kind) {\n this.throwError(\"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\", Logger.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: \"new\" });\n }\n else if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n static globalLogger() {\n if (!_globalLogger) {\n _globalLogger = new Logger(version);\n }\n return _globalLogger;\n }\n static setCensorship(censorship, permanent) {\n if (!censorship && permanent) {\n this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n if (_permanentCensorErrors) {\n if (!censorship) {\n return;\n }\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n static setLogLevel(logLevel) {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n static from(version) {\n return new Logger(version);\n }\n}\nLogger.errors = ErrorCode;\nLogger.levels = LogLevel;\n//# sourceMappingURL=index.js.map","export const version = \"bytes/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n///////////////////////////////\nfunction isHexable(value) {\n return !!(value.toHexString);\n}\nfunction addSlice(array) {\n if (array.slice) {\n return array;\n }\n array.slice = function () {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n}\nexport function isBytesLike(value) {\n return ((isHexString(value) && !(value.length % 2)) || isBytes(value));\n}\nfunction isInteger(value) {\n return (typeof (value) === \"number\" && value == value && (value % 1) === 0);\n}\nexport function isBytes(value) {\n if (value == null) {\n return false;\n }\n if (value.constructor === Uint8Array) {\n return true;\n }\n if (typeof (value) === \"string\") {\n return false;\n }\n if (!isInteger(value.length) || value.length < 0) {\n return false;\n }\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) {\n return false;\n }\n }\n return true;\n}\nexport function arrayify(value, options) {\n if (!options) {\n options = {};\n }\n if (typeof (value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) {\n result.push(0);\n }\n return addSlice(new Uint8Array(result));\n }\n if (options.allowMissingPrefix && typeof (value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexable(value)) {\n value = value.toHexString();\n }\n if (isHexString(value)) {\n let hex = value.substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") {\n hex = \"0\" + hex;\n }\n else if (options.hexPad === \"right\") {\n hex += \"0\";\n }\n else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n const result = [];\n for (let i = 0; i < hex.length; i += 2) {\n result.push(parseInt(hex.substring(i, i + 2), 16));\n }\n return addSlice(new Uint8Array(result));\n }\n if (isBytes(value)) {\n return addSlice(new Uint8Array(value));\n }\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n}\nexport function concat(items) {\n const objects = items.map(item => arrayify(item));\n const length = objects.reduce((accum, item) => (accum + item.length), 0);\n const result = new Uint8Array(length);\n objects.reduce((offset, object) => {\n result.set(object, offset);\n return offset + object.length;\n }, 0);\n return addSlice(result);\n}\nexport function stripZeros(value) {\n let result = arrayify(value);\n if (result.length === 0) {\n return result;\n }\n // Find the first non-zero entry\n let start = 0;\n while (start < result.length && result[start] === 0) {\n start++;\n }\n // If we started with zeros, strip them\n if (start) {\n result = result.slice(start);\n }\n return result;\n}\nexport function zeroPad(value, length) {\n value = arrayify(value);\n if (value.length > length) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[0]);\n }\n const result = new Uint8Array(length);\n result.set(value, length - value.length);\n return addSlice(result);\n}\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (length && value.length !== 2 + 2 * length) {\n return false;\n }\n return true;\n}\nconst HexCharacters = \"0123456789abcdef\";\nexport function hexlify(value, options) {\n if (!options) {\n options = {};\n }\n if (typeof (value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid hexlify value\");\n let hex = \"\";\n while (value) {\n hex = HexCharacters[value & 0xf] + hex;\n value = Math.floor(value / 16);\n }\n if (hex.length) {\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n return \"0x\" + hex;\n }\n return \"0x00\";\n }\n if (typeof (value) === \"bigint\") {\n value = value.toString(16);\n if (value.length % 2) {\n return (\"0x0\" + value);\n }\n return \"0x\" + value;\n }\n if (options.allowMissingPrefix && typeof (value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexable(value)) {\n return value.toHexString();\n }\n if (isHexString(value)) {\n if (value.length % 2) {\n if (options.hexPad === \"left\") {\n value = \"0x0\" + value.substring(2);\n }\n else if (options.hexPad === \"right\") {\n value += \"0\";\n }\n else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n return value.toLowerCase();\n }\n if (isBytes(value)) {\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n let v = value[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n }\n return logger.throwArgumentError(\"invalid hexlify value\", \"value\", value);\n}\n/*\nfunction unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {\n if (typeof(value) === \"string\" && value.length % 2 && value.substring(0, 2) === \"0x\") {\n return \"0x0\" + value.substring(2);\n }\n return value;\n}\n*/\nexport function hexDataLength(data) {\n if (typeof (data) !== \"string\") {\n data = hexlify(data);\n }\n else if (!isHexString(data) || (data.length % 2)) {\n return null;\n }\n return (data.length - 2) / 2;\n}\nexport function hexDataSlice(data, offset, endOffset) {\n if (typeof (data) !== \"string\") {\n data = hexlify(data);\n }\n else if (!isHexString(data) || (data.length % 2)) {\n logger.throwArgumentError(\"invalid hexData\", \"value\", data);\n }\n offset = 2 + 2 * offset;\n if (endOffset != null) {\n return \"0x\" + data.substring(offset, 2 + 2 * endOffset);\n }\n return \"0x\" + data.substring(offset);\n}\nexport function hexConcat(items) {\n let result = \"0x\";\n items.forEach((item) => {\n result += hexlify(item).substring(2);\n });\n return result;\n}\nexport function hexValue(value) {\n const trimmed = hexStripZeros(hexlify(value, { hexPad: \"left\" }));\n if (trimmed === \"0x\") {\n return \"0x0\";\n }\n return trimmed;\n}\nexport function hexStripZeros(value) {\n if (typeof (value) !== \"string\") {\n value = hexlify(value);\n }\n if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n value = value.substring(2);\n let offset = 0;\n while (offset < value.length && value[offset] === \"0\") {\n offset++;\n }\n return \"0x\" + value.substring(offset);\n}\nexport function hexZeroPad(value, length) {\n if (typeof (value) !== \"string\") {\n value = hexlify(value);\n }\n else if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n if (value.length > 2 * length + 2) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[1]);\n }\n while (value.length < 2 * length + 2) {\n value = \"0x0\" + value.substring(2);\n }\n return value;\n}\nexport function splitSignature(signature) {\n const result = {\n r: \"0x\",\n s: \"0x\",\n _vs: \"0x\",\n recoveryParam: 0,\n v: 0,\n yParityAndS: \"0x\",\n compact: \"0x\"\n };\n if (isBytesLike(signature)) {\n let bytes = arrayify(signature);\n // Get the r, s and v\n if (bytes.length === 64) {\n // EIP-2098; pull the v from the top bit of s and clear it\n result.v = 27 + (bytes[32] >> 7);\n bytes[32] &= 0x7f;\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n }\n else if (bytes.length === 65) {\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n result.v = bytes[64];\n }\n else {\n logger.throwArgumentError(\"invalid signature string\", \"signature\", signature);\n }\n // Allow a recid to be used as the v\n if (result.v < 27) {\n if (result.v === 0 || result.v === 1) {\n result.v += 27;\n }\n else {\n logger.throwArgumentError(\"signature invalid v byte\", \"signature\", signature);\n }\n }\n // Compute recoveryParam from v\n result.recoveryParam = 1 - (result.v % 2);\n // Compute _vs from recoveryParam and s\n if (result.recoveryParam) {\n bytes[32] |= 0x80;\n }\n result._vs = hexlify(bytes.slice(32, 64));\n }\n else {\n result.r = signature.r;\n result.s = signature.s;\n result.v = signature.v;\n result.recoveryParam = signature.recoveryParam;\n result._vs = signature._vs;\n // If the _vs is available, use it to populate missing s, v and recoveryParam\n // and verify non-missing s, v and recoveryParam\n if (result._vs != null) {\n const vs = zeroPad(arrayify(result._vs), 32);\n result._vs = hexlify(vs);\n // Set or check the recid\n const recoveryParam = ((vs[0] >= 128) ? 1 : 0);\n if (result.recoveryParam == null) {\n result.recoveryParam = recoveryParam;\n }\n else if (result.recoveryParam !== recoveryParam) {\n logger.throwArgumentError(\"signature recoveryParam mismatch _vs\", \"signature\", signature);\n }\n // Set or check the s\n vs[0] &= 0x7f;\n const s = hexlify(vs);\n if (result.s == null) {\n result.s = s;\n }\n else if (result.s !== s) {\n logger.throwArgumentError(\"signature v mismatch _vs\", \"signature\", signature);\n }\n }\n // Use recid and v to populate each other\n if (result.recoveryParam == null) {\n if (result.v == null) {\n logger.throwArgumentError(\"signature missing v and recoveryParam\", \"signature\", signature);\n }\n else if (result.v === 0 || result.v === 1) {\n result.recoveryParam = result.v;\n }\n else {\n result.recoveryParam = 1 - (result.v % 2);\n }\n }\n else {\n if (result.v == null) {\n result.v = 27 + result.recoveryParam;\n }\n else {\n const recId = (result.v === 0 || result.v === 1) ? result.v : (1 - (result.v % 2));\n if (result.recoveryParam !== recId) {\n logger.throwArgumentError(\"signature recoveryParam mismatch v\", \"signature\", signature);\n }\n }\n }\n if (result.r == null || !isHexString(result.r)) {\n logger.throwArgumentError(\"signature missing or invalid r\", \"signature\", signature);\n }\n else {\n result.r = hexZeroPad(result.r, 32);\n }\n if (result.s == null || !isHexString(result.s)) {\n logger.throwArgumentError(\"signature missing or invalid s\", \"signature\", signature);\n }\n else {\n result.s = hexZeroPad(result.s, 32);\n }\n const vs = arrayify(result.s);\n if (vs[0] >= 128) {\n logger.throwArgumentError(\"signature s out of range\", \"signature\", signature);\n }\n if (result.recoveryParam) {\n vs[0] |= 0x80;\n }\n const _vs = hexlify(vs);\n if (result._vs) {\n if (!isHexString(result._vs)) {\n logger.throwArgumentError(\"signature invalid _vs\", \"signature\", signature);\n }\n result._vs = hexZeroPad(result._vs, 32);\n }\n // Set or check the _vs\n if (result._vs == null) {\n result._vs = _vs;\n }\n else if (result._vs !== _vs) {\n logger.throwArgumentError(\"signature _vs mismatch v and s\", \"signature\", signature);\n }\n }\n result.yParityAndS = result._vs;\n result.compact = result.r + result.yParityAndS.substring(2);\n return result;\n}\nexport function joinSignature(signature) {\n signature = splitSignature(signature);\n return hexlify(concat([\n signature.r,\n signature.s,\n (signature.recoveryParam ? \"0x1c\" : \"0x1b\")\n ]));\n}\n//# sourceMappingURL=index.js.map","export const version = \"bignumber/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\n/**\n * BigNumber\n *\n * A wrapper around the BN.js object. We use the BN.js library\n * because it is used by elliptic, so it is required regardless.\n *\n */\nimport _BN from \"bn.js\";\nvar BN = _BN.BN;\nimport { hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst _constructorGuard = {};\nconst MAX_SAFE = 0x1fffffffffffff;\nexport function isBigNumberish(value) {\n return (value != null) && (BigNumber.isBigNumber(value) ||\n (typeof (value) === \"number\" && (value % 1) === 0) ||\n (typeof (value) === \"string\" && !!value.match(/^-?[0-9]+$/)) ||\n isHexString(value) ||\n (typeof (value) === \"bigint\") ||\n isBytes(value));\n}\n// Only warn about passing 10 into radix once\nlet _warnedToStringRadix = false;\nexport class BigNumber {\n constructor(constructorGuard, hex) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot call constructor directly; use BigNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n }\n this._hex = hex;\n this._isBigNumber = true;\n Object.freeze(this);\n }\n fromTwos(value) {\n return toBigNumber(toBN(this).fromTwos(value));\n }\n toTwos(value) {\n return toBigNumber(toBN(this).toTwos(value));\n }\n abs() {\n if (this._hex[0] === \"-\") {\n return BigNumber.from(this._hex.substring(1));\n }\n return this;\n }\n add(other) {\n return toBigNumber(toBN(this).add(toBN(other)));\n }\n sub(other) {\n return toBigNumber(toBN(this).sub(toBN(other)));\n }\n div(other) {\n const o = BigNumber.from(other);\n if (o.isZero()) {\n throwFault(\"division-by-zero\", \"div\");\n }\n return toBigNumber(toBN(this).div(toBN(other)));\n }\n mul(other) {\n return toBigNumber(toBN(this).mul(toBN(other)));\n }\n mod(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"division-by-zero\", \"mod\");\n }\n return toBigNumber(toBN(this).umod(value));\n }\n pow(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"negative-power\", \"pow\");\n }\n return toBigNumber(toBN(this).pow(value));\n }\n and(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"and\");\n }\n return toBigNumber(toBN(this).and(value));\n }\n or(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"or\");\n }\n return toBigNumber(toBN(this).or(value));\n }\n xor(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"xor\");\n }\n return toBigNumber(toBN(this).xor(value));\n }\n mask(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"mask\");\n }\n return toBigNumber(toBN(this).maskn(value));\n }\n shl(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shl\");\n }\n return toBigNumber(toBN(this).shln(value));\n }\n shr(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shr\");\n }\n return toBigNumber(toBN(this).shrn(value));\n }\n eq(other) {\n return toBN(this).eq(toBN(other));\n }\n lt(other) {\n return toBN(this).lt(toBN(other));\n }\n lte(other) {\n return toBN(this).lte(toBN(other));\n }\n gt(other) {\n return toBN(this).gt(toBN(other));\n }\n gte(other) {\n return toBN(this).gte(toBN(other));\n }\n isNegative() {\n return (this._hex[0] === \"-\");\n }\n isZero() {\n return toBN(this).isZero();\n }\n toNumber() {\n try {\n return toBN(this).toNumber();\n }\n catch (error) {\n throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n toBigInt() {\n try {\n return BigInt(this.toString());\n }\n catch (e) { }\n return logger.throwError(\"this platform does not support BigInt\", Logger.errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n toString() {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!_warnedToStringRadix) {\n _warnedToStringRadix = true;\n logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n }\n else if (arguments[0] === 16) {\n logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n else {\n logger.throwError(\"BigNumber.toString does not accept parameters\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n }\n return toBN(this).toString(10);\n }\n toHexString() {\n return this._hex;\n }\n toJSON(key) {\n return { type: \"BigNumber\", hex: this.toHexString() };\n }\n static from(value) {\n if (value instanceof BigNumber) {\n return value;\n }\n if (typeof (value) === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) {\n return new BigNumber(_constructorGuard, toHex(value));\n }\n if (value.match(/^-?[0-9]+$/)) {\n return new BigNumber(_constructorGuard, toHex(new BN(value)));\n }\n return logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n if (typeof (value) === \"number\") {\n if (value % 1) {\n throwFault(\"underflow\", \"BigNumber.from\", value);\n }\n if (value >= MAX_SAFE || value <= -MAX_SAFE) {\n throwFault(\"overflow\", \"BigNumber.from\", value);\n }\n return BigNumber.from(String(value));\n }\n const anyValue = value;\n if (typeof (anyValue) === \"bigint\") {\n return BigNumber.from(anyValue.toString());\n }\n if (isBytes(anyValue)) {\n return BigNumber.from(hexlify(anyValue));\n }\n if (anyValue) {\n // Hexable interface (takes priority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof (hex) === \"string\") {\n return BigNumber.from(hex);\n }\n }\n else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") {\n hex = anyValue.hex;\n }\n if (typeof (hex) === \"string\") {\n if (isHexString(hex) || (hex[0] === \"-\" && isHexString(hex.substring(1)))) {\n return BigNumber.from(hex);\n }\n }\n }\n }\n return logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n static isBigNumber(value) {\n return !!(value && value._isBigNumber);\n }\n}\n// Normalize the hex string\nfunction toHex(value) {\n // For BN, call on the hex string\n if (typeof (value) !== \"string\") {\n return toHex(value.toString(16));\n }\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n // Cannot have multiple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") {\n logger.throwArgumentError(\"invalid hex\", \"value\", value);\n }\n // Call toHex on the positive component\n value = toHex(value);\n // Do not allow \"-0x00\"\n if (value === \"0x00\") {\n return value;\n }\n // Negate the value\n return \"-\" + value;\n }\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n // Normalize zero\n if (value === \"0x\") {\n return \"0x00\";\n }\n // Make the string even length\n if (value.length % 2) {\n value = \"0x0\" + value.substring(2);\n }\n // Trim to smallest even-length string\n while (value.length > 4 && value.substring(0, 4) === \"0x00\") {\n value = \"0x\" + value.substring(4);\n }\n return value;\n}\nfunction toBigNumber(value) {\n return BigNumber.from(toHex(value));\n}\nfunction toBN(value) {\n const hex = BigNumber.from(value).toHexString();\n if (hex[0] === \"-\") {\n return (new BN(\"-\" + hex.substring(3), 16));\n }\n return new BN(hex.substring(2), 16);\n}\nfunction throwFault(fault, operation, value) {\n const params = { fault: fault, operation: operation };\n if (value != null) {\n params.value = value;\n }\n return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);\n}\n// value should have no prefix\nexport function _base36To16(value) {\n return (new BN(value, 36)).toString(16);\n}\n// value should have no prefix\nexport function _base16To36(value) {\n return (new BN(value, 16)).toString(36);\n}\n//# sourceMappingURL=bignumber.js.map","\"use strict\";\nimport { arrayify, hexZeroPad, isBytes } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { BigNumber, isBigNumberish } from \"./bignumber\";\nconst _constructorGuard = {};\nconst Zero = BigNumber.from(0);\nconst NegativeOne = BigNumber.from(-1);\nfunction throwFault(message, fault, operation, value) {\n const params = { fault: fault, operation: operation };\n if (value !== undefined) {\n params.value = value;\n }\n return logger.throwError(message, Logger.errors.NUMERIC_FAULT, params);\n}\n// Constant to pull zeros from for multipliers\nlet zeros = \"0\";\nwhile (zeros.length < 256) {\n zeros += zeros;\n}\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getMultiplier(decimals) {\n if (typeof (decimals) !== \"number\") {\n try {\n decimals = BigNumber.from(decimals).toNumber();\n }\n catch (e) { }\n }\n if (typeof (decimals) === \"number\" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {\n return (\"1\" + zeros.substring(0, decimals));\n }\n return logger.throwArgumentError(\"invalid decimal size\", \"decimals\", decimals);\n}\nexport function formatFixed(value, decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n const multiplier = getMultiplier(decimals);\n // Make sure wei is a big number (convert as necessary)\n value = BigNumber.from(value);\n const negative = value.lt(Zero);\n if (negative) {\n value = value.mul(NegativeOne);\n }\n let fraction = value.mod(multiplier).toString();\n while (fraction.length < multiplier.length - 1) {\n fraction = \"0\" + fraction;\n }\n // Strip training 0\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n const whole = value.div(multiplier).toString();\n if (multiplier.length === 1) {\n value = whole;\n }\n else {\n value = whole + \".\" + fraction;\n }\n if (negative) {\n value = \"-\" + value;\n }\n return value;\n}\nexport function parseFixed(value, decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n const multiplier = getMultiplier(decimals);\n if (typeof (value) !== \"string\" || !value.match(/^-?[0-9.]+$/)) {\n logger.throwArgumentError(\"invalid decimal value\", \"value\", value);\n }\n // Is it negative?\n const negative = (value.substring(0, 1) === \"-\");\n if (negative) {\n value = value.substring(1);\n }\n if (value === \".\") {\n logger.throwArgumentError(\"missing value\", \"value\", value);\n }\n // Split it into a whole and fractional part\n const comps = value.split(\".\");\n if (comps.length > 2) {\n logger.throwArgumentError(\"too many decimal points\", \"value\", value);\n }\n let whole = comps[0], fraction = comps[1];\n if (!whole) {\n whole = \"0\";\n }\n if (!fraction) {\n fraction = \"0\";\n }\n // Trim trailing zeros\n while (fraction[fraction.length - 1] === \"0\") {\n fraction = fraction.substring(0, fraction.length - 1);\n }\n // Check the fraction doesn't exceed our decimals size\n if (fraction.length > multiplier.length - 1) {\n throwFault(\"fractional component exceeds decimals\", \"underflow\", \"parseFixed\");\n }\n // If decimals is 0, we have an empty string for fraction\n if (fraction === \"\") {\n fraction = \"0\";\n }\n // Fully pad the string with zeros to get to wei\n while (fraction.length < multiplier.length - 1) {\n fraction += \"0\";\n }\n const wholeValue = BigNumber.from(whole);\n const fractionValue = BigNumber.from(fraction);\n let wei = (wholeValue.mul(multiplier)).add(fractionValue);\n if (negative) {\n wei = wei.mul(NegativeOne);\n }\n return wei;\n}\nexport class FixedFormat {\n constructor(constructorGuard, signed, width, decimals) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n this.signed = signed;\n this.width = width;\n this.decimals = decimals;\n this.name = (signed ? \"\" : \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n this._multiplier = getMultiplier(decimals);\n Object.freeze(this);\n }\n static from(value) {\n if (value instanceof FixedFormat) {\n return value;\n }\n if (typeof (value) === \"number\") {\n value = `fixed128x${value}`;\n }\n let signed = true;\n let width = 128;\n let decimals = 18;\n if (typeof (value) === \"string\") {\n if (value === \"fixed\") {\n // defaults...\n }\n else if (value === \"ufixed\") {\n signed = false;\n }\n else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n if (!match) {\n logger.throwArgumentError(\"invalid fixed format\", \"format\", value);\n }\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n }\n else if (value) {\n const check = (key, type, defaultValue) => {\n if (value[key] == null) {\n return defaultValue;\n }\n if (typeof (value[key]) !== type) {\n logger.throwArgumentError(\"invalid fixed format (\" + key + \" not \" + type + \")\", \"format.\" + key, value[key]);\n }\n return value[key];\n };\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n if (width % 8) {\n logger.throwArgumentError(\"invalid fixed format width (not byte aligned)\", \"format.width\", width);\n }\n if (decimals > 80) {\n logger.throwArgumentError(\"invalid fixed format (decimals too large)\", \"format.decimals\", decimals);\n }\n return new FixedFormat(_constructorGuard, signed, width, decimals);\n }\n}\nexport class FixedNumber {\n constructor(constructorGuard, hex, value, format) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n this.format = format;\n this._hex = hex;\n this._value = value;\n this._isFixedNumber = true;\n Object.freeze(this);\n }\n _checkFormat(other) {\n if (this.format.name !== other.format.name) {\n logger.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n }\n addUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);\n }\n subUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);\n }\n mulUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);\n }\n divUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);\n }\n floor() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n let result = FixedNumber.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (this.isNegative() && hasFraction) {\n result = result.subUnsafe(ONE.toFormat(result.format));\n }\n return result;\n }\n ceiling() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n let result = FixedNumber.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (!this.isNegative() && hasFraction) {\n result = result.addUnsafe(ONE.toFormat(result.format));\n }\n return result;\n }\n // @TODO: Support other rounding algorithms\n round(decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n // If we are already in range, we're done\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n if (decimals < 0 || decimals > 80 || (decimals % 1)) {\n logger.throwArgumentError(\"invalid decimal count\", \"decimals\", decimals);\n }\n if (comps[1].length <= decimals) {\n return this;\n }\n const factor = FixedNumber.from(\"1\" + zeros.substring(0, decimals), this.format);\n const bump = BUMP.toFormat(this.format);\n return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor);\n }\n isZero() {\n return (this._value === \"0.0\" || this._value === \"0\");\n }\n isNegative() {\n return (this._value[0] === \"-\");\n }\n toString() { return this._value; }\n toHexString(width) {\n if (width == null) {\n return this._hex;\n }\n if (width % 8) {\n logger.throwArgumentError(\"invalid byte width\", \"width\", width);\n }\n const hex = BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();\n return hexZeroPad(hex, width / 8);\n }\n toUnsafeFloat() { return parseFloat(this.toString()); }\n toFormat(format) {\n return FixedNumber.fromString(this._value, format);\n }\n static fromValue(value, decimals, format) {\n // If decimals looks more like a format, and there is no format, shift the parameters\n if (format == null && decimals != null && !isBigNumberish(decimals)) {\n format = decimals;\n decimals = null;\n }\n if (decimals == null) {\n decimals = 0;\n }\n if (format == null) {\n format = \"fixed\";\n }\n return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));\n }\n static fromString(value, format) {\n if (format == null) {\n format = \"fixed\";\n }\n const fixedFormat = FixedFormat.from(format);\n const numeric = parseFixed(value, fixedFormat.decimals);\n if (!fixedFormat.signed && numeric.lt(Zero)) {\n throwFault(\"unsigned value cannot be negative\", \"overflow\", \"value\", value);\n }\n let hex = null;\n if (fixedFormat.signed) {\n hex = numeric.toTwos(fixedFormat.width).toHexString();\n }\n else {\n hex = numeric.toHexString();\n hex = hexZeroPad(hex, fixedFormat.width / 8);\n }\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n static fromBytes(value, format) {\n if (format == null) {\n format = \"fixed\";\n }\n const fixedFormat = FixedFormat.from(format);\n if (arrayify(value).length > fixedFormat.width / 8) {\n throw new Error(\"overflow\");\n }\n let numeric = BigNumber.from(value);\n if (fixedFormat.signed) {\n numeric = numeric.fromTwos(fixedFormat.width);\n }\n const hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString();\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n static from(value, format) {\n if (typeof (value) === \"string\") {\n return FixedNumber.fromString(value, format);\n }\n if (isBytes(value)) {\n return FixedNumber.fromBytes(value, format);\n }\n try {\n return FixedNumber.fromValue(value, 0, format);\n }\n catch (error) {\n // Allow NUMERIC_FAULT to bubble up\n if (error.code !== Logger.errors.INVALID_ARGUMENT) {\n throw error;\n }\n }\n return logger.throwArgumentError(\"invalid FixedNumber value\", \"value\", value);\n }\n static isFixedNumber(value) {\n return !!(value && value._isFixedNumber);\n }\n}\nconst ONE = FixedNumber.from(1);\nconst BUMP = FixedNumber.from(\"0.5\");\n//# sourceMappingURL=fixednumber.js.map","export const version = \"properties/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport function defineReadOnly(object, name, value) {\n Object.defineProperty(object, name, {\n enumerable: true,\n value: value,\n writable: false,\n });\n}\n// Crawl up the constructor chain to find a static method\nexport function getStatic(ctor, key) {\n for (let i = 0; i < 32; i++) {\n if (ctor[key]) {\n return ctor[key];\n }\n if (!ctor.prototype || typeof (ctor.prototype) !== \"object\") {\n break;\n }\n ctor = Object.getPrototypeOf(ctor.prototype).constructor;\n }\n return null;\n}\nexport function resolveProperties(object) {\n return __awaiter(this, void 0, void 0, function* () {\n const promises = Object.keys(object).map((key) => {\n const value = object[key];\n return Promise.resolve(value).then((v) => ({ key: key, value: v }));\n });\n const results = yield Promise.all(promises);\n return results.reduce((accum, result) => {\n accum[(result.key)] = result.value;\n return accum;\n }, {});\n });\n}\nexport function checkProperties(object, properties) {\n if (!object || typeof (object) !== \"object\") {\n logger.throwArgumentError(\"invalid object\", \"object\", object);\n }\n Object.keys(object).forEach((key) => {\n if (!properties[key]) {\n logger.throwArgumentError(\"invalid object key - \" + key, \"transaction:\" + key, object);\n }\n });\n}\nexport function shallowCopy(object) {\n const result = {};\n for (const key in object) {\n result[key] = object[key];\n }\n return result;\n}\nconst opaque = { bigint: true, boolean: true, \"function\": true, number: true, string: true };\nfunction _isFrozen(object) {\n // Opaque objects are not mutable, so safe to copy by assignment\n if (object === undefined || object === null || opaque[typeof (object)]) {\n return true;\n }\n if (Array.isArray(object) || typeof (object) === \"object\") {\n if (!Object.isFrozen(object)) {\n return false;\n }\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n let value = null;\n try {\n value = object[keys[i]];\n }\n catch (error) {\n // If accessing a value triggers an error, it is a getter\n // designed to do so (e.g. Result) and is therefore \"frozen\"\n continue;\n }\n if (!_isFrozen(value)) {\n return false;\n }\n }\n return true;\n }\n return logger.throwArgumentError(`Cannot deepCopy ${typeof (object)}`, \"object\", object);\n}\n// Returns a new copy of object, such that no properties may be replaced.\n// New properties may be added only to objects.\nfunction _deepCopy(object) {\n if (_isFrozen(object)) {\n return object;\n }\n // Arrays are mutable, so we need to create a copy\n if (Array.isArray(object)) {\n return Object.freeze(object.map((item) => deepCopy(item)));\n }\n if (typeof (object) === \"object\") {\n const result = {};\n for (const key in object) {\n const value = object[key];\n if (value === undefined) {\n continue;\n }\n defineReadOnly(result, key, deepCopy(value));\n }\n return result;\n }\n return logger.throwArgumentError(`Cannot deepCopy ${typeof (object)}`, \"object\", object);\n}\nexport function deepCopy(object) {\n return _deepCopy(object);\n}\nexport class Description {\n constructor(info) {\n for (const key in info) {\n this[key] = deepCopy(info[key]);\n }\n }\n}\n//# sourceMappingURL=index.js.map","export const version = \"abi/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\nconst _constructorGuard = {};\nlet ModifiersBytes = { calldata: true, memory: true, storage: true };\nlet ModifiersNest = { calldata: true, memory: true };\nfunction checkModifier(type, name) {\n if (type === \"bytes\" || type === \"string\") {\n if (ModifiersBytes[name]) {\n return true;\n }\n }\n else if (type === \"address\") {\n if (name === \"payable\") {\n return true;\n }\n }\n else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if (ModifiersNest[name]) {\n return true;\n }\n }\n if (ModifiersBytes[name] || name === \"payable\") {\n logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n }\n return false;\n}\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction parseParamType(param, allowIndexed) {\n let originalParam = param;\n function throwError(i) {\n logger.throwArgumentError(`unexpected character at position ${i}`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n function newNode(parent) {\n let node = { type: \"\", name: \"\", parent: parent, state: { allowType: true } };\n if (allowIndexed) {\n node.indexed = false;\n }\n return node;\n }\n let parent = { type: \"\", name: \"\", state: { allowType: true } };\n let node = parent;\n for (let i = 0; i < param.length; i++) {\n let c = param[i];\n switch (c) {\n case \"(\":\n if (node.state.allowType && node.type === \"\") {\n node.type = \"tuple\";\n }\n else if (!node.state.allowParams) {\n throwError(i);\n }\n node.state.allowType = false;\n node.type = verifyType(node.type);\n node.components = [newNode(node)];\n node = node.components[0];\n break;\n case \")\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let child = node;\n node = node.parent;\n if (!node) {\n throwError(i);\n }\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n case \",\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let sibling = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n // Hit a space...\n case \" \":\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n if (node.indexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n else {\n node.state.allowName = false;\n }\n }\n }\n break;\n case \"[\":\n if (!node.state.allowArray) {\n throwError(i);\n }\n node.type += c;\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n case \"]\":\n if (!node.state.readArray) {\n throwError(i);\n }\n node.type += c;\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n }\n else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n }\n else if (node.state.readArray) {\n node.type += c;\n }\n else {\n throwError(i);\n }\n }\n }\n if (node.parent) {\n logger.throwArgumentError(\"unexpected eof\", \"param\", param);\n }\n delete parent.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(originalParam.length - 7);\n }\n if (node.indexed) {\n throwError(originalParam.length - 7);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n parent.type = verifyType(parent.type);\n return parent;\n}\nfunction populate(object, params) {\n for (let key in params) {\n defineReadOnly(object, key, params[key]);\n }\n}\nexport const FormatTypes = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n // Human-Readable with nice spacing, including all names\n full: \"full\",\n // JSON-format a la Solidity\n json: \"json\"\n});\nconst paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nexport class ParamType {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use fromString\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n });\n }\n populate(this, params);\n let match = this.type.match(paramTypeArray);\n if (match) {\n populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: ParamType.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n }\n else {\n populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: ((this.components != null) ? \"tuple\" : this.type)\n });\n }\n this._isParamType = true;\n Object.freeze(this);\n }\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, address bar) indexed baz\"\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n let result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name: (this.name || undefined)\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.components) {\n result.components = this.components.map((comp) => JSON.parse(comp.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\" : String(this.arrayLength)) + \"]\";\n }\n else {\n if (this.baseType === \"tuple\") {\n if (format !== FormatTypes.sighash) {\n result += this.type;\n }\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== FormatTypes.sighash) {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === FormatTypes.full && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n static from(value, allowIndexed) {\n if (typeof (value) === \"string\") {\n return ParamType.fromString(value, allowIndexed);\n }\n return ParamType.fromObject(value);\n }\n static fromObject(value) {\n if (ParamType.isParamType(value)) {\n return value;\n }\n return new ParamType(_constructorGuard, {\n name: (value.name || null),\n type: verifyType(value.type),\n indexed: ((value.indexed == null) ? null : !!value.indexed),\n components: (value.components ? value.components.map(ParamType.fromObject) : null)\n });\n }\n static fromString(value, allowIndexed) {\n function ParamTypify(node) {\n return ParamType.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n return ParamTypify(parseParamType(value, !!allowIndexed));\n }\n static isParamType(value) {\n return !!(value != null && value._isParamType);\n }\n}\n;\nfunction parseParams(value, allowIndex) {\n return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));\n}\nexport class Fragment {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use a static from method\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n }\n populate(this, params);\n this._isFragment = true;\n Object.freeze(this);\n }\n static from(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n if (typeof (value) === \"string\") {\n return Fragment.fromString(value);\n }\n return Fragment.fromObject(value);\n }\n static fromObject(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n switch (value.type) {\n case \"function\":\n return FunctionFragment.fromObject(value);\n case \"event\":\n return EventFragment.fromObject(value);\n case \"constructor\":\n return ConstructorFragment.fromObject(value);\n case \"error\":\n return ErrorFragment.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n return logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n static fromString(value) {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n if (value.split(\" \")[0] === \"event\") {\n return EventFragment.fromString(value.substring(5).trim());\n }\n else if (value.split(\" \")[0] === \"function\") {\n return FunctionFragment.fromString(value.substring(8).trim());\n }\n else if (value.split(\"(\")[0].trim() === \"constructor\") {\n return ConstructorFragment.fromString(value.trim());\n }\n else if (value.split(\" \")[0] === \"error\") {\n return ErrorFragment.fromString(value.substring(5).trim());\n }\n return logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n static isFragment(value) {\n return !!(value && value._isFragment);\n }\n}\nexport class EventFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"event \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.anonymous) {\n result += \"anonymous \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return EventFragment.fromString(value);\n }\n return EventFragment.fromObject(value);\n }\n static fromObject(value) {\n if (EventFragment.isEventFragment(value)) {\n return value;\n }\n if (value.type !== \"event\") {\n logger.throwArgumentError(\"invalid event object\", \"value\", value);\n }\n const params = {\n name: verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n type: \"event\"\n };\n return new EventFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let match = value.match(regexParen);\n if (!match) {\n logger.throwArgumentError(\"invalid event string\", \"value\", value);\n }\n let anonymous = false;\n match[3].split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n return EventFragment.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: parseParams(match[2], true),\n type: \"event\"\n });\n }\n static isEventFragment(value) {\n return (value && value._isFragment && value.type === \"event\");\n }\n}\nfunction parseGas(value, params) {\n params.gas = null;\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n }\n if (!comps[1].match(/^[0-9]+$/)) {\n logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n }\n params.gas = BigNumber.from(comps[1]);\n return comps[0];\n }\n return value;\n}\nfunction parseModifiers(value, params) {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n value.split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\nfunction verifyState(value) {\n let result = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n // Set (and check things are consistent) the constant property\n result.constant = (result.stateMutability === \"view\" || result.stateMutability === \"pure\");\n if (value.constant != null) {\n if ((!!value.constant) !== result.constant) {\n logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n // Set (and check things are consistent) the payable property\n result.payable = (result.stateMutability === \"payable\");\n if (value.payable != null) {\n if ((!!value.payable) !== result.payable) {\n logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n }\n else if (value.payable != null) {\n result.payable = !!value.payable;\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n result.constant = !!value.constant;\n if (result.constant) {\n result.stateMutability = \"view\";\n }\n else {\n result.stateMutability = (result.payable ? \"payable\" : \"nonpayable\");\n }\n if (result.payable && result.constant) {\n logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n }\n }\n else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = (result.constant ? \"view\" : \"payable\");\n }\n else if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n return result;\n}\nexport class ConstructorFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n if (format === FormatTypes.sighash) {\n logger.throwError(\"cannot format a constructor for sighash\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n }\n let result = \"constructor(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") {\n result += this.stateMutability + \" \";\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return ConstructorFragment.fromString(value);\n }\n return ConstructorFragment.fromObject(value);\n }\n static fromObject(value) {\n if (ConstructorFragment.isConstructorFragment(value)) {\n return value;\n }\n if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n }\n let state = verifyState(value);\n if (state.constant) {\n logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n }\n const params = {\n name: null,\n type: value.type,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new ConstructorFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"constructor\" };\n value = parseGas(value, params);\n let parens = value.match(regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n }\n params.inputs = parseParams(parens[2].trim(), false);\n parseModifiers(parens[3].trim(), params);\n return ConstructorFragment.fromObject(params);\n }\n static isConstructorFragment(value) {\n return (value && value._isFragment && value.type === \"constructor\");\n }\n}\nexport class FunctionFragment extends ConstructorFragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n outputs: this.outputs.map((output) => JSON.parse(output.format(format))),\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"function \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") {\n result += (this.stateMutability + \" \");\n }\n }\n else if (this.constant) {\n result += \"view \";\n }\n if (this.outputs && this.outputs.length) {\n result += \"returns (\" + this.outputs.map((output) => output.format(format)).join(\", \") + \") \";\n }\n if (this.gas != null) {\n result += \"@\" + this.gas.toString() + \" \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return FunctionFragment.fromString(value);\n }\n return FunctionFragment.fromObject(value);\n }\n static fromObject(value) {\n if (FunctionFragment.isFunctionFragment(value)) {\n return value;\n }\n if (value.type !== \"function\") {\n logger.throwArgumentError(\"invalid function object\", \"value\", value);\n }\n let state = verifyState(value);\n const params = {\n type: value.type,\n name: verifyIdentifier(value.name),\n constant: state.constant,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new FunctionFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"function\" };\n value = parseGas(value, params);\n let comps = value.split(\" returns \");\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid function string\", \"value\", value);\n }\n let parens = comps[0].match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n }\n params.name = parens[1].trim();\n if (params.name) {\n verifyIdentifier(params.name);\n }\n params.inputs = parseParams(parens[2], false);\n parseModifiers(parens[3].trim(), params);\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match(regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") {\n logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n }\n params.outputs = parseParams(returns[2], false);\n }\n else {\n params.outputs = [];\n }\n return FunctionFragment.fromObject(params);\n }\n static isFunctionFragment(value) {\n return (value && value._isFragment && value.type === \"function\");\n }\n}\n//export class StructFragment extends Fragment {\n//}\nfunction checkForbidden(fragment) {\n const sig = fragment.format();\n if (sig === \"Error(string)\" || sig === \"Panic(uint256)\") {\n logger.throwArgumentError(`cannot specify user defined ${sig} error`, \"fragment\", fragment);\n }\n return fragment;\n}\nexport class ErrorFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"error \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return ErrorFragment.fromString(value);\n }\n return ErrorFragment.fromObject(value);\n }\n static fromObject(value) {\n if (ErrorFragment.isErrorFragment(value)) {\n return value;\n }\n if (value.type !== \"error\") {\n logger.throwArgumentError(\"invalid error object\", \"value\", value);\n }\n const params = {\n type: value.type,\n name: verifyIdentifier(value.name),\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : [])\n };\n return checkForbidden(new ErrorFragment(_constructorGuard, params));\n }\n static fromString(value) {\n let params = { type: \"error\" };\n let parens = value.match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid error signature\", \"value\", value);\n }\n params.name = parens[1].trim();\n if (params.name) {\n verifyIdentifier(params.name);\n }\n params.inputs = parseParams(parens[2], false);\n return checkForbidden(ErrorFragment.fromObject(params));\n }\n static isErrorFragment(value) {\n return (value && value._isFragment && value.type === \"error\");\n }\n}\nfunction verifyType(type) {\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) {\n type = \"uint256\" + type.substring(4);\n }\n else if (type.match(/^int($|[^1-9])/)) {\n type = \"int256\" + type.substring(3);\n }\n // @TODO: more verification\n return type;\n}\n// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234\nconst regexIdentifier = new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");\nfunction verifyIdentifier(value) {\n if (!value || !value.match(regexIdentifier)) {\n logger.throwArgumentError(`invalid identifier \"${value}\"`, \"value\", value);\n }\n return value;\n}\nconst regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\nfunction splitNesting(value) {\n value = value.trim();\n let result = [];\n let accum = \"\";\n let depth = 0;\n for (let offset = 0; offset < value.length; offset++) {\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n }\n else {\n accum += c;\n if (c === \"(\") {\n depth++;\n }\n else if (c === \")\") {\n depth--;\n if (depth === -1) {\n logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n }\n if (accum) {\n result.push(accum);\n }\n return result;\n}\n//# sourceMappingURL=fragments.js.map","\"use strict\";\nimport { arrayify, concat, hexConcat, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nexport class Coder {\n constructor(name, type, localName, dynamic) {\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n _throwError(message, value) {\n logger.throwArgumentError(message, this.localName, value);\n }\n}\nexport class Writer {\n constructor(wordSize) {\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n this._data = [];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n get data() {\n return hexConcat(this._data);\n }\n get length() { return this._dataLength; }\n _writeData(data) {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this._writeData(concat(writer._data));\n }\n // Arrayish items; padded on the right to wordSize\n writeBytes(value) {\n let bytes = arrayify(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) {\n bytes = concat([bytes, this._padding.slice(paddingOffset)]);\n }\n return this._writeData(bytes);\n }\n _getValue(value) {\n let bytes = arrayify(BigNumber.from(value));\n if (bytes.length > this.wordSize) {\n logger.throwError(\"value out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n }\n if (bytes.length % this.wordSize) {\n bytes = concat([this._padding.slice(bytes.length % this.wordSize), bytes]);\n }\n return bytes;\n }\n // BigNumberish items; padded on the left to wordSize\n writeValue(value) {\n return this._writeData(this._getValue(value));\n }\n writeUpdatableValue() {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value) => {\n this._data[offset] = this._getValue(value);\n };\n }\n}\nexport class Reader {\n constructor(data, wordSize, coerceFunc, allowLoose) {\n defineReadOnly(this, \"_data\", arrayify(data));\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n defineReadOnly(this, \"_coerceFunc\", coerceFunc);\n defineReadOnly(this, \"allowLoose\", allowLoose);\n this._offset = 0;\n }\n get data() { return hexlify(this._data); }\n get consumed() { return this._offset; }\n // The default Coerce function\n static coerce(name, value) {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) {\n value = value.toNumber();\n }\n return value;\n }\n coerce(name, value) {\n if (this._coerceFunc) {\n return this._coerceFunc(name, value);\n }\n return Reader.coerce(name, value);\n }\n _peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) {\n alignedLength = length;\n }\n else {\n logger.throwError(\"data out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n }\n return this._data.slice(this._offset, this._offset + alignedLength);\n }\n subReader(offset) {\n return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n readBytes(length, loose) {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n readValue() {\n return BigNumber.from(this.readBytes(this.wordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (!n && !s) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (notString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var notString, type = typeof str;\n if (type !== 'string') {\n if (type === 'object') {\n if (str === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {\n str = new Uint8Array(str);\n } else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) {\n bytes = length;\n } else {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","\"use strict\";\nimport sha3 from \"js-sha3\";\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function keccak256(data) {\n return '0x' + sha3.keccak_256(arrayify(data));\n}\n//# sourceMappingURL=index.js.map","export const version = \"rlp/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\n//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { arrayify, hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction arrayifyInteger(value) {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\nfunction unarrayifyInteger(data, offset, length) {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\nfunction _encode(object) {\n if (Array.isArray(object)) {\n let payload = [];\n object.forEach(function (child) {\n payload = payload.concat(_encode(child));\n });\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length);\n return payload;\n }\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n return length.concat(payload);\n }\n if (!isBytesLike(object)) {\n logger.throwArgumentError(\"RLP object must be BytesLike\", \"object\", object);\n }\n const data = Array.prototype.slice.call(arrayify(object));\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n }\n else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n return length.concat(data);\n}\nexport function encode(object) {\n return hexlify(_encode(object));\n}\nfunction _decodeChildren(data, offset, childOffset, length) {\n const result = [];\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n result.push(decoded.result);\n childOffset += decoded.consumed;\n if (childOffset > offset + 1 + length) {\n logger.throwError(\"child data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n }\n return { consumed: (1 + length), result: result };\n}\n// returns { consumed: number, result: Object }\nfunction _decode(data, offset) {\n if (data.length === 0) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data short segment too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data long segment too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n }\n else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n return _decodeChildren(data, offset, offset + 1, length);\n }\n else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result };\n }\n else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result };\n }\n return { consumed: 1, result: hexlify(data[offset]) };\n}\nexport function decode(data) {\n const bytes = arrayify(data);\n const decoded = _decode(bytes, 0);\n if (decoded.consumed !== bytes.length) {\n logger.throwArgumentError(\"invalid rlp data\", \"data\", data);\n }\n return decoded.result;\n}\n//# sourceMappingURL=index.js.map","export const version = \"address/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { arrayify, concat, hexDataLength, hexDataSlice, isHexString, stripZeros } from \"@ethersproject/bytes\";\nimport { BigNumber, _base16To36, _base36To16 } from \"@ethersproject/bignumber\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { encode } from \"@ethersproject/rlp\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction getChecksumAddress(address) {\n if (!isHexString(address, 20)) {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = arrayify(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// Shims for environments that are missing some required constants and functions\nconst MAX_SAFE_INTEGER = 0x1fffffffffffff;\nfunction log10(x) {\n if (Math.log10) {\n return Math.log10(x);\n }\n return Math.log(x) / Math.LN10;\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\nconst safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nexport function getAddress(address) {\n let result = null;\n if (typeof (address) !== \"string\") {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (address.substring(0, 2) !== \"0x\") {\n address = \"0x\" + address;\n }\n result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {\n logger.throwArgumentError(\"bad address checksum\", \"address\", address);\n }\n // Maybe ICAP? (we only support direct mode)\n }\n else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n if (address.substring(2, 4) !== ibanChecksum(address)) {\n logger.throwArgumentError(\"bad icap checksum\", \"address\", address);\n }\n result = _base36To16(address.substring(4));\n while (result.length < 40) {\n result = \"0\" + result;\n }\n result = getChecksumAddress(\"0x\" + result);\n }\n else {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n return result;\n}\nexport function isAddress(address) {\n try {\n getAddress(address);\n return true;\n }\n catch (error) { }\n return false;\n}\nexport function getIcapAddress(address) {\n let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\nexport function getContractAddress(transaction) {\n let from = null;\n try {\n from = getAddress(transaction.from);\n }\n catch (error) {\n logger.throwArgumentError(\"missing from address\", \"transaction\", transaction);\n }\n const nonce = stripZeros(arrayify(BigNumber.from(transaction.nonce).toHexString()));\n return getAddress(hexDataSlice(keccak256(encode([from, nonce])), 12));\n}\nexport function getCreate2Address(from, salt, initCodeHash) {\n if (hexDataLength(salt) !== 32) {\n logger.throwArgumentError(\"salt must be 32 bytes\", \"salt\", salt);\n }\n if (hexDataLength(initCodeHash) !== 32) {\n logger.throwArgumentError(\"initCodeHash must be 32 bytes\", \"initCodeHash\", initCodeHash);\n }\n return getAddress(hexDataSlice(keccak256(concat([\"0xff\", getAddress(from), salt, initCodeHash])), 12));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { hexZeroPad } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, value) {\n try {\n value = getAddress(value);\n }\n catch (error) {\n this._throwError(error.message, value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));\n }\n}\n//# sourceMappingURL=address.js.map","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\n// Clones the functionality of an existing Coder, but without a localName\nexport class AnonymousCoder extends Coder {\n constructor(coder) {\n super(coder.name, coder.type, undefined, coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n//# sourceMappingURL=anonymous.js.map","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nimport { Coder, Writer } from \"./abstract-coder\";\nimport { AnonymousCoder } from \"./anonymous\";\nexport function pack(writer, coders, values) {\n let arrayValues = null;\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n if (!name) {\n logger.throwError(\"cannot encode object for signature with missing names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n if (unique[name]) {\n logger.throwError(\"cannot encode object for signature with duplicate names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n unique[name] = true;\n return values[name];\n });\n }\n else {\n logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n }\n if (coders.length !== arrayValues.length) {\n logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n }\n let staticWriter = new Writer(writer.wordSize);\n let dynamicWriter = new Writer(writer.wordSize);\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\nexport function unpack(reader, coders) {\n let values = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value != undefined) {\n values.push(value);\n }\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n const value = values[index];\n if (value instanceof Error) {\n Object.defineProperty(values, name, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n else {\n values[name] = value;\n }\n });\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n if (value instanceof Error) {\n Object.defineProperty(values, i, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n }\n return Object.freeze(values);\n}\nexport class ArrayCoder extends Coder {\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n this.coder = coder;\n this.length = length;\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, value) {\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n if (count * 32 > reader._data.length) {\n logger.throwError(\"insufficient data length\", Logger.errors.BUFFER_OVERRUN, {\n length: reader._data.length,\n count: count\n });\n }\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return reader.coerce(this.name, unpack(reader, coders));\n }\n}\n//# sourceMappingURL=array.js.map","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nexport class BooleanCoder extends Coder {\n constructor(localName) {\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, value) {\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return reader.coerce(this.type, !reader.readValue().isZero());\n }\n}\n//# sourceMappingURL=boolean.js.map","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = arrayify(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return reader.coerce(this.name, hexlify(super.decode(reader)));\n }\n}\n//# sourceMappingURL=bytes.js.map","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\n// @TODO: Merge this with bytes\nexport class FixedBytesCoder extends Coder {\n constructor(size, localName) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n this.size = size;\n }\n defaultValue() {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n encode(writer, value) {\n let data = arrayify(value);\n if (data.length !== this.size) {\n this._throwError(\"incorrect data length\", value);\n }\n return writer.writeBytes(data);\n }\n decode(reader) {\n return reader.coerce(this.name, hexlify(reader.readBytes(this.size)));\n }\n}\n//# sourceMappingURL=fixed-bytes.js.map","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes([]);\n }\n decode(reader) {\n reader.readBytes(0);\n return reader.coerce(this.name, null);\n }\n}\n//# sourceMappingURL=null.js.map","export const AddressZero = \"0x0000000000000000000000000000000000000000\";\n//# sourceMappingURL=addresses.js.map","import { BigNumber } from \"@ethersproject/bignumber\";\nconst NegativeOne = ( /*#__PURE__*/BigNumber.from(-1));\nconst Zero = ( /*#__PURE__*/BigNumber.from(0));\nconst One = ( /*#__PURE__*/BigNumber.from(1));\nconst Two = ( /*#__PURE__*/BigNumber.from(2));\nconst WeiPerEther = ( /*#__PURE__*/BigNumber.from(\"1000000000000000000\"));\nconst MaxUint256 = ( /*#__PURE__*/BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\nconst MinInt256 = ( /*#__PURE__*/BigNumber.from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\"));\nconst MaxInt256 = ( /*#__PURE__*/BigNumber.from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\nexport { NegativeOne, Zero, One, Two, WeiPerEther, MaxUint256, MinInt256, MaxInt256, };\n//# sourceMappingURL=bignumbers.js.map","export const HashZero = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n//# sourceMappingURL=hashes.js.map","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { MaxUint256, NegativeOne, One, Zero } from \"@ethersproject/constants\";\nimport { Coder } from \"./abstract-coder\";\nexport class NumberCoder extends Coder {\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n this.size = size;\n this.signed = signed;\n }\n defaultValue() {\n return 0;\n }\n encode(writer, value) {\n let v = BigNumber.from(value);\n // Check bounds are safe for encoding\n let maxUintValue = MaxUint256.mask(writer.wordSize * 8);\n if (this.signed) {\n let bounds = maxUintValue.mask(this.size * 8 - 1);\n if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n }\n else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n v = v.toTwos(this.size * 8).mask(this.size * 8);\n if (this.signed) {\n v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);\n }\n return writer.writeValue(v);\n }\n decode(reader) {\n let value = reader.readValue().mask(this.size * 8);\n if (this.signed) {\n value = value.fromTwos(this.size * 8);\n }\n return reader.coerce(this.name, value);\n }\n}\n//# sourceMappingURL=number.js.map","export const version = \"strings/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n///////////////////////////////\nexport var UnicodeNormalizationForm;\n(function (UnicodeNormalizationForm) {\n UnicodeNormalizationForm[\"current\"] = \"\";\n UnicodeNormalizationForm[\"NFC\"] = \"NFC\";\n UnicodeNormalizationForm[\"NFD\"] = \"NFD\";\n UnicodeNormalizationForm[\"NFKC\"] = \"NFKC\";\n UnicodeNormalizationForm[\"NFKD\"] = \"NFKD\";\n})(UnicodeNormalizationForm || (UnicodeNormalizationForm = {}));\n;\nexport var Utf8ErrorReason;\n(function (Utf8ErrorReason) {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"UNEXPECTED_CONTINUE\"] = \"unexpected continuation byte\";\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"BAD_PREFIX\"] = \"bad codepoint prefix\";\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"OVERRUN\"] = \"string overrun\";\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n Utf8ErrorReason[\"MISSING_CONTINUE\"] = \"missing continuation byte\";\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n Utf8ErrorReason[\"OUT_OF_RANGE\"] = \"out of UTF-8 range\";\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n Utf8ErrorReason[\"UTF16_SURROGATE\"] = \"UTF-16 surrogate\";\n // The string is an overlong representation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n Utf8ErrorReason[\"OVERLONG\"] = \"overlong representation\";\n})(Utf8ErrorReason || (Utf8ErrorReason = {}));\n;\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n return logger.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === Utf8ErrorReason.OVERRUN) {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === Utf8ErrorReason.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n// Common error handing strategies\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n bytes = arrayify(bytes);\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n }\n else {\n i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\nexport function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) {\n if (form != UnicodeNormalizationForm.current) {\n logger.checkNormalize();\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {\n throw new Error(\"invalid utf-8 string\");\n }\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return arrayify(result);\n}\n;\nfunction escapeChar(value) {\n const hex = (\"0000\" + value.toString(16));\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\nexport function _toEscapedUtf8String(bytes, onError) {\n return '\"' + getUtf8CodePoints(bytes, onError).map((codePoint) => {\n if (codePoint < 256) {\n switch (codePoint) {\n case 8: return \"\\\\b\";\n case 9: return \"\\\\t\";\n case 10: return \"\\\\n\";\n case 13: return \"\\\\r\";\n case 34: return \"\\\\\\\"\";\n case 92: return \"\\\\\\\\\";\n }\n if (codePoint >= 32 && codePoint < 127) {\n return String.fromCharCode(codePoint);\n }\n }\n if (codePoint <= 0xffff) {\n return escapeChar(codePoint);\n }\n codePoint -= 0x10000;\n return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\nexport function _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\nexport function toUtf8CodePoints(str, form = UnicodeNormalizationForm.current) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","\"use strict\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { arrayify, concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"./utf8\";\nexport function formatBytes32String(text) {\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n // Check we have room for null-termination\n if (bytes.length > 31) {\n throw new Error(\"bytes32 string must be less than 32 bytes\");\n }\n // Zero-pad (implicitly null-terminates)\n return hexlify(concat([bytes, HashZero]).slice(0, 32));\n}\nexport function parseBytes32String(bytes) {\n const data = arrayify(bytes);\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) {\n throw new Error(\"invalid bytes32 - not 32 bytes long\");\n }\n if (data[31] !== 0) {\n throw new Error(\"invalid bytes32 string - no null terminator\");\n }\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) {\n length--;\n }\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n//# sourceMappingURL=bytes32.js.map","\"use strict\";\nimport { toUtf8CodePoints, _toUtf8String, UnicodeNormalizationForm } from \"./utf8\";\nfunction bytes2(data) {\n if ((data.length % 4) !== 0) {\n throw new Error(\"bad data\");\n }\n let result = [];\n for (let i = 0; i < data.length; i += 4) {\n result.push(parseInt(data.substring(i, i + 4), 16));\n }\n return result;\n}\nfunction createTable(data, func) {\n if (!func) {\n func = function (value) { return [parseInt(value, 16)]; };\n }\n let lo = 0;\n let result = {};\n data.split(\",\").forEach((pair) => {\n let comps = pair.split(\":\");\n lo += parseInt(comps[0], 16);\n result[lo] = func(comps[1]);\n });\n return result;\n}\nfunction createRangeTable(data) {\n let hi = 0;\n return data.split(\",\").map((v) => {\n let comps = v.split(\"-\");\n if (comps.length === 1) {\n comps[1] = \"0\";\n }\n else if (comps[1] === \"\") {\n comps[1] = \"1\";\n }\n let lo = hi + parseInt(comps[0], 16);\n hi = parseInt(comps[1], 16);\n return { l: lo, h: hi };\n });\n}\nfunction matchMap(value, ranges) {\n let lo = 0;\n for (let i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n lo += range.l;\n if (value >= lo && value <= lo + range.h && ((value - lo) % (range.d || 1)) === 0) {\n if (range.e && range.e.indexOf(value - lo) !== -1) {\n continue;\n }\n return range;\n }\n }\n return null;\n}\nconst Table_A_1_ranges = createRangeTable(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\");\n// @TODO: Make this relative...\nconst Table_B_1_flags = \"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map((v) => parseInt(v, 16));\nconst Table_B_2_ranges = [\n { h: 25, s: 32, l: 65 },\n { h: 30, s: 32, e: [23], l: 127 },\n { h: 54, s: 1, e: [48], l: 64, d: 2 },\n { h: 14, s: 1, l: 57, d: 2 },\n { h: 44, s: 1, l: 17, d: 2 },\n { h: 10, s: 1, e: [2, 6, 8], l: 61, d: 2 },\n { h: 16, s: 1, l: 68, d: 2 },\n { h: 84, s: 1, e: [18, 24, 66], l: 19, d: 2 },\n { h: 26, s: 32, e: [17], l: 435 },\n { h: 22, s: 1, l: 71, d: 2 },\n { h: 15, s: 80, l: 40 },\n { h: 31, s: 32, l: 16 },\n { h: 32, s: 1, l: 80, d: 2 },\n { h: 52, s: 1, l: 42, d: 2 },\n { h: 12, s: 1, l: 55, d: 2 },\n { h: 40, s: 1, e: [38], l: 15, d: 2 },\n { h: 14, s: 1, l: 48, d: 2 },\n { h: 37, s: 48, l: 49 },\n { h: 148, s: 1, l: 6351, d: 2 },\n { h: 88, s: 1, l: 160, d: 2 },\n { h: 15, s: 16, l: 704 },\n { h: 25, s: 26, l: 854 },\n { h: 25, s: 32, l: 55915 },\n { h: 37, s: 40, l: 1247 },\n { h: 25, s: -119711, l: 53248 },\n { h: 25, s: -119763, l: 52 },\n { h: 25, s: -119815, l: 52 },\n { h: 25, s: -119867, e: [1, 4, 5, 7, 8, 11, 12, 17], l: 52 },\n { h: 25, s: -119919, l: 52 },\n { h: 24, s: -119971, e: [2, 7, 8, 17], l: 52 },\n { h: 24, s: -120023, e: [2, 7, 13, 15, 16, 17], l: 52 },\n { h: 25, s: -120075, l: 52 },\n { h: 25, s: -120127, l: 52 },\n { h: 25, s: -120179, l: 52 },\n { h: 25, s: -120231, l: 52 },\n { h: 25, s: -120283, l: 52 },\n { h: 25, s: -120335, l: 52 },\n { h: 24, s: -119543, e: [17], l: 56 },\n { h: 24, s: -119601, e: [17], l: 58 },\n { h: 24, s: -119659, e: [17], l: 58 },\n { h: 24, s: -119717, e: [17], l: 58 },\n { h: 24, s: -119775, e: [17], l: 58 }\n];\nconst Table_B_2_lut_abs = createTable(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\");\nconst Table_B_2_lut_rel = createTable(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\");\nconst Table_B_2_complex = createTable(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\", bytes2);\nconst Table_C_ranges = createRangeTable(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");\nfunction flatten(values) {\n return values.reduce((accum, value) => {\n value.forEach((value) => { accum.push(value); });\n return accum;\n }, []);\n}\nexport function _nameprepTableA1(codepoint) {\n return !!matchMap(codepoint, Table_A_1_ranges);\n}\nexport function _nameprepTableB2(codepoint) {\n let range = matchMap(codepoint, Table_B_2_ranges);\n if (range) {\n return [codepoint + range.s];\n }\n let codes = Table_B_2_lut_abs[codepoint];\n if (codes) {\n return codes;\n }\n let shift = Table_B_2_lut_rel[codepoint];\n if (shift) {\n return [codepoint + shift[0]];\n }\n let complex = Table_B_2_complex[codepoint];\n if (complex) {\n return complex;\n }\n return null;\n}\nexport function _nameprepTableC(codepoint) {\n return !!matchMap(codepoint, Table_C_ranges);\n}\nexport function nameprep(value) {\n // This allows platforms with incomplete normalize to bypass\n // it for very basic names which the built-in toLowerCase\n // will certainly handle correctly\n if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) {\n return value.toLowerCase();\n }\n // Get the code points (keeping the current normalization)\n let codes = toUtf8CodePoints(value);\n codes = flatten(codes.map((code) => {\n // Substitute Table B.1 (Maps to Nothing)\n if (Table_B_1_flags.indexOf(code) >= 0) {\n return [];\n }\n if (code >= 0xfe00 && code <= 0xfe0f) {\n return [];\n }\n // Substitute Table B.2 (Case Folding)\n let codesTableB2 = _nameprepTableB2(code);\n if (codesTableB2) {\n return codesTableB2;\n }\n // No Substitution\n return [code];\n }));\n // Normalize using form KC\n codes = toUtf8CodePoints(_toUtf8String(codes), UnicodeNormalizationForm.NFKC);\n // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9\n codes.forEach((code) => {\n if (_nameprepTableC(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\");\n }\n });\n // Prohibit Unassigned Code Points (Table A.1)\n codes.forEach((code) => {\n if (_nameprepTableA1(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\");\n }\n });\n // IDNA extras\n let name = _toUtf8String(codes);\n // IDNA: 4.2.3.1\n if (name.substring(0, 1) === \"-\" || name.substring(2, 4) === \"--\" || name.substring(name.length - 1) === \"-\") {\n throw new Error(\"invalid hyphen\");\n }\n return name;\n}\n//# sourceMappingURL=idna.js.map","\"use strict\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { DynamicBytesCoder } from \"./bytes\";\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, value) {\n return super.encode(writer, toUtf8Bytes(value));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nimport { pack, unpack } from \"./array\";\nexport class TupleCoder extends Coder {\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n this.coders = coders;\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, value) {\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return reader.coerce(this.name, unpack(reader, this.coders));\n }\n}\n//# sourceMappingURL=tuple.js.map","\"use strict\";\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { Reader, Writer } from \"./coders/abstract-coder\";\nimport { AddressCoder } from \"./coders/address\";\nimport { ArrayCoder } from \"./coders/array\";\nimport { BooleanCoder } from \"./coders/boolean\";\nimport { BytesCoder } from \"./coders/bytes\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes\";\nimport { NullCoder } from \"./coders/null\";\nimport { NumberCoder } from \"./coders/number\";\nimport { StringCoder } from \"./coders/string\";\nimport { TupleCoder } from \"./coders/tuple\";\nimport { ParamType } from \"./fragments\";\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nexport class AbiCoder {\n constructor(coerceFunc) {\n defineReadOnly(this, \"coerceFunc\", coerceFunc || null);\n }\n _getCoder(param) {\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"array\":\n return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new TupleCoder((param.components || []).map((component) => {\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || (size % 8) !== 0) {\n logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n }\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n }\n return new FixedBytesCoder(size, param.name);\n }\n return logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n _getWordSize() { return 32; }\n _getReader(data, allowLoose) {\n return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n _getWriter() {\n return new Writer(this._getWordSize());\n }\n getDefaultValue(types) {\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n encode(types, values) {\n if (types.length !== values.length) {\n logger.throwError(\"types/values length mismatch\", Logger.errors.INVALID_ARGUMENT, {\n count: { types: types.length, values: values.length },\n value: { types: types, values: values }\n });\n }\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n decode(types, data, loose) {\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(this._getReader(arrayify(data), loose));\n }\n}\nexport const defaultAbiCoder = new AbiCoder();\n//# sourceMappingURL=abi-coder.js.map","import { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nexport function id(text) {\n return keccak256(toUtf8Bytes(text));\n}\n//# sourceMappingURL=id.js.map","export const version = \"hash/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function decode(textData) {\n textData = atob(textData);\n const data = [];\n for (let i = 0; i < textData.length; i++) {\n data.push(textData.charCodeAt(i));\n }\n return arrayify(data);\n}\nexport function encode(data) {\n data = arrayify(data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n//# sourceMappingURL=base64.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n// https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js\nfunction flat(array, depth) {\n if (depth == null) {\n depth = 1;\n }\n const result = [];\n const forEach = result.forEach;\n const flatDeep = function (arr, depth) {\n forEach.call(arr, function (val) {\n if (depth > 0 && Array.isArray(val)) {\n flatDeep(val, depth - 1);\n }\n else {\n result.push(val);\n }\n });\n };\n flatDeep(array, depth);\n return result;\n}\nfunction fromEntries(array) {\n const result = {};\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n result[value[0]] = value[1];\n }\n return result;\n}\nexport function decode_arithmetic(bytes) {\n let pos = 0;\n function u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\n // decode the frequency table\n let symbol_count = u16();\n let total = 1;\n let acc = [0, 1]; // first symbol has frequency 1\n for (let i = 1; i < symbol_count; i++) {\n acc.push(total += u16());\n }\n // skip the sized-payload that the last 3 symbols index into\n let skip = u16();\n let pos_payload = pos;\n pos += skip;\n let read_width = 0;\n let read_buffer = 0;\n function read_bit() {\n if (read_width == 0) {\n // this will read beyond end of buffer\n // but (undefined|0) => zero pad\n read_buffer = (read_buffer << 8) | bytes[pos++];\n read_width = 8;\n }\n return (read_buffer >> --read_width) & 1;\n }\n const N = 31;\n const FULL = Math.pow(2, N);\n const HALF = FULL >>> 1;\n const QRTR = HALF >> 1;\n const MASK = FULL - 1;\n // fill register\n let register = 0;\n for (let i = 0; i < N; i++)\n register = (register << 1) | read_bit();\n let symbols = [];\n let low = 0;\n let range = FULL; // treat like a float\n while (true) {\n let value = Math.floor((((register - low + 1) * total) - 1) / range);\n let start = 0;\n let end = symbol_count;\n while (end - start > 1) { // binary search\n let mid = (start + end) >>> 1;\n if (value < acc[mid]) {\n end = mid;\n }\n else {\n start = mid;\n }\n }\n if (start == 0)\n break; // first symbol is end mark\n symbols.push(start);\n let a = low + Math.floor(range * acc[start] / total);\n let b = low + Math.floor(range * acc[start + 1] / total) - 1;\n while (((a ^ b) & HALF) == 0) {\n register = (register << 1) & MASK | read_bit();\n a = (a << 1) & MASK;\n b = (b << 1) & MASK | 1;\n }\n while (a & ~b & QRTR) {\n register = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\n a = (a << 1) ^ HALF;\n b = ((b ^ HALF) << 1) | HALF | 1;\n }\n low = a;\n range = 1 + b - a;\n }\n let offset = symbol_count - 4;\n return symbols.map(x => {\n switch (x - offset) {\n case 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n case 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n case 1: return offset + bytes[pos_payload++];\n default: return x - 1;\n }\n });\n}\n// returns an iterator which returns the next symbol\nexport function read_payload(v) {\n let pos = 0;\n return () => v[pos++];\n}\nexport function read_compressed_payload(bytes) {\n return read_payload(decode_arithmetic(bytes));\n}\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\nexport function signed(i) {\n return (i & 1) ? (~i >> 1) : (i >> 1);\n}\nfunction read_counts(n, next) {\n let v = Array(n);\n for (let i = 0; i < n; i++)\n v[i] = 1 + next();\n return v;\n}\nfunction read_ascending(n, next) {\n let v = Array(n);\n for (let i = 0, x = -1; i < n; i++)\n v[i] = x += 1 + next();\n return v;\n}\nfunction read_deltas(n, next) {\n let v = Array(n);\n for (let i = 0, x = 0; i < n; i++)\n v[i] = x += signed(next());\n return v;\n}\nexport function read_member_array(next, lookup) {\n let v = read_ascending(next(), next);\n let n = next();\n let vX = read_ascending(n, next);\n let vN = read_counts(n, next);\n for (let i = 0; i < n; i++) {\n for (let j = 0; j < vN[i]; j++) {\n v.push(vX[i] + j);\n }\n }\n return lookup ? v.map(x => lookup[x]) : v;\n}\n// returns array of \n// [x, ys] => single replacement rule\n// [x, ys, n, dx, dx] => linear map\nexport function read_mapped_map(next) {\n let ret = [];\n while (true) {\n let w = next();\n if (w == 0)\n break;\n ret.push(read_linear_table(w, next));\n }\n while (true) {\n let w = next() - 1;\n if (w < 0)\n break;\n ret.push(read_replacement_table(w, next));\n }\n return fromEntries(flat(ret));\n}\nexport function read_zero_terminated_array(next) {\n let v = [];\n while (true) {\n let i = next();\n if (i == 0)\n break;\n v.push(i);\n }\n return v;\n}\nfunction read_transposed(n, w, next) {\n let m = Array(n).fill(undefined).map(() => []);\n for (let i = 0; i < w; i++) {\n read_deltas(n, next).forEach((x, j) => m[j].push(x));\n }\n return m;\n}\nfunction read_linear_table(w, next) {\n let dx = 1 + next();\n let dy = next();\n let vN = read_zero_terminated_array(next);\n let m = read_transposed(vN.length, 1 + w, next);\n return flat(m.map((v, i) => {\n const x = v[0], ys = v.slice(1);\n //let [x, ...ys] = v;\n //return Array(vN[i]).fill().map((_, j) => {\n return Array(vN[i]).fill(undefined).map((_, j) => {\n let j_dy = j * dy;\n return [x + j * dx, ys.map(y => y + j_dy)];\n });\n }));\n}\nfunction read_replacement_table(w, next) {\n let n = 1 + next();\n let m = read_transposed(n, 1 + w, next);\n return m.map(v => [v[0], v.slice(1)]);\n}\nexport function read_emoji_trie(next) {\n let sorted = read_member_array(next).sort((a, b) => a - b);\n return read();\n function read() {\n let branches = [];\n while (true) {\n let keys = read_member_array(next, sorted);\n if (keys.length == 0)\n break;\n branches.push({ set: new Set(keys), node: read() });\n }\n branches.sort((a, b) => b.set.size - a.set.size); // sort by likelihood\n let temp = next();\n let valid = temp % 3;\n temp = (temp / 3) | 0;\n let fe0f = !!(temp & 1);\n temp >>= 1;\n let save = temp == 1;\n let check = temp == 2;\n return { branches, valid, fe0f, save, check };\n }\n}\n//# sourceMappingURL=decoder.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\nimport { decode } from \"@ethersproject/base64\";\nimport { read_compressed_payload } from './decoder.js';\nexport function getData() {\n return read_compressed_payload(decode('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'));\n}\n//# sourceMappingURL=include.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\nimport { toUtf8CodePoints } from \"@ethersproject/strings\";\nimport { getData } from './include.js';\nconst r = getData();\nimport { read_member_array, read_mapped_map, read_emoji_trie } from './decoder.js';\n// @TODO: This should be lazily loaded\nconst VALID = new Set(read_member_array(r));\nconst IGNORED = new Set(read_member_array(r));\nconst MAPPED = read_mapped_map(r);\nconst EMOJI_ROOT = read_emoji_trie(r);\n//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b)));\n//const STOP = 0x2E;\nconst HYPHEN = 0x2D;\nconst UNDERSCORE = 0x5F;\nfunction explode_cp(name) {\n return toUtf8CodePoints(name);\n}\nfunction filter_fe0f(cps) {\n return cps.filter(cp => cp != 0xFE0F);\n}\nexport function ens_normalize_post_check(name) {\n for (let label of name.split('.')) {\n let cps = explode_cp(label);\n try {\n for (let i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) {\n if (cps[i] !== UNDERSCORE) {\n throw new Error(`underscore only allowed at start`);\n }\n }\n if (cps.length >= 4 && cps.every(cp => cp < 0x80) && cps[2] === HYPHEN && cps[3] === HYPHEN) {\n throw new Error(`invalid label extension`);\n }\n }\n catch (err) {\n throw new Error(`Invalid label \"${label}\": ${err.message}`);\n }\n }\n return name;\n}\nexport function ens_normalize(name) {\n return ens_normalize_post_check(normalize(name, filter_fe0f));\n}\nfunction normalize(name, emoji_filter) {\n let input = explode_cp(name).reverse(); // flip for pop\n let output = [];\n while (input.length) {\n let emoji = consume_emoji_reversed(input);\n if (emoji) {\n output.push(...emoji_filter(emoji));\n continue;\n }\n let cp = input.pop();\n if (VALID.has(cp)) {\n output.push(cp);\n continue;\n }\n if (IGNORED.has(cp)) {\n continue;\n }\n let cps = MAPPED[cp];\n if (cps) {\n output.push(...cps);\n continue;\n }\n throw new Error(`Disallowed codepoint: 0x${cp.toString(16).toUpperCase()}`);\n }\n return ens_normalize_post_check(nfc(String.fromCodePoint(...output)));\n}\nfunction nfc(s) {\n return s.normalize('NFC');\n}\nfunction consume_emoji_reversed(cps, eaten) {\n var _a;\n let node = EMOJI_ROOT;\n let emoji;\n let saved;\n let stack = [];\n let pos = cps.length;\n if (eaten)\n eaten.length = 0; // clear input buffer (if needed)\n while (pos) {\n let cp = cps[--pos];\n node = (_a = node.branches.find(x => x.set.has(cp))) === null || _a === void 0 ? void 0 : _a.node;\n if (!node)\n break;\n if (node.save) { // remember\n saved = cp;\n }\n else if (node.check) { // check exclusion\n if (cp === saved)\n break;\n }\n stack.push(cp);\n if (node.fe0f) {\n stack.push(0xFE0F);\n if (pos > 0 && cps[pos - 1] == 0xFE0F)\n pos--; // consume optional FE0F\n }\n if (node.valid) { // this is a valid emoji (so far)\n emoji = stack.slice(); // copy stack\n if (node.valid == 2)\n emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!)\n if (eaten)\n eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\n cps.length = pos; // truncate\n }\n }\n return emoji;\n}\n//# sourceMappingURL=lib.js.map","import { concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { ens_normalize } from \"./ens-normalize/lib\";\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\nfunction checkComponent(comp) {\n if (comp.length === 0) {\n throw new Error(\"invalid ENS name; empty component\");\n }\n return comp;\n}\nfunction ensNameSplit(name) {\n const bytes = toUtf8Bytes(ens_normalize(name));\n const comps = [];\n if (name.length === 0) {\n return comps;\n }\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n // There was a stray separator at the end of the name\n if (last >= bytes.length) {\n throw new Error(\"invalid ENS name; empty component\");\n }\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\nexport function ensNormalize(name) {\n return ensNameSplit(name).map((comp) => toUtf8String(comp)).join(\".\");\n}\nexport function isValidName(name) {\n try {\n return (ensNameSplit(name).length !== 0);\n }\n catch (error) { }\n return false;\n}\nexport function namehash(name) {\n /* istanbul ignore if */\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name; not a string\", \"name\", name);\n }\n let result = Zeros;\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256(comps.pop())]));\n }\n return hexlify(result);\n}\nexport function dnsEncode(name) {\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n // DNS does not allow components over 63 bytes in length\n if (comp.length > 63) {\n throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");\n }\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n }))) + \"00\";\n}\n//# sourceMappingURL=namehash.js.map","import { concat } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nexport const messagePrefix = \"\\x19Ethereum Signed Message:\\n\";\nexport function hashMessage(message) {\n if (typeof (message) === \"string\") {\n message = toUtf8Bytes(message);\n }\n return keccak256(concat([\n toUtf8Bytes(messagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n//# sourceMappingURL=message.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, hexConcat, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { id } from \"./id\";\nconst padding = new Uint8Array(32);\npadding.fill(0);\nconst NegativeOne = BigNumber.from(-1);\nconst Zero = BigNumber.from(0);\nconst One = BigNumber.from(1);\nconst MaxUint256 = BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nfunction hexPadRight(value) {\n const bytes = arrayify(value);\n const padOffset = bytes.length % 32;\n if (padOffset) {\n return hexConcat([bytes, padding.slice(padOffset)]);\n }\n return hexlify(bytes);\n}\nconst hexTrue = hexZeroPad(One.toHexString(), 32);\nconst hexFalse = hexZeroPad(Zero.toHexString(), 32);\nconst domainFieldTypes = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\nconst domainFieldNames = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\nfunction checkString(key) {\n return function (value) {\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(`invalid domain value for ${JSON.stringify(key)}`, `domain.${key}`, value);\n }\n return value;\n };\n}\nconst domainChecks = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function (value) {\n try {\n return BigNumber.from(value).toString();\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value for \"chainId\"`, \"domain.chainId\", value);\n },\n verifyingContract: function (value) {\n try {\n return getAddress(value).toLowerCase();\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function (value) {\n try {\n const bytes = arrayify(value);\n if (bytes.length !== 32) {\n throw new Error(\"bad length\");\n }\n return hexlify(bytes);\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"salt\"`, \"domain.salt\", value);\n }\n};\nfunction getBaseEncoder(type) {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d*)$/);\n if (match) {\n const signed = (match[1] === \"\");\n const width = parseInt(match[2] || \"256\");\n if (width % 8 !== 0 || width > 256 || (match[2] && match[2] !== String(width))) {\n logger.throwArgumentError(\"invalid numeric width\", \"type\", type);\n }\n const boundsUpper = MaxUint256.mask(signed ? (width - 1) : width);\n const boundsLower = signed ? boundsUpper.add(One).mul(NegativeOne) : Zero;\n return function (value) {\n const v = BigNumber.from(value);\n if (v.lt(boundsLower) || v.gt(boundsUpper)) {\n logger.throwArgumentError(`value out-of-bounds for ${type}`, \"value\", value);\n }\n return hexZeroPad(v.toTwos(256).toHexString(), 32);\n };\n }\n }\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n if (width === 0 || width > 32 || match[1] !== String(width)) {\n logger.throwArgumentError(\"invalid bytes width\", \"type\", type);\n }\n return function (value) {\n const bytes = arrayify(value);\n if (bytes.length !== width) {\n logger.throwArgumentError(`invalid length for ${type}`, \"value\", value);\n }\n return hexPadRight(value);\n };\n }\n }\n switch (type) {\n case \"address\": return function (value) {\n return hexZeroPad(getAddress(value), 32);\n };\n case \"bool\": return function (value) {\n return ((!value) ? hexFalse : hexTrue);\n };\n case \"bytes\": return function (value) {\n return keccak256(value);\n };\n case \"string\": return function (value) {\n return id(value);\n };\n }\n return null;\n}\nfunction encodeType(name, fields) {\n return `${name}(${fields.map(({ name, type }) => (type + \" \" + name)).join(\",\")})`;\n}\nexport class TypedDataEncoder {\n constructor(types) {\n defineReadOnly(this, \"types\", Object.freeze(deepCopy(types)));\n defineReadOnly(this, \"_encoderCache\", {});\n defineReadOnly(this, \"_types\", {});\n // Link struct types to their direct child structs\n const links = {};\n // Link structs to structs which contain them as a child\n const parents = {};\n // Link all subtypes within a given struct\n const subtypes = {};\n Object.keys(types).forEach((type) => {\n links[type] = {};\n parents[type] = [];\n subtypes[type] = {};\n });\n for (const name in types) {\n const uniqueNames = {};\n types[name].forEach((field) => {\n // Check each field has a unique name\n if (uniqueNames[field.name]) {\n logger.throwArgumentError(`duplicate variable name ${JSON.stringify(field.name)} in ${JSON.stringify(name)}`, \"types\", types);\n }\n uniqueNames[field.name] = true;\n // Get the base type (drop any array specifiers)\n const baseType = field.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];\n if (baseType === name) {\n logger.throwArgumentError(`circular type reference to ${JSON.stringify(baseType)}`, \"types\", types);\n }\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) {\n return;\n }\n if (!parents[baseType]) {\n logger.throwArgumentError(`unknown type ${JSON.stringify(baseType)}`, \"types\", types);\n }\n // Add linkage\n parents[baseType].push(name);\n links[name][baseType] = true;\n });\n }\n // Deduce the primary type\n const primaryTypes = Object.keys(parents).filter((n) => (parents[n].length === 0));\n if (primaryTypes.length === 0) {\n logger.throwArgumentError(\"missing primary type\", \"types\", types);\n }\n else if (primaryTypes.length > 1) {\n logger.throwArgumentError(`ambiguous primary types or unused types: ${primaryTypes.map((t) => (JSON.stringify(t))).join(\", \")}`, \"types\", types);\n }\n defineReadOnly(this, \"primaryType\", primaryTypes[0]);\n // Check for circular type references\n function checkCircular(type, found) {\n if (found[type]) {\n logger.throwArgumentError(`circular type reference to ${JSON.stringify(type)}`, \"types\", types);\n }\n found[type] = true;\n Object.keys(links[type]).forEach((child) => {\n if (!parents[child]) {\n return;\n }\n // Recursively check children\n checkCircular(child, found);\n // Mark all ancestors as having this decendant\n Object.keys(found).forEach((subtype) => {\n subtypes[subtype][child] = true;\n });\n });\n delete found[type];\n }\n checkCircular(this.primaryType, {});\n // Compute each fully describe type\n for (const name in subtypes) {\n const st = Object.keys(subtypes[name]);\n st.sort();\n this._types[name] = encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\");\n }\n }\n getEncoder(type) {\n let encoder = this._encoderCache[type];\n if (!encoder) {\n encoder = this._encoderCache[type] = this._getEncoder(type);\n }\n return encoder;\n }\n _getEncoder(type) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return encoder;\n }\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const subEncoder = this.getEncoder(subtype);\n const length = parseInt(match[3]);\n return (value) => {\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n let result = value.map(subEncoder);\n if (this._types[subtype]) {\n result = result.map(keccak256);\n }\n return keccak256(hexConcat(result));\n };\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this._types[type]);\n return (value) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this._types[type]) {\n return keccak256(result);\n }\n return result;\n });\n values.unshift(encodedType);\n return hexConcat(values);\n };\n }\n return logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n encodeType(name) {\n const result = this._types[name];\n if (!result) {\n logger.throwArgumentError(`unknown type: ${JSON.stringify(name)}`, \"name\", name);\n }\n return result;\n }\n encodeData(type, value) {\n return this.getEncoder(type)(value);\n }\n hashStruct(name, value) {\n return keccak256(this.encodeData(name, value));\n }\n encode(value) {\n return this.encodeData(this.primaryType, value);\n }\n hash(value) {\n return this.hashStruct(this.primaryType, value);\n }\n _visit(type, value, callback) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return callback(type, value);\n }\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const length = parseInt(match[3]);\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n return value.map((v) => this._visit(subtype, v, callback));\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, {});\n }\n return logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n visit(value, callback) {\n return this._visit(this.primaryType, value, callback);\n }\n static from(types) {\n return new TypedDataEncoder(types);\n }\n static getPrimaryType(types) {\n return TypedDataEncoder.from(types).primaryType;\n }\n static hashStruct(name, types, value) {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n static hashDomain(domain) {\n const domainFields = [];\n for (const name in domain) {\n const type = domainFieldTypes[name];\n if (!type) {\n logger.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(name)}`, \"domain\", domain);\n }\n domainFields.push({ name, type });\n }\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n static encode(domain, types, value) {\n return hexConcat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n static hash(domain, types, value) {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n // Replaces all address types with ENS names with their looked up address\n static resolveNames(domain, types, value, resolveName) {\n return __awaiter(this, void 0, void 0, function* () {\n // Make a copy to isolate it from the object passed in\n domain = shallowCopy(domain);\n // Look up all ENS names\n const ensCache = {};\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n // Get a list of all the addresses\n encoder.visit(value, (type, value) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = yield resolveName(name);\n }\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n // Replace all ENS names with their address\n value = encoder.visit(value, (type, value) => {\n if (type === \"address\" && ensCache[value]) {\n return ensCache[value];\n }\n return value;\n });\n return { domain, value };\n });\n }\n static getPayload(domain, types, value) {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n // Derive the EIP712Domain Struct reference type\n const domainValues = {};\n const domainTypes = [];\n domainFieldNames.forEach((name) => {\n const value = domain[name];\n if (value == null) {\n return;\n }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n const encoder = TypedDataEncoder.from(types);\n const typesWithDomain = shallowCopy(types);\n if (typesWithDomain.EIP712Domain) {\n logger.throwArgumentError(\"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n }\n else {\n typesWithDomain.EIP712Domain = domainTypes;\n }\n // Validate the data structures and types\n encoder.encode(value);\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type, value) => {\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(arrayify(value));\n }\n // uint or int\n if (type.match(/^u?int/)) {\n return BigNumber.from(value).toString();\n }\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(`invalid string`, \"value\", value);\n }\n return value;\n }\n return logger.throwArgumentError(\"unsupported type\", \"type\", type);\n })\n };\n }\n}\n//# sourceMappingURL=typed-data.js.map","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { id } from \"@ethersproject/hash\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, Description, getStatic } from \"@ethersproject/properties\";\nimport { defaultAbiCoder } from \"./abi-coder\";\nimport { checkResultErrors } from \"./coders/abstract-coder\";\nimport { ConstructorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, ParamType } from \"./fragments\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport { checkResultErrors };\nexport class LogDescription extends Description {\n}\nexport class TransactionDescription extends Description {\n}\nexport class ErrorDescription extends Description {\n}\nexport class Indexed extends Description {\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n}\nconst BuiltinErrors = {\n \"0x08c379a0\": { signature: \"Error(string)\", name: \"Error\", inputs: [\"string\"], reason: true },\n \"0x4e487b71\": { signature: \"Panic(uint256)\", name: \"Panic\", inputs: [\"uint256\"] }\n};\nfunction wrapAccessError(property, error) {\n const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);\n wrap.error = error;\n return wrap;\n}\n/*\nfunction checkNames(fragment: Fragment, type: \"input\" | \"output\", params: Array): void {\n params.reduce((accum, param) => {\n if (param.name) {\n if (accum[param.name]) {\n logger.throwArgumentError(`duplicate ${ type } parameter ${ JSON.stringify(param.name) } in ${ fragment.format(\"full\") }`, \"fragment\", fragment);\n }\n accum[param.name] = true;\n }\n return accum;\n }, <{ [ name: string ]: boolean }>{ });\n}\n*/\nexport class Interface {\n constructor(fragments) {\n let abi = [];\n if (typeof (fragments) === \"string\") {\n abi = JSON.parse(fragments);\n }\n else {\n abi = fragments;\n }\n defineReadOnly(this, \"fragments\", abi.map((fragment) => {\n return Fragment.from(fragment);\n }).filter((fragment) => (fragment != null)));\n defineReadOnly(this, \"_abiCoder\", getStatic(new.target, \"getAbiCoder\")());\n defineReadOnly(this, \"functions\", {});\n defineReadOnly(this, \"errors\", {});\n defineReadOnly(this, \"events\", {});\n defineReadOnly(this, \"structs\", {});\n // Add all fragments by their signature\n this.fragments.forEach((fragment) => {\n let bucket = null;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n logger.warn(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineReadOnly(this, \"deploy\", fragment);\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.events;\n break;\n case \"error\":\n bucket = this.errors;\n break;\n default:\n return;\n }\n let signature = fragment.format();\n if (bucket[signature]) {\n logger.warn(\"duplicate definition - \" + signature);\n return;\n }\n bucket[signature] = fragment;\n });\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineReadOnly(this, \"deploy\", ConstructorFragment.from({\n payable: false,\n type: \"constructor\"\n }));\n }\n defineReadOnly(this, \"_isInterface\", true);\n }\n format(format) {\n if (!format) {\n format = FormatTypes.full;\n }\n if (format === FormatTypes.sighash) {\n logger.throwArgumentError(\"interface does not support formatting sighash\", \"format\", format);\n }\n const abi = this.fragments.map((fragment) => fragment.format(format));\n // We need to re-bundle the JSON fragments a bit\n if (format === FormatTypes.json) {\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n return abi;\n }\n // Sub-classes can override these to handle other blockchains\n static getAbiCoder() {\n return defaultAbiCoder;\n }\n static getAddress(address) {\n return getAddress(address);\n }\n static getSighash(fragment) {\n return hexDataSlice(id(fragment.format()), 0, 4);\n }\n static getEventTopic(eventFragment) {\n return id(eventFragment.format());\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getFunction(nameOrSignatureOrSighash) {\n if (isHexString(nameOrSignatureOrSighash)) {\n for (const name in this.functions) {\n if (nameOrSignatureOrSighash === this.getSighash(name)) {\n return this.functions[name];\n }\n }\n logger.throwArgumentError(\"no matching function\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.functions).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching function\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching functions\", \"name\", name);\n }\n return this.functions[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching function\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n getEvent(nameOrSignatureOrTopic) {\n if (isHexString(nameOrSignatureOrTopic)) {\n const topichash = nameOrSignatureOrTopic.toLowerCase();\n for (const name in this.events) {\n if (topichash === this.getEventTopic(name)) {\n return this.events[name];\n }\n }\n logger.throwArgumentError(\"no matching event\", \"topichash\", topichash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrTopic.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrTopic.trim();\n const matching = Object.keys(this.events).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching event\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching events\", \"name\", name);\n }\n return this.events[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching event\", \"signature\", nameOrSignatureOrTopic);\n }\n return result;\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getError(nameOrSignatureOrSighash) {\n if (isHexString(nameOrSignatureOrSighash)) {\n const getSighash = getStatic(this.constructor, \"getSighash\");\n for (const name in this.errors) {\n const error = this.errors[name];\n if (nameOrSignatureOrSighash === getSighash(error)) {\n return this.errors[name];\n }\n }\n logger.throwArgumentError(\"no matching error\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.errors).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching error\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching errors\", \"name\", name);\n }\n return this.errors[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching error\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n // Get the sighash (the bytes4 selector) used by Solidity to identify a function\n getSighash(fragment) {\n if (typeof (fragment) === \"string\") {\n try {\n fragment = this.getFunction(fragment);\n }\n catch (error) {\n try {\n fragment = this.getError(fragment);\n }\n catch (_) {\n throw error;\n }\n }\n }\n return getStatic(this.constructor, \"getSighash\")(fragment);\n }\n // Get the topic (the bytes32 hash) used by Solidity to identify an event\n getEventTopic(eventFragment) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n return getStatic(this.constructor, \"getEventTopic\")(eventFragment);\n }\n _decodeParams(params, data) {\n return this._abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this._abiCoder.encode(params, values);\n }\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n decodeErrorResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n const bytes = arrayify(data);\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {\n logger.throwArgumentError(`data signature does not match error ${fragment.name}.`, \"data\", hexlify(bytes));\n }\n return this._decodeParams(fragment.inputs, bytes.slice(4));\n }\n encodeErrorResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n return hexlify(concat([\n this.getSighash(fragment),\n this._encodeParams(fragment.inputs, values || [])\n ]));\n }\n // Decode the data for a function call (e.g. tx.data)\n decodeFunctionData(functionFragment, data) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n const bytes = arrayify(data);\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {\n logger.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, \"data\", hexlify(bytes));\n }\n return this._decodeParams(functionFragment.inputs, bytes.slice(4));\n }\n // Encode the data for a function call (e.g. tx.data)\n encodeFunctionData(functionFragment, values) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n return hexlify(concat([\n this.getSighash(functionFragment),\n this._encodeParams(functionFragment.inputs, values || [])\n ]));\n }\n // Decode the result from a function call (e.g. from eth_call)\n decodeFunctionResult(functionFragment, data) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n let bytes = arrayify(data);\n let reason = null;\n let message = \"\";\n let errorArgs = null;\n let errorName = null;\n let errorSignature = null;\n switch (bytes.length % this._abiCoder._getWordSize()) {\n case 0:\n try {\n return this._abiCoder.decode(functionFragment.outputs, bytes);\n }\n catch (error) { }\n break;\n case 4: {\n const selector = hexlify(bytes.slice(0, 4));\n const builtin = BuiltinErrors[selector];\n if (builtin) {\n errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));\n errorName = builtin.name;\n errorSignature = builtin.signature;\n if (builtin.reason) {\n reason = errorArgs[0];\n }\n if (errorName === \"Error\") {\n message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(errorArgs[0])}`;\n }\n else if (errorName === \"Panic\") {\n message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`;\n }\n }\n else {\n try {\n const error = this.getError(selector);\n errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));\n errorName = error.name;\n errorSignature = error.format();\n }\n catch (error) { }\n }\n break;\n }\n }\n return logger.throwError(\"call revert exception\" + message, Logger.errors.CALL_EXCEPTION, {\n method: functionFragment.format(),\n data: hexlify(data), errorArgs, errorName, errorSignature, reason\n });\n }\n // Encode the result for a function call (e.g. for eth_call)\n encodeFunctionResult(functionFragment, values) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n return hexlify(this._abiCoder.encode(functionFragment.outputs, values || []));\n }\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(eventFragment, values) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n if (values.length > eventFragment.inputs.length) {\n logger.throwError(\"too many arguments for \" + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {\n argument: \"values\",\n value: values\n });\n }\n let topics = [];\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n const encodeTopic = (param, value) => {\n if (param.type === \"string\") {\n return id(value);\n }\n else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n if (param.type === \"bool\" && typeof (value) === \"boolean\") {\n value = (value ? \"0x01\" : \"0x00\");\n }\n if (param.type.match(/^u?int/)) {\n value = BigNumber.from(value).toHexString();\n }\n // Check addresses are valid\n if (param.type === \"address\") {\n this._abiCoder.encode([\"address\"], [value]);\n }\n return hexZeroPad(hexlify(value), 32);\n };\n values.forEach((value, index) => {\n let param = eventFragment.inputs[index];\n if (!param.indexed) {\n if (value != null) {\n logger.throwArgumentError(\"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n }\n return;\n }\n if (value == null) {\n topics.push(null);\n }\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n }\n else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n }\n else {\n topics.push(encodeTopic(param, value));\n }\n });\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n return topics;\n }\n encodeEventLog(eventFragment, values) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n if (values.length !== eventFragment.inputs.length) {\n logger.throwArgumentError(\"event arguments/values mismatch\", \"values\", values);\n }\n eventFragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value));\n }\n else if (param.type === \"bytes\") {\n topics.push(keccak256(value));\n }\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n }\n else {\n topics.push(this._abiCoder.encode([param.type], [value]));\n }\n }\n else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this._abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(eventFragment, data, topics) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n if (topics != null && !eventFragment.anonymous) {\n let topicHash = this.getEventTopic(eventFragment);\n if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {\n logger.throwError(\"fragment/topic mismatch\", Logger.errors.INVALID_ARGUMENT, { argument: \"topics[0]\", expected: topicHash, value: topics[0] });\n }\n topics = topics.slice(1);\n }\n let indexed = [];\n let nonIndexed = [];\n let dynamic = [];\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.fromObject({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n }\n else {\n indexed.push(param);\n dynamic.push(false);\n }\n }\n else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)) : null;\n let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);\n let result = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (resultIndexed == null) {\n result[index] = new Indexed({ _isIndexed: true, hash: null });\n }\n else if (dynamic[index]) {\n result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });\n }\n else {\n try {\n result[index] = resultIndexed[indexedIndex++];\n }\n catch (error) {\n result[index] = error;\n }\n }\n }\n else {\n try {\n result[index] = resultNonIndexed[nonIndexedIndex++];\n }\n catch (error) {\n result[index] = error;\n }\n }\n // Add the keyword argument if named and safe\n if (param.name && result[param.name] == null) {\n const value = result[index];\n // Make error named values throw on access\n if (value instanceof Error) {\n Object.defineProperty(result, param.name, {\n enumerable: true,\n get: () => { throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value); }\n });\n }\n else {\n result[param.name] = value;\n }\n }\n });\n // Make all error indexed values throw on access\n for (let i = 0; i < result.length; i++) {\n const value = result[i];\n if (value instanceof Error) {\n Object.defineProperty(result, i, {\n enumerable: true,\n get: () => { throw wrapAccessError(`index ${i}`, value); }\n });\n }\n }\n return Object.freeze(result);\n }\n // Given a transaction, find the matching function fragment (if any) and\n // determine all its properties and call parameters\n parseTransaction(tx) {\n let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());\n if (!fragment) {\n return null;\n }\n return new TransactionDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + tx.data.substring(10)),\n functionFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n value: BigNumber.from(tx.value || \"0\"),\n });\n }\n // @TODO\n //parseCallResult(data: BytesLike): ??\n // Given an event log, find the matching event fragment (if any) and\n // determine all its properties and values\n parseLog(log) {\n let fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) {\n return null;\n }\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new LogDescription({\n eventFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n topic: this.getEventTopic(fragment),\n args: this.decodeEventLog(fragment, log.data, log.topics)\n });\n }\n parseError(data) {\n const hexData = hexlify(data);\n let fragment = this.getError(hexData.substring(0, 10).toLowerCase());\n if (!fragment) {\n return null;\n }\n return new ErrorDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + hexData.substring(10)),\n errorFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n });\n }\n /*\n static from(value: Array | string | Interface) {\n if (Interface.isInterface(value)) {\n return value;\n }\n if (typeof(value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n return new Interface(value);\n }\n */\n static isInterface(value) {\n return !!(value && value._isInterface);\n }\n}\n//# sourceMappingURL=interface.js.map","export const version = \"abstract-provider/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { isHexString } from \"@ethersproject/bytes\";\nimport { Description, defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\n;\n//export type CallTransactionable = {\n// call(transaction: TransactionRequest): Promise;\n//};\nexport class ForkEvent extends Description {\n static isForkEvent(value) {\n return !!(value && value._isForkEvent);\n }\n}\nexport class BlockForkEvent extends ForkEvent {\n constructor(blockHash, expiry) {\n if (!isHexString(blockHash, 32)) {\n logger.throwArgumentError(\"invalid blockHash\", \"blockHash\", blockHash);\n }\n super({\n _isForkEvent: true,\n _isBlockForkEvent: true,\n expiry: (expiry || 0),\n blockHash: blockHash\n });\n }\n}\nexport class TransactionForkEvent extends ForkEvent {\n constructor(hash, expiry) {\n if (!isHexString(hash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"hash\", hash);\n }\n super({\n _isForkEvent: true,\n _isTransactionForkEvent: true,\n expiry: (expiry || 0),\n hash: hash\n });\n }\n}\nexport class TransactionOrderForkEvent extends ForkEvent {\n constructor(beforeHash, afterHash, expiry) {\n if (!isHexString(beforeHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"beforeHash\", beforeHash);\n }\n if (!isHexString(afterHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"afterHash\", afterHash);\n }\n super({\n _isForkEvent: true,\n _isTransactionOrderForkEvent: true,\n expiry: (expiry || 0),\n beforeHash: beforeHash,\n afterHash: afterHash\n });\n }\n}\n///////////////////////////////\n// Exported Abstracts\nexport class Provider {\n constructor() {\n logger.checkAbstract(new.target, Provider);\n defineReadOnly(this, \"_isProvider\", true);\n }\n getFeeData() {\n return __awaiter(this, void 0, void 0, function* () {\n const { block, gasPrice } = yield resolveProperties({\n block: this.getBlock(\"latest\"),\n gasPrice: this.getGasPrice().catch((error) => {\n // @TODO: Why is this now failing on Calaveras?\n //console.log(error);\n return null;\n })\n });\n let lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null;\n if (block && block.baseFeePerGas) {\n // We may want to compute this more accurately in the future,\n // using the formula \"check if the base fee is correct\".\n // See: https://eips.ethereum.org/EIPS/eip-1559\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = BigNumber.from(\"1500000000\");\n maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas);\n }\n return { lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas, gasPrice };\n });\n }\n // Alias for \"on\"\n addListener(eventName, listener) {\n return this.on(eventName, listener);\n }\n // Alias for \"off\"\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n static isProvider(value) {\n return !!(value && value._isProvider);\n }\n}\n//# sourceMappingURL=index.js.map","export const version = \"abstract-signer/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { defineReadOnly, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst allowedTransactionKeys = [\n \"accessList\", \"ccipReadEnabled\", \"chainId\", \"customData\", \"data\", \"from\", \"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"to\", \"type\", \"value\"\n];\nconst forwardErrors = [\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n];\n;\n;\nexport class Signer {\n ///////////////////\n // Sub-classes MUST call super\n constructor() {\n logger.checkAbstract(new.target, Signer);\n defineReadOnly(this, \"_isSigner\", true);\n }\n ///////////////////\n // Sub-classes MAY override these\n getBalance(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getBalance\");\n return yield this.provider.getBalance(this.getAddress(), blockTag);\n });\n }\n getTransactionCount(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getTransactionCount\");\n return yield this.provider.getTransactionCount(this.getAddress(), blockTag);\n });\n }\n // Populates \"from\" if unspecified, and estimates the gas for the transaction\n estimateGas(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"estimateGas\");\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n return yield this.provider.estimateGas(tx);\n });\n }\n // Populates \"from\" if unspecified, and calls with the transaction\n call(transaction, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"call\");\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n return yield this.provider.call(tx, blockTag);\n });\n }\n // Populates all fields in a transaction, signs it and sends it to the network\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"sendTransaction\");\n const tx = yield this.populateTransaction(transaction);\n const signedTx = yield this.signTransaction(tx);\n return yield this.provider.sendTransaction(signedTx);\n });\n }\n getChainId() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getChainId\");\n const network = yield this.provider.getNetwork();\n return network.chainId;\n });\n }\n getGasPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getGasPrice\");\n return yield this.provider.getGasPrice();\n });\n }\n getFeeData() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getFeeData\");\n return yield this.provider.getFeeData();\n });\n }\n resolveName(name) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"resolveName\");\n return yield this.provider.resolveName(name);\n });\n }\n // Checks a transaction does not contain invalid keys and if\n // no \"from\" is provided, populates it.\n // - does NOT require a provider\n // - adds \"from\" is not present\n // - returns a COPY (safe to mutate the result)\n // By default called from: (overriding these prevents it)\n // - call\n // - estimateGas\n // - populateTransaction (and therefor sendTransaction)\n checkTransaction(transaction) {\n for (const key in transaction) {\n if (allowedTransactionKeys.indexOf(key) === -1) {\n logger.throwArgumentError(\"invalid transaction key: \" + key, \"transaction\", transaction);\n }\n }\n const tx = shallowCopy(transaction);\n if (tx.from == null) {\n tx.from = this.getAddress();\n }\n else {\n // Make sure any provided address matches this signer\n tx.from = Promise.all([\n Promise.resolve(tx.from),\n this.getAddress()\n ]).then((result) => {\n if (result[0].toLowerCase() !== result[1].toLowerCase()) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n return result[0];\n });\n }\n return tx;\n }\n // Populates ALL keys for a transaction and checks that \"from\" matches\n // this Signer. Should be used by sendTransaction but NOT by signTransaction.\n // By default called from: (overriding these prevents it)\n // - sendTransaction\n //\n // Notes:\n // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas\n populateTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n if (tx.to != null) {\n tx.to = Promise.resolve(tx.to).then((to) => __awaiter(this, void 0, void 0, function* () {\n if (to == null) {\n return null;\n }\n const address = yield this.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n }));\n // Prevent this error from causing an UnhandledPromiseException\n tx.to.catch((error) => { });\n }\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null);\n if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) {\n logger.throwArgumentError(\"eip-1559 transaction do not support gasPrice\", \"transaction\", transaction);\n }\n else if ((tx.type === 0 || tx.type === 1) && hasEip1559) {\n logger.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"transaction\", transaction);\n }\n if ((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n tx.type = 2;\n }\n else if (tx.type === 0 || tx.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n // Populate missing gasPrice\n if (tx.gasPrice == null) {\n tx.gasPrice = this.getGasPrice();\n }\n }\n else {\n // We need to get fee data to determine things\n const feeData = yield this.getFeeData();\n if (tx.type == null) {\n // We need to auto-detect the intended type of this transaction...\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n // Upgrade transaction from null to eip-1559\n tx.type = 2;\n if (tx.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = tx.gasPrice;\n delete tx.gasPrice;\n tx.maxFeePerGas = gasPrice;\n tx.maxPriorityFeePerGas = gasPrice;\n }\n else {\n // Populate missing fee data\n if (tx.maxFeePerGas == null) {\n tx.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (tx.maxPriorityFeePerGas == null) {\n tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n // ...but they are trying to use EIP-1559 properties\n if (hasEip1559) {\n logger.throwError(\"network does not support EIP-1559\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"populateTransaction\"\n });\n }\n // Populate missing fee data\n if (tx.gasPrice == null) {\n tx.gasPrice = feeData.gasPrice;\n }\n // Explicitly set untyped transaction to legacy\n tx.type = 0;\n }\n else {\n // getFeeData has failed us.\n logger.throwError(\"failed to get consistent fee data\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signer.getFeeData\"\n });\n }\n }\n else if (tx.type === 2) {\n // Explicitly using EIP-1559\n // Populate missing fee data\n if (tx.maxFeePerGas == null) {\n tx.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (tx.maxPriorityFeePerGas == null) {\n tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n if (tx.nonce == null) {\n tx.nonce = this.getTransactionCount(\"pending\");\n }\n if (tx.gasLimit == null) {\n tx.gasLimit = this.estimateGas(tx).catch((error) => {\n if (forwardErrors.indexOf(error.code) >= 0) {\n throw error;\n }\n return logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n tx: tx\n });\n });\n }\n if (tx.chainId == null) {\n tx.chainId = this.getChainId();\n }\n else {\n tx.chainId = Promise.all([\n Promise.resolve(tx.chainId),\n this.getChainId()\n ]).then((results) => {\n if (results[1] !== 0 && results[0] !== results[1]) {\n logger.throwArgumentError(\"chainId address mismatch\", \"transaction\", transaction);\n }\n return results[0];\n });\n }\n return yield resolveProperties(tx);\n });\n }\n ///////////////////\n // Sub-classes SHOULD leave these alone\n _checkProvider(operation) {\n if (!this.provider) {\n logger.throwError(\"missing provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: (operation || \"_checkProvider\")\n });\n }\n }\n static isSigner(value) {\n return !!(value && value._isSigner);\n }\n}\nexport class VoidSigner extends Signer {\n constructor(address, provider) {\n super();\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"provider\", provider || null);\n }\n getAddress() {\n return Promise.resolve(this.address);\n }\n _fail(message, operation) {\n return Promise.resolve().then(() => {\n logger.throwError(message, Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });\n });\n }\n signMessage(message) {\n return this._fail(\"VoidSigner cannot sign messages\", \"signMessage\");\n }\n signTransaction(transaction) {\n return this._fail(\"VoidSigner cannot sign transactions\", \"signTransaction\");\n }\n _signTypedData(domain, types, value) {\n return this._fail(\"VoidSigner cannot sign typed data\", \"signTypedData\");\n }\n connect(provider) {\n return new VoidSigner(this.address, provider);\n }\n}\n//# sourceMappingURL=index.js.map","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","import BN from 'bn.js';\nimport hash from 'hash.js';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction getDefaultExportFromNamespaceIfPresent (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;\n}\n\nfunction getDefaultExportFromNamespaceIfNotNamed (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;\n}\n\nfunction getAugmentedNamespace(n) {\n\tif (n.__esModule) return n;\n\tvar a = Object.defineProperty({}, '__esModule', {value: true});\n\tObject.keys(n).forEach(function (k) {\n\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn n[k];\n\t\t\t}\n\t\t});\n\t});\n\treturn a;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nvar minimalisticAssert = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n\nvar utils_1 = createCommonjsModule(function (module, exports) {\n'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n});\n\nvar utils_1$1 = createCommonjsModule(function (module, exports) {\n'use strict';\n\nvar utils = exports;\n\n\n\n\nutils.assert = minimalisticAssert;\nutils.toArray = utils_1.toArray;\nutils.zero2 = utils_1.zero2;\nutils.toHex = utils_1.toHex;\nutils.encode = utils_1.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n});\n\n'use strict';\n\n\n\nvar getNAF = utils_1$1.getNAF;\nvar getJSF = utils_1$1.getJSF;\nvar assert$1 = utils_1$1.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nvar base = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert$1(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert$1(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils_1$1.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert$1(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert$1(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils_1$1.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n\nvar inherits_browser = createCommonjsModule(function (module) {\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n}\n});\n\n'use strict';\n\n\n\n\n\n\nvar assert$2 = utils_1$1.assert;\n\nfunction ShortCurve(conf) {\n base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits_browser(ShortCurve, base);\nvar short_1 = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert$2(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits_browser(Point, base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits_browser(JPoint, base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nvar curve_1 = createCommonjsModule(function (module, exports) {\n'use strict';\n\nvar curve = exports;\n\ncurve.base = base;\ncurve.short = short_1;\ncurve.mont = /*RicMoo:ethers:require(./mont)*/(null);\ncurve.edwards = /*RicMoo:ethers:require(./edwards)*/(null);\n});\n\nvar curves_1 = createCommonjsModule(function (module, exports) {\n'use strict';\n\nvar curves = exports;\n\n\n\n\n\nvar assert = utils_1$1.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve_1.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve_1.edwards(options);\n else\n this.curve = new curve_1.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = /*RicMoo:ethers:require(./precomputed/secp256k1)*/(null).crash();\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n});\n\n'use strict';\n\n\n\n\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils_1.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils_1.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils_1.toArray(options.pers, options.persEnc || 'hex');\n minimalisticAssert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nvar hmacDrbg = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils_1.toArray(entropy, entropyEnc);\n add = utils_1.toArray(add, addEnc);\n\n minimalisticAssert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils_1.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils_1.encode(res, enc);\n};\n\n'use strict';\n\n\n\nvar assert$3 = utils_1$1.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nvar key = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert$3(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert$3(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert$3(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n\n'use strict';\n\n\n\n\nvar assert$4 = utils_1$1.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert$4(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nvar signature = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils_1$1.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils_1$1.encode(res, enc);\n};\n\n'use strict';\n\n\n\n\n\nvar rand = /*RicMoo:ethers:require(brorand)*/(function() { throw new Error('unsupported'); });\nvar assert$5 = utils_1$1.assert;\n\n\n\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert$5(Object.prototype.hasOwnProperty.call(curves_1, options),\n 'Unknown curve ' + options);\n\n options = curves_1[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves_1.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nvar ec = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new key(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return key.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return key.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new hmacDrbg({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new hmacDrbg({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature$1, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature$1 = new signature(signature$1, 'hex');\n\n // Perform primitive values validation\n var r = signature$1.r;\n var s = signature$1.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature$1, j, enc) {\n assert$5((3 & j) === j, 'The recovery param is more than two bits');\n signature$1 = new signature(signature$1, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature$1.r;\n var s = signature$1.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature$1.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature$1, Q, enc) {\n signature$1 = new signature(signature$1, enc);\n if (signature$1.recoveryParam !== null)\n return signature$1.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature$1, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n\nvar elliptic_1 = createCommonjsModule(function (module, exports) {\n'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = /*RicMoo:ethers*/{ version: \"6.5.4\" }.version;\nelliptic.utils = utils_1$1;\nelliptic.rand = /*RicMoo:ethers:require(brorand)*/(function() { throw new Error('unsupported'); });\nelliptic.curve = curve_1;\nelliptic.curves = curves_1;\n\n// Protocols\nelliptic.ec = ec;\nelliptic.eddsa = /*RicMoo:ethers:require(./elliptic/eddsa)*/(null);\n});\n\nvar EC$1 = elliptic_1.ec;\n\nexport { EC$1 as EC };\n//# sourceMappingURL=elliptic.js.map\n","export const version = \"signing-key/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { EC } from \"./elliptic\";\nimport { arrayify, hexDataLength, hexlify, hexZeroPad, splitSignature } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nlet _curve = null;\nfunction getCurve() {\n if (!_curve) {\n _curve = new EC(\"secp256k1\");\n }\n return _curve;\n}\nexport class SigningKey {\n constructor(privateKey) {\n defineReadOnly(this, \"curve\", \"secp256k1\");\n defineReadOnly(this, \"privateKey\", hexlify(privateKey));\n if (hexDataLength(this.privateKey) !== 32) {\n logger.throwArgumentError(\"invalid private key\", \"privateKey\", \"[[ REDACTED ]]\");\n }\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n defineReadOnly(this, \"publicKey\", \"0x\" + keyPair.getPublic(false, \"hex\"));\n defineReadOnly(this, \"compressedPublicKey\", \"0x\" + keyPair.getPublic(true, \"hex\"));\n defineReadOnly(this, \"_isSigningKey\", true);\n }\n _addPoint(other) {\n const p0 = getCurve().keyFromPublic(arrayify(this.publicKey));\n const p1 = getCurve().keyFromPublic(arrayify(other));\n return \"0x\" + p0.pub.add(p1.pub).encodeCompressed(\"hex\");\n }\n signDigest(digest) {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const digestBytes = arrayify(digest);\n if (digestBytes.length !== 32) {\n logger.throwArgumentError(\"bad digest length\", \"digest\", digest);\n }\n const signature = keyPair.sign(digestBytes, { canonical: true });\n return splitSignature({\n recoveryParam: signature.recoveryParam,\n r: hexZeroPad(\"0x\" + signature.r.toString(16), 32),\n s: hexZeroPad(\"0x\" + signature.s.toString(16), 32),\n });\n }\n computeSharedSecret(otherKey) {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const otherKeyPair = getCurve().keyFromPublic(arrayify(computePublicKey(otherKey)));\n return hexZeroPad(\"0x\" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32);\n }\n static isSigningKey(value) {\n return !!(value && value._isSigningKey);\n }\n}\nexport function recoverPublicKey(digest, signature) {\n const sig = splitSignature(signature);\n const rs = { r: arrayify(sig.r), s: arrayify(sig.s) };\n return \"0x\" + getCurve().recoverPubKey(arrayify(digest), rs, sig.recoveryParam).encode(\"hex\", false);\n}\nexport function computePublicKey(key, compressed) {\n const bytes = arrayify(key);\n if (bytes.length === 32) {\n const signingKey = new SigningKey(bytes);\n if (compressed) {\n return \"0x\" + getCurve().keyFromPrivate(bytes).getPublic(true, \"hex\");\n }\n return signingKey.publicKey;\n }\n else if (bytes.length === 33) {\n if (compressed) {\n return hexlify(bytes);\n }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(false, \"hex\");\n }\n else if (bytes.length === 65) {\n if (!compressed) {\n return hexlify(bytes);\n }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(true, \"hex\");\n }\n return logger.throwArgumentError(\"invalid public or private key\", \"key\", \"[REDACTED]\");\n}\n//# sourceMappingURL=index.js.map","export const version = \"transactions/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, hexConcat, hexDataLength, hexDataSlice, hexlify, hexZeroPad, isBytesLike, splitSignature, stripZeros, } from \"@ethersproject/bytes\";\nimport { Zero } from \"@ethersproject/constants\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { checkProperties } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey } from \"@ethersproject/signing-key\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport var TransactionTypes;\n(function (TransactionTypes) {\n TransactionTypes[TransactionTypes[\"legacy\"] = 0] = \"legacy\";\n TransactionTypes[TransactionTypes[\"eip2930\"] = 1] = \"eip2930\";\n TransactionTypes[TransactionTypes[\"eip1559\"] = 2] = \"eip1559\";\n})(TransactionTypes || (TransactionTypes = {}));\n;\n///////////////////////////////\nfunction handleAddress(value) {\n if (value === \"0x\") {\n return null;\n }\n return getAddress(value);\n}\nfunction handleNumber(value) {\n if (value === \"0x\") {\n return Zero;\n }\n return BigNumber.from(value);\n}\n// Legacy Transaction Fields\nconst transactionFields = [\n { name: \"nonce\", maxLength: 32, numeric: true },\n { name: \"gasPrice\", maxLength: 32, numeric: true },\n { name: \"gasLimit\", maxLength: 32, numeric: true },\n { name: \"to\", length: 20 },\n { name: \"value\", maxLength: 32, numeric: true },\n { name: \"data\" },\n];\nconst allowedTransactionKeys = {\n chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, type: true, value: true\n};\nexport function computeAddress(key) {\n const publicKey = computePublicKey(key);\n return getAddress(hexDataSlice(keccak256(hexDataSlice(publicKey, 1)), 12));\n}\nexport function recoverAddress(digest, signature) {\n return computeAddress(recoverPublicKey(arrayify(digest), signature));\n}\nfunction formatNumber(value, name) {\n const result = stripZeros(BigNumber.from(value).toHexString());\n if (result.length > 32) {\n logger.throwArgumentError(\"invalid length for \" + name, (\"transaction:\" + name), value);\n }\n return result;\n}\nfunction accessSetify(addr, storageKeys) {\n return {\n address: getAddress(addr),\n storageKeys: (storageKeys || []).map((storageKey, index) => {\n if (hexDataLength(storageKey) !== 32) {\n logger.throwArgumentError(\"invalid access list storageKey\", `accessList[${addr}:${index}]`, storageKey);\n }\n return storageKey.toLowerCase();\n })\n };\n}\nexport function accessListify(value) {\n if (Array.isArray(value)) {\n return value.map((set, index) => {\n if (Array.isArray(set)) {\n if (set.length > 2) {\n logger.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\", `value[${index}]`, set);\n }\n return accessSetify(set[0], set[1]);\n }\n return accessSetify(set.address, set.storageKeys);\n });\n }\n const result = Object.keys(value).map((addr) => {\n const storageKeys = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, {});\n return accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\nfunction formatAccessList(value) {\n return accessListify(value).map((set) => [set.address, set.storageKeys]);\n}\nfunction _serializeEip1559(transaction, signature) {\n // If there is an explicit gasPrice, make sure it matches the\n // EIP-1559 fees; otherwise they may not understand what they\n // think they are setting in terms of fee.\n if (transaction.gasPrice != null) {\n const gasPrice = BigNumber.from(transaction.gasPrice);\n const maxFeePerGas = BigNumber.from(transaction.maxFeePerGas || 0);\n if (!gasPrice.eq(maxFeePerGas)) {\n logger.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\", \"tx\", {\n gasPrice, maxFeePerGas\n });\n }\n }\n const fields = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(transaction.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to) : \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n return hexConcat([\"0x02\", RLP.encode(fields)]);\n}\nfunction _serializeEip2930(transaction, signature) {\n const fields = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.gasPrice || 0, \"gasPrice\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to) : \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n return hexConcat([\"0x01\", RLP.encode(fields)]);\n}\n// Legacy Transactions and EIP-155\nfunction _serialize(transaction, signature) {\n checkProperties(transaction, allowedTransactionKeys);\n const raw = [];\n transactionFields.forEach(function (fieldInfo) {\n let value = transaction[fieldInfo.name] || ([]);\n const options = {};\n if (fieldInfo.numeric) {\n options.hexPad = \"left\";\n }\n value = arrayify(hexlify(value, options));\n // Fixed-width field\n if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n // Variable-width (with a maximum)\n if (fieldInfo.maxLength) {\n value = stripZeros(value);\n if (value.length > fieldInfo.maxLength) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n }\n raw.push(hexlify(value));\n });\n let chainId = 0;\n if (transaction.chainId != null) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = transaction.chainId;\n if (typeof (chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid transaction.chainId\", \"transaction\", transaction);\n }\n }\n else if (signature && !isBytesLike(signature) && signature.v > 28) {\n // No chainId provided, but the signature is signing with EIP-155; derive chainId\n chainId = Math.floor((signature.v - 35) / 2);\n }\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== 0) {\n raw.push(hexlify(chainId)); // @TODO: hexValue?\n raw.push(\"0x\");\n raw.push(\"0x\");\n }\n // Requesting an unsigned transaction\n if (!signature) {\n return RLP.encode(raw);\n }\n // The splitSignature will ensure the transaction has a recoveryParam in the\n // case that the signTransaction function only adds a v.\n const sig = splitSignature(signature);\n // We pushed a chainId and null r, s on for hashing only; remove those\n let v = 27 + sig.recoveryParam;\n if (chainId !== 0) {\n raw.pop();\n raw.pop();\n raw.pop();\n v += chainId * 2 + 8;\n // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it!\n if (sig.v > 28 && sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n }\n else if (sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n raw.push(hexlify(v));\n raw.push(stripZeros(arrayify(sig.r)));\n raw.push(stripZeros(arrayify(sig.s)));\n return RLP.encode(raw);\n}\nexport function serialize(transaction, signature) {\n // Legacy and EIP-155 Transactions\n if (transaction.type == null || transaction.type === 0) {\n if (transaction.accessList != null) {\n logger.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\", \"transaction\", transaction);\n }\n return _serialize(transaction, signature);\n }\n // Typed Transactions (EIP-2718)\n switch (transaction.type) {\n case 1:\n return _serializeEip2930(transaction, signature);\n case 2:\n return _serializeEip1559(transaction, signature);\n default:\n break;\n }\n return logger.throwError(`unsupported transaction type: ${transaction.type}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"serializeTransaction\",\n transactionType: transaction.type\n });\n}\nfunction _parseEipSignature(tx, fields, serialize) {\n try {\n const recid = handleNumber(fields[0]).toNumber();\n if (recid !== 0 && recid !== 1) {\n throw new Error(\"bad recid\");\n }\n tx.v = recid;\n }\n catch (error) {\n logger.throwArgumentError(\"invalid v for transaction type: 1\", \"v\", fields[0]);\n }\n tx.r = hexZeroPad(fields[1], 32);\n tx.s = hexZeroPad(fields[2], 32);\n try {\n const digest = keccak256(serialize(tx));\n tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v });\n }\n catch (error) { }\n}\nfunction _parseEip1559(payload) {\n const transaction = RLP.decode(payload.slice(1));\n if (transaction.length !== 9 && transaction.length !== 12) {\n logger.throwArgumentError(\"invalid component count for transaction type: 2\", \"payload\", hexlify(payload));\n }\n const maxPriorityFeePerGas = handleNumber(transaction[2]);\n const maxFeePerGas = handleNumber(transaction[3]);\n const tx = {\n type: 2,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n maxFeePerGas: maxFeePerGas,\n gasPrice: null,\n gasLimit: handleNumber(transaction[4]),\n to: handleAddress(transaction[5]),\n value: handleNumber(transaction[6]),\n data: transaction[7],\n accessList: accessListify(transaction[8]),\n };\n // Unsigned EIP-1559 Transaction\n if (transaction.length === 9) {\n return tx;\n }\n tx.hash = keccak256(payload);\n _parseEipSignature(tx, transaction.slice(9), _serializeEip1559);\n return tx;\n}\nfunction _parseEip2930(payload) {\n const transaction = RLP.decode(payload.slice(1));\n if (transaction.length !== 8 && transaction.length !== 11) {\n logger.throwArgumentError(\"invalid component count for transaction type: 1\", \"payload\", hexlify(payload));\n }\n const tx = {\n type: 1,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n gasPrice: handleNumber(transaction[2]),\n gasLimit: handleNumber(transaction[3]),\n to: handleAddress(transaction[4]),\n value: handleNumber(transaction[5]),\n data: transaction[6],\n accessList: accessListify(transaction[7])\n };\n // Unsigned EIP-2930 Transaction\n if (transaction.length === 8) {\n return tx;\n }\n tx.hash = keccak256(payload);\n _parseEipSignature(tx, transaction.slice(8), _serializeEip2930);\n return tx;\n}\n// Legacy Transactions and EIP-155\nfunction _parse(rawTransaction) {\n const transaction = RLP.decode(rawTransaction);\n if (transaction.length !== 9 && transaction.length !== 6) {\n logger.throwArgumentError(\"invalid raw transaction\", \"rawTransaction\", rawTransaction);\n }\n const tx = {\n nonce: handleNumber(transaction[0]).toNumber(),\n gasPrice: handleNumber(transaction[1]),\n gasLimit: handleNumber(transaction[2]),\n to: handleAddress(transaction[3]),\n value: handleNumber(transaction[4]),\n data: transaction[5],\n chainId: 0\n };\n // Legacy unsigned transaction\n if (transaction.length === 6) {\n return tx;\n }\n try {\n tx.v = BigNumber.from(transaction[6]).toNumber();\n }\n catch (error) {\n // @TODO: What makes snese to do? The v is too big\n return tx;\n }\n tx.r = hexZeroPad(transaction[7], 32);\n tx.s = hexZeroPad(transaction[8], 32);\n if (BigNumber.from(tx.r).isZero() && BigNumber.from(tx.s).isZero()) {\n // EIP-155 unsigned transaction\n tx.chainId = tx.v;\n tx.v = 0;\n }\n else {\n // Signed Transaction\n tx.chainId = Math.floor((tx.v - 35) / 2);\n if (tx.chainId < 0) {\n tx.chainId = 0;\n }\n let recoveryParam = tx.v - 27;\n const raw = transaction.slice(0, 6);\n if (tx.chainId !== 0) {\n raw.push(hexlify(tx.chainId));\n raw.push(\"0x\");\n raw.push(\"0x\");\n recoveryParam -= tx.chainId * 2 + 8;\n }\n const digest = keccak256(RLP.encode(raw));\n try {\n tx.from = recoverAddress(digest, { r: hexlify(tx.r), s: hexlify(tx.s), recoveryParam: recoveryParam });\n }\n catch (error) { }\n tx.hash = keccak256(rawTransaction);\n }\n tx.type = null;\n return tx;\n}\nexport function parse(rawTransaction) {\n const payload = arrayify(rawTransaction);\n // Legacy and EIP-155 Transactions\n if (payload[0] > 0x7f) {\n return _parse(payload);\n }\n // Typed Transaction (EIP-2718)\n switch (payload[0]) {\n case 1:\n return _parseEip2930(payload);\n case 2:\n return _parseEip1559(payload);\n default:\n break;\n }\n return logger.throwError(`unsupported transaction type: ${payload[0]}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"parseTransaction\",\n transactionType: payload[0]\n });\n}\n//# sourceMappingURL=index.js.map","export const version = \"contracts/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { checkResultErrors, Indexed, Interface } from \"@ethersproject/abi\";\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { defineReadOnly, deepCopy, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\n;\n///////////////////////////////\nconst allowedTransactionKeys = {\n chainId: true, data: true, from: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true,\n customData: true,\n ccipReadEnabled: true\n};\nfunction resolveName(resolver, nameOrPromise) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = yield nameOrPromise;\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", name);\n }\n // If it is already an address, just use it (after adding checksum)\n try {\n return getAddress(name);\n }\n catch (error) { }\n if (!resolver) {\n logger.throwError(\"a provider or signer is needed to resolve ENS names\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\"\n });\n }\n const address = yield resolver.resolveName(name);\n if (address == null) {\n logger.throwArgumentError(\"resolver or addr is not configured for ENS name\", \"name\", name);\n }\n return address;\n });\n}\n// Recursively replaces ENS names with promises to resolve the name and resolves all properties\nfunction resolveAddresses(resolver, value, paramType) {\n return __awaiter(this, void 0, void 0, function* () {\n if (Array.isArray(paramType)) {\n return yield Promise.all(paramType.map((paramType, index) => {\n return resolveAddresses(resolver, ((Array.isArray(value)) ? value[index] : value[paramType.name]), paramType);\n }));\n }\n if (paramType.type === \"address\") {\n return yield resolveName(resolver, value);\n }\n if (paramType.type === \"tuple\") {\n return yield resolveAddresses(resolver, value, paramType.components);\n }\n if (paramType.baseType === \"array\") {\n if (!Array.isArray(value)) {\n return Promise.reject(logger.makeError(\"invalid value for array\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"value\",\n value\n }));\n }\n return yield Promise.all(value.map((v) => resolveAddresses(resolver, v, paramType.arrayChildren)));\n }\n return value;\n });\n}\nfunction populateTransaction(contract, fragment, args) {\n return __awaiter(this, void 0, void 0, function* () {\n // If an extra argument is given, it is overrides\n let overrides = {};\n if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n overrides = shallowCopy(args.pop());\n }\n // Make sure the parameter count matches\n logger.checkArgumentCount(args.length, fragment.inputs.length, \"passed to contract\");\n // Populate \"from\" override (allow promises)\n if (contract.signer) {\n if (overrides.from) {\n // Contracts with a Signer are from the Signer's frame-of-reference;\n // but we allow overriding \"from\" if it matches the signer\n overrides.from = resolveProperties({\n override: resolveName(contract.signer, overrides.from),\n signer: contract.signer.getAddress()\n }).then((check) => __awaiter(this, void 0, void 0, function* () {\n if (getAddress(check.signer) !== check.override) {\n logger.throwError(\"Contract with a Signer cannot override from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.from\"\n });\n }\n return check.override;\n }));\n }\n else {\n overrides.from = contract.signer.getAddress();\n }\n }\n else if (overrides.from) {\n overrides.from = resolveName(contract.provider, overrides.from);\n //} else {\n // Contracts without a signer can override \"from\", and if\n // unspecified the zero address is used\n //overrides.from = AddressZero;\n }\n // Wait for all dependencies to be resolved (prefer the signer over the provider)\n const resolved = yield resolveProperties({\n args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs),\n address: contract.resolvedAddress,\n overrides: (resolveProperties(overrides) || {})\n });\n // The ABI coded transaction\n const data = contract.interface.encodeFunctionData(fragment, resolved.args);\n const tx = {\n data: data,\n to: resolved.address\n };\n // Resolved Overrides\n const ro = resolved.overrides;\n // Populate simple overrides\n if (ro.nonce != null) {\n tx.nonce = BigNumber.from(ro.nonce).toNumber();\n }\n if (ro.gasLimit != null) {\n tx.gasLimit = BigNumber.from(ro.gasLimit);\n }\n if (ro.gasPrice != null) {\n tx.gasPrice = BigNumber.from(ro.gasPrice);\n }\n if (ro.maxFeePerGas != null) {\n tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas);\n }\n if (ro.maxPriorityFeePerGas != null) {\n tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas);\n }\n if (ro.from != null) {\n tx.from = ro.from;\n }\n if (ro.type != null) {\n tx.type = ro.type;\n }\n if (ro.accessList != null) {\n tx.accessList = accessListify(ro.accessList);\n }\n // If there was no \"gasLimit\" override, but the ABI specifies a default, use it\n if (tx.gasLimit == null && fragment.gas != null) {\n // Compute the intrinsic gas cost for this transaction\n // @TODO: This is based on the yellow paper as of Petersburg; this is something\n // we may wish to parameterize in v6 as part of the Network object. Since this\n // is always a non-nil to address, we can ignore G_create, but may wish to add\n // similar logic to the ContractFactory.\n let intrinsic = 21000;\n const bytes = arrayify(data);\n for (let i = 0; i < bytes.length; i++) {\n intrinsic += 4;\n if (bytes[i]) {\n intrinsic += 64;\n }\n }\n tx.gasLimit = BigNumber.from(fragment.gas).add(intrinsic);\n }\n // Populate \"value\" override\n if (ro.value) {\n const roValue = BigNumber.from(ro.value);\n if (!roValue.isZero() && !fragment.payable) {\n logger.throwError(\"non-payable method cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: overrides.value\n });\n }\n tx.value = roValue;\n }\n if (ro.customData) {\n tx.customData = shallowCopy(ro.customData);\n }\n if (ro.ccipReadEnabled) {\n tx.ccipReadEnabled = !!ro.ccipReadEnabled;\n }\n // Remove the overrides\n delete overrides.nonce;\n delete overrides.gasLimit;\n delete overrides.gasPrice;\n delete overrides.from;\n delete overrides.value;\n delete overrides.type;\n delete overrides.accessList;\n delete overrides.maxFeePerGas;\n delete overrides.maxPriorityFeePerGas;\n delete overrides.customData;\n delete overrides.ccipReadEnabled;\n // Make sure there are no stray overrides, which may indicate a\n // typo or using an unsupported key.\n const leftovers = Object.keys(overrides).filter((key) => (overrides[key] != null));\n if (leftovers.length) {\n logger.throwError(`cannot override ${leftovers.map((l) => JSON.stringify(l)).join(\",\")}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides\",\n overrides: leftovers\n });\n }\n return tx;\n });\n}\nfunction buildPopulate(contract, fragment) {\n return function (...args) {\n return populateTransaction(contract, fragment, args);\n };\n}\nfunction buildEstimate(contract, fragment) {\n const signerOrProvider = (contract.signer || contract.provider);\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!signerOrProvider) {\n logger.throwError(\"estimate require a provider or signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"estimateGas\"\n });\n }\n const tx = yield populateTransaction(contract, fragment, args);\n return yield signerOrProvider.estimateGas(tx);\n });\n };\n}\nfunction addContractWait(contract, tx) {\n const wait = tx.wait.bind(tx);\n tx.wait = (confirmations) => {\n return wait(confirmations).then((receipt) => {\n receipt.events = receipt.logs.map((log) => {\n let event = deepCopy(log);\n let parsed = null;\n try {\n parsed = contract.interface.parseLog(log);\n }\n catch (e) { }\n // Successfully parsed the event log; include it\n if (parsed) {\n event.args = parsed.args;\n event.decode = (data, topics) => {\n return contract.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n }\n // Useful operations\n event.removeListener = () => { return contract.provider; };\n event.getBlock = () => {\n return contract.provider.getBlock(receipt.blockHash);\n };\n event.getTransaction = () => {\n return contract.provider.getTransaction(receipt.transactionHash);\n };\n event.getTransactionReceipt = () => {\n return Promise.resolve(receipt);\n };\n return event;\n });\n return receipt;\n });\n };\n}\nfunction buildCall(contract, fragment, collapseSimple) {\n const signerOrProvider = (contract.signer || contract.provider);\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n // Extract the \"blockTag\" override if present\n let blockTag = undefined;\n if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n const overrides = shallowCopy(args.pop());\n if (overrides.blockTag != null) {\n blockTag = yield overrides.blockTag;\n }\n delete overrides.blockTag;\n args.push(overrides);\n }\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n yield contract._deployed(blockTag);\n }\n // Call a node and get the result\n const tx = yield populateTransaction(contract, fragment, args);\n const result = yield signerOrProvider.call(tx, blockTag);\n try {\n let value = contract.interface.decodeFunctionResult(fragment, result);\n if (collapseSimple && fragment.outputs.length === 1) {\n value = value[0];\n }\n return value;\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n error.address = contract.address;\n error.args = args;\n error.transaction = tx;\n }\n throw error;\n }\n });\n };\n}\nfunction buildSend(contract, fragment) {\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!contract.signer) {\n logger.throwError(\"sending a transaction requires a signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction\"\n });\n }\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n yield contract._deployed();\n }\n const txRequest = yield populateTransaction(contract, fragment, args);\n const tx = yield contract.signer.sendTransaction(txRequest);\n // Tweak the tx.wait so the receipt has extra properties\n addContractWait(contract, tx);\n return tx;\n });\n };\n}\nfunction buildDefault(contract, fragment, collapseSimple) {\n if (fragment.constant) {\n return buildCall(contract, fragment, collapseSimple);\n }\n return buildSend(contract, fragment);\n}\nfunction getEventTag(filter) {\n if (filter.address && (filter.topics == null || filter.topics.length === 0)) {\n return \"*\";\n }\n return (filter.address || \"*\") + \"@\" + (filter.topics ? filter.topics.map((topic) => {\n if (Array.isArray(topic)) {\n return topic.join(\"|\");\n }\n return topic;\n }).join(\":\") : \"\");\n}\nclass RunningEvent {\n constructor(tag, filter) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"filter\", filter);\n this._listeners = [];\n }\n addListener(listener, once) {\n this._listeners.push({ listener: listener, once: once });\n }\n removeListener(listener) {\n let done = false;\n this._listeners = this._listeners.filter((item) => {\n if (done || item.listener !== listener) {\n return true;\n }\n done = true;\n return false;\n });\n }\n removeAllListeners() {\n this._listeners = [];\n }\n listeners() {\n return this._listeners.map((i) => i.listener);\n }\n listenerCount() {\n return this._listeners.length;\n }\n run(args) {\n const listenerCount = this.listenerCount();\n this._listeners = this._listeners.filter((item) => {\n const argsCopy = args.slice();\n // Call the callback in the next event loop\n setTimeout(() => {\n item.listener.apply(this, argsCopy);\n }, 0);\n // Reschedule it if it not \"once\"\n return !(item.once);\n });\n return listenerCount;\n }\n prepareEvent(event) {\n }\n // Returns the array that will be applied to an emit\n getEmit(event) {\n return [event];\n }\n}\nclass ErrorRunningEvent extends RunningEvent {\n constructor() {\n super(\"error\", null);\n }\n}\n// @TODO Fragment should inherit Wildcard? and just override getEmit?\n// or have a common abstract super class, with enough constructor\n// options to configure both.\n// A Fragment Event will populate all the properties that Wildcard\n// will, and additionally dereference the arguments when emitting\nclass FragmentRunningEvent extends RunningEvent {\n constructor(address, contractInterface, fragment, topics) {\n const filter = {\n address: address\n };\n let topic = contractInterface.getEventTopic(fragment);\n if (topics) {\n if (topic !== topics[0]) {\n logger.throwArgumentError(\"topic mismatch\", \"topics\", topics);\n }\n filter.topics = topics.slice();\n }\n else {\n filter.topics = [topic];\n }\n super(getEventTag(filter), filter);\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n defineReadOnly(this, \"fragment\", fragment);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n event.event = this.fragment.name;\n event.eventSignature = this.fragment.format();\n event.decode = (data, topics) => {\n return this.interface.decodeEventLog(this.fragment, data, topics);\n };\n try {\n event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics);\n }\n catch (error) {\n event.args = null;\n event.decodeError = error;\n }\n }\n getEmit(event) {\n const errors = checkResultErrors(event.args);\n if (errors.length) {\n throw errors[0].error;\n }\n const args = (event.args || []).slice();\n args.push(event);\n return args;\n }\n}\n// A Wildcard Event will attempt to populate:\n// - event The name of the event name\n// - eventSignature The full signature of the event\n// - decode A function to decode data and topics\n// - args The decoded data and topics\nclass WildcardRunningEvent extends RunningEvent {\n constructor(address, contractInterface) {\n super(\"*\", { address: address });\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n try {\n const parsed = this.interface.parseLog(event);\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n event.decode = (data, topics) => {\n return this.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.args = parsed.args;\n }\n catch (error) {\n // No matching event\n }\n }\n}\nexport class BaseContract {\n constructor(addressOrName, contractInterface, signerOrProvider) {\n // @TODO: Maybe still check the addressOrName looks like a valid address or name?\n //address = getAddress(address);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n if (signerOrProvider == null) {\n defineReadOnly(this, \"provider\", null);\n defineReadOnly(this, \"signer\", null);\n }\n else if (Signer.isSigner(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider.provider || null);\n defineReadOnly(this, \"signer\", signerOrProvider);\n }\n else if (Provider.isProvider(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider);\n defineReadOnly(this, \"signer\", null);\n }\n else {\n logger.throwArgumentError(\"invalid signer or provider\", \"signerOrProvider\", signerOrProvider);\n }\n defineReadOnly(this, \"callStatic\", {});\n defineReadOnly(this, \"estimateGas\", {});\n defineReadOnly(this, \"functions\", {});\n defineReadOnly(this, \"populateTransaction\", {});\n defineReadOnly(this, \"filters\", {});\n {\n const uniqueFilters = {};\n Object.keys(this.interface.events).forEach((eventSignature) => {\n const event = this.interface.events[eventSignature];\n defineReadOnly(this.filters, eventSignature, (...args) => {\n return {\n address: this.address,\n topics: this.interface.encodeFilterTopics(event, args)\n };\n });\n if (!uniqueFilters[event.name]) {\n uniqueFilters[event.name] = [];\n }\n uniqueFilters[event.name].push(eventSignature);\n });\n Object.keys(uniqueFilters).forEach((name) => {\n const filters = uniqueFilters[name];\n if (filters.length === 1) {\n defineReadOnly(this.filters, name, this.filters[filters[0]]);\n }\n else {\n logger.warn(`Duplicate definition of ${name} (${filters.join(\", \")})`);\n }\n });\n }\n defineReadOnly(this, \"_runningEvents\", {});\n defineReadOnly(this, \"_wrappedEmits\", {});\n if (addressOrName == null) {\n logger.throwArgumentError(\"invalid contract address or ENS name\", \"addressOrName\", addressOrName);\n }\n defineReadOnly(this, \"address\", addressOrName);\n if (this.provider) {\n defineReadOnly(this, \"resolvedAddress\", resolveName(this.provider, addressOrName));\n }\n else {\n try {\n defineReadOnly(this, \"resolvedAddress\", Promise.resolve(getAddress(addressOrName)));\n }\n catch (error) {\n // Without a provider, we cannot use ENS names\n logger.throwError(\"provider is required to use ENS name as contract address\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Contract\"\n });\n }\n }\n // Swallow bad ENS names to prevent Unhandled Exceptions\n this.resolvedAddress.catch((e) => { });\n const uniqueNames = {};\n const uniqueSignatures = {};\n Object.keys(this.interface.functions).forEach((signature) => {\n const fragment = this.interface.functions[signature];\n // Check that the signature is unique; if not the ABI generation has\n // not been cleaned or may be incorrectly generated\n if (uniqueSignatures[signature]) {\n logger.warn(`Duplicate ABI entry for ${JSON.stringify(signature)}`);\n return;\n }\n uniqueSignatures[signature] = true;\n // Track unique names; we only expose bare named functions if they\n // are ambiguous\n {\n const name = fragment.name;\n if (!uniqueNames[`%${name}`]) {\n uniqueNames[`%${name}`] = [];\n }\n uniqueNames[`%${name}`].push(signature);\n }\n if (this[signature] == null) {\n defineReadOnly(this, signature, buildDefault(this, fragment, true));\n }\n // We do not collapse simple calls on this bucket, which allows\n // frameworks to safely use this without introspection as well as\n // allows decoding error recovery.\n if (this.functions[signature] == null) {\n defineReadOnly(this.functions, signature, buildDefault(this, fragment, false));\n }\n if (this.callStatic[signature] == null) {\n defineReadOnly(this.callStatic, signature, buildCall(this, fragment, true));\n }\n if (this.populateTransaction[signature] == null) {\n defineReadOnly(this.populateTransaction, signature, buildPopulate(this, fragment));\n }\n if (this.estimateGas[signature] == null) {\n defineReadOnly(this.estimateGas, signature, buildEstimate(this, fragment));\n }\n });\n Object.keys(uniqueNames).forEach((name) => {\n // Ambiguous names to not get attached as bare names\n const signatures = uniqueNames[name];\n if (signatures.length > 1) {\n return;\n }\n // Strip off the leading \"%\" used for prototype protection\n name = name.substring(1);\n const signature = signatures[0];\n // If overwriting a member property that is null, swallow the error\n try {\n if (this[name] == null) {\n defineReadOnly(this, name, this[signature]);\n }\n }\n catch (e) { }\n if (this.functions[name] == null) {\n defineReadOnly(this.functions, name, this.functions[signature]);\n }\n if (this.callStatic[name] == null) {\n defineReadOnly(this.callStatic, name, this.callStatic[signature]);\n }\n if (this.populateTransaction[name] == null) {\n defineReadOnly(this.populateTransaction, name, this.populateTransaction[signature]);\n }\n if (this.estimateGas[name] == null) {\n defineReadOnly(this.estimateGas, name, this.estimateGas[signature]);\n }\n });\n }\n static getContractAddress(transaction) {\n return getContractAddress(transaction);\n }\n static getInterface(contractInterface) {\n if (Interface.isInterface(contractInterface)) {\n return contractInterface;\n }\n return new Interface(contractInterface);\n }\n // @TODO: Allow timeout?\n deployed() {\n return this._deployed();\n }\n _deployed(blockTag) {\n if (!this._deployedPromise) {\n // If we were just deployed, we know the transaction we should occur in\n if (this.deployTransaction) {\n this._deployedPromise = this.deployTransaction.wait().then(() => {\n return this;\n });\n }\n else {\n // @TODO: Once we allow a timeout to be passed in, we will wait\n // up to that many blocks for getCode\n // Otherwise, poll for our code to be deployed\n this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => {\n if (code === \"0x\") {\n logger.throwError(\"contract not deployed\", Logger.errors.UNSUPPORTED_OPERATION, {\n contractAddress: this.address,\n operation: \"getDeployed\"\n });\n }\n return this;\n });\n }\n }\n return this._deployedPromise;\n }\n // @TODO:\n // estimateFallback(overrides?: TransactionRequest): Promise\n // @TODO:\n // estimateDeploy(bytecode: string, ...args): Promise\n fallback(overrides) {\n if (!this.signer) {\n logger.throwError(\"sending a transactions require a signer\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"sendTransaction(fallback)\" });\n }\n const tx = shallowCopy(overrides || {});\n [\"from\", \"to\"].forEach(function (key) {\n if (tx[key] == null) {\n return;\n }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key });\n });\n tx.to = this.resolvedAddress;\n return this.deployed().then(() => {\n return this.signer.sendTransaction(tx);\n });\n }\n // Reconnect to a different signer or provider\n connect(signerOrProvider) {\n if (typeof (signerOrProvider) === \"string\") {\n signerOrProvider = new VoidSigner(signerOrProvider, this.provider);\n }\n const contract = new (this.constructor)(this.address, this.interface, signerOrProvider);\n if (this.deployTransaction) {\n defineReadOnly(contract, \"deployTransaction\", this.deployTransaction);\n }\n return contract;\n }\n // Re-attach to a different on-chain instance of this contract\n attach(addressOrName) {\n return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider);\n }\n static isIndexed(value) {\n return Indexed.isIndexed(value);\n }\n _normalizeRunningEvent(runningEvent) {\n // Already have an instance of this event running; we can re-use it\n if (this._runningEvents[runningEvent.tag]) {\n return this._runningEvents[runningEvent.tag];\n }\n return runningEvent;\n }\n _getRunningEvent(eventName) {\n if (typeof (eventName) === \"string\") {\n // Listen for \"error\" events (if your contract has an error event, include\n // the full signature to bypass this special event keyword)\n if (eventName === \"error\") {\n return this._normalizeRunningEvent(new ErrorRunningEvent());\n }\n // Listen for any event that is registered\n if (eventName === \"event\") {\n return this._normalizeRunningEvent(new RunningEvent(\"event\", null));\n }\n // Listen for any event\n if (eventName === \"*\") {\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n // Get the event Fragment (throws if ambiguous/unknown event)\n const fragment = this.interface.getEvent(eventName);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment));\n }\n // We have topics to filter by...\n if (eventName.topics && eventName.topics.length > 0) {\n // Is it a known topichash? (throws if no matching topichash)\n try {\n const topic = eventName.topics[0];\n if (typeof (topic) !== \"string\") {\n throw new Error(\"invalid topic\"); // @TODO: May happen for anonymous events\n }\n const fragment = this.interface.getEvent(topic);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics));\n }\n catch (error) { }\n // Filter by the unknown topichash\n const filter = {\n address: this.address,\n topics: eventName.topics\n };\n return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter));\n }\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n _checkRunningEvents(runningEvent) {\n if (runningEvent.listenerCount() === 0) {\n delete this._runningEvents[runningEvent.tag];\n // If we have a poller for this, remove it\n const emit = this._wrappedEmits[runningEvent.tag];\n if (emit && runningEvent.filter) {\n this.provider.off(runningEvent.filter, emit);\n delete this._wrappedEmits[runningEvent.tag];\n }\n }\n }\n // Subclasses can override this to gracefully recover\n // from parse errors if they wish\n _wrapEvent(runningEvent, log, listener) {\n const event = deepCopy(log);\n event.removeListener = () => {\n if (!listener) {\n return;\n }\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n };\n event.getBlock = () => { return this.provider.getBlock(log.blockHash); };\n event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); };\n event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); };\n // This may throw if the topics and data mismatch the signature\n runningEvent.prepareEvent(event);\n return event;\n }\n _addEventListener(runningEvent, listener, once) {\n if (!this.provider) {\n logger.throwError(\"events require a provider or a signer with a provider\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"once\" });\n }\n runningEvent.addListener(listener, once);\n // Track this running event and its listeners (may already be there; but no hard in updating)\n this._runningEvents[runningEvent.tag] = runningEvent;\n // If we are not polling the provider, start polling\n if (!this._wrappedEmits[runningEvent.tag]) {\n const wrappedEmit = (log) => {\n let event = this._wrapEvent(runningEvent, log, listener);\n // Try to emit the result for the parameterized event...\n if (event.decodeError == null) {\n try {\n const args = runningEvent.getEmit(event);\n this.emit(runningEvent.filter, ...args);\n }\n catch (error) {\n event.decodeError = error.error;\n }\n }\n // Always emit \"event\" for fragment-base events\n if (runningEvent.filter != null) {\n this.emit(\"event\", event);\n }\n // Emit \"error\" if there was an error\n if (event.decodeError != null) {\n this.emit(\"error\", event.decodeError, event);\n }\n };\n this._wrappedEmits[runningEvent.tag] = wrappedEmit;\n // Special events, like \"error\" do not have a filter\n if (runningEvent.filter != null) {\n this.provider.on(runningEvent.filter, wrappedEmit);\n }\n }\n }\n queryFilter(event, fromBlockOrBlockhash, toBlock) {\n const runningEvent = this._getRunningEvent(event);\n const filter = shallowCopy(runningEvent.filter);\n if (typeof (fromBlockOrBlockhash) === \"string\" && isHexString(fromBlockOrBlockhash, 32)) {\n if (toBlock != null) {\n logger.throwArgumentError(\"cannot specify toBlock with blockhash\", \"toBlock\", toBlock);\n }\n filter.blockHash = fromBlockOrBlockhash;\n }\n else {\n filter.fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash : 0);\n filter.toBlock = ((toBlock != null) ? toBlock : \"latest\");\n }\n return this.provider.getLogs(filter).then((logs) => {\n return logs.map((log) => this._wrapEvent(runningEvent, log, null));\n });\n }\n on(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, false);\n return this;\n }\n once(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, true);\n return this;\n }\n emit(eventName, ...args) {\n if (!this.provider) {\n return false;\n }\n const runningEvent = this._getRunningEvent(eventName);\n const result = (runningEvent.run(args) > 0);\n // May have drained all the \"once\" events; check for living events\n this._checkRunningEvents(runningEvent);\n return result;\n }\n listenerCount(eventName) {\n if (!this.provider) {\n return 0;\n }\n if (eventName == null) {\n return Object.keys(this._runningEvents).reduce((accum, key) => {\n return accum + this._runningEvents[key].listenerCount();\n }, 0);\n }\n return this._getRunningEvent(eventName).listenerCount();\n }\n listeners(eventName) {\n if (!this.provider) {\n return [];\n }\n if (eventName == null) {\n const result = [];\n for (let tag in this._runningEvents) {\n this._runningEvents[tag].listeners().forEach((listener) => {\n result.push(listener);\n });\n }\n return result;\n }\n return this._getRunningEvent(eventName).listeners();\n }\n removeAllListeners(eventName) {\n if (!this.provider) {\n return this;\n }\n if (eventName == null) {\n for (const tag in this._runningEvents) {\n const runningEvent = this._runningEvents[tag];\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n }\n return this;\n }\n // Delete any listeners\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n return this;\n }\n off(eventName, listener) {\n if (!this.provider) {\n return this;\n }\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n return this;\n }\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n}\nexport class Contract extends BaseContract {\n}\nexport class ContractFactory {\n constructor(contractInterface, bytecode, signer) {\n let bytecodeHex = null;\n if (typeof (bytecode) === \"string\") {\n bytecodeHex = bytecode;\n }\n else if (isBytes(bytecode)) {\n bytecodeHex = hexlify(bytecode);\n }\n else if (bytecode && typeof (bytecode.object) === \"string\") {\n // Allow the bytecode object from the Solidity compiler\n bytecodeHex = bytecode.object;\n }\n else {\n // Crash in the next verification step\n bytecodeHex = \"!\";\n }\n // Make sure it is 0x prefixed\n if (bytecodeHex.substring(0, 2) !== \"0x\") {\n bytecodeHex = \"0x\" + bytecodeHex;\n }\n // Make sure the final result is valid bytecode\n if (!isHexString(bytecodeHex) || (bytecodeHex.length % 2)) {\n logger.throwArgumentError(\"invalid bytecode\", \"bytecode\", bytecode);\n }\n // If we have a signer, make sure it is valid\n if (signer && !Signer.isSigner(signer)) {\n logger.throwArgumentError(\"invalid signer\", \"signer\", signer);\n }\n defineReadOnly(this, \"bytecode\", bytecodeHex);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n defineReadOnly(this, \"signer\", signer || null);\n }\n // @TODO: Future; rename to populateTransaction?\n getDeployTransaction(...args) {\n let tx = {};\n // If we have 1 additional argument, we allow transaction overrides\n if (args.length === this.interface.deploy.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n tx = shallowCopy(args.pop());\n for (const key in tx) {\n if (!allowedTransactionKeys[key]) {\n throw new Error(\"unknown transaction override \" + key);\n }\n }\n }\n // Do not allow these to be overridden in a deployment transaction\n [\"data\", \"from\", \"to\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key });\n });\n if (tx.value) {\n const value = BigNumber.from(tx.value);\n if (!value.isZero() && !this.interface.deploy.payable) {\n logger.throwError(\"non-payable constructor cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: tx.value\n });\n }\n }\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Set the data to the bytecode + the encoded constructor arguments\n tx.data = hexlify(concat([\n this.bytecode,\n this.interface.encodeDeploy(args)\n ]));\n return tx;\n }\n deploy(...args) {\n return __awaiter(this, void 0, void 0, function* () {\n let overrides = {};\n // If 1 extra parameter was passed in, it contains overrides\n if (args.length === this.interface.deploy.inputs.length + 1) {\n overrides = args.pop();\n }\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Resolve ENS names and promises in the arguments\n const params = yield resolveAddresses(this.signer, args, this.interface.deploy.inputs);\n params.push(overrides);\n // Get the deployment transaction (with optional overrides)\n const unsignedTx = this.getDeployTransaction(...params);\n // Send the deployment transaction\n const tx = yield this.signer.sendTransaction(unsignedTx);\n const address = getStatic(this.constructor, \"getContractAddress\")(tx);\n const contract = getStatic(this.constructor, \"getContract\")(address, this.interface, this.signer);\n // Add the modified wait that wraps events\n addContractWait(contract, tx);\n defineReadOnly(contract, \"deployTransaction\", tx);\n return contract;\n });\n }\n attach(address) {\n return (this.constructor).getContract(address, this.interface, this.signer);\n }\n connect(signer) {\n return new (this.constructor)(this.interface, this.bytecode, signer);\n }\n static fromSolidity(compilerOutput, signer) {\n if (compilerOutput == null) {\n logger.throwError(\"missing compiler output\", Logger.errors.MISSING_ARGUMENT, { argument: \"compilerOutput\" });\n }\n if (typeof (compilerOutput) === \"string\") {\n compilerOutput = JSON.parse(compilerOutput);\n }\n const abi = compilerOutput.abi;\n let bytecode = null;\n if (compilerOutput.bytecode) {\n bytecode = compilerOutput.bytecode;\n }\n else if (compilerOutput.evm && compilerOutput.evm.bytecode) {\n bytecode = compilerOutput.evm.bytecode;\n }\n return new this(abi, bytecode, signer);\n }\n static getInterface(contractInterface) {\n return Contract.getInterface(contractInterface);\n }\n static getContractAddress(tx) {\n return getContractAddress(tx);\n }\n static getContract(address, contractInterface, signer) {\n return new Contract(address, contractInterface, signer);\n }\n}\n//# sourceMappingURL=index.js.map","/**\n * var basex = require(\"base-x\");\n *\n * This implementation is heavily based on base-x. The main reason to\n * deviate was to prevent the dependency of Buffer.\n *\n * Contributors:\n *\n * base-x encoding\n * Forked from https://github.com/cryptocoinjs/bs58\n * Originally written by Mike Hearn for BitcoinJ\n * Copyright (c) 2011 Google Inc\n * Ported to JavaScript by Stefan Thomas\n * Merged Buffer refactorings from base58-native by Stephen Pair\n * Copyright (c) 2013 BitPay Inc\n *\n * The MIT License (MIT)\n *\n * Copyright base-x contributors (c) 2016\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n */\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nexport class BaseX {\n constructor(alphabet) {\n defineReadOnly(this, \"alphabet\", alphabet);\n defineReadOnly(this, \"base\", alphabet.length);\n defineReadOnly(this, \"_alphabetMap\", {});\n defineReadOnly(this, \"_leader\", alphabet.charAt(0));\n // pre-compute lookup table\n for (let i = 0; i < alphabet.length; i++) {\n this._alphabetMap[alphabet.charAt(i)] = i;\n }\n }\n encode(value) {\n let source = arrayify(value);\n if (source.length === 0) {\n return \"\";\n }\n let digits = [0];\n for (let i = 0; i < source.length; ++i) {\n let carry = source[i];\n for (let j = 0; j < digits.length; ++j) {\n carry += digits[j] << 8;\n digits[j] = carry % this.base;\n carry = (carry / this.base) | 0;\n }\n while (carry > 0) {\n digits.push(carry % this.base);\n carry = (carry / this.base) | 0;\n }\n }\n let string = \"\";\n // deal with leading zeros\n for (let k = 0; source[k] === 0 && k < source.length - 1; ++k) {\n string += this._leader;\n }\n // convert digits to a string\n for (let q = digits.length - 1; q >= 0; --q) {\n string += this.alphabet[digits[q]];\n }\n return string;\n }\n decode(value) {\n if (typeof (value) !== \"string\") {\n throw new TypeError(\"Expected String\");\n }\n let bytes = [];\n if (value.length === 0) {\n return new Uint8Array(bytes);\n }\n bytes.push(0);\n for (let i = 0; i < value.length; i++) {\n let byte = this._alphabetMap[value[i]];\n if (byte === undefined) {\n throw new Error(\"Non-base\" + this.base + \" character\");\n }\n let carry = byte;\n for (let j = 0; j < bytes.length; ++j) {\n carry += bytes[j] * this.base;\n bytes[j] = carry & 0xff;\n carry >>= 8;\n }\n while (carry > 0) {\n bytes.push(carry & 0xff);\n carry >>= 8;\n }\n }\n // deal with leading zeros\n for (let k = 0; value[k] === this._leader && k < value.length - 1; ++k) {\n bytes.push(0);\n }\n return arrayify(new Uint8Array(bytes.reverse()));\n }\n}\nconst Base32 = new BaseX(\"abcdefghijklmnopqrstuvwxyz234567\");\nconst Base58 = new BaseX(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");\nexport { Base32, Base58 };\n//console.log(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\"))\n//console.log(Base58.encode(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\")))\n//# sourceMappingURL=index.js.map","export var SupportedAlgorithm;\n(function (SupportedAlgorithm) {\n SupportedAlgorithm[\"sha256\"] = \"sha256\";\n SupportedAlgorithm[\"sha512\"] = \"sha512\";\n})(SupportedAlgorithm || (SupportedAlgorithm = {}));\n;\n//# sourceMappingURL=types.js.map","export const version = \"sha2/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport hash from \"hash.js\";\n//const _ripemd160 = _hash.ripemd160;\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { SupportedAlgorithm } from \"./types\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport function ripemd160(data) {\n return \"0x\" + (hash.ripemd160().update(arrayify(data)).digest(\"hex\"));\n}\nexport function sha256(data) {\n return \"0x\" + (hash.sha256().update(arrayify(data)).digest(\"hex\"));\n}\nexport function sha512(data) {\n return \"0x\" + (hash.sha512().update(arrayify(data)).digest(\"hex\"));\n}\nexport function computeHmac(algorithm, key, data) {\n if (!SupportedAlgorithm[algorithm]) {\n logger.throwError(\"unsupported algorithm \" + algorithm, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"hmac\",\n algorithm: algorithm\n });\n }\n return \"0x\" + hash.hmac(hash[algorithm], arrayify(key)).update(arrayify(data)).digest(\"hex\");\n}\n//# sourceMappingURL=sha2.js.map","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { computeHmac } from \"@ethersproject/sha2\";\nexport function pbkdf2(password, salt, iterations, keylen, hashAlgorithm) {\n password = arrayify(password);\n salt = arrayify(salt);\n let hLen;\n let l = 1;\n const DK = new Uint8Array(keylen);\n const block1 = new Uint8Array(salt.length + 4);\n block1.set(salt);\n //salt.copy(block1, 0, 0, salt.length)\n let r;\n let T;\n for (let i = 1; i <= l; i++) {\n //block1.writeUInt32BE(i, salt.length)\n block1[salt.length] = (i >> 24) & 0xff;\n block1[salt.length + 1] = (i >> 16) & 0xff;\n block1[salt.length + 2] = (i >> 8) & 0xff;\n block1[salt.length + 3] = i & 0xff;\n //let U = createHmac(password).update(block1).digest();\n let U = arrayify(computeHmac(hashAlgorithm, password, block1));\n if (!hLen) {\n hLen = U.length;\n T = new Uint8Array(hLen);\n l = Math.ceil(keylen / hLen);\n r = keylen - (l - 1) * hLen;\n }\n //U.copy(T, 0, 0, hLen)\n T.set(U);\n for (let j = 1; j < iterations; j++) {\n //U = createHmac(password).update(U).digest();\n U = arrayify(computeHmac(hashAlgorithm, password, U));\n for (let k = 0; k < hLen; k++)\n T[k] ^= U[k];\n }\n const destPos = (i - 1) * hLen;\n const len = (i === l ? r : hLen);\n //T.copy(DK, destPos, 0, len)\n DK.set(arrayify(T).slice(0, len), destPos);\n }\n return hexlify(DK);\n}\n//# sourceMappingURL=pbkdf2.js.map","export const version = \"wordlists/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\n// This gets overridden by rollup\nconst exportWordlist = false;\nimport { id } from \"@ethersproject/hash\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nexport const logger = new Logger(version);\nexport class Wordlist {\n constructor(locale) {\n logger.checkAbstract(new.target, Wordlist);\n defineReadOnly(this, \"locale\", locale);\n }\n // Subclasses may override this\n split(mnemonic) {\n return mnemonic.toLowerCase().split(/ +/g);\n }\n // Subclasses may override this\n join(words) {\n return words.join(\" \");\n }\n static check(wordlist) {\n const words = [];\n for (let i = 0; i < 2048; i++) {\n const word = wordlist.getWord(i);\n /* istanbul ignore if */\n if (i !== wordlist.getWordIndex(word)) {\n return \"0x\";\n }\n words.push(word);\n }\n return id(words.join(\"\\n\") + \"\\n\");\n }\n static register(lang, name) {\n if (!name) {\n name = lang.locale;\n }\n /* istanbul ignore if */\n if (exportWordlist) {\n try {\n const anyGlobal = window;\n if (anyGlobal._ethers && anyGlobal._ethers.wordlists) {\n if (!anyGlobal._ethers.wordlists[name]) {\n defineReadOnly(anyGlobal._ethers.wordlists, name, lang);\n }\n }\n }\n catch (error) { }\n }\n }\n}\n//# sourceMappingURL=wordlist.js.map","\"use strict\";\nimport { Wordlist } from \"./wordlist\";\nconst words = \"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\";\nlet wordlist = null;\nfunction loadWords(lang) {\n if (wordlist != null) {\n return;\n }\n wordlist = words.replace(/([A-Z])/g, \" $1\").toLowerCase().substring(1).split(\" \");\n // Verify the computed list matches the official list\n /* istanbul ignore if */\n if (Wordlist.check(lang) !== \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\") {\n wordlist = null;\n throw new Error(\"BIP39 Wordlist for en (English) FAILED\");\n }\n}\nclass LangEn extends Wordlist {\n constructor() {\n super(\"en\");\n }\n getWord(index) {\n loadWords(this);\n return wordlist[index];\n }\n getWordIndex(word) {\n loadWords(this);\n return wordlist.indexOf(word);\n }\n}\nconst langEn = new LangEn();\nWordlist.register(langEn);\nexport { langEn };\n//# sourceMappingURL=lang-en.js.map","\"use strict\";\nimport { langEn as en } from \"./lang-en\";\nexport const wordlists = {\n en: en\n};\n//# sourceMappingURL=wordlists.js.map","export const version = \"hdnode/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { arrayify, concat, hexDataSlice, hexZeroPad, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from \"@ethersproject/strings\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { computeHmac, ripemd160, sha256, SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { wordlists } from \"@ethersproject/wordlists\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst N = BigNumber.from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n// \"Bitcoin seed\"\nconst MasterSecret = toUtf8Bytes(\"Bitcoin seed\");\nconst HardenedBit = 0x80000000;\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits) {\n return ((1 << bits) - 1) << (8 - bits);\n}\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits) {\n return (1 << bits) - 1;\n}\nfunction bytes32(value) {\n return hexZeroPad(hexlify(value), 32);\n}\nfunction base58check(data) {\n return Base58.encode(concat([data, hexDataSlice(sha256(sha256(data)), 0, 4)]));\n}\nfunction getWordlist(wordlist) {\n if (wordlist == null) {\n return wordlists[\"en\"];\n }\n if (typeof (wordlist) === \"string\") {\n const words = wordlists[wordlist];\n if (words == null) {\n logger.throwArgumentError(\"unknown locale\", \"wordlist\", wordlist);\n }\n return words;\n }\n return wordlist;\n}\nconst _constructorGuard = {};\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n;\nexport class HDNode {\n /**\n * This constructor should not be called directly.\n *\n * Please use:\n * - fromMnemonic\n * - fromSeed\n */\n constructor(constructorGuard, privateKey, publicKey, parentFingerprint, chainCode, index, depth, mnemonicOrPath) {\n /* istanbul ignore if */\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"HDNode constructor cannot be called directly\");\n }\n if (privateKey) {\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"privateKey\", signingKey.privateKey);\n defineReadOnly(this, \"publicKey\", signingKey.compressedPublicKey);\n }\n else {\n defineReadOnly(this, \"privateKey\", null);\n defineReadOnly(this, \"publicKey\", hexlify(publicKey));\n }\n defineReadOnly(this, \"parentFingerprint\", parentFingerprint);\n defineReadOnly(this, \"fingerprint\", hexDataSlice(ripemd160(sha256(this.publicKey)), 0, 4));\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n defineReadOnly(this, \"chainCode\", chainCode);\n defineReadOnly(this, \"index\", index);\n defineReadOnly(this, \"depth\", depth);\n if (mnemonicOrPath == null) {\n // From a source that does not preserve the path (e.g. extended keys)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", null);\n }\n else if (typeof (mnemonicOrPath) === \"string\") {\n // From a source that does not preserve the mnemonic (e.g. neutered)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", mnemonicOrPath);\n }\n else {\n // From a fully qualified source\n defineReadOnly(this, \"mnemonic\", mnemonicOrPath);\n defineReadOnly(this, \"path\", mnemonicOrPath.path);\n }\n }\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n if (this.depth >= 256) {\n throw new Error(\"Depth too large!\");\n }\n return base58check(concat([\n ((this.privateKey != null) ? \"0x0488ADE4\" : \"0x0488B21E\"),\n hexlify(this.depth),\n this.parentFingerprint,\n hexZeroPad(hexlify(this.index), 4),\n this.chainCode,\n ((this.privateKey != null) ? concat([\"0x00\", this.privateKey]) : this.publicKey),\n ]));\n }\n neuter() {\n return new HDNode(_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path);\n }\n _derive(index) {\n if (index > 0xffffffff) {\n throw new Error(\"invalid index - \" + String(index));\n }\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n }\n const data = new Uint8Array(37);\n if (index & HardenedBit) {\n if (!this.privateKey) {\n throw new Error(\"cannot derive child of neutered node\");\n }\n // Data = 0x00 || ser_256(k_par)\n data.set(arrayify(this.privateKey), 1);\n // Hardened path\n if (path) {\n path += \"'\";\n }\n }\n else {\n // Data = ser_p(point(k_par))\n data.set(arrayify(this.publicKey));\n }\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) {\n data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff);\n }\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, this.chainCode, data));\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n // The private key\n let ki = null;\n // The public key\n let Ki = null;\n if (this.privateKey) {\n ki = bytes32(BigNumber.from(IL).add(this.privateKey).mod(N));\n }\n else {\n const ek = new SigningKey(hexlify(IL));\n Ki = ek._addPoint(this.publicKey);\n }\n let mnemonicOrPath = path;\n const srcMnemonic = this.mnemonic;\n if (srcMnemonic) {\n mnemonicOrPath = Object.freeze({\n phrase: srcMnemonic.phrase,\n path: path,\n locale: (srcMnemonic.locale || \"en\")\n });\n }\n return new HDNode(_constructorGuard, ki, Ki, this.fingerprint, bytes32(IR), index, this.depth + 1, mnemonicOrPath);\n }\n derivePath(path) {\n const components = path.split(\"/\");\n if (components.length === 0 || (components[0] === \"m\" && this.depth !== 0)) {\n throw new Error(\"invalid path - \" + path);\n }\n if (components[0] === \"m\") {\n components.shift();\n }\n let result = this;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n if (index >= HardenedBit) {\n throw new Error(\"invalid path index - \" + component);\n }\n result = result._derive(HardenedBit + index);\n }\n else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n if (index >= HardenedBit) {\n throw new Error(\"invalid path index - \" + component);\n }\n result = result._derive(index);\n }\n else {\n throw new Error(\"invalid path component - \" + component);\n }\n }\n return result;\n }\n static _fromSeed(seed, mnemonic) {\n const seedArray = arrayify(seed);\n if (seedArray.length < 16 || seedArray.length > 64) {\n throw new Error(\"invalid seed\");\n }\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, MasterSecret, seedArray));\n return new HDNode(_constructorGuard, bytes32(I.slice(0, 32)), null, \"0x00000000\", bytes32(I.slice(32)), 0, 0, mnemonic);\n }\n static fromMnemonic(mnemonic, password, wordlist) {\n // If a locale name was passed in, find the associated wordlist\n wordlist = getWordlist(wordlist);\n // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid)\n mnemonic = entropyToMnemonic(mnemonicToEntropy(mnemonic, wordlist), wordlist);\n return HDNode._fromSeed(mnemonicToSeed(mnemonic, password), {\n phrase: mnemonic,\n path: \"m\",\n locale: wordlist.locale\n });\n }\n static fromSeed(seed) {\n return HDNode._fromSeed(seed, null);\n }\n static fromExtendedKey(extendedKey) {\n const bytes = Base58.decode(extendedKey);\n if (bytes.length !== 82 || base58check(bytes.slice(0, 78)) !== extendedKey) {\n logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\":\n case \"0x043587cf\":\n return new HDNode(_constructorGuard, null, hexlify(key), parentFingerprint, chainCode, index, depth, null);\n // Private Key\n case \"0x0488ade4\":\n case \"0x04358394 \":\n if (key[0] !== 0) {\n break;\n }\n return new HDNode(_constructorGuard, hexlify(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null);\n }\n return logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n}\nexport function mnemonicToSeed(mnemonic, password) {\n if (!password) {\n password = \"\";\n }\n const salt = toUtf8Bytes(\"mnemonic\" + password, UnicodeNormalizationForm.NFKD);\n return pbkdf2(toUtf8Bytes(mnemonic, UnicodeNormalizationForm.NFKD), salt, 2048, 64, \"sha512\");\n}\nexport function mnemonicToEntropy(mnemonic, wordlist) {\n wordlist = getWordlist(wordlist);\n logger.checkNormalize();\n const words = wordlist.split(mnemonic);\n if ((words.length % 3) !== 0) {\n throw new Error(\"invalid mnemonic\");\n }\n const entropy = arrayify(new Uint8Array(Math.ceil(11 * words.length / 8)));\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n if (index === -1) {\n throw new Error(\"invalid mnemonic\");\n }\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n const entropyBits = 32 * words.length / 3;\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n const checksum = arrayify(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {\n throw new Error(\"invalid checksum\");\n }\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\nexport function entropyToMnemonic(entropy, wordlist) {\n wordlist = getWordlist(wordlist);\n entropy = arrayify(entropy);\n if ((entropy.length % 4) !== 0 || entropy.length < 16 || entropy.length > 32) {\n throw new Error(\"invalid entropy\");\n }\n const indices = [0];\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n remainingBits -= 8;\n // This byte will complete an 11-bit index\n }\n else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n remainingBits += 3;\n }\n }\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = arrayify(sha256(entropy))[0] & getUpperMask(checksumBits);\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n return wordlist.join(indices.map((index) => wordlist.getWord(index)));\n}\nexport function isValidMnemonic(mnemonic, wordlist) {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n return true;\n }\n catch (error) { }\n return false;\n}\nexport function getAccountPath(index) {\n if (typeof (index) !== \"number\" || index < 0 || index >= HardenedBit || index % 1) {\n logger.throwArgumentError(\"invalid account index\", \"index\", index);\n }\n return `m/44'/60'/${index}'/0/0`;\n}\n//# sourceMappingURL=index.js.map","export const version = \"random/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n// Debugging line for testing browser lib in node\n//const window = { crypto: { getRandomValues: () => { } } };\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst anyGlobal = getGlobal();\nlet crypto = anyGlobal.crypto || anyGlobal.msCrypto;\nif (!crypto || !crypto.getRandomValues) {\n logger.warn(\"WARNING: Missing strong random number source\");\n crypto = {\n getRandomValues: function (buffer) {\n return logger.throwError(\"no secure random source avaialble\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"crypto.getRandomValues\"\n });\n }\n };\n}\nexport function randomBytes(length) {\n if (length <= 0 || length > 1024 || (length % 1) || length != length) {\n logger.throwArgumentError(\"invalid length\", \"length\", length);\n }\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return arrayify(result);\n}\n;\n//# sourceMappingURL=random.js.map","\"use strict\";\nexport function shuffled(array) {\n array = array.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n return array;\n}\n//# sourceMappingURL=shuffle.js.map","\"use strict\";\n\n(function(root) {\n\n function checkInt(value) {\n return (parseInt(value) === value);\n }\n\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) { return false; }\n\n for (var i = 0; i < arrayish.length; i++) {\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {\n return false;\n }\n }\n\n return true;\n }\n\n function coerceArray(arg, copy) {\n\n // ArrayBuffer view\n if (arg.buffer && ArrayBuffer.isView(arg) && arg.name === 'Uint8Array') {\n\n if (copy) {\n if (arg.slice) {\n arg = arg.slice();\n } else {\n arg = Array.prototype.slice.call(arg);\n }\n }\n\n return arg;\n }\n\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) {\n throw new Error('Array contains invalid value: ' + arg);\n }\n\n return new Uint8Array(arg);\n }\n\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) {\n return new Uint8Array(arg);\n }\n\n throw new Error('unsupported array-like object');\n }\n\n function createArray(length) {\n return new Uint8Array(length);\n }\n\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) {\n sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n } else {\n sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n }\n targetArray.set(sourceArray, targetStart);\n }\n\n\n\n var convertUtf8 = (function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while (i < text.length) {\n var c = text.charCodeAt(i++);\n\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16))\n i += 2;\n\n // otherwise, just the actual byte\n } else {\n result.push(c)\n }\n }\n\n return coerceArray(result);\n }\n\n function fromBytes(bytes) {\n var result = [], i = 0;\n\n while (i < bytes.length) {\n var c = bytes[i];\n\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));\n i += 2;\n } else {\n result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));\n i += 3;\n }\n }\n\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n var convertHex = (function() {\n function toBytes(text) {\n var result = [];\n for (var i = 0; i < text.length; i += 2) {\n result.push(parseInt(text.substr(i, 2), 16));\n }\n\n return result;\n }\n\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = '0123456789abcdef';\n\n function fromBytes(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i++) {\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n\n // Number of rounds by keysize\n var numberOfRounds = {16: 10, 24: 12, 32: 14}\n\n // Round constant words\n var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n\n // S-box and Inverse S-box (S is for Substitution)\n var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\n var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n\n // Transformations for encryption\n var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\n var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\n var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\n var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n\n // Transformations for decryption\n var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\n var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\n var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\n var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n\n // Transformations for decryption key expansion\n var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\n var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\n var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\n var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\n\n function convertToInt32(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i += 4) {\n result.push(\n (bytes[i ] << 24) |\n (bytes[i + 1] << 16) |\n (bytes[i + 2] << 8) |\n bytes[i + 3]\n );\n }\n return result;\n }\n\n var AES = function(key) {\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n Object.defineProperty(this, 'key', {\n value: coerceArray(key, true)\n });\n\n this._prepare();\n }\n\n\n AES.prototype._prepare = function() {\n\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new Error('invalid key size (must be 16, 24 or 32 bytes)');\n }\n\n // encryption round keys\n this._Ke = [];\n\n // decryption round keys\n this._Kd = [];\n\n for (var i = 0; i <= rounds; i++) {\n this._Ke.push([0, 0, 0, 0]);\n this._Kd.push([0, 0, 0, 0]);\n }\n\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n\n // convert the key into ints\n var tk = convertToInt32(this.key);\n\n // copy values into round key arrays\n var index;\n for (var i = 0; i < KC; i++) {\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[ tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (var i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n } else {\n for (var i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n\n tk[KC / 2] ^= (S[ tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n\n for (var i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n\n // copy values into round key arrays\n var i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (var r = 1; r < rounds; r++) {\n for (var c = 0; c < 4; c++) {\n tt = this._Kd[r][c];\n this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[ tt & 0xFF]);\n }\n }\n }\n\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) {\n throw new Error('invalid plaintext size (must be 16 bytes)');\n }\n\n var rounds = this._Ke.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Ke[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T1[(t[ i ] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[ t[(i + 3) % 4] & 0xff] ^\n this._Ke[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Ke[rounds][i];\n result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) {\n throw new Error('invalid ciphertext size (must be 16 bytes)');\n }\n\n var rounds = this._Kd.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Kd[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T5[(t[ i ] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[ t[(i + 1) % 4] & 0xff] ^\n this._Kd[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Kd[rounds][i];\n result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */\n var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */\n var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastCipherblock = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n\n for (var j = 0; j < 16; j++) {\n block[j] ^= this._lastCipherblock[j];\n }\n\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n\n for (var j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n }\n\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */\n var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 size)');\n }\n\n if (!segmentSize) { segmentSize = 1; }\n\n this.segmentSize = segmentSize;\n\n this._shiftRegister = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if ((plaintext.length % this.segmentSize) != 0) {\n throw new Error('invalid plaintext size (must be segmentSize bytes)');\n }\n\n var encrypted = coerceArray(plaintext, true);\n\n var xorSegment;\n for (var i = 0; i < encrypted.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for (var j = 0; j < this.segmentSize; j++) {\n encrypted[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return encrypted;\n }\n\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if ((ciphertext.length % this.segmentSize) != 0) {\n throw new Error('invalid ciphertext size (must be segmentSize bytes)');\n }\n\n var plaintext = coerceArray(ciphertext, true);\n\n var xorSegment;\n for (var i = 0; i < plaintext.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n\n for (var j = 0; j < this.segmentSize; j++) {\n plaintext[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return plaintext;\n }\n\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */\n var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n\n\n /**\n * Counter object for CTR common mode of operation\n */\n var Counter = function(initialValue) {\n if (!(this instanceof Counter)) {\n throw Error('Counter must be instanitated with `new`');\n }\n\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) { initialValue = 1; }\n\n if (typeof(initialValue) === 'number') {\n this._counter = createArray(16);\n this.setValue(initialValue);\n\n } else {\n this.setBytes(initialValue);\n }\n }\n\n Counter.prototype.setValue = function(value) {\n if (typeof(value) !== 'number' || parseInt(value) != value) {\n throw new Error('invalid counter value (must be an integer)');\n }\n\n for (var index = 15; index >= 0; --index) {\n this._counter[index] = value % 256;\n value = value >> 8;\n }\n }\n\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n\n if (bytes.length != 16) {\n throw new Error('invalid counter bytes size (must be 16 bytes)');\n }\n\n this._counter = bytes;\n };\n\n Counter.prototype.increment = function() {\n for (var i = 15; i >= 0; i--) {\n if (this._counter[i] === 255) {\n this._counter[i] = 0;\n } else {\n this._counter[i]++;\n break;\n }\n }\n }\n\n\n /**\n * Mode Of Operation - Counter (CTR)\n */\n var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Counter\";\n this.name = \"ctr\";\n\n if (!(counter instanceof Counter)) {\n counter = new Counter(counter)\n }\n\n this._counter = counter;\n\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n\n\n ///////////////////////\n // Padding\n\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - (data.length % 16);\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for (var i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n }\n\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }\n\n var padder = data[data.length - 1];\n if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }\n\n var length = data.length - padder;\n for (var i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new Error('PKCS#7 invalid padding byte');\n }\n }\n\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n\n ///////////////////////\n // Exporting\n\n\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray,\n }\n };\n\n\n // node.js\n if (typeof exports !== 'undefined') {\n module.exports = aesjs\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(aesjs);\n\n // Web Browsers\n } else {\n\n // If there was an existing library at \"aesjs\" make sure it's still available\n if (root.aesjs) {\n aesjs._aesjs = root.aesjs;\n }\n\n root.aesjs = aesjs;\n }\n\n\n})(this);\n","export const version = \"json-wallets/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from '@ethersproject/strings';\nexport function looseArrayify(hexString) {\n if (typeof (hexString) === 'string' && hexString.substring(0, 2) !== '0x') {\n hexString = '0x' + hexString;\n }\n return arrayify(hexString);\n}\nexport function zpad(value, length) {\n value = String(value);\n while (value.length < length) {\n value = '0' + value;\n }\n return value;\n}\nexport function getPassword(password) {\n if (typeof (password) === 'string') {\n return toUtf8Bytes(password, UnicodeNormalizationForm.NFKC);\n }\n return arrayify(password);\n}\nexport function searchPath(object, path) {\n let currentChild = object;\n const comps = path.toLowerCase().split('/');\n for (let i = 0; i < comps.length; i++) {\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comps[i]) {\n matchingChild = currentChild[key];\n break;\n }\n }\n // Didn't find one. :'(\n if (matchingChild === null) {\n return null;\n }\n // Now check this child...\n currentChild = matchingChild;\n }\n return currentChild;\n}\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\nexport function uuidV4(randomBytes) {\n const bytes = arrayify(randomBytes);\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const value = hexlify(bytes);\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n//# sourceMappingURL=utils.js.map","\"use strict\";\nimport aes from \"aes-js\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { Description } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { getPassword, looseArrayify, searchPath } from \"./utils\";\nexport class CrowdsaleAccount extends Description {\n isCrowdsaleAccount(value) {\n return !!(value && value._isCrowdsaleAccount);\n }\n}\n// See: https://github.com/ethereum/pyethsaletool\nexport function decrypt(json, password) {\n const data = JSON.parse(json);\n password = getPassword(password);\n // Ethereum Address\n const ethaddr = getAddress(searchPath(data, \"ethaddr\"));\n // Encrypted Seed\n const encseed = looseArrayify(searchPath(data, \"encseed\"));\n if (!encseed || (encseed.length % 16) !== 0) {\n logger.throwArgumentError(\"invalid encseed\", \"json\", json);\n }\n const key = arrayify(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n // Decrypt the seed\n const aesCbc = new aes.ModeOfOperation.cbc(key, iv);\n const seed = aes.padding.pkcs7.strip(arrayify(aesCbc.decrypt(encryptedSeed)));\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n const seedHexBytes = toUtf8Bytes(seedHex);\n const privateKey = keccak256(seedHexBytes);\n return new CrowdsaleAccount({\n _isCrowdsaleAccount: true,\n address: ethaddr,\n privateKey: privateKey\n });\n}\n//# sourceMappingURL=crowdsale.js.map","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nexport function isCrowdsaleWallet(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n }\n catch (error) {\n return false;\n }\n return (data.encseed && data.ethaddr);\n}\nexport function isKeystoreWallet(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n }\n catch (error) {\n return false;\n }\n if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) {\n return false;\n }\n // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff\n return true;\n}\n//export function isJsonWallet(json: string): boolean {\n// return (isSecretStorageWallet(json) || isCrowdsaleWallet(json));\n//}\nexport function getJsonWalletAddress(json) {\n if (isCrowdsaleWallet(json)) {\n try {\n return getAddress(JSON.parse(json).ethaddr);\n }\n catch (error) {\n return null;\n }\n }\n if (isKeystoreWallet(json)) {\n try {\n return getAddress(JSON.parse(json).address);\n }\n catch (error) {\n return null;\n }\n }\n return null;\n}\n//# sourceMappingURL=inspect.js.map","\"use strict\";\n\n(function(root) {\n const MAX_VALUE = 0x7fffffff;\n\n // The SHA256 and PBKDF2 implementation are from scrypt-async-js:\n // See: https://github.com/dchest/scrypt-async-js\n function SHA256(m) {\n const K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ]);\n\n let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a;\n let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;\n const w = new Uint32Array(64);\n\n function blocks(p) {\n let off = 0, len = p.length;\n while (len >= 64) {\n let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2;\n\n for (i = 0; i < 16; i++) {\n j = off + i*4;\n w[i] = ((p[j] & 0xff)<<24) | ((p[j+1] & 0xff)<<16) |\n ((p[j+2] & 0xff)<<8) | (p[j+3] & 0xff);\n }\n\n for (i = 16; i < 64; i++) {\n u = w[i-2];\n t1 = ((u>>>17) | (u<<(32-17))) ^ ((u>>>19) | (u<<(32-19))) ^ (u>>>10);\n\n u = w[i-15];\n t2 = ((u>>>7) | (u<<(32-7))) ^ ((u>>>18) | (u<<(32-18))) ^ (u>>>3);\n\n w[i] = (((t1 + w[i-7]) | 0) + ((t2 + w[i-16]) | 0)) | 0;\n }\n\n for (i = 0; i < 64; i++) {\n t1 = ((((((e>>>6) | (e<<(32-6))) ^ ((e>>>11) | (e<<(32-11))) ^\n ((e>>>25) | (e<<(32-25)))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n t2 = ((((a>>>2) | (a<<(32-2))) ^ ((a>>>13) | (a<<(32-13))) ^\n ((a>>>22) | (a<<(32-22)))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n\n h0 = (h0 + a) | 0;\n h1 = (h1 + b) | 0;\n h2 = (h2 + c) | 0;\n h3 = (h3 + d) | 0;\n h4 = (h4 + e) | 0;\n h5 = (h5 + f) | 0;\n h6 = (h6 + g) | 0;\n h7 = (h7 + h) | 0;\n\n off += 64;\n len -= 64;\n }\n }\n\n blocks(m);\n\n let i, bytesLeft = m.length % 64,\n bitLenHi = (m.length / 0x20000000) | 0,\n bitLenLo = m.length << 3,\n numZeros = (bytesLeft < 56) ? 56 : 120,\n p = m.slice(m.length - bytesLeft, m.length);\n\n p.push(0x80);\n for (i = bytesLeft + 1; i < numZeros; i++) { p.push(0); }\n p.push((bitLenHi >>> 24) & 0xff);\n p.push((bitLenHi >>> 16) & 0xff);\n p.push((bitLenHi >>> 8) & 0xff);\n p.push((bitLenHi >>> 0) & 0xff);\n p.push((bitLenLo >>> 24) & 0xff);\n p.push((bitLenLo >>> 16) & 0xff);\n p.push((bitLenLo >>> 8) & 0xff);\n p.push((bitLenLo >>> 0) & 0xff);\n\n blocks(p);\n\n return [\n (h0 >>> 24) & 0xff, (h0 >>> 16) & 0xff, (h0 >>> 8) & 0xff, (h0 >>> 0) & 0xff,\n (h1 >>> 24) & 0xff, (h1 >>> 16) & 0xff, (h1 >>> 8) & 0xff, (h1 >>> 0) & 0xff,\n (h2 >>> 24) & 0xff, (h2 >>> 16) & 0xff, (h2 >>> 8) & 0xff, (h2 >>> 0) & 0xff,\n (h3 >>> 24) & 0xff, (h3 >>> 16) & 0xff, (h3 >>> 8) & 0xff, (h3 >>> 0) & 0xff,\n (h4 >>> 24) & 0xff, (h4 >>> 16) & 0xff, (h4 >>> 8) & 0xff, (h4 >>> 0) & 0xff,\n (h5 >>> 24) & 0xff, (h5 >>> 16) & 0xff, (h5 >>> 8) & 0xff, (h5 >>> 0) & 0xff,\n (h6 >>> 24) & 0xff, (h6 >>> 16) & 0xff, (h6 >>> 8) & 0xff, (h6 >>> 0) & 0xff,\n (h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, (h7 >>> 0) & 0xff\n ];\n }\n\n function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) {\n // compress password if it's longer than hash block length\n password = (password.length <= 64) ? password : SHA256(password);\n\n const innerLen = 64 + salt.length + 4;\n const inner = new Array(innerLen);\n const outerKey = new Array(64);\n\n let i;\n let dk = [];\n\n // inner = (password ^ ipad) || salt || counter\n for (i = 0; i < 64; i++) { inner[i] = 0x36; }\n for (i = 0; i < password.length; i++) { inner[i] ^= password[i]; }\n for (i = 0; i < salt.length; i++) { inner[64 + i] = salt[i]; }\n for (i = innerLen - 4; i < innerLen; i++) { inner[i] = 0; }\n\n // outerKey = password ^ opad\n for (i = 0; i < 64; i++) outerKey[i] = 0x5c;\n for (i = 0; i < password.length; i++) outerKey[i] ^= password[i];\n\n // increments counter inside inner\n function incrementCounter() {\n for (let i = innerLen - 1; i >= innerLen - 4; i--) {\n inner[i]++;\n if (inner[i] <= 0xff) return;\n inner[i] = 0;\n }\n }\n\n // output blocks = SHA256(outerKey || SHA256(inner)) ...\n while (dkLen >= 32) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))));\n dkLen -= 32;\n }\n if (dkLen > 0) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen));\n }\n\n return dk;\n }\n\n // The following is an adaptation of scryptsy\n // See: https://www.npmjs.com/package/scryptsy\n function blockmix_salsa8(BY, Yi, r, x, _X) {\n let i;\n\n arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16);\n for (i = 0; i < 2 * r; i++) {\n blockxor(BY, i * 16, _X, 16);\n salsa20_8(_X, x);\n arraycopy(_X, 0, BY, Yi + (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2) * 16, BY, (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16);\n }\n }\n\n function R(a, b) {\n return (a << b) | (a >>> (32 - b));\n }\n\n function salsa20_8(B, x) {\n arraycopy(B, 0, x, 0, 16);\n\n for (let i = 8; i > 0; i -= 2) {\n x[ 4] ^= R(x[ 0] + x[12], 7);\n x[ 8] ^= R(x[ 4] + x[ 0], 9);\n x[12] ^= R(x[ 8] + x[ 4], 13);\n x[ 0] ^= R(x[12] + x[ 8], 18);\n x[ 9] ^= R(x[ 5] + x[ 1], 7);\n x[13] ^= R(x[ 9] + x[ 5], 9);\n x[ 1] ^= R(x[13] + x[ 9], 13);\n x[ 5] ^= R(x[ 1] + x[13], 18);\n x[14] ^= R(x[10] + x[ 6], 7);\n x[ 2] ^= R(x[14] + x[10], 9);\n x[ 6] ^= R(x[ 2] + x[14], 13);\n x[10] ^= R(x[ 6] + x[ 2], 18);\n x[ 3] ^= R(x[15] + x[11], 7);\n x[ 7] ^= R(x[ 3] + x[15], 9);\n x[11] ^= R(x[ 7] + x[ 3], 13);\n x[15] ^= R(x[11] + x[ 7], 18);\n x[ 1] ^= R(x[ 0] + x[ 3], 7);\n x[ 2] ^= R(x[ 1] + x[ 0], 9);\n x[ 3] ^= R(x[ 2] + x[ 1], 13);\n x[ 0] ^= R(x[ 3] + x[ 2], 18);\n x[ 6] ^= R(x[ 5] + x[ 4], 7);\n x[ 7] ^= R(x[ 6] + x[ 5], 9);\n x[ 4] ^= R(x[ 7] + x[ 6], 13);\n x[ 5] ^= R(x[ 4] + x[ 7], 18);\n x[11] ^= R(x[10] + x[ 9], 7);\n x[ 8] ^= R(x[11] + x[10], 9);\n x[ 9] ^= R(x[ 8] + x[11], 13);\n x[10] ^= R(x[ 9] + x[ 8], 18);\n x[12] ^= R(x[15] + x[14], 7);\n x[13] ^= R(x[12] + x[15], 9);\n x[14] ^= R(x[13] + x[12], 13);\n x[15] ^= R(x[14] + x[13], 18);\n }\n\n for (let i = 0; i < 16; ++i) {\n B[i] += x[i];\n }\n }\n\n // naive approach... going back to loop unrolling may yield additional performance\n function blockxor(S, Si, D, len) {\n for (let i = 0; i < len; i++) {\n D[i] ^= S[Si + i]\n }\n }\n\n function arraycopy(src, srcPos, dest, destPos, length) {\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n }\n\n function checkBufferish(o) {\n if (!o || typeof(o.length) !== 'number') { return false; }\n\n for (let i = 0; i < o.length; i++) {\n const v = o[i];\n if (typeof(v) !== 'number' || v % 1 || v < 0 || v >= 256) {\n return false;\n }\n }\n\n return true;\n }\n\n function ensureInteger(value, name) {\n if (typeof(value) !== \"number\" || (value % 1)) { throw new Error('invalid ' + name); }\n return value;\n }\n\n // N = Cpu cost, r = Memory cost, p = parallelization cost\n // callback(error, progress, key)\n function _scrypt(password, salt, N, r, p, dkLen, callback) {\n\n N = ensureInteger(N, 'N');\n r = ensureInteger(r, 'r');\n p = ensureInteger(p, 'p');\n\n dkLen = ensureInteger(dkLen, 'dkLen');\n\n if (N === 0 || (N & (N - 1)) !== 0) { throw new Error('N must be power of 2'); }\n\n if (N > MAX_VALUE / 128 / r) { throw new Error('N too large'); }\n if (r > MAX_VALUE / 128 / p) { throw new Error('r too large'); }\n\n if (!checkBufferish(password)) {\n throw new Error('password must be an array or buffer');\n }\n password = Array.prototype.slice.call(password);\n\n if (!checkBufferish(salt)) {\n throw new Error('salt must be an array or buffer');\n }\n salt = Array.prototype.slice.call(salt);\n\n let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r);\n const B = new Uint32Array(p * 32 * r)\n for (let i = 0; i < B.length; i++) {\n const j = i * 4;\n B[i] = ((b[j + 3] & 0xff) << 24) |\n ((b[j + 2] & 0xff) << 16) |\n ((b[j + 1] & 0xff) << 8) |\n ((b[j + 0] & 0xff) << 0);\n }\n\n const XY = new Uint32Array(64 * r);\n const V = new Uint32Array(32 * r * N);\n\n const Yi = 32 * r;\n\n // scratch space\n const x = new Uint32Array(16); // salsa20_8\n const _X = new Uint32Array(16); // blockmix_salsa8\n\n const totalOps = p * N * 2;\n let currentOp = 0;\n let lastPercent10 = null;\n\n // Set this to true to abandon the scrypt on the next step\n let stop = false;\n\n // State information\n let state = 0;\n let i0 = 0, i1;\n let Bi;\n\n // How many blockmix_salsa8 can we do per step?\n const limit = callback ? parseInt(1000 / r): 0xffffffff;\n\n // Trick from scrypt-async; if there is a setImmediate shim in place, use it\n const nextTick = (typeof(setImmediate) !== 'undefined') ? setImmediate : setTimeout;\n\n // This is really all I changed; making scryptsy a state machine so we occasionally\n // stop and give other evnts on the evnt loop a chance to run. ~RicMoo\n const incrementalSMix = function() {\n if (stop) {\n return callback(new Error('cancelled'), currentOp / totalOps);\n }\n\n let steps;\n\n switch (state) {\n case 0:\n // for (var i = 0; i < p; i++)...\n Bi = i0 * 32 * r;\n\n arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1\n\n state = 1; // Move to ROMix 2\n i1 = 0;\n\n // Fall through\n\n case 1:\n\n // Run up to 1000 steps of the first inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 2\n arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4\n }\n\n // for (var i = 0; i < N; i++)\n i1 += steps;\n currentOp += steps;\n\n if (callback) {\n // Call the callback with the progress (optionally stopping us)\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n i1 = 0; // Move to ROMix 6\n state = 2;\n\n // Fall through\n\n case 2:\n\n // Run up to 1000 steps of the second inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 6\n const offset = (2 * r - 1) * 16; // ROMix - 7\n const j = XY[offset] & (N - 1);\n blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner)\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer)\n }\n\n // for (var i = 0; i < N; i++)...\n i1 += steps;\n currentOp += steps;\n\n // Call the callback with the progress (optionally stopping us)\n if (callback) {\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10\n\n // for (var i = 0; i < p; i++)...\n i0++;\n if (i0 < p) {\n state = 0;\n break;\n }\n\n b = [];\n for (let i = 0; i < B.length; i++) {\n b.push((B[i] >> 0) & 0xff);\n b.push((B[i] >> 8) & 0xff);\n b.push((B[i] >> 16) & 0xff);\n b.push((B[i] >> 24) & 0xff);\n }\n\n const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen);\n\n // Send the result to the callback\n if (callback) { callback(null, 1.0, derivedKey); }\n\n // Done; don't break (which would reschedule)\n return derivedKey;\n }\n\n // Schedule the next steps\n if (callback) { nextTick(incrementalSMix); }\n }\n\n // Run the smix state machine until completion\n if (!callback) {\n while (true) {\n const derivedKey = incrementalSMix();\n if (derivedKey != undefined) { return derivedKey; }\n }\n }\n\n // Bootstrap the async incremental smix\n incrementalSMix();\n }\n\n const lib = {\n scrypt: function(password, salt, N, r, p, dkLen, progressCallback) {\n return new Promise(function(resolve, reject) {\n let lastProgress = 0;\n if (progressCallback) { progressCallback(0); }\n _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {\n if (error) {\n reject(error);\n } else if (key) {\n if (progressCallback && lastProgress !== 1) {\n progressCallback(1);\n }\n resolve(new Uint8Array(key));\n } else if (progressCallback && progress !== lastProgress) {\n lastProgress = progress;\n return progressCallback(progress);\n }\n });\n });\n },\n syncScrypt: function(password, salt, N, r, p, dkLen) {\n return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen));\n }\n };\n\n // node.js\n if (typeof(exports) !== 'undefined') {\n module.exports = lib;\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(lib);\n\n // Web Browsers\n } else if (root) {\n\n // If there was an existing library \"scrypt\", make sure it is still available\n if (root.scrypt) {\n root._scrypt = root.scrypt;\n }\n\n root.scrypt = lib;\n }\n\n})(this);\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport aes from \"aes-js\";\nimport scrypt from \"scrypt-js\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, concat, hexlify } from \"@ethersproject/bytes\";\nimport { defaultPath, entropyToMnemonic, HDNode, mnemonicToEntropy } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 as _pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { Description } from \"@ethersproject/properties\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { getPassword, looseArrayify, searchPath, uuidV4, zpad } from \"./utils\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n// Exported Types\nfunction hasMnemonic(value) {\n return (value != null && value.mnemonic && value.mnemonic.phrase);\n}\nexport class KeystoreAccount extends Description {\n isKeystoreAccount(value) {\n return !!(value && value._isKeystoreAccount);\n }\n}\nfunction _decrypt(data, key, ciphertext) {\n const cipher = searchPath(data, \"crypto/cipher\");\n if (cipher === \"aes-128-ctr\") {\n const iv = looseArrayify(searchPath(data, \"crypto/cipherparams/iv\"));\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(key, counter);\n return arrayify(aesCtr.decrypt(ciphertext));\n }\n return null;\n}\nfunction _getAccount(data, key) {\n const ciphertext = looseArrayify(searchPath(data, \"crypto/ciphertext\"));\n const computedMAC = hexlify(keccak256(concat([key.slice(16, 32), ciphertext]))).substring(2);\n if (computedMAC !== searchPath(data, \"crypto/mac\").toLowerCase()) {\n throw new Error(\"invalid password\");\n }\n const privateKey = _decrypt(data, key.slice(0, 16), ciphertext);\n if (!privateKey) {\n logger.throwError(\"unsupported cipher\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"decrypt\"\n });\n }\n const mnemonicKey = key.slice(32, 64);\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (check.substring(0, 2) !== \"0x\") {\n check = \"0x\" + check;\n }\n if (getAddress(check) !== address) {\n throw new Error(\"address mismatch\");\n }\n }\n const account = {\n _isKeystoreAccount: true,\n address: address,\n privateKey: hexlify(privateKey)\n };\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n if (searchPath(data, \"x-ethers/version\") === \"0.1\") {\n const mnemonicCiphertext = looseArrayify(searchPath(data, \"x-ethers/mnemonicCiphertext\"));\n const mnemonicIv = looseArrayify(searchPath(data, \"x-ethers/mnemonicCounter\"));\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const path = searchPath(data, \"x-ethers/path\") || defaultPath;\n const locale = searchPath(data, \"x-ethers/locale\") || \"en\";\n const entropy = arrayify(mnemonicAesCtr.decrypt(mnemonicCiphertext));\n try {\n const mnemonic = entropyToMnemonic(entropy, locale);\n const node = HDNode.fromMnemonic(mnemonic, null, locale).derivePath(path);\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n account.mnemonic = node.mnemonic;\n }\n catch (error) {\n // If we don't have the locale wordlist installed to\n // read this mnemonic, just bail and don't set the\n // mnemonic\n if (error.code !== Logger.errors.INVALID_ARGUMENT || error.argument !== \"wordlist\") {\n throw error;\n }\n }\n }\n return new KeystoreAccount(account);\n}\nfunction pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc) {\n return arrayify(_pbkdf2(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction pbkdf2(passwordBytes, salt, count, dkLen, prfFunc) {\n return Promise.resolve(pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction _computeKdfKey(data, password, pbkdf2Func, scryptFunc, progressCallback) {\n const passwordBytes = getPassword(password);\n const kdf = searchPath(data, \"crypto/kdf\");\n if (kdf && typeof (kdf) === \"string\") {\n const throwError = function (name, value) {\n return logger.throwArgumentError(\"invalid key-derivation function parameters\", name, value);\n };\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n const N = parseInt(searchPath(data, \"crypto/kdfparams/n\"));\n const r = parseInt(searchPath(data, \"crypto/kdfparams/r\"));\n const p = parseInt(searchPath(data, \"crypto/kdfparams/p\"));\n // Check for all required parameters\n if (!N || !r || !p) {\n throwError(\"kdf\", kdf);\n }\n // Make sure N is a power of 2\n if ((N & (N - 1)) !== 0) {\n throwError(\"N\", N);\n }\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) {\n throwError(\"dklen\", dkLen);\n }\n return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback);\n }\n else if (kdf.toLowerCase() === \"pbkdf2\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n let prfFunc = null;\n const prf = searchPath(data, \"crypto/kdfparams/prf\");\n if (prf === \"hmac-sha256\") {\n prfFunc = \"sha256\";\n }\n else if (prf === \"hmac-sha512\") {\n prfFunc = \"sha512\";\n }\n else {\n throwError(\"prf\", prf);\n }\n const count = parseInt(searchPath(data, \"crypto/kdfparams/c\"));\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) {\n throwError(\"dklen\", dkLen);\n }\n return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc);\n }\n }\n return logger.throwArgumentError(\"unsupported key-derivation function\", \"kdf\", kdf);\n}\nexport function decryptSync(json, password) {\n const data = JSON.parse(json);\n const key = _computeKdfKey(data, password, pbkdf2Sync, scrypt.syncScrypt);\n return _getAccount(data, key);\n}\nexport function decrypt(json, password, progressCallback) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.parse(json);\n const key = yield _computeKdfKey(data, password, pbkdf2, scrypt.scrypt, progressCallback);\n return _getAccount(data, key);\n });\n}\nexport function encrypt(account, password, options, progressCallback) {\n try {\n // Check the address matches the private key\n if (getAddress(account.address) !== computeAddress(account.privateKey)) {\n throw new Error(\"address/privateKey mismatch\");\n }\n // Check the mnemonic (if any) matches the private key\n if (hasMnemonic(account)) {\n const mnemonic = account.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || defaultPath);\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n }\n }\n catch (e) {\n return Promise.reject(e);\n }\n // The options are optional, so adjust the call as needed\n if (typeof (options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (!options) {\n options = {};\n }\n const privateKey = arrayify(account.privateKey);\n const passwordBytes = getPassword(password);\n let entropy = null;\n let path = null;\n let locale = null;\n if (hasMnemonic(account)) {\n const srcMnemonic = account.mnemonic;\n entropy = arrayify(mnemonicToEntropy(srcMnemonic.phrase, srcMnemonic.locale || \"en\"));\n path = srcMnemonic.path || defaultPath;\n locale = srcMnemonic.locale || \"en\";\n }\n let client = options.client;\n if (!client) {\n client = \"ethers.js\";\n }\n // Check/generate the salt\n let salt = null;\n if (options.salt) {\n salt = arrayify(options.salt);\n }\n else {\n salt = randomBytes(32);\n ;\n }\n // Override initialization vector\n let iv = null;\n if (options.iv) {\n iv = arrayify(options.iv);\n if (iv.length !== 16) {\n throw new Error(\"invalid iv\");\n }\n }\n else {\n iv = randomBytes(16);\n }\n // Override the uuid\n let uuidRandom = null;\n if (options.uuid) {\n uuidRandom = arrayify(options.uuid);\n if (uuidRandom.length !== 16) {\n throw new Error(\"invalid uuid\");\n }\n }\n else {\n uuidRandom = randomBytes(16);\n }\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) {\n N = options.scrypt.N;\n }\n if (options.scrypt.r) {\n r = options.scrypt.r;\n }\n if (options.scrypt.p) {\n p = options.scrypt.p;\n }\n }\n // We take 64 bytes:\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n return scrypt.scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then((key) => {\n key = arrayify(key);\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n // This will be used to encrypt the mnemonic phrase (if any)\n const mnemonicKey = key.slice(32, 64);\n // Encrypt the private key\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(derivedKey, counter);\n const ciphertext = arrayify(aesCtr.encrypt(privateKey));\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]));\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(salt).substring(2),\n n: N,\n dklen: 32,\n p: p,\n r: r\n },\n mac: mac.substring(2)\n }\n };\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (entropy) {\n const mnemonicIv = randomBytes(16);\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const mnemonicCiphertext = arrayify(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\");\n data[\"x-ethers\"] = {\n client: client,\n gethFilename: (\"UTC--\" + timestamp + \"--\" + data.address),\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n path: path,\n locale: locale,\n version: \"0.1\"\n };\n }\n return JSON.stringify(data);\n });\n}\n//# sourceMappingURL=keystore.js.map","\"use strict\";\nimport { decrypt as decryptCrowdsale } from \"./crowdsale\";\nimport { getJsonWalletAddress, isCrowdsaleWallet, isKeystoreWallet } from \"./inspect\";\nimport { decrypt as decryptKeystore, decryptSync as decryptKeystoreSync, encrypt as encryptKeystore } from \"./keystore\";\nfunction decryptJsonWallet(json, password, progressCallback) {\n if (isCrowdsaleWallet(json)) {\n if (progressCallback) {\n progressCallback(0);\n }\n const account = decryptCrowdsale(json, password);\n if (progressCallback) {\n progressCallback(1);\n }\n return Promise.resolve(account);\n }\n if (isKeystoreWallet(json)) {\n return decryptKeystore(json, password, progressCallback);\n }\n return Promise.reject(new Error(\"invalid JSON wallet\"));\n}\nfunction decryptJsonWalletSync(json, password) {\n if (isCrowdsaleWallet(json)) {\n return decryptCrowdsale(json, password);\n }\n if (isKeystoreWallet(json)) {\n return decryptKeystoreSync(json, password);\n }\n throw new Error(\"invalid JSON wallet\");\n}\nexport { decryptCrowdsale, decryptKeystore, decryptKeystoreSync, encryptKeystore, isCrowdsaleWallet, isKeystoreWallet, getJsonWalletAddress, decryptJsonWallet, decryptJsonWalletSync, };\n//# sourceMappingURL=index.js.map","export const version = \"wallet/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getAddress } from \"@ethersproject/address\";\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { Signer } from \"@ethersproject/abstract-signer\";\nimport { arrayify, concat, hexDataSlice, isHexString, joinSignature } from \"@ethersproject/bytes\";\nimport { hashMessage, _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { defaultPath, HDNode, entropyToMnemonic } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { decryptJsonWallet, decryptJsonWalletSync, encryptKeystore } from \"@ethersproject/json-wallets\";\nimport { computeAddress, recoverAddress, serialize } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction isAccount(value) {\n return (value != null && isHexString(value.privateKey, 32) && value.address != null);\n}\nfunction hasMnemonic(value) {\n const mnemonic = value.mnemonic;\n return (mnemonic && mnemonic.phrase);\n}\nexport class Wallet extends Signer {\n constructor(privateKey, provider) {\n super();\n if (isAccount(privateKey)) {\n const signingKey = new SigningKey(privateKey.privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n if (this.address !== getAddress(privateKey.address)) {\n logger.throwArgumentError(\"privateKey/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n if (hasMnemonic(privateKey)) {\n const srcMnemonic = privateKey.mnemonic;\n defineReadOnly(this, \"_mnemonic\", () => ({\n phrase: srcMnemonic.phrase,\n path: srcMnemonic.path || defaultPath,\n locale: srcMnemonic.locale || \"en\"\n }));\n const mnemonic = this.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path);\n if (computeAddress(node.privateKey) !== this.address) {\n logger.throwArgumentError(\"mnemonic/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n }\n else {\n defineReadOnly(this, \"_mnemonic\", () => null);\n }\n }\n else {\n if (SigningKey.isSigningKey(privateKey)) {\n /* istanbul ignore if */\n if (privateKey.curve !== \"secp256k1\") {\n logger.throwArgumentError(\"unsupported curve; must be secp256k1\", \"privateKey\", \"[REDACTED]\");\n }\n defineReadOnly(this, \"_signingKey\", () => privateKey);\n }\n else {\n // A lot of common tools do not prefix private keys with a 0x (see: #1166)\n if (typeof (privateKey) === \"string\") {\n if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) {\n privateKey = \"0x\" + privateKey;\n }\n }\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n }\n defineReadOnly(this, \"_mnemonic\", () => null);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n }\n /* istanbul ignore if */\n if (provider && !Provider.isProvider(provider)) {\n logger.throwArgumentError(\"invalid provider\", \"provider\", provider);\n }\n defineReadOnly(this, \"provider\", provider || null);\n }\n get mnemonic() { return this._mnemonic(); }\n get privateKey() { return this._signingKey().privateKey; }\n get publicKey() { return this._signingKey().publicKey; }\n getAddress() {\n return Promise.resolve(this.address);\n }\n connect(provider) {\n return new Wallet(this, provider);\n }\n signTransaction(transaction) {\n return resolveProperties(transaction).then((tx) => {\n if (tx.from != null) {\n if (getAddress(tx.from) !== this.address) {\n logger.throwArgumentError(\"transaction from address mismatch\", \"transaction.from\", transaction.from);\n }\n delete tx.from;\n }\n const signature = this._signingKey().signDigest(keccak256(serialize(tx)));\n return serialize(tx, signature);\n });\n }\n signMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return joinSignature(this._signingKey().signDigest(hashMessage(message)));\n });\n }\n _signTypedData(domain, types, value) {\n return __awaiter(this, void 0, void 0, function* () {\n // Populate any ENS names\n const populated = yield _TypedDataEncoder.resolveNames(domain, types, value, (name) => {\n if (this.provider == null) {\n logger.throwError(\"cannot resolve ENS names without a provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\",\n value: name\n });\n }\n return this.provider.resolveName(name);\n });\n return joinSignature(this._signingKey().signDigest(_TypedDataEncoder.hash(populated.domain, types, populated.value)));\n });\n }\n encrypt(password, options, progressCallback) {\n if (typeof (options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (progressCallback && typeof (progressCallback) !== \"function\") {\n throw new Error(\"invalid callback\");\n }\n if (!options) {\n options = {};\n }\n return encryptKeystore(this, password, options, progressCallback);\n }\n /**\n * Static methods to create Wallet instances.\n */\n static createRandom(options) {\n let entropy = randomBytes(16);\n if (!options) {\n options = {};\n }\n if (options.extraEntropy) {\n entropy = arrayify(hexDataSlice(keccak256(concat([entropy, options.extraEntropy])), 0, 16));\n }\n const mnemonic = entropyToMnemonic(entropy, options.locale);\n return Wallet.fromMnemonic(mnemonic, options.path, options.locale);\n }\n static fromEncryptedJson(json, password, progressCallback) {\n return decryptJsonWallet(json, password, progressCallback).then((account) => {\n return new Wallet(account);\n });\n }\n static fromEncryptedJsonSync(json, password) {\n return new Wallet(decryptJsonWalletSync(json, password));\n }\n static fromMnemonic(mnemonic, path, wordlist) {\n if (!path) {\n path = defaultPath;\n }\n return new Wallet(HDNode.fromMnemonic(mnemonic, null, wordlist).derivePath(path));\n }\n}\nexport function verifyMessage(message, signature) {\n return recoverAddress(hashMessage(message), signature);\n}\nexport function verifyTypedData(domain, types, value, signature) {\n return recoverAddress(_TypedDataEncoder.hash(domain, types, value), signature);\n}\n//# sourceMappingURL=index.js.map","export const version = \"networks/5.7.1\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\nfunction isRenetworkable(value) {\n return (value && typeof (value.renetwork) === \"function\");\n}\nfunction ethDefaultProvider(network) {\n const func = function (providers, options) {\n if (options == null) {\n options = {};\n }\n const providerList = [];\n if (providers.InfuraProvider && options.infura !== \"-\") {\n try {\n providerList.push(new providers.InfuraProvider(network, options.infura));\n }\n catch (error) { }\n }\n if (providers.EtherscanProvider && options.etherscan !== \"-\") {\n try {\n providerList.push(new providers.EtherscanProvider(network, options.etherscan));\n }\n catch (error) { }\n }\n if (providers.AlchemyProvider && options.alchemy !== \"-\") {\n try {\n providerList.push(new providers.AlchemyProvider(network, options.alchemy));\n }\n catch (error) { }\n }\n if (providers.PocketProvider && options.pocket !== \"-\") {\n // These networks are currently faulty on Pocket as their\n // network does not handle the Berlin hardfork, which is\n // live on these ones.\n // @TODO: This goes away once Pocket has upgraded their nodes\n const skip = [\"goerli\", \"ropsten\", \"rinkeby\", \"sepolia\"];\n try {\n const provider = new providers.PocketProvider(network, options.pocket);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n }\n catch (error) { }\n }\n if (providers.CloudflareProvider && options.cloudflare !== \"-\") {\n try {\n providerList.push(new providers.CloudflareProvider(network));\n }\n catch (error) { }\n }\n if (providers.AnkrProvider && options.ankr !== \"-\") {\n try {\n const skip = [\"ropsten\"];\n const provider = new providers.AnkrProvider(network, options.ankr);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n }\n catch (error) { }\n }\n if (providerList.length === 0) {\n return null;\n }\n if (providers.FallbackProvider) {\n let quorum = 1;\n if (options.quorum != null) {\n quorum = options.quorum;\n }\n else if (network === \"homestead\") {\n quorum = 2;\n }\n return new providers.FallbackProvider(providerList, quorum);\n }\n return providerList[0];\n };\n func.renetwork = function (network) {\n return ethDefaultProvider(network);\n };\n return func;\n}\nfunction etcDefaultProvider(url, network) {\n const func = function (providers, options) {\n if (providers.JsonRpcProvider) {\n return new providers.JsonRpcProvider(url, network);\n }\n return null;\n };\n func.renetwork = function (network) {\n return etcDefaultProvider(url, network);\n };\n return func;\n}\nconst homestead = {\n chainId: 1,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"homestead\",\n _defaultProvider: ethDefaultProvider(\"homestead\")\n};\nconst ropsten = {\n chainId: 3,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"ropsten\",\n _defaultProvider: ethDefaultProvider(\"ropsten\")\n};\nconst classicMordor = {\n chainId: 63,\n name: \"classicMordor\",\n _defaultProvider: etcDefaultProvider(\"https://www.ethercluster.com/mordor\", \"classicMordor\")\n};\n// See: https://chainlist.org\nconst networks = {\n unspecified: { chainId: 0, name: \"unspecified\" },\n homestead: homestead,\n mainnet: homestead,\n morden: { chainId: 2, name: \"morden\" },\n ropsten: ropsten,\n testnet: ropsten,\n rinkeby: {\n chainId: 4,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"rinkeby\",\n _defaultProvider: ethDefaultProvider(\"rinkeby\")\n },\n kovan: {\n chainId: 42,\n name: \"kovan\",\n _defaultProvider: ethDefaultProvider(\"kovan\")\n },\n goerli: {\n chainId: 5,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"goerli\",\n _defaultProvider: ethDefaultProvider(\"goerli\")\n },\n kintsugi: { chainId: 1337702, name: \"kintsugi\" },\n sepolia: {\n chainId: 11155111,\n name: \"sepolia\",\n _defaultProvider: ethDefaultProvider(\"sepolia\")\n },\n // ETC (See: #351)\n classic: {\n chainId: 61,\n name: \"classic\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/etc\", \"classic\")\n },\n classicMorden: { chainId: 62, name: \"classicMorden\" },\n classicMordor: classicMordor,\n classicTestnet: classicMordor,\n classicKotti: {\n chainId: 6,\n name: \"classicKotti\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/kotti\", \"classicKotti\")\n },\n xdai: { chainId: 100, name: \"xdai\" },\n matic: {\n chainId: 137,\n name: \"matic\",\n _defaultProvider: ethDefaultProvider(\"matic\")\n },\n maticmum: { chainId: 80001, name: \"maticmum\" },\n optimism: {\n chainId: 10,\n name: \"optimism\",\n _defaultProvider: ethDefaultProvider(\"optimism\")\n },\n \"optimism-kovan\": { chainId: 69, name: \"optimism-kovan\" },\n \"optimism-goerli\": { chainId: 420, name: \"optimism-goerli\" },\n arbitrum: { chainId: 42161, name: \"arbitrum\" },\n \"arbitrum-rinkeby\": { chainId: 421611, name: \"arbitrum-rinkeby\" },\n \"arbitrum-goerli\": { chainId: 421613, name: \"arbitrum-goerli\" },\n bnb: { chainId: 56, name: \"bnb\" },\n bnbt: { chainId: 97, name: \"bnbt\" },\n};\n/**\n * getNetwork\n *\n * Converts a named common networks or chain ID (network ID) to a Network\n * and verifies a network is a valid Network..\n */\nexport function getNetwork(network) {\n // No network (null)\n if (network == null) {\n return null;\n }\n if (typeof (network) === \"number\") {\n for (const name in networks) {\n const standard = networks[name];\n if (standard.chainId === network) {\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: (standard.ensAddress || null),\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n }\n return {\n chainId: network,\n name: \"unknown\"\n };\n }\n if (typeof (network) === \"string\") {\n const standard = networks[network];\n if (standard == null) {\n return null;\n }\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress,\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n const standard = networks[network.name];\n // Not a standard network; check that it is a valid network in general\n if (!standard) {\n if (typeof (network.chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid network chainId\", \"network\", network);\n }\n return network;\n }\n // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155)\n if (network.chainId !== 0 && network.chainId !== standard.chainId) {\n logger.throwArgumentError(\"network chainId mismatch\", \"network\", network);\n }\n // @TODO: In the next major version add an attach function to a defaultProvider\n // class and move the _defaultProvider internal to this file (extend Network)\n let defaultProvider = network._defaultProvider || null;\n if (defaultProvider == null && standard._defaultProvider) {\n if (isRenetworkable(standard._defaultProvider)) {\n defaultProvider = standard._defaultProvider.renetwork(network);\n }\n else {\n defaultProvider = standard._defaultProvider;\n }\n }\n // Standard Network (allow overriding the ENS address)\n return {\n name: network.name,\n chainId: standard.chainId,\n ensAddress: (network.ensAddress || standard.ensAddress || null),\n _defaultProvider: defaultProvider\n };\n}\n//# sourceMappingURL=index.js.map","export const version = \"web/5.7.1\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function getUrl(href, options) {\n return __awaiter(this, void 0, void 0, function* () {\n if (options == null) {\n options = {};\n }\n const request = {\n method: (options.method || \"GET\"),\n headers: (options.headers || {}),\n body: (options.body || undefined),\n };\n if (options.skipFetchSetup !== true) {\n request.mode = \"cors\"; // no-cors, cors, *same-origin\n request.cache = \"no-cache\"; // *default, no-cache, reload, force-cache, only-if-cached\n request.credentials = \"same-origin\"; // include, *same-origin, omit\n request.redirect = \"follow\"; // manual, *follow, error\n request.referrer = \"client\"; // no-referrer, *client\n }\n ;\n if (options.fetchOptions != null) {\n const opts = options.fetchOptions;\n if (opts.mode) {\n request.mode = (opts.mode);\n }\n if (opts.cache) {\n request.cache = (opts.cache);\n }\n if (opts.credentials) {\n request.credentials = (opts.credentials);\n }\n if (opts.redirect) {\n request.redirect = (opts.redirect);\n }\n if (opts.referrer) {\n request.referrer = opts.referrer;\n }\n }\n const response = yield fetch(href, request);\n const body = yield response.arrayBuffer();\n const headers = {};\n if (response.headers.forEach) {\n response.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n }\n else {\n ((response.headers).keys)().forEach((key) => {\n headers[key.toLowerCase()] = response.headers.get(key);\n });\n }\n return {\n headers: headers,\n statusCode: response.status,\n statusMessage: response.statusText,\n body: arrayify(new Uint8Array(body)),\n };\n });\n}\n//# sourceMappingURL=geturl.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { decode as base64Decode, encode as base64Encode } from \"@ethersproject/base64\";\nimport { hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { getUrl } from \"./geturl\";\nfunction staller(duration) {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\nfunction bodyify(value, type) {\n if (value == null) {\n return null;\n }\n if (typeof (value) === \"string\") {\n return value;\n }\n if (isBytesLike(value)) {\n if (type && (type.split(\"/\")[0] === \"text\" || type.split(\";\")[0].trim() === \"application/json\")) {\n try {\n return toUtf8String(value);\n }\n catch (error) { }\n ;\n }\n return hexlify(value);\n }\n return value;\n}\nfunction unpercent(value) {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\n// This API is still a work in progress; the future changes will likely be:\n// - ConnectionInfo => FetchDataRequest\n// - FetchDataRequest.body? = string | Uint8Array | { contentType: string, data: string | Uint8Array }\n// - If string => text/plain, Uint8Array => application/octet-stream (if content-type unspecified)\n// - FetchDataRequest.processFunc = (body: Uint8Array, response: FetchDataResponse) => T\n// For this reason, it should be considered internal until the API is finalized\nexport function _fetchData(connection, body, processFunc) {\n // How many times to retry in the event of a throttle\n const attemptLimit = (typeof (connection) === \"object\" && connection.throttleLimit != null) ? connection.throttleLimit : 12;\n logger.assertArgument((attemptLimit > 0 && (attemptLimit % 1) === 0), \"invalid connection throttle limit\", \"connection.throttleLimit\", attemptLimit);\n const throttleCallback = ((typeof (connection) === \"object\") ? connection.throttleCallback : null);\n const throttleSlotInterval = ((typeof (connection) === \"object\" && typeof (connection.throttleSlotInterval) === \"number\") ? connection.throttleSlotInterval : 100);\n logger.assertArgument((throttleSlotInterval > 0 && (throttleSlotInterval % 1) === 0), \"invalid connection throttle slot interval\", \"connection.throttleSlotInterval\", throttleSlotInterval);\n const errorPassThrough = ((typeof (connection) === \"object\") ? !!(connection.errorPassThrough) : false);\n const headers = {};\n let url = null;\n // @TODO: Allow ConnectionInfo to override some of these values\n const options = {\n method: \"GET\",\n };\n let allow304 = false;\n let timeout = 2 * 60 * 1000;\n if (typeof (connection) === \"string\") {\n url = connection;\n }\n else if (typeof (connection) === \"object\") {\n if (connection == null || connection.url == null) {\n logger.throwArgumentError(\"missing URL\", \"connection.url\", connection);\n }\n url = connection.url;\n if (typeof (connection.timeout) === \"number\" && connection.timeout > 0) {\n timeout = connection.timeout;\n }\n if (connection.headers) {\n for (const key in connection.headers) {\n headers[key.toLowerCase()] = { key: key, value: String(connection.headers[key]) };\n if ([\"if-none-match\", \"if-modified-since\"].indexOf(key.toLowerCase()) >= 0) {\n allow304 = true;\n }\n }\n }\n options.allowGzip = !!connection.allowGzip;\n if (connection.user != null && connection.password != null) {\n if (url.substring(0, 6) !== \"https:\" && connection.allowInsecureAuthentication !== true) {\n logger.throwError(\"basic authentication requires a secure https url\", Logger.errors.INVALID_ARGUMENT, { argument: \"url\", url: url, user: connection.user, password: \"[REDACTED]\" });\n }\n const authorization = connection.user + \":\" + connection.password;\n headers[\"authorization\"] = {\n key: \"Authorization\",\n value: \"Basic \" + base64Encode(toUtf8Bytes(authorization))\n };\n }\n if (connection.skipFetchSetup != null) {\n options.skipFetchSetup = !!connection.skipFetchSetup;\n }\n if (connection.fetchOptions != null) {\n options.fetchOptions = shallowCopy(connection.fetchOptions);\n }\n }\n const reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\n const dataMatch = ((url) ? url.match(reData) : null);\n if (dataMatch) {\n try {\n const response = {\n statusCode: 200,\n statusMessage: \"OK\",\n headers: { \"content-type\": (dataMatch[1] || \"text/plain\") },\n body: (dataMatch[2] ? base64Decode(dataMatch[3]) : unpercent(dataMatch[3]))\n };\n let result = response.body;\n if (processFunc) {\n result = processFunc(response.body, response);\n }\n return Promise.resolve(result);\n }\n catch (error) {\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(dataMatch[1], dataMatch[2]),\n error: error,\n requestBody: null,\n requestMethod: \"GET\",\n url: url\n });\n }\n }\n if (body) {\n options.method = \"POST\";\n options.body = body;\n if (headers[\"content-type\"] == null) {\n headers[\"content-type\"] = { key: \"Content-Type\", value: \"application/octet-stream\" };\n }\n if (headers[\"content-length\"] == null) {\n headers[\"content-length\"] = { key: \"Content-Length\", value: String(body.length) };\n }\n }\n const flatHeaders = {};\n Object.keys(headers).forEach((key) => {\n const header = headers[key];\n flatHeaders[header.key] = header.value;\n });\n options.headers = flatHeaders;\n const runningTimeout = (function () {\n let timer = null;\n const promise = new Promise(function (resolve, reject) {\n if (timeout) {\n timer = setTimeout(() => {\n if (timer == null) {\n return;\n }\n timer = null;\n reject(logger.makeError(\"timeout\", Logger.errors.TIMEOUT, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n timeout: timeout,\n url: url\n }));\n }, timeout);\n }\n });\n const cancel = function () {\n if (timer == null) {\n return;\n }\n clearTimeout(timer);\n timer = null;\n };\n return { promise, cancel };\n })();\n const runningFetch = (function () {\n return __awaiter(this, void 0, void 0, function* () {\n for (let attempt = 0; attempt < attemptLimit; attempt++) {\n let response = null;\n try {\n response = yield getUrl(url, options);\n if (attempt < attemptLimit) {\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirection; for now we only support absolute locataions\n const location = response.headers.location || \"\";\n if (options.method === \"GET\" && location.match(/^https:/)) {\n url = response.headers.location;\n continue;\n }\n }\n else if (response.statusCode === 429) {\n // Exponential back-off throttling\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = yield throttleCallback(attempt, url);\n }\n if (tryAgain) {\n let stall = 0;\n const retryAfter = response.headers[\"retry-after\"];\n if (typeof (retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n stall = parseInt(retryAfter) * 1000;\n }\n else {\n stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n }\n //console.log(\"Stalling 429\");\n yield staller(stall);\n continue;\n }\n }\n }\n }\n catch (error) {\n response = error.response;\n if (response == null) {\n runningTimeout.cancel();\n logger.throwError(\"missing response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n serverError: error,\n url: url\n });\n }\n }\n let body = response.body;\n if (allow304 && response.statusCode === 304) {\n body = null;\n }\n else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) {\n runningTimeout.cancel();\n logger.throwError(\"bad response\", Logger.errors.SERVER_ERROR, {\n status: response.statusCode,\n headers: response.headers,\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"] : null)),\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n if (processFunc) {\n try {\n const result = yield processFunc(body, response);\n runningTimeout.cancel();\n return result;\n }\n catch (error) {\n // Allow the processFunc to trigger a throttle\n if (error.throttleRetry && attempt < attemptLimit) {\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = yield throttleCallback(attempt, url);\n }\n if (tryAgain) {\n const timeout = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling callback\");\n yield staller(timeout);\n continue;\n }\n }\n runningTimeout.cancel();\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"] : null)),\n error: error,\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n }\n runningTimeout.cancel();\n // If we had a processFunc, it either returned a T or threw above.\n // The \"body\" is now a Uint8Array.\n return body;\n }\n return logger.throwError(\"failed response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n });\n })();\n return Promise.race([runningTimeout.promise, runningFetch]);\n}\nexport function fetchJson(connection, json, processFunc) {\n let processJsonFunc = (value, response) => {\n let result = null;\n if (value != null) {\n try {\n result = JSON.parse(toUtf8String(value));\n }\n catch (error) {\n logger.throwError(\"invalid JSON\", Logger.errors.SERVER_ERROR, {\n body: value,\n error: error\n });\n }\n }\n if (processFunc) {\n result = processFunc(result, response);\n }\n return result;\n };\n // If we have json to send, we must\n // - add content-type of application/json (unless already overridden)\n // - convert the json to bytes\n let body = null;\n if (json != null) {\n body = toUtf8Bytes(json);\n // Create a connection with the content-type set for JSON\n const updated = (typeof (connection) === \"string\") ? ({ url: connection }) : shallowCopy(connection);\n if (updated.headers) {\n const hasContentType = (Object.keys(updated.headers).filter((k) => (k.toLowerCase() === \"content-type\")).length) !== 0;\n if (!hasContentType) {\n updated.headers = shallowCopy(updated.headers);\n updated.headers[\"content-type\"] = \"application/json\";\n }\n }\n else {\n updated.headers = { \"content-type\": \"application/json\" };\n }\n connection = updated;\n }\n return _fetchData(connection, body, processJsonFunc);\n}\nexport function poll(func, options) {\n if (!options) {\n options = {};\n }\n options = shallowCopy(options);\n if (options.floor == null) {\n options.floor = 0;\n }\n if (options.ceiling == null) {\n options.ceiling = 10000;\n }\n if (options.interval == null) {\n options.interval = 250;\n }\n return new Promise(function (resolve, reject) {\n let timer = null;\n let done = false;\n // Returns true if cancel was successful. Unsuccessful cancel means we're already done.\n const cancel = () => {\n if (done) {\n return false;\n }\n done = true;\n if (timer) {\n clearTimeout(timer);\n }\n return true;\n };\n if (options.timeout) {\n timer = setTimeout(() => {\n if (cancel()) {\n reject(new Error(\"timeout\"));\n }\n }, options.timeout);\n }\n const retryLimit = options.retryLimit;\n let attempt = 0;\n function check() {\n return func().then(function (result) {\n // If we have a result, or are allowed null then we're done\n if (result !== undefined) {\n if (cancel()) {\n resolve(result);\n }\n }\n else if (options.oncePoll) {\n options.oncePoll.once(\"poll\", check);\n }\n else if (options.onceBlock) {\n options.onceBlock.once(\"block\", check);\n // Otherwise, exponential back-off (up to 10s) our next request\n }\n else if (!done) {\n attempt++;\n if (attempt > retryLimit) {\n if (cancel()) {\n reject(new Error(\"retry limit reached\"));\n }\n return;\n }\n let timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n if (timeout < options.floor) {\n timeout = options.floor;\n }\n if (timeout > options.ceiling) {\n timeout = options.ceiling;\n }\n setTimeout(check, timeout);\n }\n return null;\n }, function (error) {\n if (cancel()) {\n reject(error);\n }\n });\n }\n check();\n });\n}\n//# sourceMappingURL=index.js.map","'use strict'\nvar ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'\n\n// pre-compute lookup table\nvar ALPHABET_MAP = {}\nfor (var z = 0; z < ALPHABET.length; z++) {\n var x = ALPHABET.charAt(z)\n\n if (ALPHABET_MAP[x] !== undefined) throw new TypeError(x + ' is ambiguous')\n ALPHABET_MAP[x] = z\n}\n\nfunction polymodStep (pre) {\n var b = pre >> 25\n return ((pre & 0x1FFFFFF) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3)\n}\n\nfunction prefixChk (prefix) {\n var chk = 1\n for (var i = 0; i < prefix.length; ++i) {\n var c = prefix.charCodeAt(i)\n if (c < 33 || c > 126) return 'Invalid prefix (' + prefix + ')'\n\n chk = polymodStep(chk) ^ (c >> 5)\n }\n chk = polymodStep(chk)\n\n for (i = 0; i < prefix.length; ++i) {\n var v = prefix.charCodeAt(i)\n chk = polymodStep(chk) ^ (v & 0x1f)\n }\n return chk\n}\n\nfunction encode (prefix, words, LIMIT) {\n LIMIT = LIMIT || 90\n if ((prefix.length + 7 + words.length) > LIMIT) throw new TypeError('Exceeds length limit')\n\n prefix = prefix.toLowerCase()\n\n // determine chk mod\n var chk = prefixChk(prefix)\n if (typeof chk === 'string') throw new Error(chk)\n\n var result = prefix + '1'\n for (var i = 0; i < words.length; ++i) {\n var x = words[i]\n if ((x >> 5) !== 0) throw new Error('Non 5-bit word')\n\n chk = polymodStep(chk) ^ x\n result += ALPHABET.charAt(x)\n }\n\n for (i = 0; i < 6; ++i) {\n chk = polymodStep(chk)\n }\n chk ^= 1\n\n for (i = 0; i < 6; ++i) {\n var v = (chk >> ((5 - i) * 5)) & 0x1f\n result += ALPHABET.charAt(v)\n }\n\n return result\n}\n\nfunction __decode (str, LIMIT) {\n LIMIT = LIMIT || 90\n if (str.length < 8) return str + ' too short'\n if (str.length > LIMIT) return 'Exceeds length limit'\n\n // don't allow mixed case\n var lowered = str.toLowerCase()\n var uppered = str.toUpperCase()\n if (str !== lowered && str !== uppered) return 'Mixed-case string ' + str\n str = lowered\n\n var split = str.lastIndexOf('1')\n if (split === -1) return 'No separator character for ' + str\n if (split === 0) return 'Missing prefix for ' + str\n\n var prefix = str.slice(0, split)\n var wordChars = str.slice(split + 1)\n if (wordChars.length < 6) return 'Data too short'\n\n var chk = prefixChk(prefix)\n if (typeof chk === 'string') return chk\n\n var words = []\n for (var i = 0; i < wordChars.length; ++i) {\n var c = wordChars.charAt(i)\n var v = ALPHABET_MAP[c]\n if (v === undefined) return 'Unknown character ' + c\n chk = polymodStep(chk) ^ v\n\n // not in the checksum?\n if (i + 6 >= wordChars.length) continue\n words.push(v)\n }\n\n if (chk !== 1) return 'Invalid checksum for ' + str\n return { prefix: prefix, words: words }\n}\n\nfunction decodeUnsafe () {\n var res = __decode.apply(null, arguments)\n if (typeof res === 'object') return res\n}\n\nfunction decode (str) {\n var res = __decode.apply(null, arguments)\n if (typeof res === 'object') return res\n\n throw new Error(res)\n}\n\nfunction convert (data, inBits, outBits, pad) {\n var value = 0\n var bits = 0\n var maxV = (1 << outBits) - 1\n\n var result = []\n for (var i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i]\n bits += inBits\n\n while (bits >= outBits) {\n bits -= outBits\n result.push((value >> bits) & maxV)\n }\n }\n\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV)\n }\n } else {\n if (bits >= inBits) return 'Excess padding'\n if ((value << (outBits - bits)) & maxV) return 'Non-zero padding'\n }\n\n return result\n}\n\nfunction toWordsUnsafe (bytes) {\n var res = convert(bytes, 8, 5, true)\n if (Array.isArray(res)) return res\n}\n\nfunction toWords (bytes) {\n var res = convert(bytes, 8, 5, true)\n if (Array.isArray(res)) return res\n\n throw new Error(res)\n}\n\nfunction fromWordsUnsafe (words) {\n var res = convert(words, 5, 8, false)\n if (Array.isArray(res)) return res\n}\n\nfunction fromWords (words) {\n var res = convert(words, 5, 8, false)\n if (Array.isArray(res)) return res\n\n throw new Error(res)\n}\n\nmodule.exports = {\n decodeUnsafe: decodeUnsafe,\n decode: decode,\n encode: encode,\n toWordsUnsafe: toWordsUnsafe,\n toWords: toWords,\n fromWordsUnsafe: fromWordsUnsafe,\n fromWords: fromWords\n}\n","export const version = \"providers/5.7.2\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexDataLength, hexDataSlice, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { AddressZero } from \"@ethersproject/constants\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { accessListify, parse as parseTransaction } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport class Formatter {\n constructor() {\n this.formats = this.getDefaultFormats();\n }\n getDefaultFormats() {\n const formats = ({});\n const address = this.address.bind(this);\n const bigNumber = this.bigNumber.bind(this);\n const blockTag = this.blockTag.bind(this);\n const data = this.data.bind(this);\n const hash = this.hash.bind(this);\n const hex = this.hex.bind(this);\n const number = this.number.bind(this);\n const type = this.type.bind(this);\n const strictData = (v) => { return this.data(v, true); };\n formats.transaction = {\n hash: hash,\n type: type,\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n blockHash: Formatter.allowNull(hash, null),\n blockNumber: Formatter.allowNull(number, null),\n transactionIndex: Formatter.allowNull(number, null),\n confirmations: Formatter.allowNull(number, null),\n from: address,\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)\n // must be set\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n gasLimit: bigNumber,\n to: Formatter.allowNull(address, null),\n value: bigNumber,\n nonce: number,\n data: data,\n r: Formatter.allowNull(this.uint256),\n s: Formatter.allowNull(this.uint256),\n v: Formatter.allowNull(number),\n creates: Formatter.allowNull(address, null),\n raw: Formatter.allowNull(data),\n };\n formats.transactionRequest = {\n from: Formatter.allowNull(address),\n nonce: Formatter.allowNull(number),\n gasLimit: Formatter.allowNull(bigNumber),\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n to: Formatter.allowNull(address),\n value: Formatter.allowNull(bigNumber),\n data: Formatter.allowNull(strictData),\n type: Formatter.allowNull(number),\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n };\n formats.receiptLog = {\n transactionIndex: number,\n blockNumber: number,\n transactionHash: hash,\n address: address,\n topics: Formatter.arrayOf(hash),\n data: data,\n logIndex: number,\n blockHash: hash,\n };\n formats.receipt = {\n to: Formatter.allowNull(this.address, null),\n from: Formatter.allowNull(this.address, null),\n contractAddress: Formatter.allowNull(address, null),\n transactionIndex: number,\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n root: Formatter.allowNull(hex),\n gasUsed: bigNumber,\n logsBloom: Formatter.allowNull(data),\n blockHash: hash,\n transactionHash: hash,\n logs: Formatter.arrayOf(this.receiptLog.bind(this)),\n blockNumber: number,\n confirmations: Formatter.allowNull(number, null),\n cumulativeGasUsed: bigNumber,\n effectiveGasPrice: Formatter.allowNull(bigNumber),\n status: Formatter.allowNull(number),\n type: type\n };\n formats.block = {\n hash: Formatter.allowNull(hash),\n parentHash: hash,\n number: number,\n timestamp: number,\n nonce: Formatter.allowNull(hex),\n difficulty: this.difficulty.bind(this),\n gasLimit: bigNumber,\n gasUsed: bigNumber,\n miner: Formatter.allowNull(address),\n extraData: data,\n transactions: Formatter.allowNull(Formatter.arrayOf(hash)),\n baseFeePerGas: Formatter.allowNull(bigNumber)\n };\n formats.blockWithTransactions = shallowCopy(formats.block);\n formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));\n formats.filter = {\n fromBlock: Formatter.allowNull(blockTag, undefined),\n toBlock: Formatter.allowNull(blockTag, undefined),\n blockHash: Formatter.allowNull(hash, undefined),\n address: Formatter.allowNull(address, undefined),\n topics: Formatter.allowNull(this.topics.bind(this), undefined),\n };\n formats.filterLog = {\n blockNumber: Formatter.allowNull(number),\n blockHash: Formatter.allowNull(hash),\n transactionIndex: number,\n removed: Formatter.allowNull(this.boolean.bind(this)),\n address: address,\n data: Formatter.allowFalsish(data, \"0x\"),\n topics: Formatter.arrayOf(hash),\n transactionHash: hash,\n logIndex: number,\n };\n return formats;\n }\n accessList(accessList) {\n return accessListify(accessList || []);\n }\n // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number\n // Strict! Used on input.\n number(number) {\n if (number === \"0x\") {\n return 0;\n }\n return BigNumber.from(number).toNumber();\n }\n type(number) {\n if (number === \"0x\" || number == null) {\n return 0;\n }\n return BigNumber.from(number).toNumber();\n }\n // Strict! Used on input.\n bigNumber(value) {\n return BigNumber.from(value);\n }\n // Requires a boolean, \"true\" or \"false\"; returns a boolean\n boolean(value) {\n if (typeof (value) === \"boolean\") {\n return value;\n }\n if (typeof (value) === \"string\") {\n value = value.toLowerCase();\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n }\n throw new Error(\"invalid boolean - \" + value);\n }\n hex(value, strict) {\n if (typeof (value) === \"string\") {\n if (!strict && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexString(value)) {\n return value.toLowerCase();\n }\n }\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n data(value, strict) {\n const result = this.hex(value, strict);\n if ((result.length % 2) !== 0) {\n throw new Error(\"invalid data; odd-length - \" + value);\n }\n return result;\n }\n // Requires an address\n // Strict! Used on input.\n address(value) {\n return getAddress(value);\n }\n callAddress(value) {\n if (!isHexString(value, 32)) {\n return null;\n }\n const address = getAddress(hexDataSlice(value, 12));\n return (address === AddressZero) ? null : address;\n }\n contractAddress(value) {\n return getContractAddress(value);\n }\n // Strict! Used on input.\n blockTag(blockTag) {\n if (blockTag == null) {\n return \"latest\";\n }\n if (blockTag === \"earliest\") {\n return \"0x0\";\n }\n switch (blockTag) {\n case \"earliest\": return \"0x0\";\n case \"latest\":\n case \"pending\":\n case \"safe\":\n case \"finalized\":\n return blockTag;\n }\n if (typeof (blockTag) === \"number\" || isHexString(blockTag)) {\n return hexValue(blockTag);\n }\n throw new Error(\"invalid blockTag\");\n }\n // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.\n hash(value, strict) {\n const result = this.hex(value, strict);\n if (hexDataLength(result) !== 32) {\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n return result;\n }\n // Returns the difficulty as a number, or if too large (i.e. PoA network) null\n difficulty(value) {\n if (value == null) {\n return null;\n }\n const v = BigNumber.from(value);\n try {\n return v.toNumber();\n }\n catch (error) { }\n return null;\n }\n uint256(value) {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return hexZeroPad(value, 32);\n }\n _block(value, format) {\n if (value.author != null && value.miner == null) {\n value.miner = value.author;\n }\n // The difficulty may need to come from _difficulty in recursed blocks\n const difficulty = (value._difficulty != null) ? value._difficulty : value.difficulty;\n const result = Formatter.check(format, value);\n result._difficulty = ((difficulty == null) ? null : BigNumber.from(difficulty));\n return result;\n }\n block(value) {\n return this._block(value, this.formats.block);\n }\n blockWithTransactions(value) {\n return this._block(value, this.formats.blockWithTransactions);\n }\n // Strict! Used on input.\n transactionRequest(value) {\n return Formatter.check(this.formats.transactionRequest, value);\n }\n transactionResponse(transaction) {\n // Rename gas to gasLimit\n if (transaction.gas != null && transaction.gasLimit == null) {\n transaction.gasLimit = transaction.gas;\n }\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (transaction.to && BigNumber.from(transaction.to).isZero()) {\n transaction.to = \"0x0000000000000000000000000000000000000000\";\n }\n // Rename input to data\n if (transaction.input != null && transaction.data == null) {\n transaction.data = transaction.input;\n }\n // If to and creates are empty, populate the creates from the transaction\n if (transaction.to == null && transaction.creates == null) {\n transaction.creates = this.contractAddress(transaction);\n }\n if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) {\n transaction.accessList = [];\n }\n const result = Formatter.check(this.formats.transaction, transaction);\n if (transaction.chainId != null) {\n let chainId = transaction.chainId;\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n result.chainId = chainId;\n }\n else {\n let chainId = transaction.networkId;\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = transaction.chainId;\n }\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n if (typeof (chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) {\n chainId = 0;\n }\n chainId = parseInt(chainId);\n }\n if (typeof (chainId) !== \"number\") {\n chainId = 0;\n }\n result.chainId = chainId;\n }\n // 0x0000... should actually be null\n if (result.blockHash && result.blockHash.replace(/0/g, \"\") === \"x\") {\n result.blockHash = null;\n }\n return result;\n }\n transaction(value) {\n return parseTransaction(value);\n }\n receiptLog(value) {\n return Formatter.check(this.formats.receiptLog, value);\n }\n receipt(value) {\n const result = Formatter.check(this.formats.receipt, value);\n // RSK incorrectly implemented EIP-658, so we munge things a bit here for it\n if (result.root != null) {\n if (result.root.length <= 4) {\n // Could be 0x00, 0x0, 0x01 or 0x1\n const value = BigNumber.from(result.root).toNumber();\n if (value === 0 || value === 1) {\n // Make sure if both are specified, they match\n if (result.status != null && (result.status !== value)) {\n logger.throwArgumentError(\"alt-root-status/status mismatch\", \"value\", { root: result.root, status: result.status });\n }\n result.status = value;\n delete result.root;\n }\n else {\n logger.throwArgumentError(\"invalid alt-root-status\", \"value.root\", result.root);\n }\n }\n else if (result.root.length !== 66) {\n // Must be a valid bytes32\n logger.throwArgumentError(\"invalid root hash\", \"value.root\", result.root);\n }\n }\n if (result.status != null) {\n result.byzantium = true;\n }\n return result;\n }\n topics(value) {\n if (Array.isArray(value)) {\n return value.map((v) => this.topics(v));\n }\n else if (value != null) {\n return this.hash(value, true);\n }\n return null;\n }\n filter(value) {\n return Formatter.check(this.formats.filter, value);\n }\n filterLog(value) {\n return Formatter.check(this.formats.filterLog, value);\n }\n static check(format, object) {\n const result = {};\n for (const key in format) {\n try {\n const value = format[key](object[key]);\n if (value !== undefined) {\n result[key] = value;\n }\n }\n catch (error) {\n error.checkKey = key;\n error.checkValue = object[key];\n throw error;\n }\n }\n return result;\n }\n // if value is null-ish, nullValue is returned\n static allowNull(format, nullValue) {\n return (function (value) {\n if (value == null) {\n return nullValue;\n }\n return format(value);\n });\n }\n // If value is false-ish, replaceValue is returned\n static allowFalsish(format, replaceValue) {\n return (function (value) {\n if (!value) {\n return replaceValue;\n }\n return format(value);\n });\n }\n // Requires an Array satisfying check\n static arrayOf(format) {\n return (function (array) {\n if (!Array.isArray(array)) {\n throw new Error(\"not an array\");\n }\n const result = [];\n array.forEach(function (value) {\n result.push(format(value));\n });\n return result;\n });\n }\n}\nexport function isCommunityResourcable(value) {\n return (value && typeof (value.isCommunityResource) === \"function\");\n}\nexport function isCommunityResource(value) {\n return (isCommunityResourcable(value) && value.isCommunityResource());\n}\n// Show the throttle message only once\nlet throttleMessage = false;\nexport function showThrottleMessage() {\n if (throttleMessage) {\n return;\n }\n throttleMessage = true;\n console.log(\"========= NOTICE =========\");\n console.log(\"Request-Rate Exceeded (this message will not be repeated)\");\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.io/api-keys/\");\n console.log(\"==========================\");\n}\n//# sourceMappingURL=formatter.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ForkEvent, Provider } from \"@ethersproject/abstract-provider\";\nimport { encode as base64Encode } from \"@ethersproject/base64\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexConcat, hexDataLength, hexDataSlice, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { dnsEncode, namehash } from \"@ethersproject/hash\";\nimport { getNetwork } from \"@ethersproject/networks\";\nimport { defineReadOnly, getStatic, resolveProperties } from \"@ethersproject/properties\";\nimport { sha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\nimport bech32 from \"bech32\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { Formatter } from \"./formatter\";\nconst MAX_CCIP_REDIRECTS = 10;\n//////////////////////////////\n// Event Serializeing\nfunction checkTopic(topic) {\n if (topic == null) {\n return \"null\";\n }\n if (hexDataLength(topic) !== 32) {\n logger.throwArgumentError(\"invalid topic\", \"topic\", topic);\n }\n return topic.toLowerCase();\n}\nfunction serializeTopics(topics) {\n // Remove trailing null AND-topics; they are redundant\n topics = topics.slice();\n while (topics.length > 0 && topics[topics.length - 1] == null) {\n topics.pop();\n }\n return topics.map((topic) => {\n if (Array.isArray(topic)) {\n // Only track unique OR-topics\n const unique = {};\n topic.forEach((topic) => {\n unique[checkTopic(topic)] = true;\n });\n // The order of OR-topics does not matter\n const sorted = Object.keys(unique);\n sorted.sort();\n return sorted.join(\"|\");\n }\n else {\n return checkTopic(topic);\n }\n }).join(\"&\");\n}\nfunction deserializeTopics(data) {\n if (data === \"\") {\n return [];\n }\n return data.split(/&/g).map((topic) => {\n if (topic === \"\") {\n return [];\n }\n const comps = topic.split(\"|\").map((topic) => {\n return ((topic === \"null\") ? null : topic);\n });\n return ((comps.length === 1) ? comps[0] : comps);\n });\n}\nfunction getEventTag(eventName) {\n if (typeof (eventName) === \"string\") {\n eventName = eventName.toLowerCase();\n if (hexDataLength(eventName) === 32) {\n return \"tx:\" + eventName;\n }\n if (eventName.indexOf(\":\") === -1) {\n return eventName;\n }\n }\n else if (Array.isArray(eventName)) {\n return \"filter:*:\" + serializeTopics(eventName);\n }\n else if (ForkEvent.isForkEvent(eventName)) {\n logger.warn(\"not implemented\");\n throw new Error(\"not implemented\");\n }\n else if (eventName && typeof (eventName) === \"object\") {\n return \"filter:\" + (eventName.address || \"*\") + \":\" + serializeTopics(eventName.topics || []);\n }\n throw new Error(\"invalid event - \" + eventName);\n}\n//////////////////////////////\n// Helper Object\nfunction getTime() {\n return (new Date()).getTime();\n}\nfunction stall(duration) {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n//////////////////////////////\n// Provider Object\n/**\n * EventType\n * - \"block\"\n * - \"poll\"\n * - \"didPoll\"\n * - \"pending\"\n * - \"error\"\n * - \"network\"\n * - filter\n * - topics array\n * - transaction hash\n */\nconst PollableEvents = [\"block\", \"network\", \"pending\", \"poll\"];\nexport class Event {\n constructor(tag, listener, once) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"listener\", listener);\n defineReadOnly(this, \"once\", once);\n this._lastBlockNumber = -2;\n this._inflight = false;\n }\n get event() {\n switch (this.type) {\n case \"tx\":\n return this.hash;\n case \"filter\":\n return this.filter;\n }\n return this.tag;\n }\n get type() {\n return this.tag.split(\":\")[0];\n }\n get hash() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"tx\") {\n return null;\n }\n return comps[1];\n }\n get filter() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"filter\") {\n return null;\n }\n const address = comps[1];\n const topics = deserializeTopics(comps[2]);\n const filter = {};\n if (topics.length > 0) {\n filter.topics = topics;\n }\n if (address && address !== \"*\") {\n filter.address = address;\n }\n return filter;\n }\n pollable() {\n return (this.tag.indexOf(\":\") >= 0 || PollableEvents.indexOf(this.tag) >= 0);\n }\n}\n;\n// https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nconst coinInfos = {\n \"0\": { symbol: \"btc\", p2pkh: 0x00, p2sh: 0x05, prefix: \"bc\" },\n \"2\": { symbol: \"ltc\", p2pkh: 0x30, p2sh: 0x32, prefix: \"ltc\" },\n \"3\": { symbol: \"doge\", p2pkh: 0x1e, p2sh: 0x16 },\n \"60\": { symbol: \"eth\", ilk: \"eth\" },\n \"61\": { symbol: \"etc\", ilk: \"eth\" },\n \"700\": { symbol: \"xdai\", ilk: \"eth\" },\n};\nfunction bytes32ify(value) {\n return hexZeroPad(BigNumber.from(value).toHexString(), 32);\n}\n// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d)\nfunction base58Encode(data) {\n return Base58.encode(concat([data, hexDataSlice(sha256(sha256(data)), 0, 4)]));\n}\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\nfunction _parseString(result, start) {\n try {\n return toUtf8String(_parseBytes(result, start));\n }\n catch (error) { }\n return null;\n}\nfunction _parseBytes(result, start) {\n if (result === \"0x\") {\n return null;\n }\n const offset = BigNumber.from(hexDataSlice(result, start, start + 32)).toNumber();\n const length = BigNumber.from(hexDataSlice(result, offset, offset + 32)).toNumber();\n return hexDataSlice(result, offset + 32, offset + 32 + length);\n}\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link) {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n }\n else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n }\n else {\n logger.throwArgumentError(\"unsupported IPFS format\", \"link\", link);\n }\n return `https:/\\/gateway.ipfs.io/ipfs/${link}`;\n}\nfunction numPad(value) {\n const result = arrayify(value);\n if (result.length > 32) {\n throw new Error(\"internal; should not happen\");\n }\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\nfunction bytesPad(value) {\n if ((value.length % 32) === 0) {\n return value;\n }\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas) {\n const result = [];\n let byteCount = 0;\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(null);\n byteCount += 32;\n }\n for (let i = 0; i < datas.length; i++) {\n const data = arrayify(datas[i]);\n // Update the bytes offset\n result[i] = numPad(byteCount);\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n return hexConcat(result);\n}\nexport class Resolver {\n // The resolvedAddress is only for creating a ReverseLookup resolver\n constructor(provider, address, name, resolvedAddress) {\n defineReadOnly(this, \"provider\", provider);\n defineReadOnly(this, \"name\", name);\n defineReadOnly(this, \"address\", provider.formatter.address(address));\n defineReadOnly(this, \"_resolvedAddress\", resolvedAddress);\n }\n supportsWildcard() {\n if (!this._supportsEip2544) {\n // supportsInterface(bytes4 = selector(\"resolve(bytes,bytes)\"))\n this._supportsEip2544 = this.provider.call({\n to: this.address,\n data: \"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"\n }).then((result) => {\n return BigNumber.from(result).eq(1);\n }).catch((error) => {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return false;\n }\n // Rethrow the error: link is down, etc. Let future attempts retry.\n this._supportsEip2544 = null;\n throw error;\n });\n }\n return this._supportsEip2544;\n }\n _fetch(selector, parameters) {\n return __awaiter(this, void 0, void 0, function* () {\n // e.g. keccak256(\"addr(bytes32,uint256)\")\n const tx = {\n to: this.address,\n ccipReadEnabled: true,\n data: hexConcat([selector, namehash(this.name), (parameters || \"0x\")])\n };\n // Wildcard support; use EIP-2544 to resolve the request\n let parseBytes = false;\n if (yield this.supportsWildcard()) {\n parseBytes = true;\n // selector(\"resolve(bytes,bytes)\")\n tx.data = hexConcat([\"0x9061b923\", encodeBytes([dnsEncode(this.name), tx.data])]);\n }\n try {\n let result = yield this.provider.call(tx);\n if ((arrayify(result).length % 32) === 4) {\n logger.throwError(\"resolver threw error\", Logger.errors.CALL_EXCEPTION, {\n transaction: tx, data: result\n });\n }\n if (parseBytes) {\n result = _parseBytes(result, 0);\n }\n return result;\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return null;\n }\n throw error;\n }\n });\n }\n _fetchBytes(selector, parameters) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this._fetch(selector, parameters);\n if (result != null) {\n return _parseBytes(result, 0);\n }\n return null;\n });\n }\n _getAddress(coinType, hexBytes) {\n const coinInfo = coinInfos[String(coinType)];\n if (coinInfo == null) {\n logger.throwError(`unsupported coin type: ${coinType}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`\n });\n }\n if (coinInfo.ilk === \"eth\") {\n return this.provider.formatter.address(hexBytes);\n }\n const bytes = arrayify(hexBytes);\n // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG\n if (coinInfo.p2pkh != null) {\n const p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);\n if (p2pkh) {\n const length = parseInt(p2pkh[1], 16);\n if (p2pkh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([[coinInfo.p2pkh], (\"0x\" + p2pkh[2])]));\n }\n }\n }\n // P2SH: OP_HASH160 OP_EQUAL\n if (coinInfo.p2sh != null) {\n const p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);\n if (p2sh) {\n const length = parseInt(p2sh[1], 16);\n if (p2sh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([[coinInfo.p2sh], (\"0x\" + p2sh[2])]));\n }\n }\n }\n // Bech32\n if (coinInfo.prefix != null) {\n const length = bytes[1];\n // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program\n let version = bytes[0];\n if (version === 0x00) {\n if (length !== 20 && length !== 32) {\n version = -1;\n }\n }\n else {\n version = -1;\n }\n if (version >= 0 && bytes.length === 2 + length && length >= 1 && length <= 75) {\n const words = bech32.toWords(bytes.slice(2));\n words.unshift(version);\n return bech32.encode(coinInfo.prefix, words);\n }\n }\n return null;\n }\n getAddress(coinType) {\n return __awaiter(this, void 0, void 0, function* () {\n if (coinType == null) {\n coinType = 60;\n }\n // If Ethereum, use the standard `addr(bytes32)`\n if (coinType === 60) {\n try {\n // keccak256(\"addr(bytes32)\")\n const result = yield this._fetch(\"0x3b3b57de\");\n // No address\n if (result === \"0x\" || result === HashZero) {\n return null;\n }\n return this.provider.formatter.callAddress(result);\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return null;\n }\n throw error;\n }\n }\n // keccak256(\"addr(bytes32,uint256\")\n const hexBytes = yield this._fetchBytes(\"0xf1cb7e06\", bytes32ify(coinType));\n // No address\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n // Compute the address\n const address = this._getAddress(coinType, hexBytes);\n if (address == null) {\n logger.throwError(`invalid or unsupported coin data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`,\n coinType: coinType,\n data: hexBytes\n });\n }\n return address;\n });\n }\n getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n const linkage = [{ type: \"name\", content: this.name }];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = yield this.getText(\"avatar\");\n if (avatar == null) {\n return null;\n }\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) {\n continue;\n }\n const scheme = match[1].toLowerCase();\n switch (scheme) {\n case \"https\":\n linkage.push({ type: \"url\", content: avatar });\n return { linkage, url: avatar };\n case \"data\":\n linkage.push({ type: \"data\", content: avatar });\n return { linkage, url: avatar };\n case \"ipfs\":\n linkage.push({ type: \"ipfs\", content: avatar });\n return { linkage, url: getIpfsLink(avatar) };\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"0xc87b56dd\" : \"0x0e89341c\";\n linkage.push({ type: scheme, content: avatar });\n // The owner of this name\n const owner = (this._resolvedAddress || (yield this.getAddress()));\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) {\n return null;\n }\n const addr = yield this.provider.formatter.address(comps[0]);\n const tokenId = hexZeroPad(BigNumber.from(comps[1]).toHexString(), 32);\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n // ownerOf(uint256 tokenId)\n const tokenOwner = this.provider.formatter.callAddress(yield this.provider.call({\n to: addr, data: hexConcat([\"0x6352211e\", tokenId])\n }));\n if (owner !== tokenOwner) {\n return null;\n }\n linkage.push({ type: \"owner\", content: tokenOwner });\n }\n else if (scheme === \"erc1155\") {\n // balanceOf(address owner, uint256 tokenId)\n const balance = BigNumber.from(yield this.provider.call({\n to: addr, data: hexConcat([\"0x00fdd58e\", hexZeroPad(owner, 32), tokenId])\n }));\n if (balance.isZero()) {\n return null;\n }\n linkage.push({ type: \"balance\", content: balance.toString() });\n }\n // Call the token contract for the metadata URL\n const tx = {\n to: this.provider.formatter.address(comps[0]),\n data: hexConcat([selector, tokenId])\n };\n let metadataUrl = _parseString(yield this.provider.call(tx), 0);\n if (metadataUrl == null) {\n return null;\n }\n linkage.push({ type: \"metadata-url-base\", content: metadataUrl });\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", tokenId.substring(2));\n linkage.push({ type: \"metadata-url-expanded\", content: metadataUrl });\n }\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n linkage.push({ type: \"metadata-url\", content: metadataUrl });\n // Get the token metadata\n const metadata = yield fetchJson(metadataUrl);\n if (!metadata) {\n return null;\n }\n linkage.push({ type: \"metadata\", content: JSON.stringify(metadata) });\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof (imageUrl) !== \"string\") {\n return null;\n }\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n }\n else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) {\n return null;\n }\n linkage.push({ type: \"url-ipfs\", content: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n linkage.push({ type: \"url\", content: imageUrl });\n return { linkage, url: imageUrl };\n }\n }\n }\n }\n catch (error) { }\n return null;\n });\n }\n getContentHash() {\n return __awaiter(this, void 0, void 0, function* () {\n // keccak256(\"contenthash()\")\n const hexBytes = yield this._fetchBytes(\"0xbc1c58d1\");\n // No contenthash\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n // IPFS (CID: 1, Type: DAG-PB)\n const ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const length = parseInt(ipfs[3], 16);\n if (ipfs[4].length === length * 2) {\n return \"ipfs:/\\/\" + Base58.encode(\"0x\" + ipfs[1]);\n }\n }\n // IPNS (CID: 1, Type: libp2p-key)\n const ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipns) {\n const length = parseInt(ipns[3], 16);\n if (ipns[4].length === length * 2) {\n return \"ipns:/\\/\" + Base58.encode(\"0x\" + ipns[1]);\n }\n }\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/);\n if (swarm) {\n if (swarm[1].length === (32 * 2)) {\n return \"bzz:/\\/\" + swarm[1];\n }\n }\n const skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/);\n if (skynet) {\n if (skynet[1].length === (34 * 2)) {\n // URL Safe base64; https://datatracker.ietf.org/doc/html/rfc4648#section-5\n const urlSafe = { \"=\": \"\", \"+\": \"-\", \"/\": \"_\" };\n const hash = base64Encode(\"0x\" + skynet[1]).replace(/[=+\\/]/g, (a) => (urlSafe[a]));\n return \"sia:/\\/\" + hash;\n }\n }\n return logger.throwError(`invalid or unsupported content hash data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getContentHash()\",\n data: hexBytes\n });\n });\n }\n getText(key) {\n return __awaiter(this, void 0, void 0, function* () {\n // The key encoded as parameter to fetchBytes\n let keyBytes = toUtf8Bytes(key);\n // The nodehash consumes the first slot, so the string pointer targets\n // offset 64, with the length at offset 64 and data starting at offset 96\n keyBytes = concat([bytes32ify(64), bytes32ify(keyBytes.length), keyBytes]);\n // Pad to word-size (32 bytes)\n if ((keyBytes.length % 32) !== 0) {\n keyBytes = concat([keyBytes, hexZeroPad(\"0x\", 32 - (key.length % 32))]);\n }\n const hexBytes = yield this._fetchBytes(\"0x59d1d43c\", hexlify(keyBytes));\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n return toUtf8String(hexBytes);\n });\n }\n}\nlet defaultFormatter = null;\nlet nextPollId = 1;\nexport class BaseProvider extends Provider {\n /**\n * ready\n *\n * A Promise that resolves only once the provider is ready.\n *\n * Sub-classes that call the super with a network without a chainId\n * MUST set this. Standard named networks have a known chainId.\n *\n */\n constructor(network) {\n super();\n // Events being listened to\n this._events = [];\n this._emitted = { block: -2 };\n this.disableCcipRead = false;\n this.formatter = new.target.getFormatter();\n // If network is any, this Provider allows the underlying\n // network to change dynamically, and we auto-detect the\n // current network\n defineReadOnly(this, \"anyNetwork\", (network === \"any\"));\n if (this.anyNetwork) {\n network = this.detectNetwork();\n }\n if (network instanceof Promise) {\n this._networkPromise = network;\n // Squash any \"unhandled promise\" errors; that do not need to be handled\n network.catch((error) => { });\n // Trigger initial network setting (async)\n this._ready().catch((error) => { });\n }\n else {\n const knownNetwork = getStatic(new.target, \"getNetwork\")(network);\n if (knownNetwork) {\n defineReadOnly(this, \"_network\", knownNetwork);\n this.emit(\"network\", knownNetwork, null);\n }\n else {\n logger.throwArgumentError(\"invalid network\", \"network\", network);\n }\n }\n this._maxInternalBlockNumber = -1024;\n this._lastBlockNumber = -2;\n this._maxFilterBlockRange = 10;\n this._pollingInterval = 4000;\n this._fastQueryDate = 0;\n }\n _ready() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._network == null) {\n let network = null;\n if (this._networkPromise) {\n try {\n network = yield this._networkPromise;\n }\n catch (error) { }\n }\n // Try the Provider's network detection (this MUST throw if it cannot)\n if (network == null) {\n network = yield this.detectNetwork();\n }\n // This should never happen; every Provider sub-class should have\n // suggested a network by here (or have thrown).\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, {});\n }\n // Possible this call stacked so do not call defineReadOnly again\n if (this._network == null) {\n if (this.anyNetwork) {\n this._network = network;\n }\n else {\n defineReadOnly(this, \"_network\", network);\n }\n this.emit(\"network\", network, null);\n }\n }\n return this._network;\n });\n }\n // This will always return the most recently established network.\n // For \"any\", this can change (a \"network\" event is emitted before\n // any change is reflected); otherwise this cannot change\n get ready() {\n return poll(() => {\n return this._ready().then((network) => {\n return network;\n }, (error) => {\n // If the network isn't running yet, we will wait\n if (error.code === Logger.errors.NETWORK_ERROR && error.event === \"noNetwork\") {\n return undefined;\n }\n throw error;\n });\n });\n }\n // @TODO: Remove this and just create a singleton formatter\n static getFormatter() {\n if (defaultFormatter == null) {\n defaultFormatter = new Formatter();\n }\n return defaultFormatter;\n }\n // @TODO: Remove this and just use getNetwork\n static getNetwork(network) {\n return getNetwork((network == null) ? \"homestead\" : network);\n }\n ccipReadFetch(tx, calldata, urls) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.disableCcipRead || urls.length === 0) {\n return null;\n }\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n const errorMessages = [];\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n // If no {data} is present, use POST; otherwise GET\n const json = (url.indexOf(\"{data}\") >= 0) ? null : JSON.stringify({ data, sender });\n const result = yield fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n value.status = response.statusCode;\n return value;\n });\n if (result.data) {\n return result.data;\n }\n const errorMessage = (result.message || \"unknown error\");\n // 4xx indicates the result is not present; stop\n if (result.status >= 400 && result.status < 500) {\n return logger.throwError(`response not found during CCIP fetch: ${errorMessage}`, Logger.errors.SERVER_ERROR, { url, errorMessage });\n }\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n return logger.throwError(`error encountered during CCIP fetch: ${errorMessages.map((m) => JSON.stringify(m)).join(\", \")}`, Logger.errors.SERVER_ERROR, {\n urls, errorMessages\n });\n });\n }\n // Fetches the blockNumber, but will reuse any result that is less\n // than maxAge old or has been requested since the last request\n _getInternalBlockNumber(maxAge) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this._ready();\n // Allowing stale data up to maxAge old\n if (maxAge > 0) {\n // While there are pending internal block requests...\n while (this._internalBlockNumber) {\n // ...\"remember\" which fetch we started with\n const internalBlockNumber = this._internalBlockNumber;\n try {\n // Check the result is not too stale\n const result = yield internalBlockNumber;\n if ((getTime() - result.respTime) <= maxAge) {\n return result.blockNumber;\n }\n // Too old; fetch a new value\n break;\n }\n catch (error) {\n // The fetch rejected; if we are the first to get the\n // rejection, drop through so we replace it with a new\n // fetch; all others blocked will then get that fetch\n // which won't match the one they \"remembered\" and loop\n if (this._internalBlockNumber === internalBlockNumber) {\n break;\n }\n }\n }\n }\n const reqTime = getTime();\n const checkInternalBlockNumber = resolveProperties({\n blockNumber: this.perform(\"getBlockNumber\", {}),\n networkError: this.getNetwork().then((network) => (null), (error) => (error))\n }).then(({ blockNumber, networkError }) => {\n if (networkError) {\n // Unremember this bad internal block number\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n throw networkError;\n }\n const respTime = getTime();\n blockNumber = BigNumber.from(blockNumber).toNumber();\n if (blockNumber < this._maxInternalBlockNumber) {\n blockNumber = this._maxInternalBlockNumber;\n }\n this._maxInternalBlockNumber = blockNumber;\n this._setFastBlockNumber(blockNumber); // @TODO: Still need this?\n return { blockNumber, reqTime, respTime };\n });\n this._internalBlockNumber = checkInternalBlockNumber;\n // Swallow unhandled exceptions; if needed they are handled else where\n checkInternalBlockNumber.catch((error) => {\n // Don't null the dead (rejected) fetch, if it has already been updated\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n });\n return (yield checkInternalBlockNumber).blockNumber;\n });\n }\n poll() {\n return __awaiter(this, void 0, void 0, function* () {\n const pollId = nextPollId++;\n // Track all running promises, so we can trigger a post-poll once they are complete\n const runners = [];\n let blockNumber = null;\n try {\n blockNumber = yield this._getInternalBlockNumber(100 + this.pollingInterval / 2);\n }\n catch (error) {\n this.emit(\"error\", error);\n return;\n }\n this._setFastBlockNumber(blockNumber);\n // Emit a poll event after we have the latest (fast) block number\n this.emit(\"poll\", pollId, blockNumber);\n // If the block has not changed, meh.\n if (blockNumber === this._lastBlockNumber) {\n this.emit(\"didPoll\", pollId);\n return;\n }\n // First polling cycle, trigger a \"block\" events\n if (this._emitted.block === -2) {\n this._emitted.block = blockNumber - 1;\n }\n if (Math.abs((this._emitted.block) - blockNumber) > 1000) {\n logger.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${blockNumber})`);\n this.emit(\"error\", logger.makeError(\"network block skew detected\", Logger.errors.NETWORK_ERROR, {\n blockNumber: blockNumber,\n event: \"blockSkew\",\n previousBlockNumber: this._emitted.block\n }));\n this.emit(\"block\", blockNumber);\n }\n else {\n // Notify all listener for each block that has passed\n for (let i = this._emitted.block + 1; i <= blockNumber; i++) {\n this.emit(\"block\", i);\n }\n }\n // The emitted block was updated, check for obsolete events\n if (this._emitted.block !== blockNumber) {\n this._emitted.block = blockNumber;\n Object.keys(this._emitted).forEach((key) => {\n // The block event does not expire\n if (key === \"block\") {\n return;\n }\n // The block we were at when we emitted this event\n const eventBlockNumber = this._emitted[key];\n // We cannot garbage collect pending transactions or blocks here\n // They should be garbage collected by the Provider when setting\n // \"pending\" events\n if (eventBlockNumber === \"pending\") {\n return;\n }\n // Evict any transaction hashes or block hashes over 12 blocks\n // old, since they should not return null anyways\n if (blockNumber - eventBlockNumber > 12) {\n delete this._emitted[key];\n }\n });\n }\n // First polling cycle\n if (this._lastBlockNumber === -2) {\n this._lastBlockNumber = blockNumber - 1;\n }\n // Find all transaction hashes we are waiting on\n this._events.forEach((event) => {\n switch (event.type) {\n case \"tx\": {\n const hash = event.hash;\n let runner = this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt || receipt.blockNumber == null) {\n return null;\n }\n this._emitted[\"t:\" + hash] = receipt.blockNumber;\n this.emit(hash, receipt);\n return null;\n }).catch((error) => { this.emit(\"error\", error); });\n runners.push(runner);\n break;\n }\n case \"filter\": {\n // We only allow a single getLogs to be in-flight at a time\n if (!event._inflight) {\n event._inflight = true;\n // This is the first filter for this event, so we want to\n // restrict events to events that happened no earlier than now\n if (event._lastBlockNumber === -2) {\n event._lastBlockNumber = blockNumber - 1;\n }\n // Filter from the last *known* event; due to load-balancing\n // and some nodes returning updated block numbers before\n // indexing events, a logs result with 0 entries cannot be\n // trusted and we must retry a range which includes it again\n const filter = event.filter;\n filter.fromBlock = event._lastBlockNumber + 1;\n filter.toBlock = blockNumber;\n // Prevent fitler ranges from growing too wild, since it is quite\n // likely there just haven't been any events to move the lastBlockNumber.\n const minFromBlock = filter.toBlock - this._maxFilterBlockRange;\n if (minFromBlock > filter.fromBlock) {\n filter.fromBlock = minFromBlock;\n }\n if (filter.fromBlock < 0) {\n filter.fromBlock = 0;\n }\n const runner = this.getLogs(filter).then((logs) => {\n // Allow the next getLogs\n event._inflight = false;\n if (logs.length === 0) {\n return;\n }\n logs.forEach((log) => {\n // Only when we get an event for a given block number\n // can we trust the events are indexed\n if (log.blockNumber > event._lastBlockNumber) {\n event._lastBlockNumber = log.blockNumber;\n }\n // Make sure we stall requests to fetch blocks and txs\n this._emitted[\"b:\" + log.blockHash] = log.blockNumber;\n this._emitted[\"t:\" + log.transactionHash] = log.blockNumber;\n this.emit(filter, log);\n });\n }).catch((error) => {\n this.emit(\"error\", error);\n // Allow another getLogs (the range was not updated)\n event._inflight = false;\n });\n runners.push(runner);\n }\n break;\n }\n }\n });\n this._lastBlockNumber = blockNumber;\n // Once all events for this loop have been processed, emit \"didPoll\"\n Promise.all(runners).then(() => {\n this.emit(\"didPoll\", pollId);\n }).catch((error) => { this.emit(\"error\", error); });\n return;\n });\n }\n // Deprecated; do not use this\n resetEventsBlock(blockNumber) {\n this._lastBlockNumber = blockNumber - 1;\n if (this.polling) {\n this.poll();\n }\n }\n get network() {\n return this._network;\n }\n // This method should query the network if the underlying network\n // can change, such as when connected to a JSON-RPC backend\n detectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n return logger.throwError(\"provider does not support network detection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"provider.detectNetwork\"\n });\n });\n }\n getNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n const network = yield this._ready();\n // Make sure we are still connected to the same network; this is\n // only an external call for backends which can have the underlying\n // network change spontaneously\n const currentNetwork = yield this.detectNetwork();\n if (network.chainId !== currentNetwork.chainId) {\n // We are allowing network changes, things can get complex fast;\n // make sure you know what you are doing if you use \"any\"\n if (this.anyNetwork) {\n this._network = currentNetwork;\n // Reset all internal block number guards and caches\n this._lastBlockNumber = -2;\n this._fastBlockNumber = null;\n this._fastBlockNumberPromise = null;\n this._fastQueryDate = 0;\n this._emitted.block = -2;\n this._maxInternalBlockNumber = -1024;\n this._internalBlockNumber = null;\n // The \"network\" event MUST happen before this method resolves\n // so any events have a chance to unregister, so we stall an\n // additional event loop before returning from /this/ call\n this.emit(\"network\", currentNetwork, network);\n yield stall(0);\n return this._network;\n }\n const error = logger.makeError(\"underlying network changed\", Logger.errors.NETWORK_ERROR, {\n event: \"changed\",\n network: network,\n detectedNetwork: currentNetwork\n });\n this.emit(\"error\", error);\n throw error;\n }\n return network;\n });\n }\n get blockNumber() {\n this._getInternalBlockNumber(100 + this.pollingInterval / 2).then((blockNumber) => {\n this._setFastBlockNumber(blockNumber);\n }, (error) => { });\n return (this._fastBlockNumber != null) ? this._fastBlockNumber : -1;\n }\n get polling() {\n return (this._poller != null);\n }\n set polling(value) {\n if (value && !this._poller) {\n this._poller = setInterval(() => { this.poll(); }, this.pollingInterval);\n if (!this._bootstrapPoll) {\n this._bootstrapPoll = setTimeout(() => {\n this.poll();\n // We block additional polls until the polling interval\n // is done, to prevent overwhelming the poll function\n this._bootstrapPoll = setTimeout(() => {\n // If polling was disabled, something may require a poke\n // since starting the bootstrap poll and it was disabled\n if (!this._poller) {\n this.poll();\n }\n // Clear out the bootstrap so we can do another\n this._bootstrapPoll = null;\n }, this.pollingInterval);\n }, 0);\n }\n }\n else if (!value && this._poller) {\n clearInterval(this._poller);\n this._poller = null;\n }\n }\n get pollingInterval() {\n return this._pollingInterval;\n }\n set pollingInterval(value) {\n if (typeof (value) !== \"number\" || value <= 0 || parseInt(String(value)) != value) {\n throw new Error(\"invalid polling interval\");\n }\n this._pollingInterval = value;\n if (this._poller) {\n clearInterval(this._poller);\n this._poller = setInterval(() => { this.poll(); }, this._pollingInterval);\n }\n }\n _getFastBlockNumber() {\n const now = getTime();\n // Stale block number, request a newer value\n if ((now - this._fastQueryDate) > 2 * this._pollingInterval) {\n this._fastQueryDate = now;\n this._fastBlockNumberPromise = this.getBlockNumber().then((blockNumber) => {\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n }\n return this._fastBlockNumber;\n });\n }\n return this._fastBlockNumberPromise;\n }\n _setFastBlockNumber(blockNumber) {\n // Older block, maybe a stale request\n if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) {\n return;\n }\n // Update the time we updated the blocknumber\n this._fastQueryDate = getTime();\n // Newer block number, use it\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n this._fastBlockNumberPromise = Promise.resolve(blockNumber);\n }\n }\n waitForTransaction(transactionHash, confirmations, timeout) {\n return __awaiter(this, void 0, void 0, function* () {\n return this._waitForTransaction(transactionHash, (confirmations == null) ? 1 : confirmations, timeout || 0, null);\n });\n }\n _waitForTransaction(transactionHash, confirmations, timeout, replaceable) {\n return __awaiter(this, void 0, void 0, function* () {\n const receipt = yield this.getTransactionReceipt(transactionHash);\n // Receipt is already good\n if ((receipt ? receipt.confirmations : 0) >= confirmations) {\n return receipt;\n }\n // Poll until the receipt is good...\n return new Promise((resolve, reject) => {\n const cancelFuncs = [];\n let done = false;\n const alreadyDone = function () {\n if (done) {\n return true;\n }\n done = true;\n cancelFuncs.forEach((func) => { func(); });\n return false;\n };\n const minedHandler = (receipt) => {\n if (receipt.confirmations < confirmations) {\n return;\n }\n if (alreadyDone()) {\n return;\n }\n resolve(receipt);\n };\n this.on(transactionHash, minedHandler);\n cancelFuncs.push(() => { this.removeListener(transactionHash, minedHandler); });\n if (replaceable) {\n let lastBlockNumber = replaceable.startBlock;\n let scannedBlock = null;\n const replaceHandler = (blockNumber) => __awaiter(this, void 0, void 0, function* () {\n if (done) {\n return;\n }\n // Wait 1 second; this is only used in the case of a fault, so\n // we will trade off a little bit of latency for more consistent\n // results and fewer JSON-RPC calls\n yield stall(1000);\n this.getTransactionCount(replaceable.from).then((nonce) => __awaiter(this, void 0, void 0, function* () {\n if (done) {\n return;\n }\n if (nonce <= replaceable.nonce) {\n lastBlockNumber = blockNumber;\n }\n else {\n // First check if the transaction was mined\n {\n const mined = yield this.getTransaction(transactionHash);\n if (mined && mined.blockNumber != null) {\n return;\n }\n }\n // First time scanning. We start a little earlier for some\n // wiggle room here to handle the eventually consistent nature\n // of blockchain (e.g. the getTransactionCount was for a\n // different block)\n if (scannedBlock == null) {\n scannedBlock = lastBlockNumber - 3;\n if (scannedBlock < replaceable.startBlock) {\n scannedBlock = replaceable.startBlock;\n }\n }\n while (scannedBlock <= blockNumber) {\n if (done) {\n return;\n }\n const block = yield this.getBlockWithTransactions(scannedBlock);\n for (let ti = 0; ti < block.transactions.length; ti++) {\n const tx = block.transactions[ti];\n // Successfully mined!\n if (tx.hash === transactionHash) {\n return;\n }\n // Matches our transaction from and nonce; its a replacement\n if (tx.from === replaceable.from && tx.nonce === replaceable.nonce) {\n if (done) {\n return;\n }\n // Get the receipt of the replacement\n const receipt = yield this.waitForTransaction(tx.hash, confirmations);\n // Already resolved or rejected (prolly a timeout)\n if (alreadyDone()) {\n return;\n }\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) {\n reason = \"repriced\";\n }\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value.isZero()) {\n reason = \"cancelled\";\n }\n // Explain why we were replaced\n reject(logger.makeError(\"transaction was replaced\", Logger.errors.TRANSACTION_REPLACED, {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: this._wrapTransaction(tx),\n hash: transactionHash,\n receipt\n }));\n return;\n }\n }\n scannedBlock++;\n }\n }\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n }), (error) => {\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n });\n });\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n cancelFuncs.push(() => {\n this.removeListener(\"block\", replaceHandler);\n });\n }\n if (typeof (timeout) === \"number\" && timeout > 0) {\n const timer = setTimeout(() => {\n if (alreadyDone()) {\n return;\n }\n reject(logger.makeError(\"timeout exceeded\", Logger.errors.TIMEOUT, { timeout: timeout }));\n }, timeout);\n if (timer.unref) {\n timer.unref();\n }\n cancelFuncs.push(() => { clearTimeout(timer); });\n }\n });\n });\n }\n getBlockNumber() {\n return __awaiter(this, void 0, void 0, function* () {\n return this._getInternalBlockNumber(0);\n });\n }\n getGasPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const result = yield this.perform(\"getGasPrice\", {});\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getGasPrice\",\n result, error\n });\n }\n });\n }\n getBalance(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getBalance\", params);\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getBalance\",\n params, result, error\n });\n }\n });\n }\n getTransactionCount(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getTransactionCount\", params);\n try {\n return BigNumber.from(result).toNumber();\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getTransactionCount\",\n params, result, error\n });\n }\n });\n }\n getCode(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getCode\", params);\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getCode\",\n params, result, error\n });\n }\n });\n }\n getStorageAt(addressOrName, position, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag),\n position: Promise.resolve(position).then((p) => hexValue(p))\n });\n const result = yield this.perform(\"getStorageAt\", params);\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getStorageAt\",\n params, result, error\n });\n }\n });\n }\n // This should be called by any subclass wrapping a TransactionResponse\n _wrapTransaction(tx, hash, startBlock) {\n if (hash != null && hexDataLength(hash) !== 32) {\n throw new Error(\"invalid response - sendTransaction\");\n }\n const result = tx;\n // Check the hash we expect is the same as the hash the server reported\n if (hash != null && tx.hash !== hash) {\n logger.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\", Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash });\n }\n result.wait = (confirms, timeout) => __awaiter(this, void 0, void 0, function* () {\n if (confirms == null) {\n confirms = 1;\n }\n if (timeout == null) {\n timeout = 0;\n }\n // Get the details to detect replacement\n let replacement = undefined;\n if (confirms !== 0 && startBlock != null) {\n replacement = {\n data: tx.data,\n from: tx.from,\n nonce: tx.nonce,\n to: tx.to,\n value: tx.value,\n startBlock\n };\n }\n const receipt = yield this._waitForTransaction(tx.hash, confirms, timeout, replacement);\n if (receipt == null && confirms === 0) {\n return null;\n }\n // No longer pending, allow the polling loop to garbage collect this\n this._emitted[\"t:\" + tx.hash] = receipt.blockNumber;\n if (receipt.status === 0) {\n logger.throwError(\"transaction failed\", Logger.errors.CALL_EXCEPTION, {\n transactionHash: tx.hash,\n transaction: tx,\n receipt: receipt\n });\n }\n return receipt;\n });\n return result;\n }\n sendTransaction(signedTransaction) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const hexTx = yield Promise.resolve(signedTransaction).then(t => hexlify(t));\n const tx = this.formatter.transaction(signedTransaction);\n if (tx.confirmations == null) {\n tx.confirmations = 0;\n }\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n try {\n const hash = yield this.perform(\"sendTransaction\", { signedTransaction: hexTx });\n return this._wrapTransaction(tx, hash, blockNumber);\n }\n catch (error) {\n error.transaction = tx;\n error.transactionHash = tx.hash;\n throw error;\n }\n });\n }\n _getTransactionRequest(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n const values = yield transaction;\n const tx = {};\n [\"from\", \"to\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? this._getAddress(v) : null));\n });\n [\"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"value\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? BigNumber.from(v) : null));\n });\n [\"type\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => ((v != null) ? v : null));\n });\n if (values.accessList) {\n tx.accessList = this.formatter.accessList(values.accessList);\n }\n [\"data\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? hexlify(v) : null));\n });\n return this.formatter.transactionRequest(yield resolveProperties(tx));\n });\n }\n _getFilter(filter) {\n return __awaiter(this, void 0, void 0, function* () {\n filter = yield filter;\n const result = {};\n if (filter.address != null) {\n result.address = this._getAddress(filter.address);\n }\n [\"blockHash\", \"topics\"].forEach((key) => {\n if (filter[key] == null) {\n return;\n }\n result[key] = filter[key];\n });\n [\"fromBlock\", \"toBlock\"].forEach((key) => {\n if (filter[key] == null) {\n return;\n }\n result[key] = this._getBlockTag(filter[key]);\n });\n return this.formatter.filter(yield resolveProperties(result));\n });\n }\n _call(transaction, blockTag, attempt) {\n return __awaiter(this, void 0, void 0, function* () {\n if (attempt >= MAX_CCIP_REDIRECTS) {\n logger.throwError(\"CCIP read exceeded maximum redirections\", Logger.errors.SERVER_ERROR, {\n redirects: attempt, transaction\n });\n }\n const txSender = transaction.to;\n const result = yield this.perform(\"call\", { transaction, blockTag });\n // CCIP Read request via OffchainLookup(address,string[],bytes,bytes4,bytes)\n if (attempt >= 0 && blockTag === \"latest\" && txSender != null && result.substring(0, 10) === \"0x556f1830\" && (hexDataLength(result) % 32 === 4)) {\n try {\n const data = hexDataSlice(result, 4);\n // Check the sender of the OffchainLookup matches the transaction\n const sender = hexDataSlice(data, 0, 32);\n if (!BigNumber.from(sender).eq(txSender)) {\n logger.throwError(\"CCIP Read sender did not match\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n // Read the URLs from the response\n const urls = [];\n const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber();\n const urlsLength = BigNumber.from(hexDataSlice(data, urlsOffset, urlsOffset + 32)).toNumber();\n const urlsData = hexDataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n logger.throwError(\"CCIP Read contained corrupt URL string\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n urls.push(url);\n }\n // Get the CCIP calldata to forward\n const calldata = _parseBytes(data, 64);\n // Get the callbackSelector (bytes4)\n if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {\n logger.throwError(\"CCIP Read callback selector included junk\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const callbackSelector = hexDataSlice(data, 96, 100);\n // Get the extra data to send back to the contract as context\n const extraData = _parseBytes(data, 128);\n const ccipResult = yield this.ccipReadFetch(transaction, calldata, urls);\n if (ccipResult == null) {\n logger.throwError(\"CCIP Read disabled or provided no URLs\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const tx = {\n to: txSender,\n data: hexConcat([callbackSelector, encodeBytes([ccipResult, extraData])])\n };\n return this._call(tx, blockTag, attempt + 1);\n }\n catch (error) {\n if (error.code === Logger.errors.SERVER_ERROR) {\n throw error;\n }\n }\n }\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"call\",\n params: { transaction, blockTag }, result, error\n });\n }\n });\n }\n call(transaction, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const resolved = yield resolveProperties({\n transaction: this._getTransactionRequest(transaction),\n blockTag: this._getBlockTag(blockTag),\n ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled)\n });\n return this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0 : -1);\n });\n }\n estimateGas(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n transaction: this._getTransactionRequest(transaction)\n });\n const result = yield this.perform(\"estimateGas\", params);\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"estimateGas\",\n params, result, error\n });\n }\n });\n }\n _getAddress(addressOrName) {\n return __awaiter(this, void 0, void 0, function* () {\n addressOrName = yield addressOrName;\n if (typeof (addressOrName) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", addressOrName);\n }\n const address = yield this.resolveName(addressOrName);\n if (address == null) {\n logger.throwError(\"ENS name not configured\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `resolveName(${JSON.stringify(addressOrName)})`\n });\n }\n return address;\n });\n }\n _getBlock(blockHashOrBlockTag, includeTransactions) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n blockHashOrBlockTag = yield blockHashOrBlockTag;\n // If blockTag is a number (not \"latest\", etc), this is the block number\n let blockNumber = -128;\n const params = {\n includeTransactions: !!includeTransactions\n };\n if (isHexString(blockHashOrBlockTag, 32)) {\n params.blockHash = blockHashOrBlockTag;\n }\n else {\n try {\n params.blockTag = yield this._getBlockTag(blockHashOrBlockTag);\n if (isHexString(params.blockTag)) {\n blockNumber = parseInt(params.blockTag.substring(2), 16);\n }\n }\n catch (error) {\n logger.throwArgumentError(\"invalid block hash or block tag\", \"blockHashOrBlockTag\", blockHashOrBlockTag);\n }\n }\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const block = yield this.perform(\"getBlock\", params);\n // Block was not found\n if (block == null) {\n // For blockhashes, if we didn't say it existed, that blockhash may\n // not exist. If we did see it though, perhaps from a log, we know\n // it exists, and this node is just not caught up yet.\n if (params.blockHash != null) {\n if (this._emitted[\"b:\" + params.blockHash] == null) {\n return null;\n }\n }\n // For block tags, if we are asking for a future block, we return null\n if (params.blockTag != null) {\n if (blockNumber > this._emitted.block) {\n return null;\n }\n }\n // Retry on the next block\n return undefined;\n }\n // Add transactions\n if (includeTransactions) {\n let blockNumber = null;\n for (let i = 0; i < block.transactions.length; i++) {\n const tx = block.transactions[i];\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n }\n else if (tx.confirmations == null) {\n if (blockNumber == null) {\n blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n }\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n tx.confirmations = confirmations;\n }\n }\n const blockWithTxs = this.formatter.blockWithTransactions(block);\n blockWithTxs.transactions = blockWithTxs.transactions.map((tx) => this._wrapTransaction(tx));\n return blockWithTxs;\n }\n return this.formatter.block(block);\n }), { oncePoll: this });\n });\n }\n getBlock(blockHashOrBlockTag) {\n return (this._getBlock(blockHashOrBlockTag, false));\n }\n getBlockWithTransactions(blockHashOrBlockTag) {\n return (this._getBlock(blockHashOrBlockTag, true));\n }\n getTransaction(transactionHash) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const result = yield this.perform(\"getTransaction\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n const tx = this.formatter.transactionResponse(result);\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n }\n else if (tx.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n tx.confirmations = confirmations;\n }\n return this._wrapTransaction(tx);\n }), { oncePoll: this });\n });\n }\n getTransactionReceipt(transactionHash) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const result = yield this.perform(\"getTransactionReceipt\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n // \"geth-etc\" returns receipts before they are ready\n if (result.blockHash == null) {\n return undefined;\n }\n const receipt = this.formatter.receipt(result);\n if (receipt.blockNumber == null) {\n receipt.confirmations = 0;\n }\n else if (receipt.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - receipt.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n receipt.confirmations = confirmations;\n }\n return receipt;\n }), { oncePoll: this });\n });\n }\n getLogs(filter) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({ filter: this._getFilter(filter) });\n const logs = yield this.perform(\"getLogs\", params);\n logs.forEach((log) => {\n if (log.removed == null) {\n log.removed = false;\n }\n });\n return Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs);\n });\n }\n getEtherPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n return this.perform(\"getEtherPrice\", {});\n });\n }\n _getBlockTag(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n blockTag = yield blockTag;\n if (typeof (blockTag) === \"number\" && blockTag < 0) {\n if (blockTag % 1) {\n logger.throwArgumentError(\"invalid BlockTag\", \"blockTag\", blockTag);\n }\n let blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n blockNumber += blockTag;\n if (blockNumber < 0) {\n blockNumber = 0;\n }\n return this.formatter.blockTag(blockNumber);\n }\n return this.formatter.blockTag(blockTag);\n });\n }\n getResolver(name) {\n return __awaiter(this, void 0, void 0, function* () {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") {\n return null;\n }\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") {\n return null;\n }\n // Check the current node for a resolver\n const addr = yield this._getResolver(currentName, \"getResolver\");\n // Found a resolver!\n if (addr != null) {\n const resolver = new Resolver(this, addr, name);\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(yield resolver.supportsWildcard())) {\n return null;\n }\n return resolver;\n }\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n });\n }\n _getResolver(name, operation) {\n return __awaiter(this, void 0, void 0, function* () {\n if (operation == null) {\n operation = \"ENS\";\n }\n const network = yield this.getNetwork();\n // No ENS...\n if (!network.ensAddress) {\n logger.throwError(\"network does not support ENS\", Logger.errors.UNSUPPORTED_OPERATION, { operation, network: network.name });\n }\n try {\n // keccak256(\"resolver(bytes32)\")\n const addrData = yield this.call({\n to: network.ensAddress,\n data: (\"0x0178b8bf\" + namehash(name).substring(2))\n });\n return this.formatter.callAddress(addrData);\n }\n catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32)\n }\n return null;\n });\n }\n resolveName(name) {\n return __awaiter(this, void 0, void 0, function* () {\n name = yield name;\n // If it is already an address, nothing to resolve\n try {\n return Promise.resolve(this.formatter.address(name));\n }\n catch (error) {\n // If is is a hexstring, the address is bad (See #694)\n if (isHexString(name)) {\n throw error;\n }\n }\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name\", \"name\", name);\n }\n // Get the addr from the resolver\n const resolver = yield this.getResolver(name);\n if (!resolver) {\n return null;\n }\n return yield resolver.getAddress();\n });\n }\n lookupAddress(address) {\n return __awaiter(this, void 0, void 0, function* () {\n address = yield address;\n address = this.formatter.address(address);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddr = yield this._getResolver(node, \"lookupAddress\");\n if (resolverAddr == null) {\n return null;\n }\n // keccak(\"name(bytes32)\")\n const name = _parseString(yield this.call({\n to: resolverAddr,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n const addr = yield this.resolveName(name);\n if (addr != address) {\n return null;\n }\n return name;\n });\n }\n getAvatar(nameOrAddress) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = null;\n if (isHexString(nameOrAddress)) {\n // Address; reverse lookup\n const address = this.formatter.address(nameOrAddress);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddress = yield this._getResolver(node, \"getAvatar\");\n if (!resolverAddress) {\n return null;\n }\n // Try resolving the avatar against the addr.reverse resolver\n resolver = new Resolver(this, resolverAddress, node);\n try {\n const avatar = yield resolver.getAvatar();\n if (avatar) {\n return avatar.url;\n }\n }\n catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) {\n throw error;\n }\n }\n // Try getting the name and performing forward lookup; allowing wildcards\n try {\n // keccak(\"name(bytes32)\")\n const name = _parseString(yield this.call({\n to: resolverAddress,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n resolver = yield this.getResolver(name);\n }\n catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) {\n throw error;\n }\n return null;\n }\n }\n else {\n // ENS name; forward lookup with wildcard\n resolver = yield this.getResolver(nameOrAddress);\n if (!resolver) {\n return null;\n }\n }\n const avatar = yield resolver.getAvatar();\n if (avatar == null) {\n return null;\n }\n return avatar.url;\n });\n }\n perform(method, params) {\n return logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n _startEvent(event) {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n _stopEvent(event) {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n _addEventListener(eventName, listener, once) {\n const event = new Event(getEventTag(eventName), listener, once);\n this._events.push(event);\n this._startEvent(event);\n return this;\n }\n on(eventName, listener) {\n return this._addEventListener(eventName, listener, false);\n }\n once(eventName, listener) {\n return this._addEventListener(eventName, listener, true);\n }\n emit(eventName, ...args) {\n let result = false;\n let stopped = [];\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) {\n return true;\n }\n setTimeout(() => {\n event.listener.apply(this, args);\n }, 0);\n result = true;\n if (event.once) {\n stopped.push(event);\n return false;\n }\n return true;\n });\n stopped.forEach((event) => { this._stopEvent(event); });\n return result;\n }\n listenerCount(eventName) {\n if (!eventName) {\n return this._events.length;\n }\n let eventTag = getEventTag(eventName);\n return this._events.filter((event) => {\n return (event.tag === eventTag);\n }).length;\n }\n listeners(eventName) {\n if (eventName == null) {\n return this._events.map((event) => event.listener);\n }\n let eventTag = getEventTag(eventName);\n return this._events\n .filter((event) => (event.tag === eventTag))\n .map((event) => event.listener);\n }\n off(eventName, listener) {\n if (listener == null) {\n return this.removeAllListeners(eventName);\n }\n const stopped = [];\n let found = false;\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag || event.listener != listener) {\n return true;\n }\n if (found) {\n return true;\n }\n found = true;\n stopped.push(event);\n return false;\n });\n stopped.forEach((event) => { this._stopEvent(event); });\n return this;\n }\n removeAllListeners(eventName) {\n let stopped = [];\n if (eventName == null) {\n stopped = this._events;\n this._events = [];\n }\n else {\n const eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) {\n return true;\n }\n stopped.push(event);\n return false;\n });\n }\n stopped.forEach((event) => { this._stopEvent(event); });\n return this;\n }\n}\n//# sourceMappingURL=base-provider.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Signer } from \"@ethersproject/abstract-signer\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { checkProperties, deepCopy, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { BaseProvider } from \"./base-provider\";\nconst errorGas = [\"call\", \"estimateGas\"];\nfunction spelunk(value, requireData) {\n if (value == null) {\n return null;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\" && value.message.match(\"reverted\")) {\n const data = isHexString(value.data) ? value.data : null;\n if (!requireData || data) {\n return { message: value.message, data };\n }\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n const result = spelunk(value[key], requireData);\n if (result) {\n return result;\n }\n }\n return null;\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return spelunk(JSON.parse(value), requireData);\n }\n catch (error) { }\n }\n return null;\n}\nfunction checkError(method, error, params) {\n const transaction = params.transaction || params.signedTransaction;\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\") {\n const result = spelunk(error, true);\n if (result) {\n return result.data;\n }\n // Nothing descriptive..\n logger.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\", Logger.errors.CALL_EXCEPTION, {\n data: \"0x\", transaction, error\n });\n }\n if (method === \"estimateGas\") {\n // Try to find something, with a preference on SERVER_ERROR body\n let result = spelunk(error.body, false);\n if (result == null) {\n result = spelunk(error, false);\n }\n // Found \"reverted\", this is a CALL_EXCEPTION\n if (result) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n reason: result.message, method, transaction, error\n });\n }\n }\n // @TODO: Should we spelunk for message too?\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR && error.error && typeof (error.error.message) === \"string\") {\n message = error.error.message;\n }\n else if (typeof (error.body) === \"string\") {\n message = error.body;\n }\n else if (typeof (error.responseText) === \"string\") {\n message = error.responseText;\n }\n message = (message || \"\").toLowerCase();\n // \"insufficient funds for gas * price + value + cost(data)\"\n if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n // \"nonce too low\"\n if (message.match(/nonce (is )?too low/i)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/only replay-protected/i)) {\n logger.throwError(\"legacy pre-eip-155 transactions not supported\", Logger.errors.UNSUPPORTED_OPERATION, {\n error, method, transaction\n });\n }\n if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n throw error;\n}\nfunction timer(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\nfunction getResult(payload) {\n if (payload.error) {\n // @TODO: not any\n const error = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n throw error;\n }\n return payload.result;\n}\nfunction getLowerCase(value) {\n if (value) {\n return value.toLowerCase();\n }\n return value;\n}\nconst _constructorGuard = {};\nexport class JsonRpcSigner extends Signer {\n constructor(constructorGuard, provider, addressOrIndex) {\n super();\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");\n }\n defineReadOnly(this, \"provider\", provider);\n if (addressOrIndex == null) {\n addressOrIndex = 0;\n }\n if (typeof (addressOrIndex) === \"string\") {\n defineReadOnly(this, \"_address\", this.provider.formatter.address(addressOrIndex));\n defineReadOnly(this, \"_index\", null);\n }\n else if (typeof (addressOrIndex) === \"number\") {\n defineReadOnly(this, \"_index\", addressOrIndex);\n defineReadOnly(this, \"_address\", null);\n }\n else {\n logger.throwArgumentError(\"invalid address or index\", \"addressOrIndex\", addressOrIndex);\n }\n }\n connect(provider) {\n return logger.throwError(\"cannot alter JSON-RPC Signer connection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"connect\"\n });\n }\n connectUnchecked() {\n return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index);\n }\n getAddress() {\n if (this._address) {\n return Promise.resolve(this._address);\n }\n return this.provider.send(\"eth_accounts\", []).then((accounts) => {\n if (accounts.length <= this._index) {\n logger.throwError(\"unknown account #\" + this._index, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getAddress\"\n });\n }\n return this.provider.formatter.address(accounts[this._index]);\n });\n }\n sendUncheckedTransaction(transaction) {\n transaction = shallowCopy(transaction);\n const fromAddress = this.getAddress().then((address) => {\n if (address) {\n address = address.toLowerCase();\n }\n return address;\n });\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (transaction.gasLimit == null) {\n const estimate = shallowCopy(transaction);\n estimate.from = fromAddress;\n transaction.gasLimit = this.provider.estimateGas(estimate);\n }\n if (transaction.to != null) {\n transaction.to = Promise.resolve(transaction.to).then((to) => __awaiter(this, void 0, void 0, function* () {\n if (to == null) {\n return null;\n }\n const address = yield this.provider.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n }));\n }\n return resolveProperties({\n tx: resolveProperties(transaction),\n sender: fromAddress\n }).then(({ tx, sender }) => {\n if (tx.from != null) {\n if (tx.from.toLowerCase() !== sender) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n }\n else {\n tx.from = sender;\n }\n const hexTx = this.provider.constructor.hexlifyTransaction(tx, { from: true });\n return this.provider.send(\"eth_sendTransaction\", [hexTx]).then((hash) => {\n return hash;\n }, (error) => {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected transaction\", Logger.errors.ACTION_REJECTED, {\n action: \"sendTransaction\",\n transaction: tx\n });\n }\n return checkError(\"sendTransaction\", error, hexTx);\n });\n });\n }\n signTransaction(transaction) {\n return logger.throwError(\"signing transactions is unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signTransaction\"\n });\n }\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n // This cannot be mined any earlier than any recent block\n const blockNumber = yield this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval);\n // Send the transaction\n const hash = yield this.sendUncheckedTransaction(transaction);\n try {\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return yield poll(() => __awaiter(this, void 0, void 0, function* () {\n const tx = yield this.provider.getTransaction(hash);\n if (tx === null) {\n return undefined;\n }\n return this.provider._wrapTransaction(tx, hash, blockNumber);\n }), { oncePoll: this.provider });\n }\n catch (error) {\n error.transactionHash = hash;\n throw error;\n }\n });\n }\n signMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = ((typeof (message) === \"string\") ? toUtf8Bytes(message) : message);\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"personal_sign\", [hexlify(data), address.toLowerCase()]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"signMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n });\n }\n _legacySignMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = ((typeof (message) === \"string\") ? toUtf8Bytes(message) : message);\n const address = yield this.getAddress();\n try {\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n return yield this.provider.send(\"eth_sign\", [address.toLowerCase(), hexlify(data)]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_legacySignMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n });\n }\n _signTypedData(domain, types, value) {\n return __awaiter(this, void 0, void 0, function* () {\n // Populate any ENS names (in-place)\n const populated = yield _TypedDataEncoder.resolveNames(domain, types, value, (name) => {\n return this.provider.resolveName(name);\n });\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"eth_signTypedData_v4\", [\n address.toLowerCase(),\n JSON.stringify(_TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_signTypedData\",\n from: address,\n messageData: { domain: populated.domain, types, value: populated.value }\n });\n }\n throw error;\n }\n });\n }\n unlock(password) {\n return __awaiter(this, void 0, void 0, function* () {\n const provider = this.provider;\n const address = yield this.getAddress();\n return provider.send(\"personal_unlockAccount\", [address.toLowerCase(), password, null]);\n });\n }\n}\nclass UncheckedJsonRpcSigner extends JsonRpcSigner {\n sendTransaction(transaction) {\n return this.sendUncheckedTransaction(transaction).then((hash) => {\n return {\n hash: hash,\n nonce: null,\n gasLimit: null,\n gasPrice: null,\n data: null,\n value: null,\n chainId: null,\n confirmations: 0,\n from: null,\n wait: (confirmations) => { return this.provider.waitForTransaction(hash, confirmations); }\n };\n });\n }\n}\nconst allowedTransactionKeys = {\n chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true\n};\nexport class JsonRpcProvider extends BaseProvider {\n constructor(url, network) {\n let networkOrReady = network;\n // The network is unknown, query the JSON-RPC for it\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then((network) => {\n resolve(network);\n }, (error) => {\n reject(error);\n });\n }, 0);\n });\n }\n super(networkOrReady);\n // Default URL\n if (!url) {\n url = getStatic(this.constructor, \"defaultUrl\")();\n }\n if (typeof (url) === \"string\") {\n defineReadOnly(this, \"connection\", Object.freeze({\n url: url\n }));\n }\n else {\n defineReadOnly(this, \"connection\", Object.freeze(shallowCopy(url)));\n }\n this._nextId = 42;\n }\n get _cache() {\n if (this._eventLoopCache == null) {\n this._eventLoopCache = {};\n }\n return this._eventLoopCache;\n }\n static defaultUrl() {\n return \"http:/\\/localhost:8545\";\n }\n detectNetwork() {\n if (!this._cache[\"detectNetwork\"]) {\n this._cache[\"detectNetwork\"] = this._uncachedDetectNetwork();\n // Clear this cache at the beginning of the next event loop\n setTimeout(() => {\n this._cache[\"detectNetwork\"] = null;\n }, 0);\n }\n return this._cache[\"detectNetwork\"];\n }\n _uncachedDetectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n yield timer(0);\n let chainId = null;\n try {\n chainId = yield this.send(\"eth_chainId\", []);\n }\n catch (error) {\n try {\n chainId = yield this.send(\"net_version\", []);\n }\n catch (error) { }\n }\n if (chainId != null) {\n const getNetwork = getStatic(this.constructor, \"getNetwork\");\n try {\n return getNetwork(BigNumber.from(chainId).toNumber());\n }\n catch (error) {\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n chainId: chainId,\n event: \"invalidNetwork\",\n serverError: error\n });\n }\n }\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n event: \"noNetwork\"\n });\n });\n }\n getSigner(addressOrIndex) {\n return new JsonRpcSigner(_constructorGuard, this, addressOrIndex);\n }\n getUncheckedSigner(addressOrIndex) {\n return this.getSigner(addressOrIndex).connectUnchecked();\n }\n listAccounts() {\n return this.send(\"eth_accounts\", []).then((accounts) => {\n return accounts.map((a) => this.formatter.address(a));\n });\n }\n send(method, params) {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n this.emit(\"debug\", {\n action: \"request\",\n request: deepCopy(request),\n provider: this\n });\n // We can expand this in the future to any call, but for now these\n // are the biggest wins and do not require any serializing parameters.\n const cache = ([\"eth_chainId\", \"eth_blockNumber\"].indexOf(method) >= 0);\n if (cache && this._cache[method]) {\n return this._cache[method];\n }\n const result = fetchJson(this.connection, JSON.stringify(request), getResult).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n return result;\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n throw error;\n });\n // Cache the fetch, but clear it on the next event loop\n if (cache) {\n this._cache[method] = result;\n setTimeout(() => {\n this._cache[method] = null;\n }, 0);\n }\n return result;\n }\n prepareRequest(method, params) {\n switch (method) {\n case \"getBlockNumber\":\n return [\"eth_blockNumber\", []];\n case \"getGasPrice\":\n return [\"eth_gasPrice\", []];\n case \"getBalance\":\n return [\"eth_getBalance\", [getLowerCase(params.address), params.blockTag]];\n case \"getTransactionCount\":\n return [\"eth_getTransactionCount\", [getLowerCase(params.address), params.blockTag]];\n case \"getCode\":\n return [\"eth_getCode\", [getLowerCase(params.address), params.blockTag]];\n case \"getStorageAt\":\n return [\"eth_getStorageAt\", [getLowerCase(params.address), hexZeroPad(params.position, 32), params.blockTag]];\n case \"sendTransaction\":\n return [\"eth_sendRawTransaction\", [params.signedTransaction]];\n case \"getBlock\":\n if (params.blockTag) {\n return [\"eth_getBlockByNumber\", [params.blockTag, !!params.includeTransactions]];\n }\n else if (params.blockHash) {\n return [\"eth_getBlockByHash\", [params.blockHash, !!params.includeTransactions]];\n }\n return null;\n case \"getTransaction\":\n return [\"eth_getTransactionByHash\", [params.transactionHash]];\n case \"getTransactionReceipt\":\n return [\"eth_getTransactionReceipt\", [params.transactionHash]];\n case \"call\": {\n const hexlifyTransaction = getStatic(this.constructor, \"hexlifyTransaction\");\n return [\"eth_call\", [hexlifyTransaction(params.transaction, { from: true }), params.blockTag]];\n }\n case \"estimateGas\": {\n const hexlifyTransaction = getStatic(this.constructor, \"hexlifyTransaction\");\n return [\"eth_estimateGas\", [hexlifyTransaction(params.transaction, { from: true })]];\n }\n case \"getLogs\":\n if (params.filter && params.filter.address != null) {\n params.filter.address = getLowerCase(params.filter.address);\n }\n return [\"eth_getLogs\", [params.filter]];\n default:\n break;\n }\n return null;\n }\n perform(method, params) {\n return __awaiter(this, void 0, void 0, function* () {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (method === \"call\" || method === \"estimateGas\") {\n const tx = params.transaction;\n if (tx && tx.type != null && BigNumber.from(tx.type).isZero()) {\n // If there are no EIP-1559 properties, it might be non-EIP-1559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = yield this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n params = shallowCopy(params);\n params.transaction = shallowCopy(tx);\n delete params.transaction.type;\n }\n }\n }\n }\n const args = this.prepareRequest(method, params);\n if (args == null) {\n logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n try {\n return yield this.send(args[0], args[1]);\n }\n catch (error) {\n return checkError(method, error, params);\n }\n });\n }\n _startEvent(event) {\n if (event.tag === \"pending\") {\n this._startPending();\n }\n super._startEvent(event);\n }\n _startPending() {\n if (this._pendingFilter != null) {\n return;\n }\n const self = this;\n const pendingFilter = this.send(\"eth_newPendingTransactionFilter\", []);\n this._pendingFilter = pendingFilter;\n pendingFilter.then(function (filterId) {\n function poll() {\n self.send(\"eth_getFilterChanges\", [filterId]).then(function (hashes) {\n if (self._pendingFilter != pendingFilter) {\n return null;\n }\n let seq = Promise.resolve();\n hashes.forEach(function (hash) {\n // @TODO: This should be garbage collected at some point... How? When?\n self._emitted[\"t:\" + hash.toLowerCase()] = \"pending\";\n seq = seq.then(function () {\n return self.getTransaction(hash).then(function (tx) {\n self.emit(\"pending\", tx);\n return null;\n });\n });\n });\n return seq.then(function () {\n return timer(1000);\n });\n }).then(function () {\n if (self._pendingFilter != pendingFilter) {\n self.send(\"eth_uninstallFilter\", [filterId]);\n return;\n }\n setTimeout(function () { poll(); }, 0);\n return null;\n }).catch((error) => { });\n }\n poll();\n return filterId;\n }).catch((error) => { });\n }\n _stopEvent(event) {\n if (event.tag === \"pending\" && this.listenerCount(\"pending\") === 0) {\n this._pendingFilter = null;\n }\n super._stopEvent(event);\n }\n // Convert an ethers.js transaction into a JSON-RPC transaction\n // - gasLimit => gas\n // - All values hexlified\n // - All numeric values zero-striped\n // - All addresses are lowercased\n // NOTE: This allows a TransactionRequest, but all values should be resolved\n // before this is called\n // @TODO: This will likely be removed in future versions and prepareRequest\n // will be the preferred method for this.\n static hexlifyTransaction(transaction, allowExtra) {\n // Check only allowed properties are given\n const allowed = shallowCopy(allowedTransactionKeys);\n if (allowExtra) {\n for (const key in allowExtra) {\n if (allowExtra[key]) {\n allowed[key] = true;\n }\n }\n }\n checkProperties(transaction, allowed);\n const result = {};\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach(function (key) {\n if (transaction[key] == null) {\n return;\n }\n const value = hexValue(BigNumber.from(transaction[key]));\n if (key === \"gasLimit\") {\n key = \"gas\";\n }\n result[key] = value;\n });\n [\"from\", \"to\", \"data\"].forEach(function (key) {\n if (transaction[key] == null) {\n return;\n }\n result[key] = hexlify(transaction[key]);\n });\n if (transaction.accessList) {\n result[\"accessList\"] = accessListify(transaction.accessList);\n }\n return result;\n }\n}\n//# sourceMappingURL=json-rpc-provider.js.map","export const version = \"solidity/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, zeroPad } from \"@ethersproject/bytes\";\nimport { keccak256 as hashKeccak256 } from \"@ethersproject/keccak256\";\nimport { sha256 as hashSha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\nconst Zeros = \"0000000000000000000000000000000000000000000000000000000000000000\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction _pack(type, value, isArray) {\n switch (type) {\n case \"address\":\n if (isArray) {\n return zeroPad(value, 32);\n }\n return arrayify(value);\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return arrayify(value);\n case \"bool\":\n value = (value ? \"0x01\" : \"0x00\");\n if (isArray) {\n return zeroPad(value, 32);\n }\n return arrayify(value);\n }\n let match = type.match(regexNumber);\n if (match) {\n //let signed = (match[1] === \"int\")\n let size = parseInt(match[2] || \"256\");\n if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {\n logger.throwArgumentError(\"invalid number type\", \"type\", type);\n }\n if (isArray) {\n size = 256;\n }\n value = BigNumber.from(value).toTwos(size);\n return zeroPad(value, size / 8);\n }\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n if (String(size) !== match[1] || size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes type\", \"type\", type);\n }\n if (arrayify(value).byteLength !== size) {\n logger.throwArgumentError(`invalid value for ${type}`, \"value\", value);\n }\n if (isArray) {\n return arrayify((value + Zeros).substring(0, 66));\n }\n return value;\n }\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n if (count != value.length) {\n logger.throwArgumentError(`invalid array length for ${type}`, \"value\", value);\n }\n const result = [];\n value.forEach(function (value) {\n result.push(_pack(baseType, value, true));\n });\n return concat(result);\n }\n return logger.throwArgumentError(\"invalid type\", \"type\", type);\n}\n// @TODO: Array Enum\nexport function pack(types, values) {\n if (types.length != values.length) {\n logger.throwArgumentError(\"wrong number of values; expected ${ types.length }\", \"values\", values);\n }\n const tight = [];\n types.forEach(function (type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\nexport function keccak256(types, values) {\n return hashKeccak256(pack(types, values));\n}\nexport function sha256(types, values) {\n return hashSha256(pack(types, values));\n}\n//# sourceMappingURL=index.js.map","export const version = \"units/5.7.0\";\n//# sourceMappingURL=_version.js.map","\"use strict\";\nimport { formatFixed, parseFixed } from \"@ethersproject/bignumber\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n// Some environments have issues with RegEx that contain back-tracking, so we cannot\n// use them.\nexport function commify(value) {\n const comps = String(value).split(\".\");\n if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || (comps[1] && !comps[1].match(/^[0-9]*$/)) || value === \".\" || value === \"-.\") {\n logger.throwArgumentError(\"invalid value\", \"value\", value);\n }\n // Make sure we have at least one whole digit (0 if none)\n let whole = comps[0];\n let negative = \"\";\n if (whole.substring(0, 1) === \"-\") {\n negative = \"-\";\n whole = whole.substring(1);\n }\n // Make sure we have at least 1 whole digit with no leading zeros\n while (whole.substring(0, 1) === \"0\") {\n whole = whole.substring(1);\n }\n if (whole === \"\") {\n whole = \"0\";\n }\n let suffix = \"\";\n if (comps.length === 2) {\n suffix = \".\" + (comps[1] || \"0\");\n }\n while (suffix.length > 2 && suffix[suffix.length - 1] === \"0\") {\n suffix = suffix.substring(0, suffix.length - 1);\n }\n const formatted = [];\n while (whole.length) {\n if (whole.length <= 3) {\n formatted.unshift(whole);\n break;\n }\n else {\n const index = whole.length - 3;\n formatted.unshift(whole.substring(index));\n whole = whole.substring(0, index);\n }\n }\n return negative + formatted.join(\",\") + suffix;\n}\nexport function formatUnits(value, unitName) {\n if (typeof (unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) {\n unitName = 3 * index;\n }\n }\n return formatFixed(value, (unitName != null) ? unitName : 18);\n}\nexport function parseUnits(value, unitName) {\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(\"value must be a string\", \"value\", value);\n }\n if (typeof (unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) {\n unitName = 3 * index;\n }\n }\n return parseFixed(value, (unitName != null) ? unitName : 18);\n}\nexport function formatEther(wei) {\n return formatUnits(wei, 18);\n}\nexport function parseEther(ether) {\n return parseUnits(ether, 18);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatBytes32String = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports._toEscapedUtf8String = exports.nameprep = exports.hexDataSlice = exports.hexDataLength = exports.hexZeroPad = exports.hexValue = exports.hexStripZeros = exports.hexConcat = exports.isHexString = exports.hexlify = exports.base64 = exports.base58 = exports.TransactionDescription = exports.LogDescription = exports.Interface = exports.SigningKey = exports.HDNode = exports.defaultPath = exports.isBytesLike = exports.isBytes = exports.zeroPad = exports.stripZeros = exports.concat = exports.arrayify = exports.shallowCopy = exports.resolveProperties = exports.getStatic = exports.defineReadOnly = exports.deepCopy = exports.checkProperties = exports.poll = exports.fetchJson = exports._fetchData = exports.RLP = exports.Logger = exports.checkResultErrors = exports.FormatTypes = exports.ParamType = exports.FunctionFragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = exports.Fragment = exports.defaultAbiCoder = exports.AbiCoder = void 0;\nexports.Indexed = exports.Utf8ErrorReason = exports.UnicodeNormalizationForm = exports.SupportedAlgorithm = exports.mnemonicToSeed = exports.isValidMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.getAccountPath = exports.verifyTypedData = exports.verifyMessage = exports.recoverPublicKey = exports.computePublicKey = exports.recoverAddress = exports.computeAddress = exports.getJsonWalletAddress = exports.TransactionTypes = exports.serializeTransaction = exports.parseTransaction = exports.accessListify = exports.joinSignature = exports.splitSignature = exports.soliditySha256 = exports.solidityKeccak256 = exports.solidityPack = exports.shuffled = exports.randomBytes = exports.sha512 = exports.sha256 = exports.ripemd160 = exports.keccak256 = exports.computeHmac = exports.commify = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.isAddress = exports.getCreate2Address = exports.getContractAddress = exports.getIcapAddress = exports.getAddress = exports._TypedDataEncoder = exports.id = exports.isValidName = exports.namehash = exports.hashMessage = exports.dnsEncode = exports.parseBytes32String = void 0;\nvar abi_1 = require(\"@ethersproject/abi\");\nObject.defineProperty(exports, \"AbiCoder\", { enumerable: true, get: function () { return abi_1.AbiCoder; } });\nObject.defineProperty(exports, \"checkResultErrors\", { enumerable: true, get: function () { return abi_1.checkResultErrors; } });\nObject.defineProperty(exports, \"ConstructorFragment\", { enumerable: true, get: function () { return abi_1.ConstructorFragment; } });\nObject.defineProperty(exports, \"defaultAbiCoder\", { enumerable: true, get: function () { return abi_1.defaultAbiCoder; } });\nObject.defineProperty(exports, \"ErrorFragment\", { enumerable: true, get: function () { return abi_1.ErrorFragment; } });\nObject.defineProperty(exports, \"EventFragment\", { enumerable: true, get: function () { return abi_1.EventFragment; } });\nObject.defineProperty(exports, \"FormatTypes\", { enumerable: true, get: function () { return abi_1.FormatTypes; } });\nObject.defineProperty(exports, \"Fragment\", { enumerable: true, get: function () { return abi_1.Fragment; } });\nObject.defineProperty(exports, \"FunctionFragment\", { enumerable: true, get: function () { return abi_1.FunctionFragment; } });\nObject.defineProperty(exports, \"Indexed\", { enumerable: true, get: function () { return abi_1.Indexed; } });\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return abi_1.Interface; } });\nObject.defineProperty(exports, \"LogDescription\", { enumerable: true, get: function () { return abi_1.LogDescription; } });\nObject.defineProperty(exports, \"ParamType\", { enumerable: true, get: function () { return abi_1.ParamType; } });\nObject.defineProperty(exports, \"TransactionDescription\", { enumerable: true, get: function () { return abi_1.TransactionDescription; } });\nvar address_1 = require(\"@ethersproject/address\");\nObject.defineProperty(exports, \"getAddress\", { enumerable: true, get: function () { return address_1.getAddress; } });\nObject.defineProperty(exports, \"getCreate2Address\", { enumerable: true, get: function () { return address_1.getCreate2Address; } });\nObject.defineProperty(exports, \"getContractAddress\", { enumerable: true, get: function () { return address_1.getContractAddress; } });\nObject.defineProperty(exports, \"getIcapAddress\", { enumerable: true, get: function () { return address_1.getIcapAddress; } });\nObject.defineProperty(exports, \"isAddress\", { enumerable: true, get: function () { return address_1.isAddress; } });\nvar base64 = __importStar(require(\"@ethersproject/base64\"));\nexports.base64 = base64;\nvar basex_1 = require(\"@ethersproject/basex\");\nObject.defineProperty(exports, \"base58\", { enumerable: true, get: function () { return basex_1.Base58; } });\nvar bytes_1 = require(\"@ethersproject/bytes\");\nObject.defineProperty(exports, \"arrayify\", { enumerable: true, get: function () { return bytes_1.arrayify; } });\nObject.defineProperty(exports, \"concat\", { enumerable: true, get: function () { return bytes_1.concat; } });\nObject.defineProperty(exports, \"hexConcat\", { enumerable: true, get: function () { return bytes_1.hexConcat; } });\nObject.defineProperty(exports, \"hexDataSlice\", { enumerable: true, get: function () { return bytes_1.hexDataSlice; } });\nObject.defineProperty(exports, \"hexDataLength\", { enumerable: true, get: function () { return bytes_1.hexDataLength; } });\nObject.defineProperty(exports, \"hexlify\", { enumerable: true, get: function () { return bytes_1.hexlify; } });\nObject.defineProperty(exports, \"hexStripZeros\", { enumerable: true, get: function () { return bytes_1.hexStripZeros; } });\nObject.defineProperty(exports, \"hexValue\", { enumerable: true, get: function () { return bytes_1.hexValue; } });\nObject.defineProperty(exports, \"hexZeroPad\", { enumerable: true, get: function () { return bytes_1.hexZeroPad; } });\nObject.defineProperty(exports, \"isBytes\", { enumerable: true, get: function () { return bytes_1.isBytes; } });\nObject.defineProperty(exports, \"isBytesLike\", { enumerable: true, get: function () { return bytes_1.isBytesLike; } });\nObject.defineProperty(exports, \"isHexString\", { enumerable: true, get: function () { return bytes_1.isHexString; } });\nObject.defineProperty(exports, \"joinSignature\", { enumerable: true, get: function () { return bytes_1.joinSignature; } });\nObject.defineProperty(exports, \"zeroPad\", { enumerable: true, get: function () { return bytes_1.zeroPad; } });\nObject.defineProperty(exports, \"splitSignature\", { enumerable: true, get: function () { return bytes_1.splitSignature; } });\nObject.defineProperty(exports, \"stripZeros\", { enumerable: true, get: function () { return bytes_1.stripZeros; } });\nvar hash_1 = require(\"@ethersproject/hash\");\nObject.defineProperty(exports, \"_TypedDataEncoder\", { enumerable: true, get: function () { return hash_1._TypedDataEncoder; } });\nObject.defineProperty(exports, \"dnsEncode\", { enumerable: true, get: function () { return hash_1.dnsEncode; } });\nObject.defineProperty(exports, \"hashMessage\", { enumerable: true, get: function () { return hash_1.hashMessage; } });\nObject.defineProperty(exports, \"id\", { enumerable: true, get: function () { return hash_1.id; } });\nObject.defineProperty(exports, \"isValidName\", { enumerable: true, get: function () { return hash_1.isValidName; } });\nObject.defineProperty(exports, \"namehash\", { enumerable: true, get: function () { return hash_1.namehash; } });\nvar hdnode_1 = require(\"@ethersproject/hdnode\");\nObject.defineProperty(exports, \"defaultPath\", { enumerable: true, get: function () { return hdnode_1.defaultPath; } });\nObject.defineProperty(exports, \"entropyToMnemonic\", { enumerable: true, get: function () { return hdnode_1.entropyToMnemonic; } });\nObject.defineProperty(exports, \"getAccountPath\", { enumerable: true, get: function () { return hdnode_1.getAccountPath; } });\nObject.defineProperty(exports, \"HDNode\", { enumerable: true, get: function () { return hdnode_1.HDNode; } });\nObject.defineProperty(exports, \"isValidMnemonic\", { enumerable: true, get: function () { return hdnode_1.isValidMnemonic; } });\nObject.defineProperty(exports, \"mnemonicToEntropy\", { enumerable: true, get: function () { return hdnode_1.mnemonicToEntropy; } });\nObject.defineProperty(exports, \"mnemonicToSeed\", { enumerable: true, get: function () { return hdnode_1.mnemonicToSeed; } });\nvar json_wallets_1 = require(\"@ethersproject/json-wallets\");\nObject.defineProperty(exports, \"getJsonWalletAddress\", { enumerable: true, get: function () { return json_wallets_1.getJsonWalletAddress; } });\nvar keccak256_1 = require(\"@ethersproject/keccak256\");\nObject.defineProperty(exports, \"keccak256\", { enumerable: true, get: function () { return keccak256_1.keccak256; } });\nvar logger_1 = require(\"@ethersproject/logger\");\nObject.defineProperty(exports, \"Logger\", { enumerable: true, get: function () { return logger_1.Logger; } });\nvar sha2_1 = require(\"@ethersproject/sha2\");\nObject.defineProperty(exports, \"computeHmac\", { enumerable: true, get: function () { return sha2_1.computeHmac; } });\nObject.defineProperty(exports, \"ripemd160\", { enumerable: true, get: function () { return sha2_1.ripemd160; } });\nObject.defineProperty(exports, \"sha256\", { enumerable: true, get: function () { return sha2_1.sha256; } });\nObject.defineProperty(exports, \"sha512\", { enumerable: true, get: function () { return sha2_1.sha512; } });\nvar solidity_1 = require(\"@ethersproject/solidity\");\nObject.defineProperty(exports, \"solidityKeccak256\", { enumerable: true, get: function () { return solidity_1.keccak256; } });\nObject.defineProperty(exports, \"solidityPack\", { enumerable: true, get: function () { return solidity_1.pack; } });\nObject.defineProperty(exports, \"soliditySha256\", { enumerable: true, get: function () { return solidity_1.sha256; } });\nvar random_1 = require(\"@ethersproject/random\");\nObject.defineProperty(exports, \"randomBytes\", { enumerable: true, get: function () { return random_1.randomBytes; } });\nObject.defineProperty(exports, \"shuffled\", { enumerable: true, get: function () { return random_1.shuffled; } });\nvar properties_1 = require(\"@ethersproject/properties\");\nObject.defineProperty(exports, \"checkProperties\", { enumerable: true, get: function () { return properties_1.checkProperties; } });\nObject.defineProperty(exports, \"deepCopy\", { enumerable: true, get: function () { return properties_1.deepCopy; } });\nObject.defineProperty(exports, \"defineReadOnly\", { enumerable: true, get: function () { return properties_1.defineReadOnly; } });\nObject.defineProperty(exports, \"getStatic\", { enumerable: true, get: function () { return properties_1.getStatic; } });\nObject.defineProperty(exports, \"resolveProperties\", { enumerable: true, get: function () { return properties_1.resolveProperties; } });\nObject.defineProperty(exports, \"shallowCopy\", { enumerable: true, get: function () { return properties_1.shallowCopy; } });\nvar RLP = __importStar(require(\"@ethersproject/rlp\"));\nexports.RLP = RLP;\nvar signing_key_1 = require(\"@ethersproject/signing-key\");\nObject.defineProperty(exports, \"computePublicKey\", { enumerable: true, get: function () { return signing_key_1.computePublicKey; } });\nObject.defineProperty(exports, \"recoverPublicKey\", { enumerable: true, get: function () { return signing_key_1.recoverPublicKey; } });\nObject.defineProperty(exports, \"SigningKey\", { enumerable: true, get: function () { return signing_key_1.SigningKey; } });\nvar strings_1 = require(\"@ethersproject/strings\");\nObject.defineProperty(exports, \"formatBytes32String\", { enumerable: true, get: function () { return strings_1.formatBytes32String; } });\nObject.defineProperty(exports, \"nameprep\", { enumerable: true, get: function () { return strings_1.nameprep; } });\nObject.defineProperty(exports, \"parseBytes32String\", { enumerable: true, get: function () { return strings_1.parseBytes32String; } });\nObject.defineProperty(exports, \"_toEscapedUtf8String\", { enumerable: true, get: function () { return strings_1._toEscapedUtf8String; } });\nObject.defineProperty(exports, \"toUtf8Bytes\", { enumerable: true, get: function () { return strings_1.toUtf8Bytes; } });\nObject.defineProperty(exports, \"toUtf8CodePoints\", { enumerable: true, get: function () { return strings_1.toUtf8CodePoints; } });\nObject.defineProperty(exports, \"toUtf8String\", { enumerable: true, get: function () { return strings_1.toUtf8String; } });\nObject.defineProperty(exports, \"Utf8ErrorFuncs\", { enumerable: true, get: function () { return strings_1.Utf8ErrorFuncs; } });\nvar transactions_1 = require(\"@ethersproject/transactions\");\nObject.defineProperty(exports, \"accessListify\", { enumerable: true, get: function () { return transactions_1.accessListify; } });\nObject.defineProperty(exports, \"computeAddress\", { enumerable: true, get: function () { return transactions_1.computeAddress; } });\nObject.defineProperty(exports, \"parseTransaction\", { enumerable: true, get: function () { return transactions_1.parse; } });\nObject.defineProperty(exports, \"recoverAddress\", { enumerable: true, get: function () { return transactions_1.recoverAddress; } });\nObject.defineProperty(exports, \"serializeTransaction\", { enumerable: true, get: function () { return transactions_1.serialize; } });\nObject.defineProperty(exports, \"TransactionTypes\", { enumerable: true, get: function () { return transactions_1.TransactionTypes; } });\nvar units_1 = require(\"@ethersproject/units\");\nObject.defineProperty(exports, \"commify\", { enumerable: true, get: function () { return units_1.commify; } });\nObject.defineProperty(exports, \"formatEther\", { enumerable: true, get: function () { return units_1.formatEther; } });\nObject.defineProperty(exports, \"parseEther\", { enumerable: true, get: function () { return units_1.parseEther; } });\nObject.defineProperty(exports, \"formatUnits\", { enumerable: true, get: function () { return units_1.formatUnits; } });\nObject.defineProperty(exports, \"parseUnits\", { enumerable: true, get: function () { return units_1.parseUnits; } });\nvar wallet_1 = require(\"@ethersproject/wallet\");\nObject.defineProperty(exports, \"verifyMessage\", { enumerable: true, get: function () { return wallet_1.verifyMessage; } });\nObject.defineProperty(exports, \"verifyTypedData\", { enumerable: true, get: function () { return wallet_1.verifyTypedData; } });\nvar web_1 = require(\"@ethersproject/web\");\nObject.defineProperty(exports, \"_fetchData\", { enumerable: true, get: function () { return web_1._fetchData; } });\nObject.defineProperty(exports, \"fetchJson\", { enumerable: true, get: function () { return web_1.fetchJson; } });\nObject.defineProperty(exports, \"poll\", { enumerable: true, get: function () { return web_1.poll; } });\n////////////////////////\n// Enums\nvar sha2_2 = require(\"@ethersproject/sha2\");\nObject.defineProperty(exports, \"SupportedAlgorithm\", { enumerable: true, get: function () { return sha2_2.SupportedAlgorithm; } });\nvar strings_2 = require(\"@ethersproject/strings\");\nObject.defineProperty(exports, \"UnicodeNormalizationForm\", { enumerable: true, get: function () { return strings_2.UnicodeNormalizationForm; } });\nObject.defineProperty(exports, \"Utf8ErrorReason\", { enumerable: true, get: function () { return strings_2.Utf8ErrorReason; } });\n//# sourceMappingURL=utils.js.map","function Ir(r){return r.length!==0}function vr(r){return r.filter(e=>e!=null)}function p(){let r=null,e=null,t=new Promise((o,n)=>{r=i=>o(i),e=i=>n(i)});return[r,e,t]}import{reaction as G}from\"mobx\";async function R(r){let[e,,t]=p(),o=G(()=>r.get(),i=>{i&&e(i)},{fireImmediately:!0}),n=await t;return o(),n}function B(r){return typeof r==\"object\"&&!Array.isArray(r)&&r!==null}function O(r){return r instanceof Function}import{reaction as q}from\"mobx\";import Q from\"proxy-deep\";function S(r,e){if(e.length===0)return r;if(e.length===1)return r[e[0]];let[t,...o]=e,n=r[t];if(!B(n))throw new Error(\"Path does not exist on the target\");return S(n,o)}function $r(r){let e=[],t=new Q({},{get(o,n){let i=r.get();return i?n===\"proxied\"?!1:Reflect.get(i,n):n===\"proxied\"?!0:n===\"name\"?\"ProxiedTarget\":n===\"toJSON\"?()=>({proxied:!0}):this.nest(()=>{})},apply(o,n,i){let s=r.get();if(s){let a=S(s,this.path);if(!O(a))throw new Error(\"Target is not callable\");return Reflect.apply(a,n,i)}else{let[a,l,u]=p();return e.push({path:this.path,args:i,resolve:a,reject:l}),u}}});return q(()=>r.get(),o=>{if(!o)return;let n=e.splice(0);for(let{path:i,args:s,resolve:a,reject:l}of n){let u=S(o,i);s&&O(u)?(async()=>{try{a(await u(...s))}catch(f){l(f)}})():a(u)}}),t}function Yr(r){let e=[];for(let t of Object.values(r))isNaN(Number(t))||e.push(Number(t));return e}function Jr(r,e){let t={};for(let o in r)t[o]=e(r[o],o);return t}function Z(r,e=0){return Math.floor(Math.random()*(r-e+1))+e}function Xr(r){return r[Z(r.length-1)]}import{concatMap as rr,delay as er,filter as tr,first as or,mergeMap as nr,of as ir,pipe as E,ReplaySubject as F,scan as ar,timestamp as sr}from\"rxjs\";import{computed as U,observable as P,reaction as _,runInAction as j,toJS as ur}from\"mobx\";function lr(){return E(tr(r=>r!=null))}function oe(){return E(rr(r=>r))}function ne(r){return E(sr(),ar((e,t)=>{let o=0;if(e!==null){let n=t.timestamp-e.timestamp;o=n>r?0:r-n}return{timestamp:t.timestamp,delay:o,value:t.value}},null),lr(),nr(e=>ir(e.value).pipe(er(e.delay)),1))}function ie(r){return U(()=>r.get())}function ae(r){let e=new F(1);return _(()=>r.get(),t=>{t!=null&&e.next(t)},{fireImmediately:!0}),e}function se(r){let e=new F(1);return _(()=>ur(r),t=>{t!=null&&e.next(t)},{fireImmediately:!0}),e}function ue(r){let e=P.box();return r.subscribe(t=>j(()=>e.set(t))),U(()=>e.get())}async function le(r){let e=P.box();r.subscribe(o=>j(()=>e.set(o)));let t=U(()=>e.get());return await R(t),t}async function cr(r,e=t=>t!=null){let[t,,o]=p();return r.pipe(or(e)).subscribe(t),o}async function ce(r){let e={};return r.subscribe(t=>e.current=t),e.current=await cr(r),e}var fe=function(){let r=mr,e=fr;return e(r(32),8)+\"-\"+e(r(16),4)+\"-\"+e(16384|r(12),4)+\"-\"+e(32768|r(14),4)+\"-\"+e(r(48),12)},mr=function(r){if(r<0||r>53)return NaN;let e=0|Math.random()*1073741824;return r>30?e+(0|Math.random()*(1<>>30-r},fr=function(r,e){let t=r.toString(16),o=e-t.length,n=\"0\";for(;o>0;o>>>=1,n+=n)o&1&&(t=n+t);return t};function M(r,e){return new Promise(t=>setTimeout(()=>t(e),r))}var be=function*(r=0,e=1,t=0){for(let o=0;oPromise.race([r,pr(e,t)]),ye=(r,e=[],t=10,o=1e3)=>{let[n,i,s]=p();return(async()=>{let l;for(let u=0;u=r.length;return o?{done:o,value:null}:{value:r[e++]}}})}function ve(r,e){return e.x>=r.x&&e.y>=r.y&&e.xr.postMessage(t)),D(r,\"message\").pipe(Y(t=>t.data))}function Pe(r){let e=D(self,\"message\");r.work(e.pipe(Y(o=>o.data))).subscribe(o=>self.postMessage(o))}function br(r,e){return r&2**e-1}function gr(r,e){if(e.reduce((o,n)=>o+n,0)>32)throw new Error(\"JS pretends integers are 32 bit when bitshifts are involved\");if(r.length!==e.length)throw new Error(\"Arrays' lengths must match\");for(let o=0;o2**e[o]-1){let n=`Overflow: ${r[o]} does not fit in ${e[o]} bits`;throw new Error(n)}}let t=0;for(let o=0;o=0;n--)t.unshift(br(o,e[n])),o=o>>>e[n];return t}function je(r){return gr(r,[8,24])}function $e(r){return yr(r,[8,24])}var hr=2**16-1,h=2**15-1;function We(r,e){let t=new A;for(let o of r.coords())e.get(o)||t.set(o,!0);return t}function v(r){return r.x<<16|r.y&hr}function W(r){let e=r>>16,t=r<<16>>16;return{x:e,y:t}}var A=class{map;defaultValue;constructor(e){this.map=new Map,this.defaultValue=e?.defaultValue}static from(e){let t=new A;return t.map=e.map,t.defaultValue=e.defaultValue,t}set(e,t){if(e.x>h||e.x<-1*h||e.y>h||e.y<-1*h)throw new Error(`CoordMap only supports coords up to ${h}`);return this.map.set(v(e),t)}get(e){return this.map.get(v(e))??this.defaultValue}keys(){return this.map.keys()}coords(){return I(this.map.keys(),e=>W(e))}entries(){return this.map.entries()}toArray(){return Array.from(this.map.entries()).map(([t,o])=>[W(t),o])}values(){return this.map.values()}delete(e){return this.map.delete(v(e))}has(e){return this.map.has(v(e))}clear(){for(let e of this.map.keys())this.map.delete(e)}get size(){return this.map.size}};function k(r){return`${r.x}/${r.y}/${r.z}`}function J(r){let e=r.split(\"/\");return{x:Number(e[0]),y:Number(e[1]),z:Number(e[2])}}var V=class{map;defaultValue;constructor(e){this.map=new Map,this.defaultValue=e?.defaultValue}static from(e){let t=new V;return t.map=e.map,t.defaultValue=e.defaultValue,t}set(e,t){return this.map.set(k(e),t)}get(e){return this.map.get(k(e))??this.defaultValue}keys(){return this.map.keys()}coords(){return I(this.map.keys(),e=>J(e))}entries(){return this.map.entries()}toArray(){return Array.from(this.map.entries()).map(([t,o])=>[J(t),o])}values(){return this.map.values()}delete(e){return this.map.delete(k(e))}has(e){return this.map.has(k(e))}clear(){for(let e of this.map.keys())this.map.delete(e)}get size(){return this.map.size}};function H(r,e){r.substring(0,2)==\"0x\"&&(r=r.substring(2));let t=e/4;return r=r.padStart(t,\"0\"),r=r.substring(r.length-t),`0x${r}`}function X(r){return H(r,160)}function ze(r){return H(r,256)}function Ke(r){if(r[0]!==\"0\"&&r[1]!==\"x\")throw new Error(\"Invalid hex string\");return\"0x\"+r.substring(10)}function d(r,e,t){return(((e^t)*134775813^r+e)*(1103515245*e<<16^1103515245*t-134775813)>>>0)/4294967295}function m(r,e){if(r<0)for(;r<0;)r+=e;return r%e}function N(r,e,t,o,n,i,s){let a=o-t-(r-e);return(e*Math.pow(i,3)+n*(t*Math.pow(i,2)+r*i*(-i+n)+n*(-(e+a)*i+a*n)))*s}function Ge(r,e,t,o=Number.MAX_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return{seed:Math.floor(r*Number.MAX_SAFE_INTEGER),periodX:o,periodY:n,octave:e,scale:t}}function qe(r,e){let t=Math.floor(e),o=e-t;return N(d(r.seed,m(t-1,r.periodX),0),d(r.seed,m(t,r.periodX),0),d(r.seed,m(t+1,r.periodX),0),d(r.seed,m(t+2,r.periodX),0),o,1,1)*.666666+.166666}function Qe({octave:r,periodX:e,periodY:t,seed:o,scale:n},i,s){let a=Math.floor(i/r),l=Math.floor(i*1e3/r)-a*1e3,u=Math.floor(s/r),f=Math.floor(s*1e3/r)-u*1e3,T=m(a-1,e),c=m(a,e),b=m(a+1,e),L=m(a+2,e),g=new Array(4);for(let w=0;w<4;++w){let C=m(u-1+w,t);g[w]=N(d(o,T,C),d(o,c,C),d(o,b,C),d(o,L,C),l,1e3,1)}return Math.floor(N(g[0],g[1],g[2],g[3],f,1e3,n)/Math.pow(1e3,6))}var x=\"mud-logger-topics\";function rt(){let r=window.console,e=!!localStorage.getItem(x),t=localStorage.getItem(x),o=t?JSON.parse(t):[];function n(...c){e||r.log(...c)}function i(c,...b){(!e||o.includes(c))&&(r.log(`--- BETTER CONSOLE / TOPIC ${c} ---`),r.log(...b))}function s(){localStorage.setItem(x,JSON.stringify([])),e=!0}function a(){localStorage.removeItem(x),e=!1}function l(c){o.push(c),localStorage.setItem(x,JSON.stringify(o))}function u(c){o=o.filter(b=>b!==c),localStorage.setItem(x,JSON.stringify(o))}function f(){o=[],localStorage.setItem(x,JSON.stringify(o))}let T={...r,log:n,logWithTopic:i,enableFilters:s,disableFilters:a,addTopic:l,removeTopic:u,resetTopics:f};return window.logger=T,window.console=T,T}function tt(r,e){if(r.length!==e.length)throw new Error(\"points must have same dimension\");return Math.sqrt(r.reduce((t,o,n)=>t+Math.pow(r[n]-e[n],2),0))}function nt(r){return(r<0?-1:1)*Math.floor(Math.abs(r))}var at=r=>`0x${[...new Uint8Array(r)].map(e=>e.toString(16).padStart(2,\"0\")).join(\"\")}`;var ut=r=>[...r].map(e=>String.fromCharCode(e)).join(\"\");function z(r){return/^(0x)?([\\da-f]{2})*$/i.test(r)}var K=r=>{if(!z(r))throw console.error(\"Invalid hex string\",r),new Error(\"Invalid hex string\");let e=r.match(/[\\da-f]{2}/gi);return e?new Uint8Array(e.map(t=>parseInt(t,16))):new Uint8Array([])};var pt=r=>{if(r.length>16)throw new Error(\"string too long\");return new Uint8Array(16).map((e,t)=>r.charCodeAt(t))},dt=r=>{if(r.length>32)throw new Error(\"string too long\");return new Uint8Array(32).map((e,t)=>r.charCodeAt(t))};function Ar(r){return r.substring(0,2)==\"0x\"&&(r=r.substring(2)),(r.length%2!==0?\"0x0\":\"0x\")+r}function wr(r){return K(r)}function It(r){return r.length===0?\"0x00\":Ar(r.reduce((e,t)=>e+t.toString(16).padStart(2,\"0\"),\"\"))}function vt(...r){return Uint8Array.from(r.reduce((e,t)=>[...e,...t],[]))}function kt(r,e){let t=[],o=0;for(let n of e){let i=new Uint8Array(n);t.push(i);for(let s=0;s64)throw new Error(\"Maximum size is 64\");let e=2**(r-1)-1,t=-e-1;return o=>{if(o=o<<0,o>e||oe,o(o[o.Boolean=0]=\"Boolean\",o[o.Number=1]=\"Number\",o[o.OptionalNumber=2]=\"OptionalNumber\",o[o.BigInt=3]=\"BigInt\",o[o.OptionalBigInt=4]=\"OptionalBigInt\",o[o.String=5]=\"String\",o[o.OptionalString=6]=\"OptionalString\",o[o.NumberArray=7]=\"NumberArray\",o[o.OptionalNumberArray=8]=\"OptionalNumberArray\",o[o.BigIntArray=9]=\"BigIntArray\",o[o.OptionalBigIntArray=10]=\"OptionalBigIntArray\",o[o.StringArray=11]=\"StringArray\",o[o.OptionalStringArray=12]=\"OptionalStringArray\",o[o.Entity=13]=\"Entity\",o[o.OptionalEntity=14]=\"OptionalEntity\",o[o.EntityArray=15]=\"EntityArray\",o[o.OptionalEntityArray=16]=\"OptionalEntityArray\",o[o.T=17]=\"T\",o[o.OptionalT=18]=\"OptionalT\",o))(P||{}),w=(i=>(i[i.Enter=0]=\"Enter\",i[i.Exit=1]=\"Exit\",i[i.Update=2]=\"Update\",i[i.Noop=3]=\"Noop\",i))(w||{}),k=[14,16,2,8,4,10,6,12,18];import{transformIterator as j,uuid as L}from\"@latticexyz/utils\";import{mapObject as N}from\"@latticexyz/utils\";import{filter as D,map as K,Subject as $}from\"rxjs\";function M(e){let t=new Map;function n(l){let s=t.get(a(l));return s?new Set([...s].map(x)):new Set}function a(l){return Object.values(l).join(\"/\")}function i(l,s){if(!s)return;let v=a(s),f=t.get(v);f||(f=new Set,t.set(v,f)),f.add(l)}function d(l,s){if(!s)return;let v=a(s),f=t.get(v);f&&f.delete(l)}for(let l of O(e)){let s=g(e,l);i(p(l),s)}let c=e.update$.subscribe(({entity:l,value:s})=>{d(p(l),s[1]),i(p(l),s[0])});return e.world.registerDisposer(()=>c?.unsubscribe()),{...e,getEntitiesWithValue:n}}import{map as W,pipe as B}from\"rxjs\";function X(e,t){return e.component===t}function F(e,t){let n=g(t,e);return{entity:e,component:t,value:[n,void 0],type:n==null?3:0}}function Y(e){return B(W(t=>F(t,e)))}function I(e){return\"getEntitiesWithValue\"in e}function T(e,t){return Object.keys(e.schema).every(n=>n in t)}function b(e){return e.metadata?.componentName??e.metadata?.tableName??e.metadata?.tableId??e.metadata?.contractId??e.id}function ie(e,t,n){if(Object.keys(t).length===0)throw new Error(\"Component schema must have at least one key\");let a=n?.id??L(),i=N(t,()=>new Map),d=new $,c=n?.metadata,s={values:i,schema:t,id:a,update$:d,metadata:c,entities:()=>j(Object.values(i)[0].keys(),x),world:e};return n?.indexed&&(s=M(s)),e.registerComponent(s),s}function E(e,t,n){let a=p(t),i=g(e,t);for(let[d,c]of Object.entries(n))e.values[d]?e.values[d].set(a,c):e.metadata?.tableId&&/^\\d+$/.test(d)||console.warn(\"Component definition for\",b(e),\"is missing key\",d,\", ignoring value\",c,\"for entity\",t,\". Existing keys: \",Object.keys(e.values));e.update$.next({entity:t,value:[n,i],component:e})}function ue(e,t,n,a){let i=g(e,t);if(i===void 0){if(a===void 0)throw new Error(`Can't update component ${b(e)} without a current value or initial value`);E(e,t,{...a,...n})}else E(e,t,{...i,...n})}function se(e,t){let n=p(t),a=g(e,t);for(let i of Object.keys(e.values))e.values[i].delete(n);e.update$.next({entity:t,value:[void 0,a],component:e})}function le(e,t){let n=p(t);return Object.values(e.values)[0].has(n)}function g(e,t){let n={},a=p(t),i=Object.keys(e.schema);for(let d of i){let c=e.values[d].get(a);if(c===void 0&&!k.includes(e.schema[d]))return;n[d]=c}return n}function de(e,t){let n=g(e,t);if(!n)throw new Error(`No value for component ${b(e)} on entity ${t}`);return n}function q(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=!0;for(let a of Object.keys(e))if(n=e[a]===t[a],!n)return!1;return n}function me(e,t){return[e,t]}function ce(e,t){if(I(e)&&T(e,t))return e.getEntitiesWithValue(t);let n=new Set;for(let a of O(e)){let i=g(e,a);q(t,i)&&n.add(a)}return n}function O(e){return e.entities()}function Se(e){let t=0,n=new Map,a=new Map,i=new $;function d(u,r){n.set(u,{update:r,nonce:t++}),C(r.entity,r.value)}function c(u){let r=n.get(u)?.update.entity;if(n.delete(u),r==null)return;let S=[...n.values()].filter(m=>m.update.entity===r).sort((m,h)=>m.nonce0){let m=S[S.length-1];C(r,m.update.value)}else C(r,void 0)}function l(u){let r=g(e,u),S=p(u),m=a.get(S);return(r||m)&&m!==null?{...r,...m}:void 0}let s=u=>({get(r,S){return S===\"get\"?m=>{let h=r.get(m),V=a.get(m);return V&&V[u]!=null?V[u]:h}:S===\"has\"?m=>r.has(m)||a.has(m):S===\"keys\"?()=>new Set([...r.keys(),...a.keys()]).values():Reflect.get(r,S,r)}}),v={};for(let u of Object.keys(e.values))v[u]=new Proxy(e.values[u],s(u));let f=v,y=new Proxy(e,{get(u,r){return r===\"addOverride\"?d:r===\"removeOverride\"?c:r===\"values\"?f:r===\"update$\"?i:r===\"entities\"?()=>new Set([...j(a.keys(),x),...u.entities()]).values():Reflect.get(u,r)},has(u,r){return r===\"addOverride\"||r===\"removeOverride\"?!0:r in u}});function C(u,r){let S=p(u),m=l(u);r!==void 0?a.set(S,r):a.delete(S),i.next({entity:u,value:[l(u),m],component:y})}return e.update$.pipe(D(u=>!a.get(p(u.entity))),K(u=>({...u,component:y}))).subscribe(i),y}function A(e,t){return`localcache-${t}-${e.id}`}function fe(e,t){localStorage.removeItem(A(e,t))}function pe(e,t){let{world:n,update$:a,values:i}=e,d=A(e,t),c=0,l=Date.now(),s=localStorage.getItem(d);if(s){let f=JSON.parse(s),y={};for(let[C,u]of f)for(let[r,S]of u)y[r]=y[r]||{},y[r][C]=S;for(let[C,u]of Object.entries(y)){let r=n.registerEntity({id:C});E(e,r,u)}console.info(\"Loading component\",b(e),\"from local cache.\")}let v=a.subscribe(()=>{c++;let f=JSON.stringify(Object.entries(N(i,y=>[...y.entries()].map(C=>[x(C[0]),C[1]]))));localStorage.setItem(d,f),c>200&&console.warn(\"Component\",b(e),\"was locally cached\",c,\"times since\",new Date(l).toLocaleTimeString(),\"- the local cache is in an alpha state and should not be used with components that update frequently yet\")});return e.world.registerDisposer(()=>v?.unsubscribe()),e}function ge(e,t,n){let a=e.registerEntity(n??{});if(t)for(let[i,d]of t)E(i,a,d);return a}function p(e){return Symbol.for(e)}function x(e){return Symbol.keyFor(e)}export{P as a,w as b,k as c,ge as d,p as e,x as f,M as g,X as h,F as i,Y as j,I as k,T as l,ie as m,E as n,ue as o,se as p,le as q,g as r,de as s,q as t,me as u,ce as v,O as w,Se as x,fe as y,pe as z};\n//# sourceMappingURL=chunk-EL5Z72NP.js.map","import{a as W,b as v,c as te,d as ne,e as S,f as V,g as re,h as oe,i as ie,j as g,k as pe,l as ae,m as ye,n as C,o as ue,p as E,q as s,r as l,s as me,t as h,u as de,v as O,w as b,x as se,y as le,z as ce}from\"./chunk-EL5Z72NP.js\";import{concat as K,EMPTY as X,from as Z}from\"rxjs\";import{filterNullish as R}from\"@latticexyz/utils\";import{observable as B}from\"mobx\";import{concat as $,concatMap as q,filter as F,from as D,map as j,merge as L,of as z,share as Y}from\"rxjs\";var N=(o=>(o[o.Has=0]=\"Has\",o[o.HasValue=1]=\"HasValue\",o[o.Not=2]=\"Not\",o[o.NotValue=3]=\"NotValue\",o[o.ProxyRead=4]=\"ProxyRead\",o[o.ProxyExpand=5]=\"ProxyExpand\",o))(N||{});function xe(e){return[2,4,6,14,16,8,10,12].includes(e)}function Te(e){return[7,8,9,10,11,12,15,16].includes(e)}function Se(e){return[1,2].includes(e)}function ge(e){return[13,14].includes(e)}function Ye(e){return{type:0,component:e}}function Ge(e){return{type:2,component:e}}function Je(e,t){return{type:1,component:e,value:t}}function Ke(e,t){return{type:3,component:e,value:t}}function Xe(e,t){return{type:4,component:e,depth:t}}function Ze(e,t){return{type:5,component:e,depth:t}}function c(e,t){if(t.type===0)return s(t.component,e);if(t.type===1)return h(t.value,l(t.component,e));if(t.type===2)return!s(t.component,e);if(t.type===3)return!h(t.value,l(t.component,e));throw new Error(\"Unknown query fragment\")}function G(e){return e.type===0||e.type==1}function P(e){return e.type===2||e.type==3}function J(e){return e.type===5||e.type==4}function U(e,t){return e&&G(t)||!e&&P(t)}function I(e,t,n){let r=e,a=!1;for(let y=0;y[...Q(y,t,n-1)]).flat();return new Set([...r,...a])}function A(e,t){let n=t?new Set([...t]):void 0,r,a;for(let y=0;y0&&!U(m,o)&&(m=I(p,o,r)??m),m||n.delete(p),a&&a.depth>0){let d=Q(p,a.component,a.depth);for(let i of d)(c(i,o)||r&&r.depth>0&&I(i,o,r))&&n.add(i)}}else{if(P(o))throw new Error(\"First EntityQueryFragment must be Has or HasValue\");if(n=o.type===0?new Set([...b(o.component)]):O(o.component,o.value),a&&a.depth>0)for(let p of[...n])for(let m of Q(p,a.component,a.depth))n.add(m)}}return n??new Set}function f(e,t){let n=t?.runOnInit||t?.initialSet?A(e,t.initialSet):new Set,r=B(n),a=D(r).pipe(g(e[0].component)),y=e.findIndex(p=>[5,4].includes(p.type))!==-1,o=L(...e.map(p=>p.component.update$)).pipe(y?q(p=>{let m=A(e,t?.initialSet),d=[];for(let i of r)m.has(i)||(r.delete(i),d.push({entity:i,type:1,component:p.component,value:[void 0,void 0]}));for(let i of m)r.has(i)?d.push({entity:i,type:2,component:p.component,value:[l(p.component,i),void 0]}):(r.add(i),d.push({entity:i,type:0,component:p.component,value:[l(p.component,i),void 0]}));return z(...d)}):j(p=>{if(r.has(p.entity))return e.filter(u=>u.component.id===p.component.id).every(u=>c(p.entity,u))?{...p,type:2}:(r.delete(p.entity),{...p,type:1});if(e.every(d=>c(p.entity,d)))return r.add(p.entity),{...p,type:0}}),R());return{matching:r,update$:$(a,o).pipe(Y())}}function H(e,t){return f(e,t).update$.pipe(F(n=>n.type===2))}function w(e,t){return f(e,t).update$.pipe(F(n=>n.type===0))}function k(e,t){return f(e,t).update$.pipe(F(n=>n.type===1))}function x(e,t,n){let r=t.subscribe(n);e.registerDisposer(()=>r?.unsubscribe())}function pt(e,t,n,r={runOnInit:!0}){x(e,H(t,r),n)}function at(e,t,n,r={runOnInit:!0}){x(e,w(t,r),n)}function yt(e,t,n,r={runOnInit:!0}){x(e,k(t,r),n)}function _(e,t,n,r={runOnInit:!0}){x(e,f(t,r).update$,n)}function ut(e,t,n,r={runOnInit:!0}){let a=r?.runOnInit?Z(b(t)).pipe(g(t)):X;x(e,K(a,t.update$),n)}function mt(e,t,n,r,a={update:!1,runOnInit:!0}){_(e,t,({entity:y,type:o})=>{o===0&&C(n(y),y,r(y)),o===1&&E(n(y),y),a?.update&&o===2&&C(n(y),y,r(y))},a)}import{transformIterator as ee}from\"@latticexyz/utils\";function ft(){let e=new Set,t=[],n=[];function r({id:i,idSuffix:u}={}){let T=i||e.size+(u?\"-\"+u:\"\"),M=S(T);return e.add(M),T}function a(){return ee(e.values(),V)}function y(i){t.push(i)}function o(i){for(let[,u]of n.filter(T=>!i||T[0]===i))u();n=n.filter(u=>i&&u[0]!==i)}function p(i,u=\"\"){n.push([u,i])}function m(i){let u=S(i);return e.has(u)}function d(i){for(let u of t)s(u,i)&&E(u,i);e.delete(S(i))}return{registerEntity:r,components:t,registerComponent:y,dispose:o,registerDisposer:p,hasEntity:m,getEntities:a,entitySymbols:e,deleteEntity:d}}function xt(e,t){return{...e,registerDisposer:n=>e.registerDisposer(n,t),dispose:()=>e.dispose(t)}}function Tt(e,t){return e.components.filter(n=>s(n,t))}export{Ye as Has,Je as HasValue,Ge as Not,Ke as NotValue,te as OptionalTypes,Ze as ProxyExpand,Xe as ProxyRead,N as QueryFragmentType,W as Type,v as UpdateType,le as clearLocalCache,h as componentValueEquals,ne as createEntity,re as createIndexer,ce as createLocalCache,ft as createWorld,ye as defineComponent,ut as defineComponentSystem,w as defineEnterQuery,at as defineEnterSystem,k as defineExitQuery,yt as defineExitSystem,f as defineQuery,x as defineRxSystem,mt as defineSyncSystem,_ as defineSystem,H as defineUpdateQuery,pt as defineUpdateSystem,Q as getChildEntities,b as getComponentEntities,l as getComponentValue,me as getComponentValueStrict,O as getEntitiesWithValue,Tt as getEntityComponents,V as getEntityString,S as getEntitySymbol,s as hasComponent,Te as isArrayType,oe as isComponentUpdate,ge as isEntityType,ae as isFullComponentValue,pe as isIndexer,Se as isNumberType,xe as isOptionalType,xt as namespaceWorld,se as overridableComponent,E as removeComponent,A as runQuery,C as setComponent,ie as toUpdate,g as toUpdateStream,ue as updateComponent,de as withValue};\n//# sourceMappingURL=index.js.map","var i=/\\[\\]$/;function b(t){return i.test(t)}function r(t){return t.replace(i,\"\")}var n=[\"uint8\",\"uint16\",\"uint24\",\"uint32\",\"uint40\",\"uint48\",\"uint56\",\"uint64\",\"uint72\",\"uint80\",\"uint88\",\"uint96\",\"uint104\",\"uint112\",\"uint120\",\"uint128\",\"uint136\",\"uint144\",\"uint152\",\"uint160\",\"uint168\",\"uint176\",\"uint184\",\"uint192\",\"uint200\",\"uint208\",\"uint216\",\"uint224\",\"uint232\",\"uint240\",\"uint248\",\"uint256\",\"int8\",\"int16\",\"int24\",\"int32\",\"int40\",\"int48\",\"int56\",\"int64\",\"int72\",\"int80\",\"int88\",\"int96\",\"int104\",\"int112\",\"int120\",\"int128\",\"int136\",\"int144\",\"int152\",\"int160\",\"int168\",\"int176\",\"int184\",\"int192\",\"int200\",\"int208\",\"int216\",\"int224\",\"int232\",\"int240\",\"int248\",\"int256\",\"bytes1\",\"bytes2\",\"bytes3\",\"bytes4\",\"bytes5\",\"bytes6\",\"bytes7\",\"bytes8\",\"bytes9\",\"bytes10\",\"bytes11\",\"bytes12\",\"bytes13\",\"bytes14\",\"bytes15\",\"bytes16\",\"bytes17\",\"bytes18\",\"bytes19\",\"bytes20\",\"bytes21\",\"bytes22\",\"bytes23\",\"bytes24\",\"bytes25\",\"bytes26\",\"bytes27\",\"bytes28\",\"bytes29\",\"bytes30\",\"bytes31\",\"bytes32\",\"bool\",\"address\",\"uint8[]\",\"uint16[]\",\"uint24[]\",\"uint32[]\",\"uint40[]\",\"uint48[]\",\"uint56[]\",\"uint64[]\",\"uint72[]\",\"uint80[]\",\"uint88[]\",\"uint96[]\",\"uint104[]\",\"uint112[]\",\"uint120[]\",\"uint128[]\",\"uint136[]\",\"uint144[]\",\"uint152[]\",\"uint160[]\",\"uint168[]\",\"uint176[]\",\"uint184[]\",\"uint192[]\",\"uint200[]\",\"uint208[]\",\"uint216[]\",\"uint224[]\",\"uint232[]\",\"uint240[]\",\"uint248[]\",\"uint256[]\",\"int8[]\",\"int16[]\",\"int24[]\",\"int32[]\",\"int40[]\",\"int48[]\",\"int56[]\",\"int64[]\",\"int72[]\",\"int80[]\",\"int88[]\",\"int96[]\",\"int104[]\",\"int112[]\",\"int120[]\",\"int128[]\",\"int136[]\",\"int144[]\",\"int152[]\",\"int160[]\",\"int168[]\",\"int176[]\",\"int184[]\",\"int192[]\",\"int200[]\",\"int208[]\",\"int216[]\",\"int224[]\",\"int232[]\",\"int240[]\",\"int248[]\",\"int256[]\",\"bytes1[]\",\"bytes2[]\",\"bytes3[]\",\"bytes4[]\",\"bytes5[]\",\"bytes6[]\",\"bytes7[]\",\"bytes8[]\",\"bytes9[]\",\"bytes10[]\",\"bytes11[]\",\"bytes12[]\",\"bytes13[]\",\"bytes14[]\",\"bytes15[]\",\"bytes16[]\",\"bytes17[]\",\"bytes18[]\",\"bytes19[]\",\"bytes20[]\",\"bytes21[]\",\"bytes22[]\",\"bytes23[]\",\"bytes24[]\",\"bytes25[]\",\"bytes26[]\",\"bytes27[]\",\"bytes28[]\",\"bytes29[]\",\"bytes30[]\",\"bytes31[]\",\"bytes32[]\",\"bool[]\",\"address[]\",\"bytes\",\"string\"],e=n.slice(0,98),y=n.slice(98);var s={\"uint8[]\":[],\"uint16[]\":[],\"uint24[]\":[],\"uint32[]\":[],\"uint40[]\":[],\"uint48[]\":[],\"uint56[]\":[],\"uint64[]\":[],\"uint72[]\":[],\"uint80[]\":[],\"uint88[]\":[],\"uint96[]\":[],\"uint104[]\":[],\"uint112[]\":[],\"uint120[]\":[],\"uint128[]\":[],\"uint136[]\":[],\"uint144[]\":[],\"uint152[]\":[],\"uint160[]\":[],\"uint168[]\":[],\"uint176[]\":[],\"uint184[]\":[],\"uint192[]\":[],\"uint200[]\":[],\"uint208[]\":[],\"uint216[]\":[],\"uint224[]\":[],\"uint232[]\":[],\"uint240[]\":[],\"uint248[]\":[],\"uint256[]\":[],\"int8[]\":[],\"int16[]\":[],\"int24[]\":[],\"int32[]\":[],\"int40[]\":[],\"int48[]\":[],\"int56[]\":[],\"int64[]\":[],\"int72[]\":[],\"int80[]\":[],\"int88[]\":[],\"int96[]\":[],\"int104[]\":[],\"int112[]\":[],\"int120[]\":[],\"int128[]\":[],\"int136[]\":[],\"int144[]\":[],\"int152[]\":[],\"int160[]\":[],\"int168[]\":[],\"int176[]\":[],\"int184[]\":[],\"int192[]\":[],\"int200[]\":[],\"int208[]\":[],\"int216[]\":[],\"int224[]\":[],\"int232[]\":[],\"int240[]\":[],\"int248[]\":[],\"int256[]\":[],\"bytes1[]\":[],\"bytes2[]\":[],\"bytes3[]\":[],\"bytes4[]\":[],\"bytes5[]\":[],\"bytes6[]\":[],\"bytes7[]\":[],\"bytes8[]\":[],\"bytes9[]\":[],\"bytes10[]\":[],\"bytes11[]\":[],\"bytes12[]\":[],\"bytes13[]\":[],\"bytes14[]\":[],\"bytes15[]\":[],\"bytes16[]\":[],\"bytes17[]\":[],\"bytes18[]\":[],\"bytes19[]\":[],\"bytes20[]\":[],\"bytes21[]\":[],\"bytes22[]\":[],\"bytes23[]\":[],\"bytes24[]\":[],\"bytes25[]\":[],\"bytes26[]\":[],\"bytes27[]\":[],\"bytes28[]\":[],\"bytes29[]\":[],\"bytes30[]\":[],\"bytes31[]\":[],\"bytes32[]\":[],\"bool[]\":[],\"address[]\":[],bytes:\"0x\",string:\"\"};function T(t){return y.includes(t)}var a={uint8:0,uint16:0,uint24:0,uint32:0,uint40:0,uint48:0,uint56:0n,uint64:0n,uint72:0n,uint80:0n,uint88:0n,uint96:0n,uint104:0n,uint112:0n,uint120:0n,uint128:0n,uint136:0n,uint144:0n,uint152:0n,uint160:0n,uint168:0n,uint176:0n,uint184:0n,uint192:0n,uint200:0n,uint208:0n,uint216:0n,uint224:0n,uint232:0n,uint240:0n,uint248:0n,uint256:0n,int8:0,int16:0,int24:0,int32:0,int40:0,int48:0,int56:0n,int64:0n,int72:0n,int80:0n,int88:0n,int96:0n,int104:0n,int112:0n,int120:0n,int128:0n,int136:0n,int144:0n,int152:0n,int160:0n,int168:0n,int176:0n,int184:0n,int192:0n,int200:0n,int208:0n,int216:0n,int224:0n,int232:0n,int240:0n,int248:0n,int256:0n,bytes1:\"0x00\",bytes2:\"0x0000\",bytes3:\"0x000000\",bytes4:\"0x00000000\",bytes5:\"0x0000000000\",bytes6:\"0x000000000000\",bytes7:\"0x00000000000000\",bytes8:\"0x0000000000000000\",bytes9:\"0x000000000000000000\",bytes10:\"0x00000000000000000000\",bytes11:\"0x0000000000000000000000\",bytes12:\"0x000000000000000000000000\",bytes13:\"0x00000000000000000000000000\",bytes14:\"0x0000000000000000000000000000\",bytes15:\"0x000000000000000000000000000000\",bytes16:\"0x00000000000000000000000000000000\",bytes17:\"0x0000000000000000000000000000000000\",bytes18:\"0x000000000000000000000000000000000000\",bytes19:\"0x00000000000000000000000000000000000000\",bytes20:\"0x0000000000000000000000000000000000000000\",bytes21:\"0x000000000000000000000000000000000000000000\",bytes22:\"0x00000000000000000000000000000000000000000000\",bytes23:\"0x0000000000000000000000000000000000000000000000\",bytes24:\"0x000000000000000000000000000000000000000000000000\",bytes25:\"0x00000000000000000000000000000000000000000000000000\",bytes26:\"0x0000000000000000000000000000000000000000000000000000\",bytes27:\"0x000000000000000000000000000000000000000000000000000000\",bytes28:\"0x00000000000000000000000000000000000000000000000000000000\",bytes29:\"0x0000000000000000000000000000000000000000000000000000000000\",bytes30:\"0x000000000000000000000000000000000000000000000000000000000000\",bytes31:\"0x00000000000000000000000000000000000000000000000000000000000000\",bytes32:\"0x0000000000000000000000000000000000000000000000000000000000000000\",bool:!1,address:\"0x0000000000000000000000000000000000000000\"},A={uint8:1,uint16:2,uint24:3,uint32:4,uint40:5,uint48:6,uint56:7,uint64:8,uint72:9,uint80:10,uint88:11,uint96:12,uint104:13,uint112:14,uint120:15,uint128:16,uint136:17,uint144:18,uint152:19,uint160:20,uint168:21,uint176:22,uint184:23,uint192:24,uint200:25,uint208:26,uint216:27,uint224:28,uint232:29,uint240:30,uint248:31,uint256:32,int8:1,int16:2,int24:3,int32:4,int40:5,int48:6,int56:7,int64:8,int72:9,int80:10,int88:11,int96:12,int104:13,int112:14,int120:15,int128:16,int136:17,int144:18,int152:19,int160:20,int168:21,int176:22,int184:23,int192:24,int200:25,int208:26,int216:27,int224:28,int232:29,int240:30,int248:31,int256:32,bytes1:1,bytes2:2,bytes3:3,bytes4:4,bytes5:5,bytes6:6,bytes7:7,bytes8:8,bytes9:9,bytes10:10,bytes11:11,bytes12:12,bytes13:13,bytes14:14,bytes15:15,bytes16:16,bytes17:17,bytes18:18,bytes19:19,bytes20:20,bytes21:21,bytes22:22,bytes23:23,bytes24:24,bytes25:25,bytes26:26,bytes27:27,bytes28:28,bytes29:29,bytes30:30,bytes31:31,bytes32:32,bool:1,address:20};function g(t){return e.includes(t)}var P={...a,...s};export{r as arrayAbiTypeToStaticAbiType,s as dynamicAbiTypeToDefaultValue,y as dynamicAbiTypes,b as isArrayAbiType,T as isDynamicAbiType,g as isStaticAbiType,P as schemaAbiTypeToDefaultValue,n as schemaAbiTypes,A as staticAbiTypeToByteLength,a as staticAbiTypeToDefaultValue,e as staticAbiTypes};\n//# sourceMappingURL=index.js.map","export const version = '0.9.3';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nexport class BaseError extends Error {\n constructor(shortMessage, args = {}) {\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n const message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath ? [`Docs: https://abitype.dev${docsPath}`] : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: abitype@${version}`,\n ].join('\\n');\n super(message);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiTypeError'\n });\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n}\n//# sourceMappingURL=errors.js.map","export function execTyped(regex, string) {\n const match = regex.exec(string);\n return match?.groups;\n}\nexport const bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\nexport const integerRegex = /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\nexport const isTupleRegex = /^\\(.+?\\).*?$/;\n//# sourceMappingURL=regex.js.map","import { execTyped } from '../../regex.js';\nconst errorSignatureRegex = /^error (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/;\nexport function isErrorSignature(signature) {\n return errorSignatureRegex.test(signature);\n}\nexport function execErrorSignature(signature) {\n return execTyped(errorSignatureRegex, signature);\n}\nconst eventSignatureRegex = /^event (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)$/;\nexport function isEventSignature(signature) {\n return eventSignatureRegex.test(signature);\n}\nexport function execEventSignature(signature) {\n return execTyped(eventSignatureRegex, signature);\n}\nconst functionSignatureRegex = /^function (?[a-zA-Z$_][a-zA-Z0-9$_]*)\\((?.*?)\\)(?: (?external|public{1}))?(?: (?pure|view|nonpayable|payable{1}))?(?: returns\\s?\\((?.*?)\\))?$/;\nexport function isFunctionSignature(signature) {\n return functionSignatureRegex.test(signature);\n}\nexport function execFunctionSignature(signature) {\n return execTyped(functionSignatureRegex, signature);\n}\nconst structSignatureRegex = /^struct (?[a-zA-Z$_][a-zA-Z0-9$_]*) \\{(?.*?)\\}$/;\nexport function isStructSignature(signature) {\n return structSignatureRegex.test(signature);\n}\nexport function execStructSignature(signature) {\n return execTyped(structSignatureRegex, signature);\n}\nconst constructorSignatureRegex = /^constructor\\((?.*?)\\)(?:\\s(?payable{1}))?$/;\nexport function isConstructorSignature(signature) {\n return constructorSignatureRegex.test(signature);\n}\nexport function execConstructorSignature(signature) {\n return execTyped(constructorSignatureRegex, signature);\n}\nconst fallbackSignatureRegex = /^fallback\\(\\)$/;\nexport function isFallbackSignature(signature) {\n return fallbackSignatureRegex.test(signature);\n}\nconst receiveSignatureRegex = /^receive\\(\\) external payable$/;\nexport function isReceiveSignature(signature) {\n return receiveSignatureRegex.test(signature);\n}\nexport const modifiers = new Set([\n 'memory',\n 'indexed',\n 'storage',\n 'calldata',\n]);\nexport const eventModifiers = new Set(['indexed']);\nexport const functionModifiers = new Set([\n 'calldata',\n 'memory',\n 'storage',\n]);\n//# sourceMappingURL=signatures.js.map","import { BaseError } from '../../errors.js';\nexport class InvalidAbiItemError extends BaseError {\n constructor({ signature }) {\n super('Failed to parse ABI item.', {\n details: `parseAbiItem(${JSON.stringify(signature, null, 2)})`,\n docsPath: '/api/human.html#parseabiitem-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiItemError'\n });\n }\n}\nexport class UnknownTypeError extends BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [\n `Type \"${type}\" is not a valid ABI type. Perhaps you forgot to include a struct signature?`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownTypeError'\n });\n }\n}\nexport class UnknownSolidityTypeError extends BaseError {\n constructor({ type }) {\n super('Unknown type.', {\n metaMessages: [`Type \"${type}\" is not a valid ABI type.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSolidityTypeError'\n });\n }\n}\n//# sourceMappingURL=abiItem.js.map","import { BaseError } from '../../errors.js';\nexport class InvalidAbiParameterError extends BaseError {\n constructor({ param }) {\n super('Failed to parse ABI parameter.', {\n details: `parseAbiParameter(${JSON.stringify(param, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameter-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParameterError'\n });\n }\n}\nexport class InvalidAbiParametersError extends BaseError {\n constructor({ params }) {\n super('Failed to parse ABI parameters.', {\n details: `parseAbiParameters(${JSON.stringify(params, null, 2)})`,\n docsPath: '/api/human.html#parseabiparameters-1',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiParametersError'\n });\n }\n}\nexport class InvalidParameterError extends BaseError {\n constructor({ param }) {\n super('Invalid ABI parameter.', {\n details: param,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParameterError'\n });\n }\n}\nexport class SolidityProtectedKeywordError extends BaseError {\n constructor({ param, name }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `\"${name}\" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SolidityProtectedKeywordError'\n });\n }\n}\nexport class InvalidModifierError extends BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidModifierError'\n });\n }\n}\nexport class InvalidFunctionModifierError extends BaseError {\n constructor({ param, type, modifier, }) {\n super('Invalid ABI parameter.', {\n details: param,\n metaMessages: [\n `Modifier \"${modifier}\" not allowed${type ? ` in \"${type}\" type` : ''}.`,\n `Data location can only be specified for array, struct, or mapping types, but \"${modifier}\" was given.`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidFunctionModifierError'\n });\n }\n}\nexport class InvalidAbiTypeParameterError extends BaseError {\n constructor({ abiParameter, }) {\n super('Invalid ABI parameter.', {\n details: JSON.stringify(abiParameter, null, 2),\n metaMessages: ['ABI parameter type is invalid.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiTypeParameterError'\n });\n }\n}\n//# sourceMappingURL=abiParameter.js.map","import { BaseError } from '../../errors.js';\nexport class InvalidSignatureError extends BaseError {\n constructor({ signature, type, }) {\n super(`Invalid ${type} signature.`, {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSignatureError'\n });\n }\n}\nexport class UnknownSignatureError extends BaseError {\n constructor({ signature }) {\n super('Unknown signature.', {\n details: signature,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownSignatureError'\n });\n }\n}\nexport class InvalidStructSignatureError extends BaseError {\n constructor({ signature }) {\n super('Invalid struct signature.', {\n details: signature,\n metaMessages: ['No properties exist.'],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStructSignatureError'\n });\n }\n}\n//# sourceMappingURL=signature.js.map","import { BaseError } from '../../errors.js';\nexport class CircularReferenceError extends BaseError {\n constructor({ type }) {\n super('Circular reference detected.', {\n metaMessages: [`Struct \"${type}\" is a circular reference.`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CircularReferenceError'\n });\n }\n}\n//# sourceMappingURL=struct.js.map","import { BaseError } from '../../errors.js';\nexport class InvalidParenthesisError extends BaseError {\n constructor({ current, depth }) {\n super('Unbalanced parentheses.', {\n metaMessages: [\n `\"${current.trim()}\" has too many ${depth > 0 ? 'opening' : 'closing'} parentheses.`,\n ],\n details: `Depth \"${depth}\"`,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParenthesisError'\n });\n }\n}\n//# sourceMappingURL=splitParameters.js.map","export function getParameterCacheKey(param, type) {\n if (type)\n return `${type}:${param}`;\n return param;\n}\nexport const parameterCache = new Map([\n ['address', { type: 'address' }],\n ['bool', { type: 'bool' }],\n ['bytes', { type: 'bytes' }],\n ['bytes32', { type: 'bytes32' }],\n ['int', { type: 'int256' }],\n ['int256', { type: 'int256' }],\n ['string', { type: 'string' }],\n ['uint', { type: 'uint256' }],\n ['uint8', { type: 'uint8' }],\n ['uint16', { type: 'uint16' }],\n ['uint24', { type: 'uint24' }],\n ['uint32', { type: 'uint32' }],\n ['uint64', { type: 'uint64' }],\n ['uint96', { type: 'uint96' }],\n ['uint112', { type: 'uint112' }],\n ['uint160', { type: 'uint160' }],\n ['uint192', { type: 'uint192' }],\n ['uint256', { type: 'uint256' }],\n ['address owner', { type: 'address', name: 'owner' }],\n ['address to', { type: 'address', name: 'to' }],\n ['bool approved', { type: 'bool', name: 'approved' }],\n ['bytes _data', { type: 'bytes', name: '_data' }],\n ['bytes data', { type: 'bytes', name: 'data' }],\n ['bytes signature', { type: 'bytes', name: 'signature' }],\n ['bytes32 hash', { type: 'bytes32', name: 'hash' }],\n ['bytes32 r', { type: 'bytes32', name: 'r' }],\n ['bytes32 root', { type: 'bytes32', name: 'root' }],\n ['bytes32 s', { type: 'bytes32', name: 's' }],\n ['string name', { type: 'string', name: 'name' }],\n ['string symbol', { type: 'string', name: 'symbol' }],\n ['string tokenURI', { type: 'string', name: 'tokenURI' }],\n ['uint tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint8 v', { type: 'uint8', name: 'v' }],\n ['uint256 balance', { type: 'uint256', name: 'balance' }],\n ['uint256 tokenId', { type: 'uint256', name: 'tokenId' }],\n ['uint256 value', { type: 'uint256', name: 'value' }],\n [\n 'event:address indexed from',\n { type: 'address', name: 'from', indexed: true },\n ],\n ['event:address indexed to', { type: 'address', name: 'to', indexed: true }],\n [\n 'event:uint indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n [\n 'event:uint256 indexed tokenId',\n { type: 'uint256', name: 'tokenId', indexed: true },\n ],\n]);\n//# sourceMappingURL=cache.js.map","import { bytesRegex, execTyped, integerRegex, isTupleRegex, } from '../../regex.js';\nimport { UnknownSolidityTypeError } from '../errors/abiItem.js';\nimport { InvalidFunctionModifierError, InvalidModifierError, InvalidParameterError, SolidityProtectedKeywordError, } from '../errors/abiParameter.js';\nimport { InvalidSignatureError, UnknownSignatureError, } from '../errors/signature.js';\nimport { InvalidParenthesisError } from '../errors/splitParameters.js';\nimport { getParameterCacheKey, parameterCache } from './cache.js';\nimport { eventModifiers, execConstructorSignature, execErrorSignature, execEventSignature, execFunctionSignature, functionModifiers, isConstructorSignature, isErrorSignature, isEventSignature, isFallbackSignature, isFunctionSignature, isReceiveSignature, } from './signatures.js';\nexport function parseSignature(signature, structs = {}) {\n if (isFunctionSignature(signature)) {\n const match = execFunctionSignature(signature);\n if (!match)\n throw new InvalidSignatureError({ signature, type: 'function' });\n const inputParams = splitParameters(match.parameters);\n const inputs = [];\n const inputLength = inputParams.length;\n for (let i = 0; i < inputLength; i++) {\n inputs.push(parseAbiParameter(inputParams[i], {\n modifiers: functionModifiers,\n structs,\n type: 'function',\n }));\n }\n const outputs = [];\n if (match.returns) {\n const outputParams = splitParameters(match.returns);\n const outputLength = outputParams.length;\n for (let i = 0; i < outputLength; i++) {\n outputs.push(parseAbiParameter(outputParams[i], {\n modifiers: functionModifiers,\n structs,\n type: 'function',\n }));\n }\n }\n return {\n name: match.name,\n type: 'function',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs,\n outputs,\n };\n }\n if (isEventSignature(signature)) {\n const match = execEventSignature(signature);\n if (!match)\n throw new InvalidSignatureError({ signature, type: 'event' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], {\n modifiers: eventModifiers,\n structs,\n type: 'event',\n }));\n }\n return { name: match.name, type: 'event', inputs: abiParameters };\n }\n if (isErrorSignature(signature)) {\n const match = execErrorSignature(signature);\n if (!match)\n throw new InvalidSignatureError({ signature, type: 'error' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'error' }));\n }\n return { name: match.name, type: 'error', inputs: abiParameters };\n }\n if (isConstructorSignature(signature)) {\n const match = execConstructorSignature(signature);\n if (!match)\n throw new InvalidSignatureError({ signature, type: 'constructor' });\n const params = splitParameters(match.parameters);\n const abiParameters = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter(params[i], { structs, type: 'constructor' }));\n }\n return {\n type: 'constructor',\n stateMutability: match.stateMutability ?? 'nonpayable',\n inputs: abiParameters,\n };\n }\n if (isFallbackSignature(signature))\n return { type: 'fallback' };\n if (isReceiveSignature(signature))\n return {\n type: 'receive',\n stateMutability: 'payable',\n };\n throw new UnknownSignatureError({ signature });\n}\nconst abiParameterWithoutTupleRegex = /^(?[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/;\nconst abiParameterWithTupleRegex = /^\\((?.+?)\\)(?(?:\\[\\d*?\\])+?)?(?:\\s(?calldata|indexed|memory|storage{1}))?(?:\\s(?[a-zA-Z$_][a-zA-Z0-9$_]*))?$/;\nconst dynamicIntegerRegex = /^u?int$/;\nexport function parseAbiParameter(param, options) {\n const parameterCacheKey = getParameterCacheKey(param, options?.type);\n if (parameterCache.has(parameterCacheKey))\n return parameterCache.get(parameterCacheKey);\n const isTuple = isTupleRegex.test(param);\n const match = execTyped(isTuple ? abiParameterWithTupleRegex : abiParameterWithoutTupleRegex, param);\n if (!match)\n throw new InvalidParameterError({ param });\n if (match.name && isSolidityKeyword(match.name))\n throw new SolidityProtectedKeywordError({ param, name: match.name });\n const name = match.name ? { name: match.name } : {};\n const indexed = match.modifier === 'indexed' ? { indexed: true } : {};\n const structs = options?.structs ?? {};\n let type;\n let components = {};\n if (isTuple) {\n type = 'tuple';\n const params = splitParameters(match.type);\n const components_ = [];\n const length = params.length;\n for (let i = 0; i < length; i++) {\n components_.push(parseAbiParameter(params[i], { structs }));\n }\n components = { components: components_ };\n }\n else if (match.type in structs) {\n type = 'tuple';\n components = { components: structs[match.type] };\n }\n else if (dynamicIntegerRegex.test(match.type)) {\n type = `${match.type}256`;\n }\n else {\n type = match.type;\n if (!(options?.type === 'struct') && !isSolidityType(type))\n throw new UnknownSolidityTypeError({ type });\n }\n if (match.modifier) {\n if (!options?.modifiers?.has?.(match.modifier))\n throw new InvalidModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n if (functionModifiers.has(match.modifier) &&\n !isValidDataLocation(type, !!match.array))\n throw new InvalidFunctionModifierError({\n param,\n type: options?.type,\n modifier: match.modifier,\n });\n }\n const abiParameter = {\n type: `${type}${match.array ?? ''}`,\n ...name,\n ...indexed,\n ...components,\n };\n parameterCache.set(parameterCacheKey, abiParameter);\n return abiParameter;\n}\nexport function splitParameters(params, result = [], current = '', depth = 0) {\n if (params === '') {\n if (current === '')\n return result;\n if (depth !== 0)\n throw new InvalidParenthesisError({ current, depth });\n result.push(current.trim());\n return result;\n }\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const char = params[i];\n const tail = params.slice(i + 1);\n switch (char) {\n case ',':\n return depth === 0\n ? splitParameters(tail, [...result, current.trim()])\n : splitParameters(tail, result, `${current}${char}`, depth);\n case '(':\n return splitParameters(tail, result, `${current}${char}`, depth + 1);\n case ')':\n return splitParameters(tail, result, `${current}${char}`, depth - 1);\n default:\n return splitParameters(tail, result, `${current}${char}`, depth);\n }\n }\n return [];\n}\nexport function isSolidityType(type) {\n return (type === 'address' ||\n type === 'bool' ||\n type === 'function' ||\n type === 'string' ||\n bytesRegex.test(type) ||\n integerRegex.test(type));\n}\nconst protectedKeywordsRegex = /^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;\nexport function isSolidityKeyword(name) {\n return (name === 'address' ||\n name === 'bool' ||\n name === 'function' ||\n name === 'string' ||\n name === 'tuple' ||\n bytesRegex.test(name) ||\n integerRegex.test(name) ||\n protectedKeywordsRegex.test(name));\n}\nexport function isValidDataLocation(type, isArray) {\n return isArray || type === 'bytes' || type === 'string' || type === 'tuple';\n}\n//# sourceMappingURL=utils.js.map","import { execTyped, isTupleRegex } from '../../regex.js';\nimport { UnknownTypeError } from '../errors/abiItem.js';\nimport { InvalidAbiTypeParameterError } from '../errors/abiParameter.js';\nimport { InvalidSignatureError, InvalidStructSignatureError, } from '../errors/signature.js';\nimport { CircularReferenceError } from '../errors/struct.js';\nimport { execStructSignature, isStructSignature } from './signatures.js';\nimport { isSolidityType, parseAbiParameter } from './utils.js';\nexport function parseStructs(signatures) {\n const shallowStructs = {};\n const signaturesLength = signatures.length;\n for (let i = 0; i < signaturesLength; i++) {\n const signature = signatures[i];\n if (!isStructSignature(signature))\n continue;\n const match = execStructSignature(signature);\n if (!match)\n throw new InvalidSignatureError({ signature, type: 'struct' });\n const properties = match.properties.split(';');\n const components = [];\n const propertiesLength = properties.length;\n for (let k = 0; k < propertiesLength; k++) {\n const property = properties[k];\n const trimmed = property.trim();\n if (!trimmed)\n continue;\n const abiParameter = parseAbiParameter(trimmed, {\n type: 'struct',\n });\n components.push(abiParameter);\n }\n if (!components.length)\n throw new InvalidStructSignatureError({ signature });\n shallowStructs[match.name] = components;\n }\n const resolvedStructs = {};\n const entries = Object.entries(shallowStructs);\n const entriesLength = entries.length;\n for (let i = 0; i < entriesLength; i++) {\n const [name, parameters] = entries[i];\n resolvedStructs[name] = resolveStructs(parameters, shallowStructs);\n }\n return resolvedStructs;\n}\nconst typeWithoutTupleRegex = /^(?[a-zA-Z$_][a-zA-Z0-9$_]*)(?(?:\\[\\d*?\\])+?)?$/;\nfunction resolveStructs(abiParameters, structs, ancestors = new Set()) {\n const components = [];\n const length = abiParameters.length;\n for (let i = 0; i < length; i++) {\n const abiParameter = abiParameters[i];\n const isTuple = isTupleRegex.test(abiParameter.type);\n if (isTuple)\n components.push(abiParameter);\n else {\n const match = execTyped(typeWithoutTupleRegex, abiParameter.type);\n if (!match?.type)\n throw new InvalidAbiTypeParameterError({ abiParameter });\n const { array, type } = match;\n if (type in structs) {\n if (ancestors.has(type))\n throw new CircularReferenceError({ type });\n components.push({\n ...abiParameter,\n type: `tuple${array ?? ''}`,\n components: resolveStructs(structs[type] ?? [], structs, new Set([...ancestors, type])),\n });\n }\n else {\n if (isSolidityType(type))\n components.push(abiParameter);\n else\n throw new UnknownTypeError({ type });\n }\n }\n }\n return components;\n}\n//# sourceMappingURL=structs.js.map","import { isStructSignature } from './runtime/signatures.js';\nimport { parseStructs } from './runtime/structs.js';\nimport { parseSignature } from './runtime/utils.js';\nexport function parseAbi(signatures) {\n const structs = parseStructs(signatures);\n const abi = [];\n const length = signatures.length;\n for (let i = 0; i < length; i++) {\n const signature = signatures[i];\n if (isStructSignature(signature))\n continue;\n abi.push(parseSignature(signature, structs));\n }\n return abi;\n}\n//# sourceMappingURL=parseAbi.js.map","import { InvalidAbiParametersError } from '../index.js';\nimport { isStructSignature, modifiers } from './runtime/signatures.js';\nimport { parseStructs } from './runtime/structs.js';\nimport { splitParameters } from './runtime/utils.js';\nimport { parseAbiParameter as parseAbiParameter_ } from './runtime/utils.js';\nexport function parseAbiParameters(params) {\n const abiParameters = [];\n if (typeof params === 'string') {\n const parameters = splitParameters(params);\n const length = parameters.length;\n for (let i = 0; i < length; i++) {\n abiParameters.push(parseAbiParameter_(parameters[i], { modifiers }));\n }\n }\n else {\n const structs = parseStructs(params);\n const length = params.length;\n for (let i = 0; i < length; i++) {\n const signature = params[i];\n if (isStructSignature(signature))\n continue;\n const parameters = splitParameters(signature);\n const length = parameters.length;\n for (let k = 0; k < length; k++) {\n abiParameters.push(parseAbiParameter_(parameters[k], { modifiers, structs }));\n }\n }\n }\n if (abiParameters.length === 0)\n throw new InvalidAbiParametersError({ params });\n return abiParameters;\n}\n//# sourceMappingURL=parseAbiParameters.js.map","import { InvalidDefinitionTypeError } from '../../errors/abi.js';\nexport function formatAbiItem(abiItem, { includeName = false } = {}) {\n if (abiItem.type !== 'function' &&\n abiItem.type !== 'event' &&\n abiItem.type !== 'error')\n throw new InvalidDefinitionTypeError(abiItem.type);\n return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`;\n}\nexport function formatAbiParams(params, { includeName = false } = {}) {\n if (!params)\n return '';\n return params\n .map((param) => formatAbiParam(param, { includeName }))\n .join(includeName ? ', ' : ',');\n}\nfunction formatAbiParam(param, { includeName }) {\n if (param.type.startsWith('tuple')) {\n return `(${formatAbiParams(param.components, { includeName })})${param.type.slice('tuple'.length)}`;\n }\n return param.type + (includeName && param.name ? ` ${param.name}` : '');\n}\n//# sourceMappingURL=formatAbiItem.js.map","export function isHex(value, { strict = true } = {}) {\n if (!value)\n return false;\n if (typeof value !== 'string')\n return false;\n return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');\n}\n//# sourceMappingURL=isHex.js.map","import { isHex } from './isHex.js';\n/**\n * @description Retrieves the size of the value (in bytes).\n *\n * @param value The value (hex or byte array) to retrieve the size of.\n * @returns The size of the value (in bytes).\n */\nexport function size(value) {\n if (isHex(value, { strict: false }))\n return Math.ceil((value.length - 2) / 2);\n return value.length;\n}\n//# sourceMappingURL=size.js.map","export const version = '1.5.4';\n//# sourceMappingURL=version.js.map","import { version } from './version.js';\nexport const getContractAddress = (address) => address;\nexport const getUrl = (url) => url;\nexport const getVersion = () => `viem@${version}`;\n//# sourceMappingURL=utils.js.map","import { getVersion } from './utils.js';\nexport class BaseError extends Error {\n constructor(shortMessage, args = {}) {\n super();\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ViemError'\n });\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: getVersion()\n });\n const details = args.cause instanceof BaseError\n ? args.cause.details\n : args.cause?.message\n ? args.cause.message\n : args.details;\n const docsPath = args.cause instanceof BaseError\n ? args.cause.docsPath || args.docsPath\n : args.docsPath;\n this.message = [\n shortMessage || 'An error occurred.',\n '',\n ...(args.metaMessages ? [...args.metaMessages, ''] : []),\n ...(docsPath\n ? [\n `Docs: https://viem.sh${docsPath}.html${args.docsSlug ? `#${args.docsSlug}` : ''}`,\n ]\n : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: ${this.version}`,\n ].join('\\n');\n if (args.cause)\n this.cause = args.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = args.metaMessages;\n this.shortMessage = shortMessage;\n }\n walk(fn) {\n return walk(this, fn);\n }\n}\nfunction walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err && typeof err === 'object' && 'cause' in err)\n return walk(err.cause, fn);\n return fn ? null : err;\n}\n//# sourceMappingURL=base.js.map","import { formatAbiItem, formatAbiParams } from '../utils/abi/formatAbiItem.js';\nimport { size } from '../utils/data/size.js';\nimport { BaseError } from './base.js';\nexport class AbiConstructorNotFoundError extends BaseError {\n constructor({ docsPath }) {\n super([\n 'A constructor was not found on the ABI.',\n 'Make sure you are using the correct ABI and that the constructor exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorNotFoundError'\n });\n }\n}\nexport class AbiConstructorParamsNotFoundError extends BaseError {\n constructor({ docsPath }) {\n super([\n 'Constructor arguments were provided (`args`), but a constructor parameters (`inputs`) were not found on the ABI.',\n 'Make sure you are using the correct ABI, and that the `inputs` attribute on the constructor exists.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiConstructorParamsNotFoundError'\n });\n }\n}\nexport class AbiDecodingDataSizeInvalidError extends BaseError {\n constructor({ data, size }) {\n super([\n `Data size of ${size} bytes is invalid.`,\n 'Size must be in increments of 32 bytes (size % 32 === 0).',\n ].join('\\n'), { metaMessages: [`Data: ${data} (${size} bytes)`] });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeInvalidError'\n });\n }\n}\nexport class AbiDecodingDataSizeTooSmallError extends BaseError {\n constructor({ data, params, size, }) {\n super([`Data size of ${size} bytes is too small for given parameters.`].join('\\n'), {\n metaMessages: [\n `Params: (${formatAbiParams(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingDataSizeTooSmallError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nexport class AbiDecodingZeroDataError extends BaseError {\n constructor() {\n super('Cannot decode zero data (\"0x\") with ABI parameters.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiDecodingZeroDataError'\n });\n }\n}\nexport class AbiEncodingArrayLengthMismatchError extends BaseError {\n constructor({ expectedLength, givenLength, type, }) {\n super([\n `ABI encoding array length mismatch for type ${type}.`,\n `Expected length: ${expectedLength}`,\n `Given length: ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingArrayLengthMismatchError'\n });\n }\n}\nexport class AbiEncodingBytesSizeMismatchError extends BaseError {\n constructor({ expectedSize, value }) {\n super(`Size of bytes \"${value}\" (bytes${size(value)}) does not match expected size (bytes${expectedSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingBytesSizeMismatchError'\n });\n }\n}\nexport class AbiEncodingLengthMismatchError extends BaseError {\n constructor({ expectedLength, givenLength, }) {\n super([\n 'ABI encoding params/values length mismatch.',\n `Expected length (params): ${expectedLength}`,\n `Given length (values): ${givenLength}`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEncodingLengthMismatchError'\n });\n }\n}\nexport class AbiErrorInputsNotFoundError extends BaseError {\n constructor(errorName, { docsPath }) {\n super([\n `Arguments (\\`args\\`) were provided to \"${errorName}\", but \"${errorName}\" on the ABI does not contain any parameters (\\`inputs\\`).`,\n 'Cannot encode error result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the inputs exist on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorInputsNotFoundError'\n });\n }\n}\nexport class AbiErrorNotFoundError extends BaseError {\n constructor(errorName, { docsPath } = {}) {\n super([\n `Error ${errorName ? `\"${errorName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorNotFoundError'\n });\n }\n}\nexport class AbiErrorSignatureNotFoundError extends BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded error signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n `You can look up the decoded signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiErrorSignatureNotFoundError'\n });\n Object.defineProperty(this, \"signature\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.signature = signature;\n }\n}\nexport class AbiEventSignatureEmptyTopicsError extends BaseError {\n constructor({ docsPath }) {\n super('Cannot extract event signature from empty topics.', {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureEmptyTopicsError'\n });\n }\n}\nexport class AbiEventSignatureNotFoundError extends BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded event signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventSignatureNotFoundError'\n });\n }\n}\nexport class AbiEventNotFoundError extends BaseError {\n constructor(eventName, { docsPath } = {}) {\n super([\n `Event ${eventName ? `\"${eventName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the event exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiEventNotFoundError'\n });\n }\n}\nexport class AbiFunctionNotFoundError extends BaseError {\n constructor(functionName, { docsPath } = {}) {\n super([\n `Function ${functionName ? `\"${functionName}\" ` : ''}not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionNotFoundError'\n });\n }\n}\nexport class AbiFunctionOutputsNotFoundError extends BaseError {\n constructor(functionName, { docsPath }) {\n super([\n `Function \"${functionName}\" does not contain any \\`outputs\\` on ABI.`,\n 'Cannot decode function result without knowing what the parameter types are.',\n 'Make sure you are using the correct ABI and that the function exists on it.',\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionOutputsNotFoundError'\n });\n }\n}\nexport class AbiFunctionSignatureNotFoundError extends BaseError {\n constructor(signature, { docsPath }) {\n super([\n `Encoded function signature \"${signature}\" not found on ABI.`,\n 'Make sure you are using the correct ABI and that the function exists on it.',\n `You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ].join('\\n'), {\n docsPath,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AbiFunctionSignatureNotFoundError'\n });\n }\n}\nexport class BytesSizeMismatchError extends BaseError {\n constructor({ expectedSize, givenSize, }) {\n super(`Expected bytes${expectedSize}, got bytes${givenSize}.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BytesSizeMismatchError'\n });\n }\n}\nexport class DecodeLogDataMismatch extends BaseError {\n constructor({ abiItem, data, params, size, }) {\n super([\n `Data size of ${size} bytes is too small for non-indexed event parameters.`,\n ].join('\\n'), {\n metaMessages: [\n `Params: (${formatAbiParams(params, { includeName: true })})`,\n `Data: ${data} (${size} bytes)`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogDataMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"size\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n this.data = data;\n this.params = params;\n this.size = size;\n }\n}\nexport class DecodeLogTopicsMismatch extends BaseError {\n constructor({ abiItem, param, }) {\n super([\n `Expected a topic for indexed event parameter${param.name ? ` \"${param.name}\"` : ''} on event \"${formatAbiItem(abiItem, { includeName: true })}\".`,\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DecodeLogTopicsMismatch'\n });\n Object.defineProperty(this, \"abiItem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.abiItem = abiItem;\n }\n}\nexport class InvalidAbiEncodingTypeError extends BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid encoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiEncodingType'\n });\n }\n}\nexport class InvalidAbiDecodingTypeError extends BaseError {\n constructor(type, { docsPath }) {\n super([\n `Type \"${type}\" is not a valid decoding type.`,\n 'Please provide a valid ABI type.',\n ].join('\\n'), { docsPath });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAbiDecodingType'\n });\n }\n}\nexport class InvalidArrayError extends BaseError {\n constructor(value) {\n super([`Value \"${value}\" is not a valid array.`].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidArrayError'\n });\n }\n}\nexport class InvalidDefinitionTypeError extends BaseError {\n constructor(type) {\n super([\n `\"${type}\" is not a valid definition type.`,\n 'Valid types: \"function\", \"event\", \"error\"',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidDefinitionTypeError'\n });\n }\n}\nexport class UnsupportedPackedAbiType extends BaseError {\n constructor(type) {\n super(`Type \"${type}\" is not supported for packed encoding.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedPackedAbiType'\n });\n }\n}\n//# sourceMappingURL=abi.js.map","import { BaseError } from './base.js';\nexport class FilterTypeNotSupportedError extends BaseError {\n constructor(type) {\n super(`Filter type \"${type}\" is not supported.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FilterTypeNotSupportedError'\n });\n }\n}\n//# sourceMappingURL=log.js.map","import { BaseError } from './base.js';\nexport class SliceOffsetOutOfBoundsError extends BaseError {\n constructor({ offset, position, size, }) {\n super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \"${offset}\" is out-of-bounds (size: ${size}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SliceOffsetOutOfBoundsError'\n });\n }\n}\nexport class SizeExceedsPaddingSizeError extends BaseError {\n constructor({ size, targetSize, type, }) {\n super(`${type.charAt(0).toUpperCase()}${type\n .slice(1)\n .toLowerCase()} size (${size}) exceeds padding size (${targetSize}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeExceedsPaddingSizeError'\n });\n }\n}\n//# sourceMappingURL=data.js.map","import { SizeExceedsPaddingSizeError } from '../../errors/data.js';\nexport function pad(hexOrBytes, { dir, size = 32 } = {}) {\n if (typeof hexOrBytes === 'string')\n return padHex(hexOrBytes, { dir, size });\n return padBytes(hexOrBytes, { dir, size });\n}\nexport function padHex(hex_, { dir, size = 32 } = {}) {\n if (size === null)\n return hex_;\n const hex = hex_.replace('0x', '');\n if (hex.length > size * 2)\n throw new SizeExceedsPaddingSizeError({\n size: Math.ceil(hex.length / 2),\n targetSize: size,\n type: 'hex',\n });\n return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;\n}\nexport function padBytes(bytes, { dir, size = 32 } = {}) {\n if (size === null)\n return bytes;\n if (bytes.length > size)\n throw new SizeExceedsPaddingSizeError({\n size: bytes.length,\n targetSize: size,\n type: 'bytes',\n });\n const paddedBytes = new Uint8Array(size);\n for (let i = 0; i < size; i++) {\n const padEnd = dir === 'right';\n paddedBytes[padEnd ? i : size - i - 1] =\n bytes[padEnd ? i : bytes.length - i - 1];\n }\n return paddedBytes;\n}\n//# sourceMappingURL=pad.js.map","import { BaseError } from './base.js';\nexport class DataLengthTooLongError extends BaseError {\n constructor({ consumed, length }) {\n super(`Consumed bytes (${consumed}) is shorter than data length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooLongError'\n });\n }\n}\nexport class DataLengthTooShortError extends BaseError {\n constructor({ length, dataLength }) {\n super(`Data length (${dataLength - 1}) is shorter than prefix length (${length - 1}).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'DataLengthTooShortError'\n });\n }\n}\nexport class IntegerOutOfRangeError extends BaseError {\n constructor({ max, min, signed, size, value, }) {\n super(`Number \"${value}\" is not in safe ${size ? `${size * 8}-bit ${signed ? 'signed' : 'unsigned'} ` : ''}integer range ${max ? `(${min} to ${max})` : `(above ${min})`}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntegerOutOfRangeError'\n });\n }\n}\nexport class InvalidBytesBooleanError extends BaseError {\n constructor(bytes) {\n super(`Bytes value \"${bytes}\" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidBytesBooleanError'\n });\n }\n}\nexport class InvalidHexBooleanError extends BaseError {\n constructor(hex) {\n super(`Hex value \"${hex}\" is not a valid boolean. The hex value must be \"0x0\" (false) or \"0x1\" (true).`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexBooleanError'\n });\n }\n}\nexport class InvalidHexValueError extends BaseError {\n constructor(value) {\n super(`Hex value \"${value}\" is an odd length (${value.length}). It must be an even length.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidHexValueError'\n });\n }\n}\nexport class OffsetOutOfBoundsError extends BaseError {\n constructor({ nextOffset, offset }) {\n super(`Next offset (${nextOffset}) is greater than previous offset + consumed bytes (${offset})`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'OffsetOutOfBoundsError'\n });\n }\n}\nexport class SizeOverflowError extends BaseError {\n constructor({ givenSize, maxSize }) {\n super(`Size cannot exceed ${maxSize} bytes. Given size: ${givenSize} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SizeOverflowError'\n });\n }\n}\n//# sourceMappingURL=encoding.js.map","export function trim(hexOrBytes, { dir = 'left' } = {}) {\n let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes;\n let sliceLength = 0;\n for (let i = 0; i < data.length - 1; i++) {\n if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0')\n sliceLength++;\n else\n break;\n }\n data =\n dir === 'left'\n ? data.slice(sliceLength)\n : data.slice(0, data.length - sliceLength);\n if (typeof hexOrBytes === 'string') {\n if (data.length === 1 && dir === 'right')\n data = `${data}0`;\n return `0x${data.length % 2 === 1 ? `0${data}` : data}`;\n }\n return data;\n}\n//# sourceMappingURL=trim.js.map","import { InvalidHexBooleanError, SizeOverflowError, } from '../../errors/encoding.js';\nimport { size as size_ } from '../data/size.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBytes } from './toBytes.js';\nexport function assertSize(hexOrBytes, { size }) {\n if (size_(hexOrBytes) > size)\n throw new SizeOverflowError({\n givenSize: size_(hexOrBytes),\n maxSize: size,\n });\n}\n/**\n * Decodes a hex string into a string, number, bigint, boolean, or byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html\n * - Example: https://viem.sh/docs/utilities/fromHex.html#usage\n *\n * @param hex Hex string to decode.\n * @param toOrOpts Type to convert to or options.\n * @returns Decoded value.\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x1a4', 'number')\n * // 420\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c6421', 'string')\n * // 'Hello world'\n *\n * @example\n * import { fromHex } from 'viem'\n * const data = fromHex('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * to: 'string'\n * })\n * // 'Hello world'\n */\nexport function fromHex(hex, toOrOpts) {\n const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;\n const to = opts.to;\n if (to === 'number')\n return hexToNumber(hex, opts);\n if (to === 'bigint')\n return hexToBigInt(hex, opts);\n if (to === 'string')\n return hexToString(hex, opts);\n if (to === 'boolean')\n return hexToBool(hex, opts);\n return hexToBytes(hex, opts);\n}\n/**\n * Decodes a hex value into a bigint.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextobigint\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns BigInt value.\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x1a4', { signed: true })\n * // 420n\n *\n * @example\n * import { hexToBigInt } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420n\n */\nexport function hexToBigInt(hex, opts = {}) {\n const { signed } = opts;\n if (opts.size)\n assertSize(hex, { size: opts.size });\n const value = BigInt(hex);\n if (!signed)\n return value;\n const size = (hex.length - 2) / 2;\n const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n if (value <= max)\n return value;\n return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;\n}\n/**\n * Decodes a hex value into a boolean.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextobool\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Boolean value.\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x01')\n * // true\n *\n * @example\n * import { hexToBool } from 'viem'\n * const data = hexToBool('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })\n * // true\n */\nexport function hexToBool(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = trim(hex);\n }\n if (trim(hex) === '0x00')\n return false;\n if (trim(hex) === '0x01')\n return true;\n throw new InvalidHexBooleanError(hex);\n}\n/**\n * Decodes a hex string into a number.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextonumber\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns Number value.\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToNumber('0x1a4')\n * // 420\n *\n * @example\n * import { hexToNumber } from 'viem'\n * const data = hexToBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })\n * // 420\n */\nexport function hexToNumber(hex, opts = {}) {\n return Number(hexToBigInt(hex, opts));\n}\n/**\n * Decodes a hex value into a UTF-8 string.\n *\n * - Docs: https://viem.sh/docs/utilities/fromHex.html#hextostring\n *\n * @param hex Hex value to decode.\n * @param opts Options.\n * @returns String value.\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c6421')\n * // 'Hello world!'\n *\n * @example\n * import { hexToString } from 'viem'\n * const data = hexToString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {\n * size: 32,\n * })\n * // 'Hello world'\n */\nexport function hexToString(hex, opts = {}) {\n let bytes = hexToBytes(hex);\n if (opts.size) {\n assertSize(bytes, { size: opts.size });\n bytes = trim(bytes, { dir: 'right' });\n }\n return new TextDecoder().decode(bytes);\n}\n//# sourceMappingURL=fromHex.js.map","import { IntegerOutOfRangeError } from '../../errors/encoding.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nconst hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));\n/**\n * Encodes a string, number, bigint, or ByteArray into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html\n * - Example: https://viem.sh/docs/utilities/toHex.html#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world')\n * // '0x48656c6c6f20776f726c6421'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex(420)\n * // '0x1a4'\n *\n * @example\n * import { toHex } from 'viem'\n * const data = toHex('Hello world', { size: 32 })\n * // '0x48656c6c6f20776f726c64210000000000000000000000000000000000000000'\n */\nexport function toHex(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToHex(value, opts);\n if (typeof value === 'string') {\n return stringToHex(value, opts);\n }\n if (typeof value === 'boolean')\n return boolToHex(value, opts);\n return bytesToHex(value, opts);\n}\n/**\n * Encodes a boolean into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#booltohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true)\n * // '0x1'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(false)\n * // '0x0'\n *\n * @example\n * import { boolToHex } from 'viem'\n * const data = boolToHex(true, { size: 32 })\n * // '0x0000000000000000000000000000000000000000000000000000000000000001'\n */\nexport function boolToHex(value, opts = {}) {\n const hex = `0x${Number(value)}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a bytes array into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#bytestohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { bytesToHex } from 'viem'\n * const data = bytesToHex(Uint8Array.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]), { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function bytesToHex(value, opts = {}) {\n let hexString = '';\n for (let i = 0; i < value.length; i++) {\n hexString += hexes[value[i]];\n }\n const hex = `0x${hexString}`;\n if (typeof opts.size === 'number') {\n assertSize(hex, { size: opts.size });\n return pad(hex, { dir: 'right', size: opts.size });\n }\n return hex;\n}\n/**\n * Encodes a number or bigint into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#numbertohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420)\n * // '0x1a4'\n *\n * @example\n * import { numberToHex } from 'viem'\n * const data = numberToHex(420, { size: 32 })\n * // '0x00000000000000000000000000000000000000000000000000000000000001a4'\n */\nexport function numberToHex(value_, opts = {}) {\n const { signed, size } = opts;\n const value = BigInt(value_);\n let maxValue;\n if (size) {\n if (signed)\n maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;\n else\n maxValue = 2n ** (BigInt(size) * 8n) - 1n;\n }\n else if (typeof value_ === 'number') {\n maxValue = BigInt(Number.MAX_SAFE_INTEGER);\n }\n const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;\n if ((maxValue && value > maxValue) || value < minValue) {\n const suffix = typeof value_ === 'bigint' ? 'n' : '';\n throw new IntegerOutOfRangeError({\n max: maxValue ? `${maxValue}${suffix}` : undefined,\n min: `${minValue}${suffix}`,\n signed,\n size,\n value: `${value_}${suffix}`,\n });\n }\n const hex = `0x${(signed && value < 0\n ? (1n << BigInt(size * 8)) + BigInt(value)\n : value).toString(16)}`;\n if (size)\n return pad(hex, { size });\n return hex;\n}\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string into a hex string\n *\n * - Docs: https://viem.sh/docs/utilities/toHex.html#stringtohex\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Hex value.\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!')\n * // '0x48656c6c6f20576f726c6421'\n *\n * @example\n * import { stringToHex } from 'viem'\n * const data = stringToHex('Hello World!', { size: 32 })\n * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'\n */\nexport function stringToHex(value_, opts = {}) {\n const value = encoder.encode(value_);\n return bytesToHex(value, opts);\n}\n//# sourceMappingURL=toHex.js.map","import { BaseError } from '../../errors/base.js';\nimport { isHex } from '../data/isHex.js';\nimport { pad } from '../data/pad.js';\nimport { assertSize } from './fromHex.js';\nimport { numberToHex } from './toHex.js';\nconst encoder = /*#__PURE__*/ new TextEncoder();\n/**\n * Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html\n * - Example: https://viem.sh/docs/utilities/toBytes.html#usage\n *\n * @param value Value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes('Hello world')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { toBytes } from 'viem'\n * const data = toBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function toBytes(value, opts = {}) {\n if (typeof value === 'number' || typeof value === 'bigint')\n return numberToBytes(value, opts);\n if (typeof value === 'boolean')\n return boolToBytes(value, opts);\n if (isHex(value))\n return hexToBytes(value, opts);\n return stringToBytes(value, opts);\n}\n/**\n * Encodes a boolean into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#booltobytes\n *\n * @param value Boolean value to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true)\n * // Uint8Array([1])\n *\n * @example\n * import { boolToBytes } from 'viem'\n * const data = boolToBytes(true, { size: 32 })\n * // Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])\n */\nexport function boolToBytes(value, opts = {}) {\n const bytes = new Uint8Array(1);\n bytes[0] = Number(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { size: opts.size });\n }\n return bytes;\n}\n/**\n * Encodes a hex string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#hextobytes\n *\n * @param hex Hex string to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])\n *\n * @example\n * import { hexToBytes } from 'viem'\n * const data = hexToBytes('0x48656c6c6f20776f726c6421', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function hexToBytes(hex_, opts = {}) {\n let hex = hex_;\n if (opts.size) {\n assertSize(hex, { size: opts.size });\n hex = pad(hex, { dir: 'right', size: opts.size });\n }\n let hexString = hex.slice(2);\n if (hexString.length % 2)\n hexString = `0${hexString}`;\n const bytes = new Uint8Array(hexString.length / 2);\n for (let index = 0; index < bytes.length; index++) {\n const start = index * 2;\n const hexByte = hexString.slice(start, start + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new BaseError(`Invalid byte sequence (\"${hexByte}\" in \"${hexString}\").`);\n bytes[index] = byte;\n }\n return bytes;\n}\n/**\n * Encodes a number into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#numbertobytes\n *\n * @param value Number to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420)\n * // Uint8Array([1, 164])\n *\n * @example\n * import { numberToBytes } from 'viem'\n * const data = numberToBytes(420, { size: 4 })\n * // Uint8Array([0, 0, 1, 164])\n */\nexport function numberToBytes(value, opts) {\n const hex = numberToHex(value, opts);\n return hexToBytes(hex);\n}\n/**\n * Encodes a UTF-8 string into a byte array.\n *\n * - Docs: https://viem.sh/docs/utilities/toBytes.html#stringtobytes\n *\n * @param value String to encode.\n * @param opts Options.\n * @returns Byte array value.\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!')\n * // Uint8Array([72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33])\n *\n * @example\n * import { stringToBytes } from 'viem'\n * const data = stringToBytes('Hello world!', { size: 32 })\n * // Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n */\nexport function stringToBytes(value, opts = {}) {\n const bytes = encoder.encode(value);\n if (typeof opts.size === 'number') {\n assertSize(bytes, { size: opts.size });\n return pad(bytes, { dir: 'right', size: opts.size });\n }\n return bytes;\n}\n//# sourceMappingURL=toBytes.js.map","const paramsRegex = /((function|event)\\s)?(.*)(\\((.*)\\))/;\nexport function extractFunctionParts(def) {\n const parts = def.match(paramsRegex);\n const type = parts?.[2] || undefined;\n const name = parts?.[3];\n const params = parts?.[5] || undefined;\n return { type, name, params };\n}\nexport function extractFunctionName(def) {\n return extractFunctionParts(def).name;\n}\nexport function extractFunctionParams(def) {\n const params = extractFunctionParts(def).params;\n const splitParams = params?.split(',').map((x) => x.trim().split(' '));\n return splitParams?.map((param) => ({\n type: param[0],\n name: param[1] === 'indexed' ? param[2] : param[1],\n ...(param[1] === 'indexed' ? { indexed: true } : {}),\n }));\n}\nexport function extractFunctionType(def) {\n return extractFunctionParts(def).type;\n}\n//# sourceMappingURL=extractFunctionParts.js.map","export function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexport function bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexport function bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new TypeError('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexport function hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexport function exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexport function output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexport default assert;\n//# sourceMappingURL=_assert.js.map","const U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nexport function fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nexport function split(lst, le = false) {\n let Ah = new Uint32Array(lst.length);\n let Al = new Uint32Array(lst.length);\n for (let i = 0; i < lst.length; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nexport const toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h, l) => l;\nconst rotr32L = (h, l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nexport function add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use `globalThis.crypto`, but node.js versions earlier than v19 don't\n// declare it in global scope. For node.js, package.json#exports field mapping\n// rewrites import from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef])) // 'deadbeef'\n */\nexport function bytesToHex(uint8a) {\n // pre-caching improves the speed 6x\n if (!(uint8a instanceof Uint8Array))\n throw new Error('Uint8Array expected');\n let hex = '';\n for (let i = 0; i < uint8a.length; i++) {\n hex += hexes[uint8a[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('deadbeef') // Uint8Array.from([0xde, 0xad, 0xbe, 0xef])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string') {\n throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n }\n if (hex.length % 2)\n throw new Error('hexToBytes: received invalid unpadded hex');\n const array = new Uint8Array(hex.length / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string') {\n throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n }\n return new TextEncoder().encode(str);\n}\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!(data instanceof Uint8Array))\n throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n return data;\n}\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nexport function concatBytes(...arrays) {\n if (!arrays.every((a) => a instanceof Uint8Array))\n throw new Error('Uint8Array list expected');\n if (arrays.length === 1)\n return arrays[0];\n const length = arrays.reduce((a, arr) => a + arr.length, 0);\n const result = new Uint8Array(length);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const arr = arrays[i];\n result.set(arr, pad);\n pad += arr.length;\n }\n return result;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new TypeError('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashConstructor) {\n const hashC = (message) => hashConstructor().update(toBytes(message)).digest();\n const tmp = hashConstructor();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashConstructor();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `globalThis.crypto` or node.js crypto module.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import assert from './_assert.js';\nimport u64 from './_u64.js';\nimport { Hash, u32, toBytes, wrapConstructor, wrapConstructorWithOpts, } from './utils.js';\n// Various per round constants calculations\nconst [SHA3_PI, SHA3_ROTL, _SHA3_IOTA] = [[], [], []];\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _7n = BigInt(7);\nconst _256n = BigInt(256);\nconst _0x71n = BigInt(0x71);\nfor (let round = 0, R = _1n, x = 1, y = 0; round < 24; round++) {\n // Pi\n [x, y] = [y, (2 * x + 3 * y) % 5];\n SHA3_PI.push(2 * (5 * y + x));\n // Rotational\n SHA3_ROTL.push((((round + 1) * (round + 2)) / 2) % 64);\n // Iota\n let t = _0n;\n for (let j = 0; j < 7; j++) {\n R = ((R << _1n) ^ ((R >> _7n) * _0x71n)) % _256n;\n if (R & _2n)\n t ^= _1n << ((_1n << BigInt(j)) - _1n);\n }\n _SHA3_IOTA.push(t);\n}\nconst [SHA3_IOTA_H, SHA3_IOTA_L] = u64.split(_SHA3_IOTA, true);\n// Left rotation (without 0, 32, 64)\nconst rotlH = (h, l, s) => s > 32 ? u64.rotlBH(h, l, s) : u64.rotlSH(h, l, s);\nconst rotlL = (h, l, s) => s > 32 ? u64.rotlBL(h, l, s) : u64.rotlSL(h, l, s);\n// Same as keccakf1600, but allows to skip some rounds\nexport function keccakP(s, rounds = 24) {\n const B = new Uint32Array(5 * 2);\n // NOTE: all indices are x2 since we store state as u32 instead of u64 (bigints to slow in js)\n for (let round = 24 - rounds; round < 24; round++) {\n // Theta θ\n for (let x = 0; x < 10; x++)\n B[x] = s[x] ^ s[x + 10] ^ s[x + 20] ^ s[x + 30] ^ s[x + 40];\n for (let x = 0; x < 10; x += 2) {\n const idx1 = (x + 8) % 10;\n const idx0 = (x + 2) % 10;\n const B0 = B[idx0];\n const B1 = B[idx0 + 1];\n const Th = rotlH(B0, B1, 1) ^ B[idx1];\n const Tl = rotlL(B0, B1, 1) ^ B[idx1 + 1];\n for (let y = 0; y < 50; y += 10) {\n s[x + y] ^= Th;\n s[x + y + 1] ^= Tl;\n }\n }\n // Rho (ρ) and Pi (π)\n let curH = s[2];\n let curL = s[3];\n for (let t = 0; t < 24; t++) {\n const shift = SHA3_ROTL[t];\n const Th = rotlH(curH, curL, shift);\n const Tl = rotlL(curH, curL, shift);\n const PI = SHA3_PI[t];\n curH = s[PI];\n curL = s[PI + 1];\n s[PI] = Th;\n s[PI + 1] = Tl;\n }\n // Chi (χ)\n for (let y = 0; y < 50; y += 10) {\n for (let x = 0; x < 10; x++)\n B[x] = s[y + x];\n for (let x = 0; x < 10; x++)\n s[y + x] ^= ~B[(x + 2) % 10] & B[(x + 4) % 10];\n }\n // Iota (ι)\n s[0] ^= SHA3_IOTA_H[round];\n s[1] ^= SHA3_IOTA_L[round];\n }\n B.fill(0);\n}\nexport class Keccak extends Hash {\n // NOTE: we accept arguments in bytes instead of bits here.\n constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {\n super();\n this.blockLen = blockLen;\n this.suffix = suffix;\n this.outputLen = outputLen;\n this.enableXOF = enableXOF;\n this.rounds = rounds;\n this.pos = 0;\n this.posOut = 0;\n this.finished = false;\n this.destroyed = false;\n // Can be passed from user as dkLen\n assert.number(outputLen);\n // 1600 = 5x5 matrix of 64bit. 1600 bits === 200 bytes\n if (0 >= this.blockLen || this.blockLen >= 200)\n throw new Error('Sha3 supports only keccak-f1600 function');\n this.state = new Uint8Array(200);\n this.state32 = u32(this.state);\n }\n keccak() {\n keccakP(this.state32, this.rounds);\n this.posOut = 0;\n this.pos = 0;\n }\n update(data) {\n assert.exists(this);\n const { blockLen, state } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n for (let i = 0; i < take; i++)\n state[this.pos++] ^= data[pos++];\n if (this.pos === blockLen)\n this.keccak();\n }\n return this;\n }\n finish() {\n if (this.finished)\n return;\n this.finished = true;\n const { state, suffix, pos, blockLen } = this;\n // Do the padding\n state[pos] ^= suffix;\n if ((suffix & 0x80) !== 0 && pos === blockLen - 1)\n this.keccak();\n state[blockLen - 1] ^= 0x80;\n this.keccak();\n }\n writeInto(out) {\n assert.exists(this, false);\n assert.bytes(out);\n this.finish();\n const bufferOut = this.state;\n const { blockLen } = this;\n for (let pos = 0, len = out.length; pos < len;) {\n if (this.posOut >= blockLen)\n this.keccak();\n const take = Math.min(blockLen - this.posOut, len - pos);\n out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);\n this.posOut += take;\n pos += take;\n }\n return out;\n }\n xofInto(out) {\n // Sha3/Keccak usage with XOF is probably mistake, only SHAKE instances can do XOF\n if (!this.enableXOF)\n throw new Error('XOF is not possible for this instance');\n return this.writeInto(out);\n }\n xof(bytes) {\n assert.number(bytes);\n return this.xofInto(new Uint8Array(bytes));\n }\n digestInto(out) {\n assert.output(out, this);\n if (this.finished)\n throw new Error('digest() was already called');\n this.writeInto(out);\n this.destroy();\n return out;\n }\n digest() {\n return this.digestInto(new Uint8Array(this.outputLen));\n }\n destroy() {\n this.destroyed = true;\n this.state.fill(0);\n }\n _cloneInto(to) {\n const { blockLen, suffix, outputLen, rounds, enableXOF } = this;\n to || (to = new Keccak(blockLen, suffix, outputLen, enableXOF, rounds));\n to.state32.set(this.state32);\n to.pos = this.pos;\n to.posOut = this.posOut;\n to.finished = this.finished;\n to.rounds = rounds;\n // Suffix can change in cSHAKE\n to.suffix = suffix;\n to.outputLen = outputLen;\n to.enableXOF = enableXOF;\n to.destroyed = this.destroyed;\n return to;\n }\n}\nconst gen = (suffix, blockLen, outputLen) => wrapConstructor(() => new Keccak(blockLen, suffix, outputLen));\nexport const sha3_224 = gen(0x06, 144, 224 / 8);\n/**\n * SHA3-256 hash function\n * @param message - that would be hashed\n */\nexport const sha3_256 = gen(0x06, 136, 256 / 8);\nexport const sha3_384 = gen(0x06, 104, 384 / 8);\nexport const sha3_512 = gen(0x06, 72, 512 / 8);\nexport const keccak_224 = gen(0x01, 144, 224 / 8);\n/**\n * keccak-256 hash function. Different from SHA3-256.\n * @param message - that would be hashed\n */\nexport const keccak_256 = gen(0x01, 136, 256 / 8);\nexport const keccak_384 = gen(0x01, 104, 384 / 8);\nexport const keccak_512 = gen(0x01, 72, 512 / 8);\nconst genShake = (suffix, blockLen, outputLen) => wrapConstructorWithOpts((opts = {}) => new Keccak(blockLen, suffix, opts.dkLen === undefined ? outputLen : opts.dkLen, true));\nexport const shake128 = genShake(0x1f, 168, 128 / 8);\nexport const shake256 = genShake(0x1f, 136, 256 / 8);\n//# sourceMappingURL=sha3.js.map","import { keccak_256 } from '@noble/hashes/sha3';\nimport { isHex } from '../data/isHex.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { toHex } from '../encoding/toHex.js';\nexport function keccak256(value, to_) {\n const to = to_ || 'hex';\n const bytes = keccak_256(isHex(value, { strict: false }) ? toBytes(value) : value);\n if (to === 'bytes')\n return bytes;\n return toHex(bytes);\n}\n//# sourceMappingURL=keccak256.js.map","import { formatAbiItem } from '../abi/formatAbiItem.js';\nimport { extractFunctionName, extractFunctionParams, } from '../contract/extractFunctionParts.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { keccak256 } from './keccak256.js';\nconst hash = (value) => keccak256(toBytes(value));\nexport function hashFunction(def) {\n const name = extractFunctionName(def);\n const params = extractFunctionParams(def) || [];\n return hash(`${name}(${params.map(({ type }) => type).join(',')})`);\n}\nexport function hashAbiItem(abiItem) {\n return hash(formatAbiItem(abiItem));\n}\n//# sourceMappingURL=hashFunction.js.map","import { hashAbiItem, hashFunction } from './hashFunction.js';\nexport const getEventSelector = (event) => {\n if (typeof event === 'string')\n return hashFunction(event);\n return hashAbiItem(event);\n};\n//# sourceMappingURL=getEventSelector.js.map","import { BaseError } from './base.js';\nexport class InvalidAddressError extends BaseError {\n constructor({ address }) {\n super(`Address \"${address}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidAddressError'\n });\n }\n}\n//# sourceMappingURL=address.js.map","const addressRegex = /^0x[a-fA-F0-9]{40}$/;\nexport function isAddress(address) {\n return addressRegex.test(address);\n}\n//# sourceMappingURL=isAddress.js.map","export function concat(values) {\n if (typeof values[0] === 'string')\n return concatHex(values);\n return concatBytes(values);\n}\nexport function concatBytes(values) {\n let length = 0;\n for (const arr of values) {\n length += arr.length;\n }\n const result = new Uint8Array(length);\n let offset = 0;\n for (const arr of values) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\nexport function concatHex(values) {\n return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;\n}\n//# sourceMappingURL=concat.js.map","import { SliceOffsetOutOfBoundsError } from '../../errors/data.js';\nimport { isHex } from './isHex.js';\nimport { size } from './size.js';\n/**\n * @description Returns a section of the hex or byte array given a start/end bytes offset.\n *\n * @param value The hex or byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function slice(value, start, end, { strict } = {}) {\n if (isHex(value, { strict: false }))\n return sliceHex(value, start, end, {\n strict,\n });\n return sliceBytes(value, start, end, {\n strict,\n });\n}\nfunction assertStartOffset(value, start) {\n if (typeof start === 'number' && start > 0 && start > size(value) - 1)\n throw new SliceOffsetOutOfBoundsError({\n offset: start,\n position: 'start',\n size: size(value),\n });\n}\nfunction assertEndOffset(value, start, end) {\n if (typeof start === 'number' &&\n typeof end === 'number' &&\n size(value) !== end - start) {\n throw new SliceOffsetOutOfBoundsError({\n offset: end,\n position: 'end',\n size: size(value),\n });\n }\n}\n/**\n * @description Returns a section of the byte array given a start/end bytes offset.\n *\n * @param value The byte array to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function sliceBytes(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = value_.slice(start, end);\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\n/**\n * @description Returns a section of the hex value given a start/end bytes offset.\n *\n * @param value The hex value to slice.\n * @param start The start offset (in bytes).\n * @param end The end offset (in bytes).\n */\nexport function sliceHex(value_, start, end, { strict } = {}) {\n assertStartOffset(value_, start);\n const value = `0x${value_\n .replace('0x', '')\n .slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`;\n if (strict)\n assertEndOffset(value, start, end);\n return value;\n}\n//# sourceMappingURL=slice.js.map","import { AbiEncodingArrayLengthMismatchError, AbiEncodingBytesSizeMismatchError, AbiEncodingLengthMismatchError, InvalidAbiEncodingTypeError, InvalidArrayError, } from '../../errors/abi.js';\nimport { InvalidAddressError } from '../../errors/address.js';\nimport { isAddress } from '../address/isAddress.js';\nimport { concat } from '../data/concat.js';\nimport { padHex } from '../data/pad.js';\nimport { size } from '../data/size.js';\nimport { slice } from '../data/slice.js';\nimport { boolToHex, numberToHex, stringToHex } from '../encoding/toHex.js';\n/**\n * @description Encodes a list of primitive values into an ABI-encoded hex value.\n */\nexport function encodeAbiParameters(params, values) {\n if (params.length !== values.length)\n throw new AbiEncodingLengthMismatchError({\n expectedLength: params.length,\n givenLength: values.length,\n });\n // Prepare the parameters to determine dynamic types to encode.\n const preparedParams = prepareParams({\n params: params,\n values,\n });\n const data = encodeParams(preparedParams);\n if (data.length === 0)\n return '0x';\n return data;\n}\nfunction prepareParams({ params, values, }) {\n const preparedParams = [];\n for (let i = 0; i < params.length; i++) {\n preparedParams.push(prepareParam({ param: params[i], value: values[i] }));\n }\n return preparedParams;\n}\nfunction prepareParam({ param, value, }) {\n const arrayComponents = getArrayComponents(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return encodeArray(value, { length, param: { ...param, type } });\n }\n if (param.type === 'tuple') {\n return encodeTuple(value, {\n param: param,\n });\n }\n if (param.type === 'address') {\n return encodeAddress(value);\n }\n if (param.type === 'bool') {\n return encodeBool(value);\n }\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n const signed = param.type.startsWith('int');\n return encodeNumber(value, { signed });\n }\n if (param.type.startsWith('bytes')) {\n return encodeBytes(value, { param });\n }\n if (param.type === 'string') {\n return encodeString(value);\n }\n throw new InvalidAbiEncodingTypeError(param.type, {\n docsPath: '/docs/contract/encodeAbiParameters',\n });\n}\n/////////////////////////////////////////////////////////////////\nfunction encodeParams(preparedParams) {\n // 1. Compute the size of the static part of the parameters.\n let staticSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic)\n staticSize += 32;\n else\n staticSize += size(encoded);\n }\n // 2. Split the parameters into static and dynamic parts.\n const staticParams = [];\n const dynamicParams = [];\n let dynamicSize = 0;\n for (let i = 0; i < preparedParams.length; i++) {\n const { dynamic, encoded } = preparedParams[i];\n if (dynamic) {\n staticParams.push(numberToHex(staticSize + dynamicSize, { size: 32 }));\n dynamicParams.push(encoded);\n dynamicSize += size(encoded);\n }\n else {\n staticParams.push(encoded);\n }\n }\n // 3. Concatenate static and dynamic parts.\n return concat([...staticParams, ...dynamicParams]);\n}\n/////////////////////////////////////////////////////////////////\nfunction encodeAddress(value) {\n if (!isAddress(value))\n throw new InvalidAddressError({ address: value });\n return { dynamic: false, encoded: padHex(value.toLowerCase()) };\n}\nfunction encodeArray(value, { length, param, }) {\n const dynamic = length === null;\n if (!Array.isArray(value))\n throw new InvalidArrayError(value);\n if (!dynamic && value.length !== length)\n throw new AbiEncodingArrayLengthMismatchError({\n expectedLength: length,\n givenLength: value.length,\n type: `${param.type}[${length}]`,\n });\n let dynamicChild = false;\n const preparedParams = [];\n for (let i = 0; i < value.length; i++) {\n const preparedParam = prepareParam({ param, value: value[i] });\n if (preparedParam.dynamic)\n dynamicChild = true;\n preparedParams.push(preparedParam);\n }\n if (dynamic || dynamicChild) {\n const data = encodeParams(preparedParams);\n if (dynamic) {\n const length = numberToHex(preparedParams.length, { size: 32 });\n return {\n dynamic: true,\n encoded: preparedParams.length > 0 ? concat([length, data]) : length,\n };\n }\n if (dynamicChild)\n return { dynamic: true, encoded: data };\n }\n return {\n dynamic: false,\n encoded: concat(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nfunction encodeBytes(value, { param }) {\n const [, paramSize] = param.type.split('bytes');\n const bytesSize = size(value);\n if (!paramSize) {\n let value_ = value;\n // If the size is not divisible by 32 bytes, pad the end\n // with empty bytes to the ceiling 32 bytes.\n if (bytesSize % 32 !== 0)\n value_ = padHex(value_, {\n dir: 'right',\n size: Math.ceil((value.length - 2) / 2 / 32) * 32,\n });\n return {\n dynamic: true,\n encoded: concat([padHex(numberToHex(bytesSize, { size: 32 })), value_]),\n };\n }\n if (bytesSize !== parseInt(paramSize))\n throw new AbiEncodingBytesSizeMismatchError({\n expectedSize: parseInt(paramSize),\n value,\n });\n return { dynamic: false, encoded: padHex(value, { dir: 'right' }) };\n}\nfunction encodeBool(value) {\n return { dynamic: false, encoded: padHex(boolToHex(value)) };\n}\nfunction encodeNumber(value, { signed }) {\n return {\n dynamic: false,\n encoded: numberToHex(value, {\n size: 32,\n signed,\n }),\n };\n}\nfunction encodeString(value) {\n const hexValue = stringToHex(value);\n const partsLength = Math.ceil(size(hexValue) / 32);\n const parts = [];\n for (let i = 0; i < partsLength; i++) {\n parts.push(padHex(slice(hexValue, i * 32, (i + 1) * 32), {\n dir: 'right',\n }));\n }\n return {\n dynamic: true,\n encoded: concat([\n padHex(numberToHex(size(hexValue), { size: 32 })),\n ...parts,\n ]),\n };\n}\nfunction encodeTuple(value, { param }) {\n let dynamic = false;\n const preparedParams = [];\n for (let i = 0; i < param.components.length; i++) {\n const param_ = param.components[i];\n const index = Array.isArray(value) ? i : param_.name;\n const preparedParam = prepareParam({\n param: param_,\n value: value[index],\n });\n preparedParams.push(preparedParam);\n if (preparedParam.dynamic)\n dynamic = true;\n }\n return {\n dynamic,\n encoded: dynamic\n ? encodeParams(preparedParams)\n : concat(preparedParams.map(({ encoded }) => encoded)),\n };\n}\nexport function getArrayComponents(type) {\n const matches = type.match(/^(.*)\\[(\\d+)?\\]$/);\n return matches\n ? // Return `null` if the array is dynamic.\n [matches[2] ? Number(matches[2]) : null, matches[1]]\n : undefined;\n}\n//# sourceMappingURL=encodeAbiParameters.js.map","import { isAddress } from '../address/isAddress.js';\nexport function getAbiItem({ abi, args = [], name, }) {\n const abiItems = abi.filter((x) => 'name' in x && x.name === name);\n if (abiItems.length === 0)\n return undefined;\n if (abiItems.length === 1)\n return abiItems[0];\n for (const abiItem of abiItems) {\n if (!('inputs' in abiItem))\n continue;\n if (!args || args.length === 0) {\n if (!abiItem.inputs || abiItem.inputs.length === 0)\n return abiItem;\n continue;\n }\n if (!abiItem.inputs)\n continue;\n if (abiItem.inputs.length === 0)\n continue;\n if (abiItem.inputs.length !== args.length)\n continue;\n const matched = args.every((arg, index) => {\n const abiParameter = 'inputs' in abiItem && abiItem.inputs[index];\n if (!abiParameter)\n return false;\n return isArgOfType(arg, abiParameter);\n });\n if (matched)\n return abiItem;\n }\n return abiItems[0];\n}\nexport function isArgOfType(arg, abiParameter) {\n const argType = typeof arg;\n const abiParameterType = abiParameter.type;\n switch (abiParameterType) {\n case 'address':\n return isAddress(arg);\n case 'bool':\n return argType === 'boolean';\n case 'function':\n return argType === 'string';\n case 'string':\n return argType === 'string';\n default: {\n if (abiParameterType === 'tuple' && 'components' in abiParameter)\n return Object.values(abiParameter.components).every((component, index) => {\n return isArgOfType(Object.values(arg)[index], component);\n });\n // `(u)int`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`\n // https://regexr.com/6v8hp\n if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType))\n return argType === 'number' || argType === 'bigint';\n // `bytes`: binary type of `M` bytes, `0 < M <= 32`\n // https://regexr.com/6va55\n if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))\n return argType === 'string' || arg instanceof Uint8Array;\n // fixed-length (`[M]`) and dynamic (`[]`) arrays\n // https://regexr.com/6va6i\n if (/[a-z]+[1-9]{0,3}(\\[[0-9]{0,}\\])+$/.test(abiParameterType)) {\n return (Array.isArray(arg) &&\n arg.every((x) => isArgOfType(x, {\n ...abiParameter,\n // Pop off `[]` or `[M]` from end of type\n type: abiParameterType.replace(/(\\[[0-9]{0,}\\])$/, ''),\n })));\n }\n return false;\n }\n }\n}\n//# sourceMappingURL=getAbiItem.js.map","import { AbiEventNotFoundError } from '../../errors/abi.js';\nimport { FilterTypeNotSupportedError } from '../../errors/log.js';\nimport { toBytes } from '../encoding/toBytes.js';\nimport { getEventSelector } from '../hash/getEventSelector.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { encodeAbiParameters } from './encodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nimport { getAbiItem } from './getAbiItem.js';\nexport function encodeEventTopics({ abi, eventName, args }) {\n let abiItem = abi[0];\n if (eventName) {\n abiItem = getAbiItem({\n abi,\n args,\n name: eventName,\n });\n if (!abiItem)\n throw new AbiEventNotFoundError(eventName, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n }\n if (abiItem.type !== 'event')\n throw new AbiEventNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeEventTopics',\n });\n const definition = formatAbiItem(abiItem);\n const signature = getEventSelector(definition);\n let topics = [];\n if (args && 'inputs' in abiItem) {\n const indexedInputs = abiItem.inputs?.filter((param) => 'indexed' in param && param.indexed);\n const args_ = Array.isArray(args)\n ? args\n : Object.values(args).length > 0\n ? indexedInputs?.map((x) => args[x.name]) ?? []\n : [];\n if (args_.length > 0) {\n topics =\n indexedInputs?.map((param, i) => Array.isArray(args_[i])\n ? args_[i].map((_, j) => encodeArg({ param, value: args_[i][j] }))\n : args_[i]\n ? encodeArg({ param, value: args_[i] })\n : null) ?? [];\n }\n }\n return [signature, ...topics];\n}\nfunction encodeArg({ param, value, }) {\n if (param.type === 'string' || param.type === 'bytes')\n return keccak256(toBytes(value));\n if (param.type === 'tuple' || param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n throw new FilterTypeNotSupportedError(param.type);\n return encodeAbiParameters([param], [value]);\n}\n//# sourceMappingURL=encodeEventTopics.js.map","/**\n * Scopes `request` to the filter ID. If the client is a fallback, it will\n * listen for responses and scope the child transport `request` function\n * to the successful filter ID.\n */\nexport function createFilterRequestScope(client, { method }) {\n const requestMap = {};\n if (client.transport.type === 'fallback')\n client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => {\n if (status === 'success' && method === method_)\n requestMap[id] = transport.request;\n });\n return ((id) => requestMap[id] || client.request);\n}\n//# sourceMappingURL=createFilterRequestScope.js.map","import { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';\n/**\n * Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs.html).\n *\n * - Docs: https://viem.sh/docs/contract/createContractEventFilter.html\n *\n * @param client - Client to use\n * @param parameters - {@link CreateContractEventFilterParameters}\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateContractEventFilterReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createContractEventFilter } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createContractEventFilter(client, {\n * abi: parseAbi(['event Transfer(address indexed, address indexed, uint256)']),\n * })\n */\nexport async function createContractEventFilter(client, { address, abi, args, eventName, fromBlock, strict, toBlock, }) {\n const getRequest = createFilterRequestScope(client, {\n method: 'eth_newFilter',\n });\n const topics = eventName\n ? encodeEventTopics({\n abi,\n args,\n eventName,\n })\n : undefined;\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? numberToHex(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? numberToHex(toBlock) : toBlock,\n topics,\n },\n ],\n });\n return {\n abi,\n args,\n eventName,\n id,\n request: getRequest(id),\n strict,\n type: 'event',\n };\n}\n//# sourceMappingURL=createContractEventFilter.js.map","export function parseAccount(account) {\n if (typeof account === 'string')\n return { address: account, type: 'json-rpc' };\n return account;\n}\n//# sourceMappingURL=parseAccount.js.map","import { slice } from '../data/slice.js';\nimport { hashAbiItem, hashFunction } from './hashFunction.js';\nexport const getFunctionSelector = (fn) => {\n if (typeof fn === 'string')\n return slice(hashFunction(fn), 0, 4);\n return slice(hashAbiItem(fn), 0, 4);\n};\n//# sourceMappingURL=getFunctionSelector.js.map","import { AbiFunctionNotFoundError } from '../../errors/abi.js';\nimport { concatHex } from '../data/concat.js';\nimport { getFunctionSelector } from '../hash/getFunctionSelector.js';\nimport { encodeAbiParameters } from './encodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nimport { getAbiItem } from './getAbiItem.js';\nexport function encodeFunctionData({ abi, args, functionName, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = getAbiItem({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new AbiFunctionNotFoundError(functionName, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n }\n if (abiItem.type !== 'function')\n throw new AbiFunctionNotFoundError(undefined, {\n docsPath: '/docs/contract/encodeFunctionData',\n });\n const definition = formatAbiItem(abiItem);\n const signature = getFunctionSelector(definition);\n const data = 'inputs' in abiItem && abiItem.inputs\n ? encodeAbiParameters(abiItem.inputs, (args ?? []))\n : undefined;\n return concatHex([signature, data ?? '0x']);\n}\n//# sourceMappingURL=encodeFunctionData.js.map","// https://docs.soliditylang.org/en/v0.8.16/control-structures.html#panic-via-assert-and-error-via-require\nexport const panicReasons = {\n 1: 'An `assert` condition failed.',\n 17: 'Arithmic operation resulted in underflow or overflow.',\n 18: 'Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).',\n 33: 'Attempted to convert to an invalid type.',\n 34: 'Attempted to access a storage byte array that is incorrectly encoded.',\n 49: 'Performed `.pop()` on an empty array',\n 50: 'Array index is out of bounds.',\n 65: 'Allocated too much memory or created an array which is too large.',\n 81: 'Attempted to call a zero-initialized variable of internal function type.',\n};\nexport const solidityError = {\n inputs: [\n {\n name: 'message',\n type: 'string',\n },\n ],\n name: 'Error',\n type: 'error',\n};\nexport const solidityPanic = {\n inputs: [\n {\n name: 'reason',\n type: 'uint256',\n },\n ],\n name: 'Panic',\n type: 'error',\n};\n//# sourceMappingURL=solidity.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { stringToBytes } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { isAddress } from './isAddress.js';\nexport function checksumAddress(address_, chainId) {\n const hexAddress = chainId\n ? `${chainId}${address_.toLowerCase()}`\n : address_.substring(2).toLowerCase();\n const hash = keccak256(stringToBytes(hexAddress), 'bytes');\n const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');\n for (let i = 0; i < 40; i += 2) {\n if (hash[i >> 1] >> 4 >= 8 && address[i]) {\n address[i] = address[i].toUpperCase();\n }\n if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {\n address[i + 1] = address[i + 1].toUpperCase();\n }\n }\n return `0x${address.join('')}`;\n}\nexport function getAddress(address, chainId) {\n if (!isAddress(address))\n throw new InvalidAddressError({ address });\n return checksumAddress(address, chainId);\n}\n//# sourceMappingURL=getAddress.js.map","import { AbiDecodingDataSizeTooSmallError, AbiDecodingZeroDataError, InvalidAbiDecodingTypeError, } from '../../errors/abi.js';\nimport { checksumAddress } from '../address/getAddress.js';\nimport { size } from '../data/size.js';\nimport { slice } from '../data/slice.js';\nimport { trim } from '../data/trim.js';\nimport { hexToBigInt, hexToBool, hexToNumber, hexToString, } from '../encoding/fromHex.js';\nimport { getArrayComponents } from './encodeAbiParameters.js';\nexport function decodeAbiParameters(params, data) {\n if (data === '0x' && params.length > 0)\n throw new AbiDecodingZeroDataError();\n if (size(data) && size(data) < 32)\n throw new AbiDecodingDataSizeTooSmallError({\n data,\n params: params,\n size: size(data),\n });\n return decodeParams({\n data,\n params: params,\n });\n}\nfunction decodeParams({ data, params, }) {\n const decodedValues = [];\n let position = 0;\n for (let i = 0; i < params.length; i++) {\n if (position >= size(data))\n throw new AbiDecodingDataSizeTooSmallError({\n data,\n params,\n size: size(data),\n });\n const param = params[i];\n const { consumed, value } = decodeParam({ data, param, position });\n decodedValues.push(value);\n // Step across the data by the amount of data consumed by this parameter.\n position += consumed;\n }\n return decodedValues;\n}\nfunction decodeParam({ data, param, position, }) {\n const arrayComponents = getArrayComponents(param.type);\n if (arrayComponents) {\n const [length, type] = arrayComponents;\n return decodeArray(data, {\n length,\n param: { ...param, type: type },\n position,\n });\n }\n if (param.type === 'tuple') {\n return decodeTuple(data, { param: param, position });\n }\n if (param.type === 'string') {\n return decodeString(data, { position });\n }\n if (param.type.startsWith('bytes')) {\n return decodeBytes(data, { param, position });\n }\n const value = slice(data, position, position + 32, { strict: true });\n if (param.type.startsWith('uint') || param.type.startsWith('int')) {\n return decodeNumber(value, { param });\n }\n if (param.type === 'address') {\n return decodeAddress(value);\n }\n if (param.type === 'bool') {\n return decodeBool(value);\n }\n throw new InvalidAbiDecodingTypeError(param.type, {\n docsPath: '/docs/contract/decodeAbiParameters',\n });\n}\n////////////////////////////////////////////////////////////////////\nfunction decodeAddress(value) {\n return { consumed: 32, value: checksumAddress(slice(value, -20)) };\n}\nfunction decodeArray(data, { param, length, position, }) {\n // If the length of the array is not known in advance (dynamic array),\n // we will need to decode the offset of the array data.\n if (!length) {\n // Get the offset of the array data.\n const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));\n // Get the length of the array from the offset.\n const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data: slice(data, offset + 32),\n param,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n // If the length of the array is known in advance,\n // and the length of an element deeply nested in the array is not known,\n // we need to decode the offset of the array data.\n if (hasDynamicChild(param)) {\n // Get the child type of the array.\n const arrayComponents = getArrayComponents(param.type);\n // If the child type is not known, the array is dynamic.\n const dynamicChild = !arrayComponents?.[0];\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));\n const decodedChild = decodeParam({\n data: slice(data, offset),\n param,\n position: dynamicChild ? consumed : i * 32,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed: 32 };\n }\n // If the length of the array is known in advance,\n // and the length of each element in the array is known,\n // the array data is encoded contiguously after the array.\n let consumed = 0;\n const value = [];\n for (let i = 0; i < length; ++i) {\n const decodedChild = decodeParam({\n data,\n param,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value.push(decodedChild.value);\n }\n return { value, consumed };\n}\nfunction decodeBool(value) {\n return { consumed: 32, value: hexToBool(value) };\n}\nfunction decodeBytes(data, { param, position }) {\n const [_, size] = param.type.split('bytes');\n if (!size) {\n // If we don't have a size, we're dealing with a dynamic-size array\n // so we need to read the offset of the data part first.\n const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));\n const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));\n // If there is no length, we have zero data.\n if (length === 0)\n return { consumed: 32, value: '0x' };\n const value = slice(data, offset + 32, offset + 32 + length, {\n strict: true,\n });\n return { consumed: 32, value };\n }\n const value = slice(data, position, position + parseInt(size), {\n strict: true,\n });\n return { consumed: 32, value };\n}\nfunction decodeNumber(value, { param }) {\n const signed = param.type.startsWith('int');\n const size = parseInt(param.type.split('int')[1] || '256');\n return {\n consumed: 32,\n value: size > 48\n ? hexToBigInt(value, { signed })\n : hexToNumber(value, { signed }),\n };\n}\nfunction decodeString(data, { position }) {\n const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));\n const length = hexToNumber(slice(data, offset, offset + 32, { strict: true }));\n // If there is no length, we have zero data (empty string).\n if (length === 0)\n return { consumed: 32, value: '' };\n const value = hexToString(trim(slice(data, offset + 32, offset + 32 + length, { strict: true })));\n return { consumed: 32, value };\n}\nfunction decodeTuple(data, { param, position }) {\n // Tuples can have unnamed components (i.e. they are arrays), so we must\n // determine whether the tuple is named or unnamed. In the case of a named\n // tuple, the value will be an object where each property is the name of the\n // component. In the case of an unnamed tuple, the value will be an array.\n const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name);\n // Initialize the value to an object or an array, depending on whether the\n // tuple is named or unnamed.\n const value = hasUnnamedChild ? [] : {};\n let consumed = 0;\n // If the tuple has a dynamic child, we must first decode the offset to the\n // tuple data.\n if (hasDynamicChild(param)) {\n const offset = hexToNumber(slice(data, position, position + 32, { strict: true }));\n // Decode each component of the tuple, starting at the offset.\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data: slice(data, offset),\n param: component,\n position: consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed: 32, value };\n }\n // If the tuple has static children, we can just decode each component\n // in sequence.\n for (let i = 0; i < param.components.length; ++i) {\n const component = param.components[i];\n const decodedChild = decodeParam({\n data,\n param: component,\n position: position + consumed,\n });\n consumed += decodedChild.consumed;\n value[hasUnnamedChild ? i : component?.name] = decodedChild.value;\n }\n return { consumed, value };\n}\nfunction hasDynamicChild(param) {\n const { type } = param;\n if (type === 'string')\n return true;\n if (type === 'bytes')\n return true;\n if (type.endsWith('[]'))\n return true;\n if (type === 'tuple')\n return param.components?.some(hasDynamicChild);\n const arrayComponents = getArrayComponents(param.type);\n if (arrayComponents &&\n hasDynamicChild({ ...param, type: arrayComponents[1] }))\n return true;\n return false;\n}\n//# sourceMappingURL=decodeAbiParameters.js.map","import { solidityError, solidityPanic } from '../../constants/solidity.js';\nimport { AbiDecodingZeroDataError, AbiErrorSignatureNotFoundError, } from '../../errors/abi.js';\nimport { slice } from '../data/slice.js';\nimport { getFunctionSelector } from '../hash/getFunctionSelector.js';\nimport { decodeAbiParameters } from './decodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nexport function decodeErrorResult({ abi, data, }) {\n const signature = slice(data, 0, 4);\n if (signature === '0x')\n throw new AbiDecodingZeroDataError();\n const abi_ = [...(abi || []), solidityError, solidityPanic];\n const abiItem = abi_.find((x) => x.type === 'error' && signature === getFunctionSelector(formatAbiItem(x)));\n if (!abiItem)\n throw new AbiErrorSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeErrorResult',\n });\n return {\n abiItem,\n args: ('inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0\n ? decodeAbiParameters(abiItem.inputs, slice(data, 4))\n : undefined),\n errorName: abiItem.name,\n };\n}\n//# sourceMappingURL=decodeErrorResult.js.map","export const stringify = (value, replacer, space) => JSON.stringify(value, (key, value_) => {\n const value = typeof value_ === 'bigint' ? value_.toString() : value_;\n return typeof replacer === 'function' ? replacer(key, value) : value;\n}, space);\n//# sourceMappingURL=stringify.js.map","import { stringify } from '../stringify.js';\nexport function formatAbiItemWithArgs({ abiItem, args, includeFunctionName = true, includeName = false, }) {\n if (!('name' in abiItem))\n return;\n if (!('inputs' in abiItem))\n return;\n if (!abiItem.inputs)\n return;\n return `${includeFunctionName ? abiItem.name : ''}(${abiItem.inputs\n .map((input, i) => `${includeName && input.name ? `${input.name}: ` : ''}${typeof args[i] === 'object' ? stringify(args[i]) : args[i]}`)\n .join(', ')})`;\n}\n//# sourceMappingURL=formatAbiItemWithArgs.js.map","export const etherUnits = {\n gwei: 9,\n wei: 18,\n};\nexport const gweiUnits = {\n ether: -9,\n wei: 9,\n};\nexport const weiUnits = {\n ether: -18,\n gwei: -9,\n};\n//# sourceMappingURL=unit.js.map","export function formatUnits(value, decimals) {\n let display = value.toString();\n const negative = display.startsWith('-');\n if (negative)\n display = display.slice(1);\n display = display.padStart(decimals, '0');\n let [integer, fraction] = [\n display.slice(0, display.length - decimals),\n display.slice(display.length - decimals),\n ];\n fraction = fraction.replace(/(0+)$/, '');\n return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`;\n}\n//# sourceMappingURL=formatUnits.js.map","import { etherUnits } from '../../constants/unit.js';\nimport { formatUnits } from './formatUnits.js';\nexport function formatEther(wei, unit = 'wei') {\n return formatUnits(wei, etherUnits[unit]);\n}\n//# sourceMappingURL=formatEther.js.map","import { gweiUnits } from '../../constants/unit.js';\nimport { formatUnits } from './formatUnits.js';\nexport function formatGwei(wei, unit = 'wei') {\n return formatUnits(wei, gweiUnits[unit]);\n}\n//# sourceMappingURL=formatGwei.js.map","import { formatEther } from '../utils/unit/formatEther.js';\nimport { formatGwei } from '../utils/unit/formatGwei.js';\nimport { BaseError } from './base.js';\nexport function prettyPrint(args) {\n const entries = Object.entries(args)\n .map(([key, value]) => {\n if (value === undefined || value === false)\n return null;\n return [key, value];\n })\n .filter(Boolean);\n const maxLength = entries.reduce((acc, [key]) => Math.max(acc, key.length), 0);\n return entries\n .map(([key, value]) => ` ${`${key}:`.padEnd(maxLength + 1)} ${value}`)\n .join('\\n');\n}\nexport class FeeConflictError extends BaseError {\n constructor() {\n super([\n 'Cannot specify both a `gasPrice` and a `maxFeePerGas`/`maxPriorityFeePerGas`.',\n 'Use `maxFeePerGas`/`maxPriorityFeePerGas` for EIP-1559 compatible networks, and `gasPrice` for others.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeConflictError'\n });\n }\n}\nexport class InvalidLegacyVError extends BaseError {\n constructor({ v }) {\n super(`Invalid \\`v\\` value \"${v}\". Expected 27 or 28.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidLegacyVError'\n });\n }\n}\nexport class InvalidSerializableTransactionError extends BaseError {\n constructor({ transaction }) {\n super('Cannot infer a transaction type from provided transaction.', {\n metaMessages: [\n 'Provided Transaction:',\n '{',\n prettyPrint(transaction),\n '}',\n '',\n 'To infer the type, either provide:',\n '- a `type` to the Transaction, or',\n '- an EIP-1559 Transaction with `maxFeePerGas`, or',\n '- an EIP-2930 Transaction with `gasPrice` & `accessList`, or',\n '- a Legacy Transaction with `gasPrice`',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializableTransactionError'\n });\n }\n}\nexport class InvalidSerializedTransactionTypeError extends BaseError {\n constructor({ serializedType }) {\n super(`Serialized transaction type \"${serializedType}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionType'\n });\n Object.defineProperty(this, \"serializedType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedType = serializedType;\n }\n}\nexport class InvalidSerializedTransactionError extends BaseError {\n constructor({ attributes, serializedTransaction, type, }) {\n const missing = Object.entries(attributes)\n .map(([key, value]) => (typeof value === 'undefined' ? key : undefined))\n .filter(Boolean);\n super(`Invalid serialized transaction of type \"${type}\" was provided.`, {\n metaMessages: [\n `Serialized Transaction: \"${serializedTransaction}\"`,\n missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidSerializedTransactionError'\n });\n Object.defineProperty(this, \"serializedTransaction\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"type\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.serializedTransaction = serializedTransaction;\n this.type = type;\n }\n}\nexport class InvalidStorageKeySizeError extends BaseError {\n constructor({ storageKey }) {\n super(`Size for storage key \"${storageKey}\" is invalid. Expected 32 bytes. Got ${Math.floor((storageKey.length - 2) / 2)} bytes.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidStorageKeySizeError'\n });\n }\n}\nexport class TransactionExecutionError extends BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = prettyPrint({\n chain: chain && `${chain?.name} (id: ${chain?.id})`,\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${formatEther(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${formatGwei(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${formatGwei(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${formatGwei(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Request Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionExecutionError'\n });\n this.cause = cause;\n }\n}\nexport class TransactionNotFoundError extends BaseError {\n constructor({ blockHash, blockNumber, blockTag, hash, index, }) {\n let identifier = 'Transaction';\n if (blockTag && index !== undefined)\n identifier = `Transaction at block time \"${blockTag}\" at index \"${index}\"`;\n if (blockHash && index !== undefined)\n identifier = `Transaction at block hash \"${blockHash}\" at index \"${index}\"`;\n if (blockNumber && index !== undefined)\n identifier = `Transaction at block number \"${blockNumber}\" at index \"${index}\"`;\n if (hash)\n identifier = `Transaction with hash \"${hash}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionNotFoundError'\n });\n }\n}\nexport class TransactionReceiptNotFoundError extends BaseError {\n constructor({ hash }) {\n super(`Transaction receipt with hash \"${hash}\" could not be found. The Transaction may not be processed on a block yet.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionReceiptNotFoundError'\n });\n }\n}\nexport class WaitForTransactionReceiptTimeoutError extends BaseError {\n constructor({ hash }) {\n super(`Timed out while waiting for transaction with hash \"${hash}\" to be confirmed.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WaitForTransactionReceiptTimeoutError'\n });\n }\n}\n//# sourceMappingURL=transaction.js.map","import { parseAccount } from '../accounts/utils/parseAccount.js';\nimport { panicReasons } from '../constants/solidity.js';\nimport { decodeErrorResult, } from '../utils/abi/decodeErrorResult.js';\nimport { formatAbiItem } from '../utils/abi/formatAbiItem.js';\nimport { formatAbiItemWithArgs } from '../utils/abi/formatAbiItemWithArgs.js';\nimport { getAbiItem } from '../utils/abi/getAbiItem.js';\nimport { formatEther } from '../utils/unit/formatEther.js';\nimport { formatGwei } from '../utils/unit/formatGwei.js';\nimport { AbiErrorSignatureNotFoundError } from './abi.js';\nimport { BaseError } from './base.js';\nimport { prettyPrint } from './transaction.js';\nimport { getContractAddress } from './utils.js';\nexport class CallExecutionError extends BaseError {\n constructor(cause, { account: account_, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const account = account_ ? parseAccount(account_) : undefined;\n const prettyArgs = prettyPrint({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${formatEther(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${formatGwei(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${formatGwei(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${formatGwei(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Raw Call Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'CallExecutionError'\n });\n this.cause = cause;\n }\n}\nexport class ContractFunctionExecutionError extends BaseError {\n constructor(cause, { abi, args, contractAddress, docsPath, functionName, sender, }) {\n const abiItem = getAbiItem({ abi, args, name: functionName });\n const formattedArgs = abiItem\n ? formatAbiItemWithArgs({\n abiItem,\n args,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n const functionWithParams = abiItem\n ? formatAbiItem(abiItem, { includeName: true })\n : undefined;\n const prettyArgs = prettyPrint({\n address: contractAddress && getContractAddress(contractAddress),\n function: functionWithParams,\n args: formattedArgs &&\n formattedArgs !== '()' &&\n `${[...Array(functionName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`,\n sender,\n });\n super(cause.shortMessage ||\n `An unknown error occurred while executing the contract function \"${functionName}\".`, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Contract Call:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"abi\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"args\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"contractAddress\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"formattedArgs\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"functionName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"sender\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionExecutionError'\n });\n this.abi = abi;\n this.args = args;\n this.cause = cause;\n this.contractAddress = contractAddress;\n this.functionName = functionName;\n this.sender = sender;\n }\n}\nexport class ContractFunctionRevertedError extends BaseError {\n constructor({ abi, data, functionName, message, }) {\n let cause;\n let decodedData = undefined;\n let metaMessages;\n let reason;\n if (data && data !== '0x') {\n try {\n decodedData = decodeErrorResult({ abi, data });\n const { abiItem, errorName, args: errorArgs } = decodedData;\n if (errorName === 'Error') {\n reason = errorArgs[0];\n }\n else if (errorName === 'Panic') {\n const [firstArg] = errorArgs;\n reason = panicReasons[firstArg];\n }\n else {\n const errorWithParams = abiItem\n ? formatAbiItem(abiItem, { includeName: true })\n : undefined;\n const formattedArgs = abiItem && errorArgs\n ? formatAbiItemWithArgs({\n abiItem,\n args: errorArgs,\n includeFunctionName: false,\n includeName: false,\n })\n : undefined;\n metaMessages = [\n errorWithParams ? `Error: ${errorWithParams}` : '',\n formattedArgs && formattedArgs !== '()'\n ? ` ${[...Array(errorName?.length ?? 0).keys()]\n .map(() => ' ')\n .join('')}${formattedArgs}`\n : '',\n ];\n }\n }\n catch (err) {\n cause = err;\n }\n }\n else if (message)\n reason = message;\n let signature;\n if (cause instanceof AbiErrorSignatureNotFoundError) {\n signature = cause.signature;\n metaMessages = [\n `Unable to decode signature \"${signature}\" as it was not found on the provided ABI.`,\n 'Make sure you are using the correct ABI and that the error exists on it.',\n `You can look up the decoded signature here: https://openchain.xyz/signatures?query=${signature}.`,\n ];\n }\n super((reason && reason !== 'execution reverted') || signature\n ? [\n `The contract function \"${functionName}\" reverted with the following ${signature ? 'signature' : 'reason'}:`,\n reason || signature,\n ].join('\\n')\n : `The contract function \"${functionName}\" reverted.`, {\n cause,\n metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionRevertedError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"reason\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"signature\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = decodedData;\n this.reason = reason;\n this.signature = signature;\n }\n}\nexport class ContractFunctionZeroDataError extends BaseError {\n constructor({ functionName }) {\n super(`The contract function \"${functionName}\" returned no data (\"0x\").`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ` - The contract does not have the function \"${functionName}\",`,\n ' - The parameters passed to the contract function may be invalid, or',\n ' - The address is not a contract.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ContractFunctionZeroDataError'\n });\n }\n}\nexport class RawContractError extends BaseError {\n constructor({ data, message, }) {\n super(message || '');\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RawContractError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = data;\n }\n}\n//# sourceMappingURL=contract.js.map","import { AbiDecodingZeroDataError } from '../../errors/abi.js';\nimport { BaseError } from '../../errors/base.js';\nimport { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, RawContractError, } from '../../errors/contract.js';\nconst EXECUTION_REVERTED_ERROR_CODE = 3;\nexport function getContractError(err, { abi, address, args, docsPath, functionName, sender, }) {\n const { code, data, message, shortMessage } = (err instanceof RawContractError\n ? err\n : err instanceof BaseError\n ? err.walk((err) => 'data' in err) || err.walk()\n : {});\n let cause = err;\n if (err instanceof AbiDecodingZeroDataError) {\n cause = new ContractFunctionZeroDataError({ functionName });\n }\n else if (code === EXECUTION_REVERTED_ERROR_CODE &&\n (data || message || shortMessage)) {\n cause = new ContractFunctionRevertedError({\n abi,\n data: typeof data === 'object' ? data.data : data,\n functionName,\n message: shortMessage ?? message,\n });\n }\n return new ContractFunctionExecutionError(cause, {\n abi,\n args,\n contractAddress: address,\n docsPath,\n functionName,\n sender,\n });\n}\n//# sourceMappingURL=getContractError.js.map","import { BaseError } from './base.js';\nexport class AccountNotFoundError extends BaseError {\n constructor({ docsPath } = {}) {\n super([\n 'Could not find an Account to execute with this Action.',\n 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient.',\n ].join('\\n'), {\n docsPath,\n docsSlug: 'account',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'AccountNotFoundError'\n });\n }\n}\n//# sourceMappingURL=account.js.map","import { formatEther } from '../utils/unit/formatEther.js';\nimport { formatGwei } from '../utils/unit/formatGwei.js';\nimport { BaseError } from './base.js';\nimport { prettyPrint } from './transaction.js';\nexport class EstimateGasExecutionError extends BaseError {\n constructor(cause, { account, docsPath, chain, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, }) {\n const prettyArgs = prettyPrint({\n from: account?.address,\n to,\n value: typeof value !== 'undefined' &&\n `${formatEther(value)} ${chain?.nativeCurrency.symbol || 'ETH'}`,\n data,\n gas,\n gasPrice: typeof gasPrice !== 'undefined' && `${formatGwei(gasPrice)} gwei`,\n maxFeePerGas: typeof maxFeePerGas !== 'undefined' &&\n `${formatGwei(maxFeePerGas)} gwei`,\n maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' &&\n `${formatGwei(maxPriorityFeePerGas)} gwei`,\n nonce,\n });\n super(cause.shortMessage, {\n cause,\n docsPath,\n metaMessages: [\n ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),\n 'Estimate Gas Arguments:',\n prettyArgs,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"cause\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EstimateGasExecutionError'\n });\n this.cause = cause;\n }\n}\n//# sourceMappingURL=estimateGas.js.map","import { formatGwei } from '../utils/unit/formatGwei.js';\nimport { BaseError } from './base.js';\n/**\n * geth: https://github.com/ethereum/go-ethereum/blob/master/core/error.go\n * https://github.com/ethereum/go-ethereum/blob/master/core/types/transaction.go#L34-L41\n *\n * erigon: https://github.com/ledgerwatch/erigon/blob/master/core/error.go\n * https://github.com/ledgerwatch/erigon/blob/master/core/types/transaction.go#L41-L46\n *\n * anvil: https://github.com/foundry-rs/foundry/blob/master/anvil/src/eth/error.rs#L108\n */\nclass ExecutionRevertedError extends BaseError {\n constructor({ cause, message, } = {}) {\n const reason = message\n ?.replace('execution reverted: ', '')\n ?.replace('execution reverted', '');\n super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ExecutionRevertedError'\n });\n }\n}\nObject.defineProperty(ExecutionRevertedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 3\n});\nObject.defineProperty(ExecutionRevertedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /execution reverted/\n});\nexport { ExecutionRevertedError };\nclass FeeCapTooHighError extends BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)} gwei` : ''}) cannot be higher than the maximum allowed value (2^256-1).`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooHigh'\n });\n }\n}\nObject.defineProperty(FeeCapTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas higher than 2\\^256-1|fee cap higher than 2\\^256-1/\n});\nexport { FeeCapTooHighError };\nclass FeeCapTooLowError extends BaseError {\n constructor({ cause, maxFeePerGas, } = {}) {\n super(`The fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)}` : ''} gwei) cannot be lower than the block base fee.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'FeeCapTooLow'\n });\n }\n}\nObject.defineProperty(FeeCapTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/\n});\nexport { FeeCapTooLowError };\nclass NonceTooHighError extends BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is higher than the next one expected.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooHighError'\n });\n }\n}\nObject.defineProperty(NonceTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too high/\n});\nexport { NonceTooHighError };\nclass NonceTooLowError extends BaseError {\n constructor({ cause, nonce } = {}) {\n super([\n `Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}is lower than the current nonce of the account.`,\n 'Try increasing the nonce or find the latest nonce with `getTransactionCount`.',\n ].join('\\n'), { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceTooLowError'\n });\n }\n}\nObject.defineProperty(NonceTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce too low|transaction already imported|already known/\n});\nexport { NonceTooLowError };\nclass NonceMaxValueError extends BaseError {\n constructor({ cause, nonce } = {}) {\n super(`Nonce provided for the transaction ${nonce ? `(${nonce}) ` : ''}exceeds the maximum allowed nonce.`, { cause });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'NonceMaxValueError'\n });\n }\n}\nObject.defineProperty(NonceMaxValueError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /nonce has max value/\n});\nexport { NonceMaxValueError };\nclass InsufficientFundsError extends BaseError {\n constructor({ cause } = {}) {\n super([\n 'The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account.',\n ].join('\\n'), {\n cause,\n metaMessages: [\n 'This error could arise when the account does not have enough funds to:',\n ' - pay for the total gas fee,',\n ' - pay for the value to send.',\n ' ',\n 'The cost of the transaction is calculated as `gas * gas fee + value`, where:',\n ' - `gas` is the amount of gas needed for transaction to execute,',\n ' - `gas fee` is the gas fee,',\n ' - `value` is the amount of ether to send to the recipient.',\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InsufficientFundsError'\n });\n }\n}\nObject.defineProperty(InsufficientFundsError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /insufficient funds/\n});\nexport { InsufficientFundsError };\nclass IntrinsicGasTooHighError extends BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction exceeds the limit allowed for the block.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooHighError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooHighError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too high|gas limit reached/\n});\nexport { IntrinsicGasTooHighError };\nclass IntrinsicGasTooLowError extends BaseError {\n constructor({ cause, gas } = {}) {\n super(`The amount of gas ${gas ? `(${gas}) ` : ''}provided for the transaction is too low.`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'IntrinsicGasTooLowError'\n });\n }\n}\nObject.defineProperty(IntrinsicGasTooLowError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /intrinsic gas too low/\n});\nexport { IntrinsicGasTooLowError };\nclass TransactionTypeNotSupportedError extends BaseError {\n constructor({ cause }) {\n super('The transaction type is not supported for this chain.', {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionTypeNotSupportedError'\n });\n }\n}\nObject.defineProperty(TransactionTypeNotSupportedError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /transaction type not valid/\n});\nexport { TransactionTypeNotSupportedError };\nclass TipAboveFeeCapError extends BaseError {\n constructor({ cause, maxPriorityFeePerGas, maxFeePerGas, } = {}) {\n super([\n `The provided tip (\\`maxPriorityFeePerGas\\`${maxPriorityFeePerGas\n ? ` = ${formatGwei(maxPriorityFeePerGas)} gwei`\n : ''}) cannot be higher than the fee cap (\\`maxFeePerGas\\`${maxFeePerGas ? ` = ${formatGwei(maxFeePerGas)} gwei` : ''}).`,\n ].join('\\n'), {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TipAboveFeeCapError'\n });\n }\n}\nObject.defineProperty(TipAboveFeeCapError, \"nodeMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: /max priority fee per gas higher than max fee per gas|tip higher than fee cap/\n});\nexport { TipAboveFeeCapError };\nexport class UnknownNodeError extends BaseError {\n constructor({ cause }) {\n super(`An error occurred while executing: ${cause?.message}`, {\n cause,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownNodeError'\n });\n }\n}\n//# sourceMappingURL=node.js.map","import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class HttpRequestError extends BaseError {\n constructor({ body, details, headers, status, url, }) {\n super('HTTP request failed.', {\n details,\n metaMessages: [\n status && `Status: ${status}`,\n `URL: ${getUrl(url)}`,\n body && `Request body: ${stringify(body)}`,\n ].filter(Boolean),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'HttpRequestError'\n });\n Object.defineProperty(this, \"body\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"headers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"url\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.body = body;\n this.headers = headers;\n this.status = status;\n this.url = url;\n }\n}\nexport class WebSocketRequestError extends BaseError {\n constructor({ body, details, url, }) {\n super('WebSocket request failed.', {\n details,\n metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WebSocketRequestError'\n });\n }\n}\nexport class RpcRequestError extends BaseError {\n constructor({ body, error, url, }) {\n super('RPC Request failed.', {\n cause: error,\n details: error.message,\n metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcRequestError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.code = error.code;\n }\n}\nexport class TimeoutError extends BaseError {\n constructor({ body, url, }) {\n super('The request took too long to respond.', {\n details: 'The request timed out.',\n metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TimeoutError'\n });\n }\n}\n//# sourceMappingURL=request.js.map","import { BaseError } from './base.js';\nimport { RpcRequestError } from './request.js';\nconst unknownErrorCode = -1;\n/**\n * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.\n *\n * - EIP https://eips.ethereum.org/EIPS/eip-1474\n */\nexport class RpcError extends BaseError {\n constructor(cause, { code, docsPath, metaMessages, shortMessage }) {\n super(shortMessage, {\n cause,\n docsPath,\n metaMessages: metaMessages || cause?.metaMessages,\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'RpcError'\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.name = cause.name;\n this.code = (cause instanceof RpcRequestError ? cause.code : code ?? unknownErrorCode);\n }\n}\n/**\n * Error subclass implementing Ethereum Provider errors per EIP-1193.\n *\n * - EIP https://eips.ethereum.org/EIPS/eip-1193\n */\nexport class ProviderRpcError extends RpcError {\n constructor(cause, options) {\n super(cause, options);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderRpcError'\n });\n Object.defineProperty(this, \"data\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.data = options.data;\n }\n}\n/**\n * Subclass for a \"Parse error\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ParseRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ParseRpcError.code,\n shortMessage: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ParseRpcError'\n });\n }\n}\nObject.defineProperty(ParseRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32700\n});\nexport { ParseRpcError };\n/**\n * Subclass for a \"Invalid request\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidRequestRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidRequestRpcError.code,\n shortMessage: 'JSON is not a valid request object.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidRequestRpcError'\n });\n }\n}\nObject.defineProperty(InvalidRequestRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32600\n});\nexport { InvalidRequestRpcError };\n/**\n * Subclass for a \"Method not found\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass MethodNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotFoundRpcError.code,\n shortMessage: 'The method does not exist / is not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32601\n});\nexport { MethodNotFoundRpcError };\n/**\n * Subclass for an \"Invalid params\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidParamsRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidParamsRpcError.code,\n shortMessage: [\n 'Invalid parameters were provided to the RPC method.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidParamsRpcError'\n });\n }\n}\nObject.defineProperty(InvalidParamsRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32602\n});\nexport { InvalidParamsRpcError };\n/**\n * Subclass for an \"Internal error\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InternalRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InternalRpcError.code,\n shortMessage: 'An internal error was received.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InternalRpcError'\n });\n }\n}\nObject.defineProperty(InternalRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32603\n});\nexport { InternalRpcError };\n/**\n * Subclass for an \"Invalid input\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass InvalidInputRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: InvalidInputRpcError.code,\n shortMessage: [\n 'Missing or invalid parameters.',\n 'Double check you have provided the correct parameters.',\n ].join('\\n'),\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidInputRpcError'\n });\n }\n}\nObject.defineProperty(InvalidInputRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32000\n});\nexport { InvalidInputRpcError };\n/**\n * Subclass for a \"Resource not found\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ResourceNotFoundRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceNotFoundRpcError.code,\n shortMessage: 'Requested resource not found.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceNotFoundRpcError'\n });\n }\n}\nObject.defineProperty(ResourceNotFoundRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32001\n});\nexport { ResourceNotFoundRpcError };\n/**\n * Subclass for a \"Resource unavailable\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass ResourceUnavailableRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: ResourceUnavailableRpcError.code,\n shortMessage: 'Requested resource not available.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ResourceUnavailableRpcError'\n });\n }\n}\nObject.defineProperty(ResourceUnavailableRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32002\n});\nexport { ResourceUnavailableRpcError };\n/**\n * Subclass for a \"Transaction rejected\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass TransactionRejectedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: TransactionRejectedRpcError.code,\n shortMessage: 'Transaction creation failed.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'TransactionRejectedRpcError'\n });\n }\n}\nObject.defineProperty(TransactionRejectedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32003\n});\nexport { TransactionRejectedRpcError };\n/**\n * Subclass for a \"Method not supported\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass MethodNotSupportedRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: MethodNotSupportedRpcError.code,\n shortMessage: 'Method is not implemented.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'MethodNotSupportedRpcError'\n });\n }\n}\nObject.defineProperty(MethodNotSupportedRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32004\n});\nexport { MethodNotSupportedRpcError };\n/**\n * Subclass for a \"Limit exceeded\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass LimitExceededRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: LimitExceededRpcError.code,\n shortMessage: 'Request exceeds defined limit.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'LimitExceededRpcError'\n });\n }\n}\nObject.defineProperty(LimitExceededRpcError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32005\n});\nexport { LimitExceededRpcError };\n/**\n * Subclass for a \"JSON-RPC version not supported\" EIP-1474 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes\n */\nclass JsonRpcVersionUnsupportedError extends RpcError {\n constructor(cause) {\n super(cause, {\n code: JsonRpcVersionUnsupportedError.code,\n shortMessage: 'Version of JSON-RPC protocol is not supported.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'JsonRpcVersionUnsupportedError'\n });\n }\n}\nObject.defineProperty(JsonRpcVersionUnsupportedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: -32006\n});\nexport { JsonRpcVersionUnsupportedError };\n/**\n * Subclass for a \"User Rejected Request\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UserRejectedRequestError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UserRejectedRequestError.code,\n shortMessage: 'User rejected the request.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UserRejectedRequestError'\n });\n }\n}\nObject.defineProperty(UserRejectedRequestError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4001\n});\nexport { UserRejectedRequestError };\n/**\n * Subclass for an \"Unauthorized\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UnauthorizedProviderError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnauthorizedProviderError.code,\n shortMessage: 'The requested method and/or account has not been authorized by the user.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnauthorizedProviderError'\n });\n }\n}\nObject.defineProperty(UnauthorizedProviderError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4100\n});\nexport { UnauthorizedProviderError };\n/**\n * Subclass for an \"Unsupported Method\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass UnsupportedProviderMethodError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: UnsupportedProviderMethodError.code,\n shortMessage: 'The Provider does not support the requested method.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnsupportedProviderMethodError'\n });\n }\n}\nObject.defineProperty(UnsupportedProviderMethodError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4200\n});\nexport { UnsupportedProviderMethodError };\n/**\n * Subclass for an \"Disconnected\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass ProviderDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ProviderDisconnectedError.code,\n shortMessage: 'The Provider is disconnected from all chains.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ProviderDisconnectedError'\n });\n }\n}\nObject.defineProperty(ProviderDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4900\n});\nexport { ProviderDisconnectedError };\n/**\n * Subclass for an \"Chain Disconnected\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass ChainDisconnectedError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: ChainDisconnectedError.code,\n shortMessage: 'The Provider is not connected to the requested chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDisconnectedError'\n });\n }\n}\nObject.defineProperty(ChainDisconnectedError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4901\n});\nexport { ChainDisconnectedError };\n/**\n * Subclass for an \"Switch Chain\" EIP-1193 error.\n *\n * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors\n */\nclass SwitchChainError extends ProviderRpcError {\n constructor(cause) {\n super(cause, {\n code: SwitchChainError.code,\n shortMessage: 'An error occurred when attempting to switch chain.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'SwitchChainError'\n });\n }\n}\nObject.defineProperty(SwitchChainError, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 4902\n});\nexport { SwitchChainError };\n/**\n * Subclass for an unknown RPC error.\n */\nexport class UnknownRpcError extends RpcError {\n constructor(cause) {\n super(cause, {\n shortMessage: 'An unknown RPC error occurred.',\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'UnknownRpcError'\n });\n }\n}\n//# sourceMappingURL=rpc.js.map","import { ExecutionRevertedError, FeeCapTooHighError, FeeCapTooLowError, InsufficientFundsError, IntrinsicGasTooHighError, IntrinsicGasTooLowError, NonceMaxValueError, NonceTooHighError, NonceTooLowError, TipAboveFeeCapError, TransactionTypeNotSupportedError, UnknownNodeError, } from '../../errors/node.js';\nimport { RpcRequestError } from '../../errors/request.js';\nimport { InvalidInputRpcError, TransactionRejectedRpcError, } from '../../errors/rpc.js';\nexport function containsNodeError(err) {\n return (err instanceof TransactionRejectedRpcError ||\n err instanceof InvalidInputRpcError ||\n (err instanceof RpcRequestError && err.code === ExecutionRevertedError.code));\n}\nexport function getNodeError(err, args) {\n const message = err.details.toLowerCase();\n if (FeeCapTooHighError.nodeMessage.test(message))\n return new FeeCapTooHighError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (FeeCapTooLowError.nodeMessage.test(message))\n return new FeeCapTooLowError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n });\n else if (NonceTooHighError.nodeMessage.test(message))\n return new NonceTooHighError({ cause: err, nonce: args?.nonce });\n else if (NonceTooLowError.nodeMessage.test(message))\n return new NonceTooLowError({ cause: err, nonce: args?.nonce });\n else if (NonceMaxValueError.nodeMessage.test(message))\n return new NonceMaxValueError({ cause: err, nonce: args?.nonce });\n else if (InsufficientFundsError.nodeMessage.test(message))\n return new InsufficientFundsError({ cause: err });\n else if (IntrinsicGasTooHighError.nodeMessage.test(message))\n return new IntrinsicGasTooHighError({ cause: err, gas: args?.gas });\n else if (IntrinsicGasTooLowError.nodeMessage.test(message))\n return new IntrinsicGasTooLowError({ cause: err, gas: args?.gas });\n else if (TransactionTypeNotSupportedError.nodeMessage.test(message))\n return new TransactionTypeNotSupportedError({ cause: err });\n else if (TipAboveFeeCapError.nodeMessage.test(message))\n return new TipAboveFeeCapError({\n cause: err,\n maxFeePerGas: args?.maxFeePerGas,\n maxPriorityFeePerGas: args?.maxPriorityFeePerGas,\n });\n else if (message.match(ExecutionRevertedError.nodeMessage) ||\n ('code' in err.cause &&\n err.cause?.code === ExecutionRevertedError.code))\n return new ExecutionRevertedError({\n cause: err,\n message: err.cause.details || err.details,\n });\n return new UnknownNodeError({\n cause: err.cause.cause,\n });\n}\n//# sourceMappingURL=getNodeError.js.map","import { EstimateGasExecutionError } from '../../errors/estimateGas.js';\nimport { containsNodeError, getNodeError, } from './getNodeError.js';\nexport function getEstimateGasError(err, { docsPath, ...args }) {\n let cause = err;\n if (containsNodeError(err))\n cause = getNodeError(err, args);\n return new EstimateGasExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getEstimateGasError.js.map","/**\n * @description Picks out the keys from `value` that exist in the formatter.\n */\nexport function extract(value, { format }) {\n if (!format)\n return {};\n const keys = Object.keys(format({}));\n return keys.reduce((data, key) => {\n // rome-ignore lint/suspicious/noPrototypeBuiltins:\n if (value?.hasOwnProperty(key)) {\n data[key] = value[key];\n }\n return data;\n }, {});\n}\n//# sourceMappingURL=extract.js.map","import { numberToHex } from '../encoding/toHex.js';\nimport { defineFormatter } from './formatter.js';\nexport function formatTransactionRequest(transactionRequest) {\n return {\n ...transactionRequest,\n gas: typeof transactionRequest.gas !== 'undefined'\n ? numberToHex(transactionRequest.gas)\n : undefined,\n gasPrice: typeof transactionRequest.gasPrice !== 'undefined'\n ? numberToHex(transactionRequest.gasPrice)\n : undefined,\n maxFeePerGas: typeof transactionRequest.maxFeePerGas !== 'undefined'\n ? numberToHex(transactionRequest.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: typeof transactionRequest.maxPriorityFeePerGas !== 'undefined'\n ? numberToHex(transactionRequest.maxPriorityFeePerGas)\n : undefined,\n nonce: typeof transactionRequest.nonce !== 'undefined'\n ? numberToHex(transactionRequest.nonce)\n : undefined,\n value: typeof transactionRequest.value !== 'undefined'\n ? numberToHex(transactionRequest.value)\n : undefined,\n };\n}\nexport const defineTransactionRequest = /*#__PURE__*/ defineFormatter('transactionRequest', formatTransactionRequest);\n//# sourceMappingURL=transactionRequest.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { InvalidAddressError } from '../../errors/address.js';\nimport { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js';\nimport { FeeConflictError } from '../../errors/transaction.js';\nimport { isAddress } from '../address/isAddress.js';\nexport function assertRequest(args) {\n const { account: account_, gasPrice, maxFeePerGas, maxPriorityFeePerGas, to, } = args;\n const account = account_ ? parseAccount(account_) : undefined;\n if (account && !isAddress(account.address))\n throw new InvalidAddressError({ address: account.address });\n if (to && !isAddress(to))\n throw new InvalidAddressError({ address: to });\n if (typeof gasPrice !== 'undefined' &&\n (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined'))\n throw new FeeConflictError();\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\n//# sourceMappingURL=assertRequest.js.map","import { BaseError } from './base.js';\nexport class BlockNotFoundError extends BaseError {\n constructor({ blockHash, blockNumber, }) {\n let identifier = 'Block';\n if (blockHash)\n identifier = `Block at hash \"${blockHash}\"`;\n if (blockNumber)\n identifier = `Block at number \"${blockNumber}\"`;\n super(`${identifier} could not be found.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'BlockNotFoundError'\n });\n }\n}\n//# sourceMappingURL=block.js.map","import { hexToNumber } from '../encoding/fromHex.js';\nimport { defineFormatter } from './formatter.js';\nexport const transactionType = {\n '0x0': 'legacy',\n '0x1': 'eip2930',\n '0x2': 'eip1559',\n};\nexport function formatTransaction(transaction) {\n const transaction_ = {\n ...transaction,\n blockHash: transaction.blockHash ? transaction.blockHash : null,\n blockNumber: transaction.blockNumber\n ? BigInt(transaction.blockNumber)\n : null,\n chainId: transaction.chainId ? hexToNumber(transaction.chainId) : undefined,\n gas: transaction.gas ? BigInt(transaction.gas) : undefined,\n gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,\n maxFeePerGas: transaction.maxFeePerGas\n ? BigInt(transaction.maxFeePerGas)\n : undefined,\n maxPriorityFeePerGas: transaction.maxPriorityFeePerGas\n ? BigInt(transaction.maxPriorityFeePerGas)\n : undefined,\n nonce: transaction.nonce ? hexToNumber(transaction.nonce) : undefined,\n to: transaction.to ? transaction.to : null,\n transactionIndex: transaction.transactionIndex\n ? Number(transaction.transactionIndex)\n : null,\n type: transaction.type ? transactionType[transaction.type] : undefined,\n typeHex: transaction.type ? transaction.type : undefined,\n value: transaction.value ? BigInt(transaction.value) : undefined,\n v: transaction.v ? BigInt(transaction.v) : undefined,\n };\n if (transaction_.type === 'legacy') {\n delete transaction_['accessList'];\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n if (transaction_.type === 'eip2930') {\n delete transaction_['maxFeePerGas'];\n delete transaction_['maxPriorityFeePerGas'];\n }\n return transaction_;\n}\nexport const defineTransaction = /*#__PURE__*/ defineFormatter('transaction', formatTransaction);\n//# sourceMappingURL=transaction.js.map","import { defineFormatter } from './formatter.js';\nimport { formatTransaction } from './transaction.js';\nexport function formatBlock(block) {\n const transactions = block.transactions?.map((transaction) => {\n if (typeof transaction === 'string')\n return transaction;\n return formatTransaction(transaction);\n });\n return {\n ...block,\n baseFeePerGas: block.baseFeePerGas ? BigInt(block.baseFeePerGas) : null,\n difficulty: block.difficulty ? BigInt(block.difficulty) : undefined,\n gasLimit: block.gasLimit ? BigInt(block.gasLimit) : undefined,\n gasUsed: block.gasUsed ? BigInt(block.gasUsed) : undefined,\n hash: block.hash ? block.hash : null,\n logsBloom: block.logsBloom ? block.logsBloom : null,\n nonce: block.nonce ? block.nonce : null,\n number: block.number ? BigInt(block.number) : null,\n size: block.size ? BigInt(block.size) : undefined,\n timestamp: block.timestamp ? BigInt(block.timestamp) : undefined,\n transactions,\n totalDifficulty: block.totalDifficulty\n ? BigInt(block.totalDifficulty)\n : null,\n };\n}\nexport const defineBlock = /*#__PURE__*/ defineFormatter('block', formatBlock);\n//# sourceMappingURL=block.js.map","import { BlockNotFoundError } from '../../errors/block.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatBlock, } from '../../utils/formatters/block.js';\n/**\n * Returns information about a block at a block number, hash, or tag.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlock.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/fetching-blocks\n * - JSON-RPC Methods:\n * - Calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) for `blockNumber` & `blockTag`.\n * - Calls [`eth_getBlockByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbyhash) for `blockHash`.\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockParameters}\n * @returns Information about the block. {@link GetBlockReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlock } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const block = await getBlock(client)\n */\nexport async function getBlock(client, { blockHash, blockNumber, blockTag: blockTag_, includeTransactions: includeTransactions_, } = {}) {\n const blockTag = blockTag_ ?? 'latest';\n const includeTransactions = includeTransactions_ ?? false;\n const blockNumberHex = blockNumber !== undefined ? numberToHex(blockNumber) : undefined;\n let block = null;\n if (blockHash) {\n block = await client.request({\n method: 'eth_getBlockByHash',\n params: [blockHash, includeTransactions],\n });\n }\n else {\n block = await client.request({\n method: 'eth_getBlockByNumber',\n params: [blockNumberHex || blockTag, includeTransactions],\n });\n }\n if (!block)\n throw new BlockNotFoundError({ blockHash, blockNumber });\n const format = client.chain?.formatters?.block?.format || formatBlock;\n return format(block);\n}\n//# sourceMappingURL=getBlock.js.map","/**\n * Returns the current price of gas (in wei).\n *\n * - Docs: https://viem.sh/docs/actions/public/getGasPrice.html\n * - JSON-RPC Methods: [`eth_gasPrice`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gasprice)\n *\n * @param client - Client to use\n * @returns The gas price (in wei). {@link GetGasPriceReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getGasPrice } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gasPrice = await getGasPrice(client)\n */\nexport async function getGasPrice(client) {\n const gasPrice = await client.request({\n method: 'eth_gasPrice',\n });\n return BigInt(gasPrice);\n}\n//# sourceMappingURL=getGasPrice.js.map","import { hexToNumber } from '../../utils/encoding/fromHex.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Returns the number of [Transactions](https://viem.sh/docs/glossary/terms.html#transaction) an Account has broadcast / sent.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionCount.html\n * - JSON-RPC Methods: [`eth_getTransactionCount`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactioncount)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionCountParameters}\n * @returns The number of transactions an account has sent. {@link GetTransactionCountReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionCount } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionCount = await getTransactionCount(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function getTransactionCount(client, { address, blockTag = 'latest', blockNumber }) {\n const count = await client.request({\n method: 'eth_getTransactionCount',\n params: [address, blockNumber ? numberToHex(blockNumber) : blockTag],\n });\n return hexToNumber(count);\n}\n//# sourceMappingURL=getTransactionCount.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { estimateGas, } from '../../actions/public/estimateGas.js';\nimport { getBlock } from '../../actions/public/getBlock.js';\nimport { getGasPrice } from '../../actions/public/getGasPrice.js';\nimport { getTransactionCount } from '../../actions/public/getTransactionCount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { BaseError } from '../../errors/base.js';\nimport { assertRequest } from './assertRequest.js';\nexport async function prepareRequest(client, args) {\n const { account: account_, chain = client.chain, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, } = args;\n if (!account_)\n throw new AccountNotFoundError();\n const account = parseAccount(account_);\n const block = await getBlock(client, { blockTag: 'latest' });\n const request = { ...args, from: account.address };\n if (typeof nonce === 'undefined')\n request.nonce = await getTransactionCount(client, {\n address: account.address,\n blockTag: 'pending',\n });\n if (typeof block.baseFeePerGas === 'bigint' &&\n typeof gasPrice === 'undefined') {\n let defaultPriorityFee = 1500000000n; // 1.5 gwei\n if (typeof chain?.fees?.defaultPriorityFee !== 'undefined') {\n defaultPriorityFee =\n typeof chain.fees.defaultPriorityFee === 'bigint'\n ? chain.fees.defaultPriorityFee\n : await chain.fees.defaultPriorityFee({\n block,\n request: request,\n });\n }\n // EIP-1559 fees\n if (typeof maxFeePerGas === 'undefined') {\n // Set a buffer of 1.2x on top of the base fee to account for fluctuations.\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee;\n request.maxFeePerGas =\n (block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas;\n }\n else {\n if (typeof maxPriorityFeePerGas === 'undefined' &&\n maxFeePerGas < defaultPriorityFee)\n throw new BaseError('`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).');\n request.maxFeePerGas = maxFeePerGas;\n request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee;\n }\n }\n else if (typeof gasPrice === 'undefined') {\n // Legacy fees\n if (typeof maxFeePerGas !== 'undefined' ||\n typeof maxPriorityFeePerGas !== 'undefined')\n throw new BaseError('Chain does not support EIP-1559 fees.');\n // Set a buffer of 1.2x on top of the base fee to account for fluctuations.\n request.gasPrice = ((await getGasPrice(client)) * 120n) / 100n;\n }\n if (typeof gas === 'undefined')\n request.gas = await estimateGas(client, {\n ...request,\n account: { address: account.address, type: 'json-rpc' },\n });\n assertRequest(request);\n return request;\n}\n//# sourceMappingURL=prepareRequest.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { getEstimateGasError } from '../../utils/errors/getEstimateGasError.js';\nimport { extract } from '../../utils/formatters/extract.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\nimport { prepareRequest, } from '../../utils/transaction/prepareRequest.js';\n/**\n * Estimates the gas necessary to complete a transaction without submitting it to the network.\n *\n * - Docs: https://viem.sh/docs/actions/public/estimateGas.html\n * - JSON-RPC Methods: [`eth_estimateGas`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas)\n *\n * @param client - Client to use\n * @param parameters - {@link EstimateGasParameters}\n * @returns The gas estimate (in wei). {@link EstimateGasReturnType}\n *\n * @example\n * import { createPublicClient, http, parseEther } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { estimateGas } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gasEstimate = await estimateGas(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: parseEther('1'),\n * })\n */\nexport async function estimateGas(client, args) {\n const account_ = args.account ?? client.account;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/public/estimateGas',\n });\n const account = parseAccount(account_);\n try {\n const { accessList, blockNumber, blockTag, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = account.type === 'local'\n ? (await prepareRequest(client, args))\n : args;\n const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n assertRequest(args);\n const format = client.chain?.formatters?.transactionRequest?.format ||\n formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { format }),\n from: account.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n const balance = await client.request({\n method: 'eth_estimateGas',\n params: block ? [request, block] : [request],\n });\n return BigInt(balance);\n }\n catch (err) {\n throw getEstimateGasError(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\n//# sourceMappingURL=estimateGas.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError } from '../../utils/errors/getContractError.js';\nimport { estimateGas } from './estimateGas.js';\n/**\n * Estimates the gas required to successfully execute a contract write function call.\n *\n * - Docs: https://viem.sh/docs/contract/estimateContractGas.html\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`estimateGas` action](https://viem.sh/docs/actions/public/estimateGas.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link EstimateContractGasParameters}\n * @returns The gas estimate (in wei). {@link EstimateContractGasReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { estimateContractGas } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const gas = await estimateContractGas(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint() public']),\n * functionName: 'mint',\n * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * })\n */\nexport async function estimateContractGas(client, { abi, address, args, functionName, ...request }) {\n const data = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n try {\n const gas = await estimateGas(client, {\n data,\n to: address,\n ...request,\n });\n return gas;\n }\n catch (err) {\n const account = request.account ? parseAccount(request.account) : undefined;\n throw getContractError(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/estimateContractGas',\n functionName,\n sender: account?.address,\n });\n }\n}\n//# sourceMappingURL=estimateContractGas.js.map","import { AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, } from '../../errors/abi.js';\nimport { decodeAbiParameters } from './decodeAbiParameters.js';\nimport { getAbiItem } from './getAbiItem.js';\nconst docsPath = '/docs/contract/decodeFunctionResult';\nexport function decodeFunctionResult({ abi, args, functionName, data, }) {\n let abiItem = abi[0];\n if (functionName) {\n abiItem = getAbiItem({\n abi,\n args,\n name: functionName,\n });\n if (!abiItem)\n throw new AbiFunctionNotFoundError(functionName, { docsPath });\n }\n if (abiItem.type !== 'function')\n throw new AbiFunctionNotFoundError(undefined, { docsPath });\n if (!abiItem.outputs)\n throw new AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n const values = decodeAbiParameters(abiItem.outputs, data);\n if (values && values.length > 1)\n return values;\n if (values && values.length === 1)\n return values[0];\n return undefined;\n}\n//# sourceMappingURL=decodeFunctionResult.js.map","/* [Multicall3](https://github.com/mds1/multicall) */\nexport const multicall3Abi = [\n {\n inputs: [\n {\n components: [\n {\n name: 'target',\n type: 'address',\n },\n {\n name: 'allowFailure',\n type: 'bool',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n ],\n name: 'calls',\n type: 'tuple[]',\n },\n ],\n name: 'aggregate3',\n outputs: [\n {\n components: [\n {\n name: 'success',\n type: 'bool',\n },\n {\n name: 'returnData',\n type: 'bytes',\n },\n ],\n name: 'returnData',\n type: 'tuple[]',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\nconst universalResolverErrors = [\n {\n inputs: [],\n name: 'ResolverNotFound',\n type: 'error',\n },\n {\n inputs: [],\n name: 'ResolverWildcardNotSupported',\n type: 'error',\n },\n];\nexport const universalResolverResolveAbi = [\n ...universalResolverErrors,\n {\n name: 'resolve',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes' },\n { name: 'data', type: 'bytes' },\n ],\n outputs: [\n { name: '', type: 'bytes' },\n { name: 'address', type: 'address' },\n ],\n },\n];\nexport const universalResolverReverseAbi = [\n ...universalResolverErrors,\n {\n name: 'reverse',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ type: 'bytes', name: 'reverseName' }],\n outputs: [\n { type: 'string', name: 'resolvedName' },\n { type: 'address', name: 'resolvedAddress' },\n { type: 'address', name: 'reverseResolver' },\n { type: 'address', name: 'resolver' },\n ],\n },\n];\nexport const textResolverAbi = [\n {\n name: 'text',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes32' },\n { name: 'key', type: 'string' },\n ],\n outputs: [{ name: '', type: 'string' }],\n },\n];\nexport const addressResolverAbi = [\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'name', type: 'bytes32' }],\n outputs: [{ name: '', type: 'address' }],\n },\n {\n name: 'addr',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'name', type: 'bytes32' },\n { name: 'coinType', type: 'uint256' },\n ],\n outputs: [{ name: '', type: 'bytes' }],\n },\n];\n// ERC-1271\n// isValidSignature(bytes32 hash, bytes signature) → bytes4 magicValue\nexport const smartAccountAbi = [\n {\n name: 'isValidSignature',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'hash', type: 'bytes32' },\n { name: 'signature', type: 'bytes' },\n ],\n outputs: [{ name: '', type: 'bytes4' }],\n },\n];\n// ERC-6492 - universal deployless signature validator contract\n// constructor(address _signer, bytes32 _hash, bytes _signature) → bytes4 returnValue\n// returnValue is either 0x1 (valid) or 0x0 (invalid)\nexport const universalSignatureValidatorAbi = [\n {\n inputs: [\n {\n internalType: 'address',\n name: '_signer',\n type: 'address',\n },\n {\n internalType: 'bytes32',\n name: '_hash',\n type: 'bytes32',\n },\n {\n internalType: 'bytes',\n name: '_signature',\n type: 'bytes',\n },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n];\n//# sourceMappingURL=abis.js.map","export const aggregate3Signature = '0x82ad56cb';\n//# sourceMappingURL=contract.js.map","import { BaseError } from './base.js';\nexport class ChainDoesNotSupportContract extends BaseError {\n constructor({ blockNumber, chain, contract, }) {\n super(`Chain \"${chain.name}\" does not support contract \"${contract.name}\".`, {\n metaMessages: [\n 'This could be due to any of the following:',\n ...(blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber\n ? [\n `- The contract \"${contract.name}\" was not deployed until block ${contract.blockCreated} (current block ${blockNumber}).`,\n ]\n : [\n `- The chain does not have the contract \"${contract.name}\" configured.`,\n ]),\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainDoesNotSupportContract'\n });\n }\n}\nexport class ChainMismatchError extends BaseError {\n constructor({ chain, currentChainId, }) {\n super(`The current chain of the wallet (id: ${currentChainId}) does not match the target chain for the transaction (id: ${chain.id} – ${chain.name}).`, {\n metaMessages: [\n `Current Chain ID: ${currentChainId}`,\n `Expected Chain ID: ${chain.id} – ${chain.name}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainMismatchError'\n });\n }\n}\nexport class ChainNotFoundError extends BaseError {\n constructor() {\n super([\n 'No chain was provided to the request.',\n 'Please provide a chain with the `chain` argument on the Action, or by supplying a `chain` to WalletClient.',\n ].join('\\n'));\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainNotFoundError'\n });\n }\n}\nexport class ClientChainNotConfiguredError extends BaseError {\n constructor() {\n super('No chain was provided to the Client.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ClientChainNotConfiguredError'\n });\n }\n}\nexport class InvalidChainIdError extends BaseError {\n constructor({ chainId }) {\n super(`Chain ID \"${chainId}\" is invalid.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'InvalidChainIdError'\n });\n }\n}\n//# sourceMappingURL=chain.js.map","import { ChainDoesNotSupportContract, ChainMismatchError, ChainNotFoundError, } from '../errors/chain.js';\nexport function assertCurrentChain({ chain, currentChainId, }) {\n if (!chain)\n throw new ChainNotFoundError();\n if (currentChainId !== chain.id)\n throw new ChainMismatchError({ chain, currentChainId });\n}\nexport function defineChain(chain, config = {}) {\n const { fees = chain.fees, formatters = chain.formatters, serializers = chain.serializers, } = config;\n return {\n ...chain,\n fees,\n formatters,\n serializers,\n };\n}\nexport function getChainContractAddress({ blockNumber, chain, contract: name, }) {\n const contract = chain?.contracts?.[name];\n if (!contract)\n throw new ChainDoesNotSupportContract({\n chain,\n contract: { name },\n });\n if (blockNumber &&\n contract.blockCreated &&\n contract.blockCreated > blockNumber)\n throw new ChainDoesNotSupportContract({\n blockNumber,\n chain,\n contract: {\n name,\n blockCreated: contract.blockCreated,\n },\n });\n return contract.address;\n}\n//# sourceMappingURL=chain.js.map","import { CallExecutionError } from '../../errors/contract.js';\nimport { containsNodeError, getNodeError, } from './getNodeError.js';\nexport function getCallError(err, { docsPath, ...args }) {\n let cause = err;\n if (containsNodeError(err))\n cause = getNodeError(err, args);\n return new CallExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getCallError.js.map","const schedulerCache = /*#__PURE__*/ new Map();\nexport function createBatchScheduler({ fn, id, shouldSplitBatch, wait = 0, }) {\n const exec = async () => {\n const scheduler = getScheduler();\n flush();\n const args = scheduler.map(({ args }) => args);\n if (args.length === 0)\n return;\n fn(args)\n .then((data) => {\n scheduler.forEach(({ pendingPromise }, i) => pendingPromise.resolve?.([data[i], data]));\n })\n .catch((err) => {\n scheduler.forEach(({ pendingPromise }) => pendingPromise.reject?.(err));\n });\n };\n const flush = () => schedulerCache.delete(id);\n const getBatchedArgs = () => getScheduler().map(({ args }) => args);\n const getScheduler = () => schedulerCache.get(id) || [];\n const setScheduler = (item) => schedulerCache.set(id, [...getScheduler(), item]);\n return {\n flush,\n async schedule(args) {\n const pendingPromise = {};\n const promise = new Promise((resolve, reject) => {\n pendingPromise.resolve = resolve;\n pendingPromise.reject = reject;\n });\n const split = shouldSplitBatch?.([...getBatchedArgs(), args]);\n if (split)\n exec();\n const hasActiveScheduler = getScheduler().length > 0;\n if (hasActiveScheduler) {\n setScheduler({ args, pendingPromise });\n return promise;\n }\n setScheduler({ args, pendingPromise });\n setTimeout(exec, wait);\n return promise;\n },\n };\n}\n//# sourceMappingURL=createBatchScheduler.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { multicall3Abi } from '../../constants/abis.js';\nimport { aggregate3Signature } from '../../constants/contract.js';\nimport { BaseError } from '../../errors/base.js';\nimport { ChainDoesNotSupportContract, ClientChainNotConfiguredError, } from '../../errors/chain.js';\nimport { RawContractError } from '../../errors/contract.js';\nimport { decodeFunctionResult } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData } from '../../utils/abi/encodeFunctionData.js';\nimport { getChainContractAddress } from '../../utils/chain.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { getCallError } from '../../utils/errors/getCallError.js';\nimport { extract } from '../../utils/formatters/extract.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { createBatchScheduler } from '../../utils/promise/createBatchScheduler.js';\nimport { assertRequest } from '../../utils/transaction/assertRequest.js';\n/**\n * Executes a new message call immediately without submitting a transaction to the network.\n *\n * - Docs: https://viem.sh/docs/actions/public/call.html\n * - JSON-RPC Methods: [`eth_call`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_call)\n *\n * @param client - Client to use\n * @param parameters - {@link CallParameters}\n * @returns The call data. {@link CallReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { call } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const data = await call(client, {\n * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',\n * data: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * })\n */\nexport async function call(client, args) {\n const { account: account_, batch = Boolean(client.batch?.multicall), blockNumber, blockTag = 'latest', accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n const account = account_ ? parseAccount(account_) : undefined;\n try {\n assertRequest(args);\n const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const format = client.chain?.formatters?.transactionRequest?.format ||\n formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { format }),\n from: account?.address,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n if (batch && shouldPerformMulticall({ request })) {\n try {\n return await scheduleMulticall(client, {\n ...request,\n blockNumber,\n blockTag,\n });\n }\n catch (err) {\n if (!(err instanceof ClientChainNotConfiguredError) &&\n !(err instanceof ChainDoesNotSupportContract))\n throw err;\n }\n }\n const response = await client.request({\n method: 'eth_call',\n params: block\n ? [request, block]\n : [request],\n });\n if (response === '0x')\n return { data: undefined };\n return { data: response };\n }\n catch (err) {\n const data = getRevertErrorData(err);\n const { offchainLookup, offchainLookupSignature } = await import('../../utils/ccip.js');\n if (data?.slice(0, 10) === offchainLookupSignature && to) {\n return { data: await offchainLookup(client, { data, to }) };\n }\n throw getCallError(err, {\n ...args,\n account,\n chain: client.chain,\n });\n }\n}\n// We only want to perform a scheduled multicall if:\n// - The request has calldata,\n// - The request has a target address,\n// - The target address is not already the aggregate3 signature,\n// - The request has no other properties (`nonce`, `gas`, etc cannot be sent with a multicall).\nfunction shouldPerformMulticall({ request }) {\n const { data, to, ...request_ } = request;\n if (!data)\n return false;\n if (data.startsWith(aggregate3Signature))\n return false;\n if (!to)\n return false;\n if (Object.values(request_).filter((x) => typeof x !== 'undefined').length > 0)\n return false;\n return true;\n}\nasync function scheduleMulticall(client, args) {\n const { batchSize = 1024, wait = 0 } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};\n const { blockNumber, blockTag = 'latest', data, multicallAddress: multicallAddress_, to, } = args;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new ClientChainNotConfiguredError();\n multicallAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;\n const block = blockNumberHex || blockTag;\n const { schedule } = createBatchScheduler({\n id: `${client.uid}.${block}`,\n wait,\n shouldSplitBatch(args) {\n const size = args.reduce((size, { data }) => size + (data.length - 2), 0);\n return size > batchSize * 2;\n },\n fn: async (requests) => {\n const calls = requests.map((request) => ({\n allowFailure: true,\n callData: request.data,\n target: request.to,\n }));\n const calldata = encodeFunctionData({\n abi: multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n });\n const data = await client.request({\n method: 'eth_call',\n params: [\n {\n data: calldata,\n to: multicallAddress,\n },\n block,\n ],\n });\n return decodeFunctionResult({\n abi: multicall3Abi,\n args: [calls],\n functionName: 'aggregate3',\n data: data || '0x',\n });\n },\n });\n const [{ returnData, success }] = await schedule({ data, to });\n if (!success)\n throw new RawContractError({ data: returnData });\n if (returnData === '0x')\n return { data: undefined };\n return { data: returnData };\n}\nexport function getRevertErrorData(err) {\n if (!(err instanceof BaseError))\n return undefined;\n const error = err.walk();\n return typeof error.data === 'object' ? error.data.data : error.data;\n}\n//# sourceMappingURL=call.js.map","import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError } from '../../utils/errors/getContractError.js';\nimport { call } from './call.js';\n/**\n * Calls a read-only function on a contract, and returns the response.\n *\n * - Docs: https://viem.sh/docs/contract/readContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/reading-contracts\n *\n * A \"read-only\" function (constant function) on a Solidity contract is denoted by a `view` or `pure` keyword. They can only read the state of the contract, and cannot make any changes to it. Since read-only methods do not change the state of the contract, they do not require any gas to be executed, and can be called by any user without the need to pay for gas.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link ReadContractParameters}\n * @returns The response from the contract. Type is inferred. {@link ReadContractReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { readContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await readContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function balanceOf(address) view returns (uint256)']),\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * })\n * // 424122n\n */\nexport async function readContract(client, { abi, address, args, functionName, ...callRequest }) {\n const calldata = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await call(client, {\n data: calldata,\n to: address,\n ...callRequest,\n });\n return decodeFunctionResult({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n }\n catch (err) {\n throw getContractError(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/readContract',\n functionName,\n });\n }\n}\n//# sourceMappingURL=readContract.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getContractError } from '../../utils/errors/getContractError.js';\nimport { call } from './call.js';\n/**\n * Simulates/validates a contract interaction. This is useful for retrieving **return data** and **revert reasons** of contract write functions.\n *\n * - Docs: https://viem.sh/docs/contract/simulateContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/writing-to-contracts\n *\n * This function does not require gas to execute and _**does not**_ change the state of the blockchain. It is almost identical to [`readContract`](https://viem.sh/docs/contract/readContract.html), but also supports contract write functions.\n *\n * Internally, uses a [Public Client](https://viem.sh/docs/clients/public.html) to call the [`call` action](https://viem.sh/docs/actions/public/call.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * @param client - Client to use\n * @param parameters - {@link SimulateContractParameters}\n * @returns The simulation result and write request. {@link SimulateContractReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateContract } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const result = await simulateContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32) view returns (uint32)']),\n * functionName: 'mint',\n * args: ['69420'],\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n */\nexport async function simulateContract(client, { abi, address, args, dataSuffix, functionName, ...callRequest }) {\n const account = callRequest.account\n ? parseAccount(callRequest.account)\n : undefined;\n const calldata = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n try {\n const { data } = await call(client, {\n batch: false,\n data: `${calldata}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...callRequest,\n });\n const result = decodeFunctionResult({\n abi,\n args,\n functionName,\n data: data || '0x',\n });\n return {\n result,\n request: {\n abi,\n address,\n args,\n dataSuffix,\n functionName,\n ...callRequest,\n },\n };\n }\n catch (err) {\n throw getContractError(err, {\n abi: abi,\n address,\n args,\n docsPath: '/docs/contract/simulateContract',\n functionName,\n sender: account?.address,\n });\n }\n}\n//# sourceMappingURL=simulateContract.js.map","export const listenersCache = /*#__PURE__*/ new Map();\nexport const cleanupCache = /*#__PURE__*/ new Map();\nlet callbackCount = 0;\n/**\n * @description Sets up an observer for a given function. If another function\n * is set up under the same observer id, the function will only be called once\n * for both instances of the observer.\n */\nexport function observe(observerId, callbacks, fn) {\n const callbackId = ++callbackCount;\n const getListeners = () => listenersCache.get(observerId) || [];\n const unsubscribe = () => {\n const listeners = getListeners();\n listenersCache.set(observerId, listeners.filter((cb) => cb.id !== callbackId));\n };\n const unwatch = () => {\n const cleanup = cleanupCache.get(observerId);\n if (getListeners().length === 1 && cleanup)\n cleanup();\n unsubscribe();\n };\n const listeners = getListeners();\n listenersCache.set(observerId, [\n ...listeners,\n { id: callbackId, fns: callbacks },\n ]);\n if (listeners && listeners.length > 0)\n return unwatch;\n const emit = {};\n for (const key in callbacks) {\n emit[key] = ((...args) => {\n const listeners = getListeners();\n if (listeners.length === 0)\n return;\n listeners.forEach((listener) => listener.fns[key]?.(...args));\n });\n }\n const cleanup = fn(emit);\n if (typeof cleanup === 'function')\n cleanupCache.set(observerId, cleanup);\n return unwatch;\n}\n//# sourceMappingURL=observe.js.map","export async function wait(time) {\n return new Promise((res) => setTimeout(res, time));\n}\n//# sourceMappingURL=wait.js.map","import { wait } from './wait.js';\n/**\n * @description Polls a function at a specified interval.\n */\nexport function poll(fn, { emitOnBegin, initialWaitTime, interval }) {\n let active = true;\n const unwatch = () => (active = false);\n const watch = async () => {\n let data;\n if (emitOnBegin)\n data = await fn({ unpoll: unwatch });\n const initialWait = (await initialWaitTime?.(data)) ?? interval;\n await wait(initialWait);\n const poll = async () => {\n if (!active)\n return;\n await fn({ unpoll: unwatch });\n await wait(interval);\n poll();\n };\n poll();\n };\n watch();\n return unwatch;\n}\n//# sourceMappingURL=poll.js.map","export const promiseCache = /*#__PURE__*/ new Map();\nexport const responseCache = /*#__PURE__*/ new Map();\nexport function getCache(cacheKey) {\n const buildCache = (cacheKey, cache) => ({\n clear: () => cache.delete(cacheKey),\n get: () => cache.get(cacheKey),\n set: (data) => cache.set(cacheKey, data),\n });\n const promise = buildCache(cacheKey, promiseCache);\n const response = buildCache(cacheKey, responseCache);\n return {\n clear: () => {\n promise.clear();\n response.clear();\n },\n promise,\n response,\n };\n}\n/**\n * @description Returns the result of a given promise, and caches the result for\n * subsequent invocations against a provided cache key.\n */\nexport async function withCache(fn, { cacheKey, cacheTime = Infinity }) {\n const cache = getCache(cacheKey);\n // If a response exists in the cache, and it's not expired, return it\n // and do not invoke the promise.\n // If the max age is 0, the cache is disabled.\n const response = cache.response.get();\n if (response && cacheTime > 0) {\n const age = new Date().getTime() - response.created.getTime();\n if (age < cacheTime)\n return response.data;\n }\n let promise = cache.promise.get();\n if (!promise) {\n promise = fn();\n // Store the promise in the cache so that subsequent invocations\n // will wait for the same promise to resolve (deduping).\n cache.promise.set(promise);\n }\n try {\n const data = await promise;\n // Store the response in the cache so that subsequent invocations\n // will return the same response.\n cache.response.set({ created: new Date(), data });\n return data;\n }\n finally {\n // Clear the promise cache so that subsequent invocations will\n // invoke the promise again.\n cache.promise.clear();\n }\n}\n//# sourceMappingURL=withCache.js.map","import { getCache, withCache } from '../../utils/promise/withCache.js';\nconst cacheKey = (id) => `blockNumber.${id}`;\nexport function getBlockNumberCache(id) {\n return getCache(cacheKey(id));\n}\n/**\n * Returns the number of the most recent block seen.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlockNumber.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/fetching-blocks\n * - JSON-RPC Methods: [`eth_blockNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber)\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockNumberParameters}\n * @returns The number of the block. {@link GetBlockNumberReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlockNumber } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const blockNumber = await getBlockNumber(client)\n * // 69420n\n */\nexport async function getBlockNumber(client, { cacheTime = client.cacheTime, maxAge } = {}) {\n const blockNumberHex = await withCache(() => client.request({\n method: 'eth_blockNumber',\n }), { cacheKey: cacheKey(client.uid), cacheTime: maxAge ?? cacheTime });\n return BigInt(blockNumberHex);\n}\n//# sourceMappingURL=getBlockNumber.js.map","import { AbiDecodingDataSizeTooSmallError, AbiEventSignatureEmptyTopicsError, AbiEventSignatureNotFoundError, DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { getEventSelector } from '../hash/getEventSelector.js';\nimport { decodeAbiParameters } from './decodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nconst docsPath = '/docs/contract/decodeEventLog';\nexport function decodeEventLog({ abi, data, strict: strict_, topics, }) {\n const strict = strict_ ?? true;\n const [signature, ...argTopics] = topics;\n if (!signature)\n throw new AbiEventSignatureEmptyTopicsError({\n docsPath,\n });\n const abiItem = abi.find((x) => x.type === 'event' &&\n signature === getEventSelector(formatAbiItem(x)));\n if (!(abiItem && 'name' in abiItem) || abiItem.type !== 'event')\n throw new AbiEventSignatureNotFoundError(signature, {\n docsPath,\n });\n const { name, inputs } = abiItem;\n const isUnnamed = inputs?.some((x) => !('name' in x && x.name));\n let args = isUnnamed ? [] : {};\n // Decode topics (indexed args).\n const indexedInputs = inputs.filter((x) => 'indexed' in x && x.indexed);\n if (argTopics.length > 0) {\n for (let i = 0; i < indexedInputs.length; i++) {\n const param = indexedInputs[i];\n const topic = argTopics[i];\n if (!topic)\n throw new DecodeLogTopicsMismatch({\n abiItem,\n param: param,\n });\n args[param.name || i] = decodeTopic({ param, value: topic });\n }\n }\n // Decode data (non-indexed args).\n const nonIndexedInputs = inputs.filter((x) => !('indexed' in x && x.indexed));\n if (nonIndexedInputs.length > 0) {\n if (data && data !== '0x') {\n try {\n const decodedData = decodeAbiParameters(nonIndexedInputs, data);\n if (decodedData) {\n if (isUnnamed)\n args = [...args, ...decodedData];\n else {\n for (let i = 0; i < nonIndexedInputs.length; i++) {\n args[nonIndexedInputs[i].name] = decodedData[i];\n }\n }\n }\n }\n catch (err) {\n if (strict) {\n if (err instanceof AbiDecodingDataSizeTooSmallError)\n throw new DecodeLogDataMismatch({\n abiItem,\n data: err.data,\n params: err.params,\n size: err.size,\n });\n throw err;\n }\n }\n }\n else if (strict) {\n throw new DecodeLogDataMismatch({\n abiItem,\n data: '0x',\n params: nonIndexedInputs,\n size: 0,\n });\n }\n }\n return {\n eventName: name,\n args: Object.values(args).length > 0 ? args : undefined,\n };\n}\nfunction decodeTopic({ param, value }) {\n if (param.type === 'string' ||\n param.type === 'bytes' ||\n param.type === 'tuple' ||\n param.type.match(/^(.*)\\[(\\d+)?\\]$/))\n return value;\n const decodedArg = decodeAbiParameters([param], value) || [];\n return decodedArg[0];\n}\n//# sourceMappingURL=decodeEventLog.js.map","export function formatLog(log, { args, eventName } = {}) {\n return {\n ...log,\n blockHash: log.blockHash ? log.blockHash : null,\n blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null,\n logIndex: log.logIndex ? Number(log.logIndex) : null,\n transactionHash: log.transactionHash ? log.transactionHash : null,\n transactionIndex: log.transactionIndex\n ? Number(log.transactionIndex)\n : null,\n ...(eventName ? { args, eventName } : {}),\n };\n}\n//# sourceMappingURL=log.js.map","import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { decodeEventLog } from '../../utils/abi/decodeEventLog.js';\nimport { formatLog } from '../../utils/formatters/log.js';\n/**\n * Returns a list of logs or hashes based on a [Filter](/docs/glossary/terms#filter) since the last time it was called.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFilterChanges.html\n * - JSON-RPC Methods: [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges)\n *\n * A Filter can be created from the following actions:\n *\n * - [`createBlockFilter`](https://viem.sh/docs/actions/public/createBlockFilter.html)\n * - [`createContractEventFilter`](https://viem.sh/docs/contract/createContractEventFilter.html)\n * - [`createEventFilter`](https://viem.sh/docs/actions/public/createEventFilter.html)\n * - [`createPendingTransactionFilter`](https://viem.sh/docs/actions/public/createPendingTransactionFilter.html)\n *\n * Depending on the type of filter, the return value will be different:\n *\n * - If the filter was created with `createContractEventFilter` or `createEventFilter`, it returns a list of logs.\n * - If the filter was created with `createPendingTransactionFilter`, it returns a list of transaction hashes.\n * - If the filter was created with `createBlockFilter`, it returns a list of block hashes.\n *\n * @param client - Client to use\n * @param parameters - {@link GetFilterChangesParameters}\n * @returns Logs or hashes. {@link GetFilterChangesReturnType}\n *\n * @example\n * // Blocks\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createBlockFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createBlockFilter(client)\n * const hashes = await getFilterChanges(client, { filter })\n *\n * @example\n * // Contract Events\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createContractEventFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createContractEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * abi: parseAbi(['event Transfer(address indexed, address indexed, uint256)']),\n * eventName: 'Transfer',\n * })\n * const logs = await getFilterChanges(client, { filter })\n *\n * @example\n * // Raw Events\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * event: parseAbiItem('event Transfer(address indexed, address indexed, uint256)'),\n * })\n * const logs = await getFilterChanges(client, { filter })\n *\n * @example\n * // Transactions\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter, getFilterChanges } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createPendingTransactionFilter(client)\n * const hashes = await getFilterChanges(client, { filter })\n */\nexport async function getFilterChanges(_client, { filter, }) {\n const strict = 'strict' in filter && filter.strict;\n const logs = await filter.request({\n method: 'eth_getFilterChanges',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n if (typeof log === 'string')\n return log;\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? decodeEventLog({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return formatLog(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args undefined if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return formatLog(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getFilterChanges.js.map","import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { decodeEventLog } from '../../utils/abi/decodeEventLog.js';\nimport { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatLog } from '../../utils/formatters/log.js';\n/**\n * Returns a list of event logs matching the provided parameters.\n *\n * - Docs: https://viem.sh/docs/actions/public/getLogs.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/filters-and-logs/event-logs\n * - JSON-RPC Methods: [`eth_getLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs)\n *\n * @param client - Client to use\n * @param parameters - {@link GetLogsParameters}\n * @returns A list of event logs. {@link GetLogsReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getLogs } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const logs = await getLogs(client)\n */\nexport async function getLogs(client, { address, blockHash, fromBlock, toBlock, event, events: events_, args, strict: strict_, } = {}) {\n const strict = strict_ ?? false;\n const events = events_ ?? (event ? [event] : undefined);\n let topics = [];\n if (events) {\n topics = [\n events.flatMap((event) => encodeEventTopics({\n abi: [event],\n eventName: event.name,\n args,\n })),\n ];\n if (event)\n topics = topics[0];\n }\n let logs;\n if (blockHash) {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [{ address, topics, blockHash }],\n });\n }\n else {\n logs = await client.request({\n method: 'eth_getLogs',\n params: [\n {\n address,\n topics,\n fromBlock: typeof fromBlock === 'bigint' ? numberToHex(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? numberToHex(toBlock) : toBlock,\n },\n ],\n });\n }\n return logs\n .map((log) => {\n try {\n const { eventName, args } = events\n ? decodeEventLog({\n abi: events,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return formatLog(log, { args, eventName: eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return formatLog(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getLogs.js.map","/**\n * Destroys a [`Filter`](https://viem.sh/docs/glossary/types.html#filter).\n *\n * - Docs: https://viem.sh/docs/actions/public/uninstallFilter.html\n * - JSON-RPC Methods: [`eth_uninstallFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_uninstallFilter)\n *\n * Destroys a Filter that was created from one of the following Actions:\n * - [`createBlockFilter`](https://viem.sh/docs/actions/public/createBlockFilter.html)\n * - [`createEventFilter`](https://viem.sh/docs/actions/public/createEventFilter.html)\n * - [`createPendingTransactionFilter`](https://viem.sh/docs/actions/public/createPendingTransactionFilter.html)\n *\n * @param client - Client to use\n * @param parameters - {@link UninstallFilterParameters}\n * @returns A boolean indicating if the Filter was successfully uninstalled. {@link UninstallFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter, uninstallFilter } from 'viem/public'\n *\n * const filter = await createPendingTransactionFilter(client)\n * const uninstalled = await uninstallFilter(client, { filter })\n * // true\n */\nexport async function uninstallFilter(_client, { filter }) {\n return filter.request({\n method: 'eth_uninstallFilter',\n params: [filter.id],\n });\n}\n//# sourceMappingURL=uninstallFilter.js.map","import { getAbiItem, } from '../../utils/abi/getAbiItem.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { DecodeLogDataMismatch } from '../../errors/abi.js';\nimport { DecodeLogTopicsMismatch, InvalidInputRpcError, decodeEventLog, encodeEventTopics, formatLog, } from '../../index.js';\nimport { createContractEventFilter, } from './createContractEventFilter.js';\nimport { getBlockNumber } from './getBlockNumber.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { getLogs } from './getLogs.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns emitted contract event logs.\n *\n * - Docs: https://viem.sh/docs/contract/watchContractEvent.html\n *\n * This Action will batch up all the event logs found within the [`pollingInterval`](https://viem.sh/docs/contract/watchContractEvent.html#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/contract/watchContractEvent.html#onLogs).\n *\n * `watchContractEvent` will attempt to create an [Event Filter](https://viem.sh/docs/contract/createContractEventFilter.html) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchContractEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchContractEventParameters}\n * @returns A function that can be invoked to stop watching for new event logs. {@link WatchContractEventReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchContractEvent } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchContractEvent(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['event Transfer(address indexed from, address indexed to, uint256 value)']),\n * eventName: 'Transfer',\n * args: { from: '0xc961145a54C96E3aE9bAA048c4F4D6b04C13916b' },\n * onLogs: (logs) => console.log(logs),\n * })\n */\nexport function watchContractEvent(client, { abi, address, args, batch = true, eventName, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const pollContractEvent = () => {\n const observerId = stringify([\n 'watchContractEvent',\n address,\n args,\n batch,\n client.uid,\n eventName,\n pollingInterval,\n ]);\n const strict = strict_ ?? false;\n return observe(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = poll(async () => {\n if (!initialized) {\n try {\n filter = (await createContractEventFilter(client, {\n abi,\n address,\n args,\n eventName,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await getFilterChanges(client, { filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await getBlockNumber(client);\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await getLogs(client, {\n address,\n args,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n event: getAbiItem({\n abi,\n name: eventName,\n }),\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.\n // Reinitalize the filter when this occurs\n if (filter && err instanceof InvalidInputRpcError)\n initialized = false;\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await uninstallFilter(client, { filter });\n unwatch();\n };\n });\n };\n const subscribeContractEvent = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const topics = eventName\n ? encodeEventTopics({\n abi: abi,\n eventName: eventName,\n args,\n })\n : [];\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['logs', { address, topics }],\n onData(data) {\n if (!active)\n return;\n const log = data.result;\n try {\n const { eventName, args } = decodeEventLog({\n abi: abi,\n data: log.data,\n topics: log.topics,\n strict: strict_,\n });\n const formatted = formatLog(log, {\n args,\n eventName: eventName,\n });\n onLogs([formatted]);\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict_)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n const formatted = formatLog(log, {\n args: isUnnamed ? [] : {},\n eventName,\n });\n onLogs([formatted]);\n }\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollContractEvent() : subscribeContractEvent();\n}\n//# sourceMappingURL=watchContractEvent.js.map","import { TransactionExecutionError } from '../../errors/transaction.js';\nimport { containsNodeError, getNodeError, } from './getNodeError.js';\nexport function getTransactionError(err, { docsPath, ...args }) {\n let cause = err;\n if (containsNodeError(err))\n cause = getNodeError(err, args);\n return new TransactionExecutionError(cause, {\n docsPath,\n ...args,\n });\n}\n//# sourceMappingURL=getTransactionError.js.map","import { hexToNumber } from '../../utils/encoding/fromHex.js';\n/**\n * Returns the chain ID associated with the current network.\n *\n * - Docs: https://viem.sh/docs/actions/public/getChainId.html\n * - JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid)\n *\n * @param client - Client to use\n * @returns The current chain ID. {@link GetChainIdReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getChainId } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const chainId = await getChainId(client)\n * // 1\n */\nexport async function getChainId(client) {\n const chainIdHex = await client.request({\n method: 'eth_chainId',\n });\n return hexToNumber(chainIdHex);\n}\n//# sourceMappingURL=getChainId.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { assertCurrentChain } from '../../utils/chain.js';\nimport { getTransactionError } from '../../utils/errors/getTransactionError.js';\nimport { extract } from '../../utils/formatters/extract.js';\nimport { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js';\nimport { assertRequest, } from '../../utils/transaction/assertRequest.js';\nimport { prepareRequest } from '../../utils/transaction/prepareRequest.js';\nimport { getChainId } from '../public/getChainId.js';\n/**\n * Creates, signs, and sends a new transaction to the network.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/sendTransaction.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction)\n * - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction)\n *\n * @param client - Client to use\n * @param parameters - {@link SendTransactionParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { sendTransaction } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const hash = await sendTransaction(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { sendTransaction } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await sendTransaction(client, {\n * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',\n * value: 1000000000000000000n,\n * })\n */\nexport async function sendTransaction(client, args) {\n const { account: account_ = client.account, chain = client.chain, accessList, data, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, ...rest } = args;\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/sendTransaction',\n });\n const account = parseAccount(account_);\n try {\n assertRequest(args);\n let chainId;\n if (chain !== null) {\n chainId = await getChainId(client);\n assertCurrentChain({\n currentChainId: chainId,\n chain,\n });\n }\n if (account.type === 'local') {\n // Prepare the request for signing (assign appropriate fees, etc.)\n const request = await prepareRequest(client, {\n account,\n accessList,\n chain,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n ...rest,\n });\n if (!chainId)\n chainId = await getChainId(client);\n const serializer = chain?.serializers?.transaction;\n const signedRequest = (await account.signTransaction({\n ...request,\n chainId,\n }, { serializer }));\n return await client.request({\n method: 'eth_sendRawTransaction',\n params: [signedRequest],\n });\n }\n const format = chain?.formatters?.transactionRequest?.format || formatTransactionRequest;\n const request = format({\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { format }),\n accessList,\n data,\n from: account.address,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n });\n return await client.request({\n method: 'eth_sendTransaction',\n params: [request],\n });\n }\n catch (err) {\n throw getTransactionError(err, {\n ...args,\n account,\n chain: args.chain || undefined,\n });\n }\n}\n//# sourceMappingURL=sendTransaction.js.map","import { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { sendTransaction, } from './sendTransaction.js';\n/**\n * Executes a write function on a contract.\n *\n * - Docs: https://viem.sh/docs/contract/writeContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/writing-to-contracts\n *\n * A \"write\" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms.html) is needed to be broadcast in order to change the state.\n *\n * Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet.html) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction.html) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData.html).\n *\n * __Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract.html#usage) before you execute it.__\n *\n * @param client - Client to use\n * @param parameters - {@link WriteContractParameters}\n * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms.html#hash). {@link WriteContractReturnType}\n *\n * @example\n * import { createWalletClient, custom, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { writeContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const hash = await writeContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),\n * functionName: 'mint',\n * args: [69420],\n * })\n *\n * @example\n * // With Validation\n * import { createWalletClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { simulateContract, writeContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const { request } = await simulateContract(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),\n * functionName: 'mint',\n * args: [69420],\n * }\n * const hash = await writeContract(client, request)\n */\nexport async function writeContract(client, { abi, address, args, dataSuffix, functionName, ...request }) {\n const data = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n const hash = await sendTransaction(client, {\n data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,\n to: address,\n ...request,\n });\n return hash;\n}\n//# sourceMappingURL=writeContract.js.map","import { createContractEventFilter, } from './public/createContractEventFilter.js';\nimport { estimateContractGas, } from './public/estimateContractGas.js';\nimport { readContract, } from './public/readContract.js';\nimport { simulateContract, } from './public/simulateContract.js';\nimport { watchContractEvent, } from './public/watchContractEvent.js';\nimport { writeContract, } from './wallet/writeContract.js';\n/**\n * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`.\n *\n * - Docs https://viem.sh/docs/contract/getContract.html\n *\n * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properites every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract.html), [`writeContract`](https://viem.sh/docs/contract/writeContract.html), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas.html), etc.\n *\n * @example\n * import { createPublicClient, getContract, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const publicClient = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const contract = getContract({\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi: parseAbi([\n * 'function balanceOf(address owner) view returns (uint256)',\n * 'function ownerOf(uint256 tokenId) view returns (address)',\n * 'function totalSupply() view returns (uint256)',\n * ]),\n * publicClient,\n * })\n */\nexport function getContract({ abi, address, publicClient, walletClient, }) {\n const hasPublicClient = publicClient !== undefined && publicClient !== null;\n const hasWalletClient = walletClient !== undefined && walletClient !== null;\n const contract = {};\n let hasReadFunction = false;\n let hasWriteFunction = false;\n let hasEvent = false;\n for (const item of abi) {\n if (item.type === 'function')\n if (item.stateMutability === 'view' || item.stateMutability === 'pure')\n hasReadFunction = true;\n else\n hasWriteFunction = true;\n else if (item.type === 'event')\n hasEvent = true;\n // Exit early if all flags are `true`\n if (hasReadFunction && hasWriteFunction && hasEvent)\n break;\n }\n if (hasPublicClient) {\n if (hasReadFunction)\n contract.read = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return readContract(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasWriteFunction)\n contract.simulate = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return simulateContract(publicClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n if (hasEvent) {\n contract.createEventFilter = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return createContractEventFilter(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n contract.watchEvent = new Proxy({}, {\n get(_, eventName) {\n return (...parameters) => {\n const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);\n const { args, options } = getEventParameters(parameters, abiEvent);\n return watchContractEvent(publicClient, {\n abi,\n address,\n eventName,\n args,\n ...options,\n });\n };\n },\n });\n }\n }\n if (hasWalletClient) {\n if (hasWriteFunction)\n contract.write = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n return writeContract(walletClient, {\n abi,\n address,\n functionName,\n args,\n ...options,\n });\n };\n },\n });\n }\n if (hasPublicClient || hasWalletClient)\n if (hasWriteFunction)\n contract.estimateGas = new Proxy({}, {\n get(_, functionName) {\n return (...parameters) => {\n const { args, options } = getFunctionParameters(parameters);\n const client = (publicClient ?? walletClient);\n return estimateContractGas(client, {\n abi,\n address,\n functionName,\n args,\n ...options,\n account: options.account ??\n walletClient.account,\n });\n };\n },\n });\n contract.address = address;\n contract.abi = abi;\n return contract;\n}\n/**\n * @internal exporting for testing only\n */\nexport function getFunctionParameters(values) {\n const hasArgs = values.length && Array.isArray(values[0]);\n const args = hasArgs ? values[0] : [];\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n/**\n * @internal exporting for testing only\n */\nexport function getEventParameters(values, abiEvent) {\n let hasArgs = false;\n // If first item is array, must be `args`\n if (Array.isArray(values[0]))\n hasArgs = true;\n // Check if first item is `args` or `options`\n else if (values.length === 1) {\n // if event has indexed inputs, must have `args`\n hasArgs = abiEvent.inputs.some((x) => x.indexed);\n // If there are two items in array, must have `args`\n }\n else if (values.length === 2) {\n hasArgs = true;\n }\n const args = hasArgs ? values[0] : undefined;\n const options = (hasArgs ? values[1] : values[0]) ?? {};\n return { args, options };\n}\n//# sourceMappingURL=getContract.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/addChain.html\n * - JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085)\n *\n * @param client - Client to use\n * @param parameters - {@link AddChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { optimism } from 'viem/chains'\n * import { addChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * transport: custom(window.ethereum),\n * })\n * await addChain(client, { chain: optimism })\n */\nexport async function addChain(client, { chain }) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n });\n}\n//# sourceMappingURL=addChain.js.map","import { checksumAddress } from '../../utils/address/getAddress.js';\nimport { keccak256 } from '../../utils/hash/keccak256.js';\n/**\n * @description Converts an ECDSA public key to an address.\n *\n * @param publicKey The public key to convert.\n *\n * @returns The address.\n */\nexport function publicKeyToAddress(publicKey) {\n const address = keccak256(`0x${publicKey.substring(4)}`).substring(26);\n return checksumAddress(`0x${address}`);\n}\n//# sourceMappingURL=publicKeyToAddress.js.map","const size = 256;\nlet index = size;\nlet buffer;\nexport function uid(length = 11) {\n if (!buffer || index + length > size * 2) {\n buffer = '';\n index = 0;\n for (let i = 0; i < size; i++) {\n buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1);\n }\n }\n return buffer.substring(index, index++ + length);\n}\n//# sourceMappingURL=uid.js.map","import { parseAccount } from '../utils/accounts.js';\nimport { uid } from '../utils/uid.js';\nexport function createClient(parameters) {\n const { batch, cacheTime = parameters.pollingInterval ?? 4000, key = 'base', name = 'Base Client', pollingInterval = 4000, type = 'base', } = parameters;\n const chain = parameters.chain;\n const account = parameters.account\n ? parseAccount(parameters.account)\n : undefined;\n const { config, request, value } = parameters.transport({\n chain,\n pollingInterval,\n });\n const transport = { ...config, ...value };\n const client = {\n account,\n batch,\n cacheTime,\n chain,\n key,\n name,\n pollingInterval,\n request,\n transport,\n type,\n uid: uid(),\n };\n function extend(base) {\n return (extendFn) => {\n const extended = extendFn(base);\n for (const key in client)\n delete extended[key];\n const combined = { ...base, ...extended };\n return Object.assign(combined, { extend: extend(combined) });\n };\n }\n return Object.assign(client, { extend: extend(client) });\n}\n//# sourceMappingURL=createClient.js.map","import { wait } from '../wait.js';\nexport function withRetry(fn, { delay: delay_ = 100, retryCount = 2, shouldRetry = () => true, } = {}) {\n return new Promise((resolve, reject) => {\n const attemptRetry = async ({ count = 0 } = {}) => {\n const retry = async ({ error }) => {\n const delay = typeof delay_ === 'function' ? delay_({ count, error }) : delay_;\n if (delay)\n await wait(delay);\n attemptRetry({ count: count + 1 });\n };\n try {\n const data = await fn();\n resolve(data);\n }\n catch (err) {\n if (count < retryCount &&\n (await shouldRetry({ count, error: err })))\n return retry({ error: err });\n reject(err);\n }\n };\n attemptRetry();\n });\n}\n//# sourceMappingURL=withRetry.js.map","import { BaseError } from '../errors/base.js';\nimport { HttpRequestError } from '../errors/request.js';\nimport { ChainDisconnectedError, InternalRpcError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, ParseRpcError, ProviderDisconnectedError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, SwitchChainError, TransactionRejectedRpcError, UnauthorizedProviderError, UnknownRpcError, UnsupportedProviderMethodError, UserRejectedRequestError, } from '../errors/rpc.js';\nimport { withRetry } from './promise/withRetry.js';\nexport const isDeterministicError = (error) => {\n if ('code' in error)\n return (error.code !== -1 &&\n error.code !== -32004 &&\n error.code !== -32005 &&\n error.code !== -32042 &&\n error.code !== -32603);\n if (error instanceof HttpRequestError && error.status)\n return (error.status !== 403 &&\n error.status !== 408 &&\n error.status !== 413 &&\n error.status !== 429 &&\n error.status !== 500 &&\n error.status !== 502 &&\n error.status !== 503 &&\n error.status !== 504);\n return false;\n};\nexport function buildRequest(request, { retryDelay = 150, retryCount = 3, } = {}) {\n return (async (args) => withRetry(async () => {\n try {\n return await request(args);\n }\n catch (err_) {\n const err = err_;\n switch (err.code) {\n // -32700\n case ParseRpcError.code:\n throw new ParseRpcError(err);\n // -32600\n case InvalidRequestRpcError.code:\n throw new InvalidRequestRpcError(err);\n // -32601\n case MethodNotFoundRpcError.code:\n throw new MethodNotFoundRpcError(err);\n // -32602\n case InvalidParamsRpcError.code:\n throw new InvalidParamsRpcError(err);\n // -32603\n case InternalRpcError.code:\n throw new InternalRpcError(err);\n // -32000\n case InvalidInputRpcError.code:\n throw new InvalidInputRpcError(err);\n // -32001\n case ResourceNotFoundRpcError.code:\n throw new ResourceNotFoundRpcError(err);\n // -32002\n case ResourceUnavailableRpcError.code:\n throw new ResourceUnavailableRpcError(err);\n // -32003\n case TransactionRejectedRpcError.code:\n throw new TransactionRejectedRpcError(err);\n // -32004\n case MethodNotSupportedRpcError.code:\n throw new MethodNotSupportedRpcError(err);\n // -32005\n case LimitExceededRpcError.code:\n throw new LimitExceededRpcError(err);\n // -32006\n case JsonRpcVersionUnsupportedError.code:\n throw new JsonRpcVersionUnsupportedError(err);\n // 4001\n case UserRejectedRequestError.code:\n throw new UserRejectedRequestError(err);\n // 4100\n case UnauthorizedProviderError.code:\n throw new UnauthorizedProviderError(err);\n // 4200\n case UnsupportedProviderMethodError.code:\n throw new UnsupportedProviderMethodError(err);\n // 4900\n case ProviderDisconnectedError.code:\n throw new ProviderDisconnectedError(err);\n // 4901\n case ChainDisconnectedError.code:\n throw new ChainDisconnectedError(err);\n // 4902\n case SwitchChainError.code:\n throw new SwitchChainError(err);\n default:\n if (err_ instanceof BaseError)\n throw err_;\n throw new UnknownRpcError(err);\n }\n }\n }, {\n delay: ({ count, error }) => {\n // If we find a Retry-After header, let's retry after the given time.\n if (error && error instanceof HttpRequestError) {\n const retryAfter = error?.headers?.get('Retry-After');\n if (retryAfter?.match(/\\d/))\n return parseInt(retryAfter) * 1000;\n }\n // Otherwise, let's retry with an exponential backoff.\n return ~~(1 << count) * retryDelay;\n },\n retryCount,\n shouldRetry: ({ error }) => !isDeterministicError(error),\n }));\n}\n//# sourceMappingURL=buildRequest.js.map","import { buildRequest } from '../../utils/buildRequest.js';\n/**\n * @description Creates an transport intended to be used with a client.\n */\nexport function createTransport({ key, name, request, retryCount = 3, retryDelay = 150, timeout, type, }, value) {\n return {\n config: { key, name, request, retryCount, retryDelay, timeout, type },\n request: buildRequest(request, { retryCount, retryDelay }),\n value,\n };\n}\n//# sourceMappingURL=createTransport.js.map","import { isDeterministicError } from '../../utils/buildRequest.js';\nimport { wait } from '../../utils/wait.js';\nimport { createTransport, } from './createTransport.js';\nexport function fallback(transports_, config = {}) {\n const { key = 'fallback', name = 'Fallback', rank = false, retryCount, retryDelay, } = config;\n return ({ chain, pollingInterval = 4000, timeout }) => {\n let transports = transports_;\n let onResponse = () => { };\n const transport = createTransport({\n key,\n name,\n async request({ method, params }) {\n const fetch = async (i = 0) => {\n const transport = transports[i]({ chain, retryCount: 0, timeout });\n try {\n const response = await transport.request({\n method,\n params,\n });\n onResponse({\n method,\n params: params,\n response,\n transport,\n status: 'success',\n });\n return response;\n }\n catch (err) {\n onResponse({\n error: err,\n method,\n params: params,\n transport,\n status: 'error',\n });\n // If the error is deterministic, we don't need to fall back.\n // So throw the error.\n if (isDeterministicError(err))\n throw err;\n // If we've reached the end of the fallbacks, throw the error.\n if (i === transports.length - 1)\n throw err;\n // Otherwise, try the next fallback.\n return fetch(i + 1);\n }\n };\n return fetch();\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n }, {\n onResponse: (fn) => (onResponse = fn),\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n });\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {});\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => (transports = transports_),\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n });\n }\n return transport;\n };\n}\nexport function rankTransports({ chain, interval = 4000, onTransports, sampleCount = 10, timeout = 1000, transports, weights = {}, }) {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } = weights;\n const samples = [];\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample = await Promise.all(transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout });\n const start = Date.now();\n let end;\n let success;\n try {\n await transport_.request({ method: 'net_listening' });\n success = 1;\n }\n catch {\n success = 0;\n }\n finally {\n end = Date.now();\n }\n const latency = end - start;\n return { latency, success };\n }));\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample);\n if (samples.length > sampleCount)\n samples.shift();\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency);\n const meanLatency = latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length;\n const latencyScore = 1 - meanLatency / maxLatency;\n const successes = samples.map((sample) => sample[i].success);\n const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /\n successes.length;\n if (stabilityScore === 0)\n return [0, i];\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ];\n })\n .sort((a, b) => b[0] - a[0]);\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]));\n // 6. Wait, and then rank again.\n await wait(interval);\n rankTransports_();\n };\n rankTransports_();\n}\n//# sourceMappingURL=fallback.js.map","import { BaseError } from './base.js';\nexport class UrlRequiredError extends BaseError {\n constructor() {\n super('No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.', {\n docsPath: '/docs/clients/intro',\n });\n }\n}\n//# sourceMappingURL=transport.js.map","export function withTimeout(fn, { errorInstance, timeout, signal, }) {\n return new Promise((resolve, reject) => {\n ;\n (async () => {\n let timeoutId;\n try {\n const controller = new AbortController();\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort();\n }\n else {\n reject(errorInstance);\n }\n }, timeout);\n }\n resolve(await fn({ signal: controller?.signal }));\n }\n catch (err) {\n if (err.name === 'AbortError')\n reject(errorInstance);\n reject(err);\n }\n finally {\n clearTimeout(timeoutId);\n }\n })();\n });\n}\n//# sourceMappingURL=withTimeout.js.map","import { HttpRequestError, TimeoutError, WebSocketRequestError, } from '../errors/request.js';\nimport { createBatchScheduler } from './promise/createBatchScheduler.js';\nimport { withTimeout } from './promise/withTimeout.js';\nimport { stringify } from './stringify.js';\nlet id = 0;\nasync function http(url, { body, fetchOptions = {}, timeout = 10000 }) {\n const { headers, method, signal: signal_ } = fetchOptions;\n try {\n const response = await withTimeout(async ({ signal }) => {\n const response = await fetch(url, {\n ...fetchOptions,\n body: Array.isArray(body)\n ? stringify(body.map((body) => ({\n jsonrpc: '2.0',\n id: id++,\n ...body,\n })))\n : stringify({ jsonrpc: '2.0', id: id++, ...body }),\n headers: {\n ...headers,\n 'Content-Type': 'application/json',\n },\n method: method || 'POST',\n signal: signal_ || (timeout > 0 ? signal : undefined),\n });\n return response;\n }, {\n errorInstance: new TimeoutError({ body, url }),\n timeout,\n signal: true,\n });\n let data;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n data = await response.json();\n }\n else {\n data = await response.text();\n }\n if (!response.ok) {\n throw new HttpRequestError({\n body,\n details: stringify(data.error) || response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n }\n return data;\n }\n catch (err) {\n if (err instanceof HttpRequestError)\n throw err;\n if (err instanceof TimeoutError)\n throw err;\n throw new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n}\nconst sockets = /*#__PURE__*/ new Map();\nexport async function getSocket(url_) {\n const url = new URL(url_);\n const urlKey = url.toString();\n let socket = sockets.get(urlKey);\n // If the socket already exists, return it.\n if (socket)\n return socket;\n const { schedule } = createBatchScheduler({\n id: urlKey,\n fn: async () => {\n let WebSocket = await import('isomorphic-ws');\n // Workaround for Vite.\n // https://github.com/vitejs/vite/issues/9703\n // TODO: Remove when issue is resolved.\n if (WebSocket.default\n ?.constructor)\n WebSocket = WebSocket\n .default;\n else\n WebSocket = WebSocket.WebSocket;\n const webSocket = new WebSocket(url);\n // Set up a cache for incoming \"synchronous\" requests.\n const requests = new Map();\n // Set up a cache for subscriptions (eth_subscribe).\n const subscriptions = new Map();\n const onMessage = ({ data }) => {\n const message = JSON.parse(data);\n const isSubscription = message.method === 'eth_subscription';\n const id = isSubscription ? message.params.subscription : message.id;\n const cache = isSubscription ? subscriptions : requests;\n const callback = cache.get(id);\n if (callback)\n callback({ data });\n if (!isSubscription)\n cache.delete(id);\n };\n const onClose = () => {\n sockets.delete(urlKey);\n webSocket.removeEventListener('close', onClose);\n webSocket.removeEventListener('message', onMessage);\n };\n // Setup event listeners for RPC & subscription responses.\n webSocket.addEventListener('close', onClose);\n webSocket.addEventListener('message', onMessage);\n // Wait for the socket to open.\n if (webSocket.readyState === WebSocket.CONNECTING) {\n await new Promise((resolve, reject) => {\n if (!webSocket)\n return;\n webSocket.onopen = resolve;\n webSocket.onerror = reject;\n });\n }\n // Create a new socket instance.\n socket = Object.assign(webSocket, {\n requests,\n subscriptions,\n });\n sockets.set(urlKey, socket);\n return [socket];\n },\n });\n const [_, [socket_]] = await schedule();\n return socket_;\n}\nfunction webSocket(socket, { body, onResponse }) {\n if (socket.readyState === socket.CLOSED ||\n socket.readyState === socket.CLOSING)\n throw new WebSocketRequestError({\n body,\n url: socket.url,\n details: 'Socket is closed.',\n });\n const id_ = id++;\n const callback = ({ data }) => {\n const message = JSON.parse(data);\n if (typeof message.id === 'number' && id_ !== message.id)\n return;\n onResponse?.(message);\n // If we are subscribing to a topic, we want to set up a listener for incoming\n // messages.\n if (body.method === 'eth_subscribe' && typeof message.result === 'string') {\n socket.subscriptions.set(message.result, callback);\n }\n // If we are unsubscribing from a topic, we want to remove the listener.\n if (body.method === 'eth_unsubscribe') {\n socket.subscriptions.delete(body.params?.[0]);\n }\n };\n socket.requests.set(id_, callback);\n socket.send(JSON.stringify({ jsonrpc: '2.0', ...body, id: id_ }));\n return socket;\n}\nasync function webSocketAsync(socket, { body, timeout = 10000 }) {\n return withTimeout(() => new Promise((onResponse) => rpc.webSocket(socket, {\n body,\n onResponse,\n })), {\n errorInstance: new TimeoutError({ body, url: socket.url }),\n timeout,\n });\n}\n///////////////////////////////////////////////////\nexport const rpc = {\n http,\n webSocket,\n webSocketAsync,\n};\n//# sourceMappingURL=rpc.js.map","import { RpcRequestError } from '../../errors/request.js';\nimport { UrlRequiredError } from '../../errors/transport.js';\nimport { createBatchScheduler } from '../../utils/promise/createBatchScheduler.js';\nimport { rpc } from '../../utils/rpc.js';\nimport { createTransport, } from './createTransport.js';\n/**\n * @description Creates a HTTP transport that connects to a JSON-RPC API.\n */\nexport function http(\n/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\nurl, config = {}) {\n const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', retryDelay, } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.http[0];\n if (!url_)\n throw new UrlRequiredError();\n return createTransport({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const { schedule } = createBatchScheduler({\n id: `${url}`,\n wait,\n shouldSplitBatch(requests) {\n return requests.length > batchSize;\n },\n fn: (body) => rpc.http(url_, {\n body,\n fetchOptions,\n timeout,\n }),\n });\n const fn = async (body) => batch\n ? schedule(body)\n : [await rpc.http(url_, { body, fetchOptions, timeout })];\n const [{ error, result }] = await fn(body);\n if (error)\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'http',\n }, {\n url,\n });\n };\n}\n//# sourceMappingURL=http.js.map","import { panicReasons } from '../../constants/solidity.js';\nimport { BaseError } from '../../errors/base.js';\nimport { ContractFunctionRevertedError } from '../../errors/contract.js';\n/*\n * @description Checks if error is a valid null result UniversalResolver error\n */\nexport function isNullUniversalResolverError(err, callType) {\n if (!(err instanceof BaseError))\n return false;\n const cause = err.walk((e) => e instanceof ContractFunctionRevertedError);\n if (!(cause instanceof ContractFunctionRevertedError))\n return false;\n if (cause.data?.errorName === 'ResolverNotFound')\n return true;\n if (cause.data?.errorName === 'ResolverWildcardNotSupported')\n return true;\n // Backwards compatibility for older UniversalResolver contracts\n if (cause.reason?.includes('Wildcard on non-extended resolvers is not supported'))\n return true;\n // No primary name set for address.\n if (callType === 'reverse' && cause.reason === panicReasons[50])\n return true;\n return false;\n}\n//# sourceMappingURL=errors.js.map","export const arrayRegex = /^(.*)\\[([0-9]*)\\]$/;\n// `bytes`: binary type of `M` bytes, `0 < M <= 32`\n// https://regexr.com/6va55\nexport const bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/;\n// `(u)int`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`\n// https://regexr.com/6v8hp\nexport const integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;\n//# sourceMappingURL=regex.js.map","import { BytesSizeMismatchError } from '../errors/abi.js';\nimport { InvalidAddressError } from '../errors/address.js';\nimport { isAddress } from './address/isAddress.js';\nimport { size } from './data/size.js';\nimport { numberToHex } from './encoding/toHex.js';\nimport { bytesRegex, integerRegex } from './regex.js';\nexport function validateTypedData({ domain, message, primaryType, types: types_, }) {\n const types = types_;\n const validateData = (struct, value_) => {\n for (const param of struct) {\n const { name, type: type_ } = param;\n const type = type_;\n const value = value_[name];\n const integerMatch = type.match(integerRegex);\n if (integerMatch &&\n (typeof value === 'number' || typeof value === 'bigint')) {\n const [_type, base, size_] = integerMatch;\n // If number cannot be cast to a sized hex value, it is out of range\n // and will throw.\n numberToHex(value, {\n signed: base === 'int',\n size: parseInt(size_) / 8,\n });\n }\n if (type === 'address' && typeof value === 'string' && !isAddress(value))\n throw new InvalidAddressError({ address: value });\n const bytesMatch = type.match(bytesRegex);\n if (bytesMatch) {\n const [_type, size_] = bytesMatch;\n if (size_ && size(value) !== parseInt(size_))\n throw new BytesSizeMismatchError({\n expectedSize: parseInt(size_),\n givenSize: size(value),\n });\n }\n const struct = types[type];\n if (struct)\n validateData(struct, value);\n }\n };\n // Validate domain types.\n if (types['EIP712Domain'] && domain)\n validateData(types['EIP712Domain'], domain);\n if (primaryType !== 'EIP712Domain') {\n // Validate message types.\n const type = types[primaryType];\n validateData(type, message);\n }\n}\n//# sourceMappingURL=typedData.js.map","import { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, } from '../../errors/abi.js';\nimport { concatHex } from '../data/concat.js';\nimport { encodeAbiParameters } from './encodeAbiParameters.js';\nconst docsPath = '/docs/contract/encodeDeployData';\nexport function encodeDeployData({ abi, args, bytecode, }) {\n if (!args || args.length === 0)\n return bytecode;\n const description = abi.find((x) => 'type' in x && x.type === 'constructor');\n if (!description)\n throw new AbiConstructorNotFoundError({ docsPath });\n if (!('inputs' in description))\n throw new AbiConstructorParamsNotFoundError({ docsPath });\n if (!description.inputs || description.inputs.length === 0)\n throw new AbiConstructorParamsNotFoundError({ docsPath });\n const data = encodeAbiParameters(description.inputs, args);\n return concatHex([bytecode, data]);\n}\n//# sourceMappingURL=encodeDeployData.js.map","import { concat } from '../data/concat.js';\nimport { toBytes } from './toBytes.js';\nimport { bytesToHex } from './toHex.js';\nexport function toRlp(hexOrBytes, to_) {\n const to = to_ || 'hex';\n return format(bytesToRlp(parse(hexOrBytes)), to);\n}\nfunction parse(hexOrBytes) {\n if (Array.isArray(hexOrBytes))\n return hexOrBytes.map(parse);\n return typeof hexOrBytes === 'string' ? toBytes(hexOrBytes) : hexOrBytes;\n}\nfunction format(bytes, type = 'bytes') {\n return type === 'hex' ? bytesToHex(bytes) : bytes;\n}\nexport function bytesToRlp(bytes) {\n if (Array.isArray(bytes)) {\n const encoded = concat(bytes.map(bytesToRlp));\n return new Uint8Array([...encodeLength(encoded.length, 0xc0), ...encoded]);\n }\n if (bytes.length === 1 && bytes[0] < 0x80)\n return bytes;\n return new Uint8Array([...encodeLength(bytes.length, 0x80), ...bytes]);\n}\nfunction encodeLength(length, offset) {\n if (length < 56)\n return [offset + length];\n return [toBytes(length).length + offset + 55, ...toBytes(length)];\n}\n//# sourceMappingURL=toRlp.js.map","import { hexToNumber } from '../encoding/fromHex.js';\nimport { defineFormatter } from './formatter.js';\nimport { formatLog } from './log.js';\nimport { transactionType } from './transaction.js';\nconst statuses = {\n '0x0': 'reverted',\n '0x1': 'success',\n};\nexport function formatTransactionReceipt(transactionReceipt) {\n return {\n ...transactionReceipt,\n blockNumber: transactionReceipt.blockNumber\n ? BigInt(transactionReceipt.blockNumber)\n : null,\n contractAddress: transactionReceipt.contractAddress\n ? transactionReceipt.contractAddress\n : null,\n cumulativeGasUsed: transactionReceipt.cumulativeGasUsed\n ? BigInt(transactionReceipt.cumulativeGasUsed)\n : null,\n effectiveGasPrice: transactionReceipt.effectiveGasPrice\n ? BigInt(transactionReceipt.effectiveGasPrice)\n : null,\n gasUsed: transactionReceipt.gasUsed\n ? BigInt(transactionReceipt.gasUsed)\n : null,\n logs: transactionReceipt.logs\n ? transactionReceipt.logs.map((log) => formatLog(log))\n : null,\n to: transactionReceipt.to ? transactionReceipt.to : null,\n transactionIndex: transactionReceipt.transactionIndex\n ? hexToNumber(transactionReceipt.transactionIndex)\n : null,\n status: transactionReceipt.status\n ? statuses[transactionReceipt.status]\n : null,\n type: transactionReceipt.type\n ? transactionType[transactionReceipt.type] || transactionReceipt.type\n : null,\n };\n}\nexport const defineTransactionReceipt = /*#__PURE__*/ defineFormatter('transactionReceipt', formatTransactionReceipt);\n//# sourceMappingURL=transactionReceipt.js.map","// Implementation forked and adapted from https://github.com/MetaMask/eth-sig-util/blob/main/src/sign-typed-data.ts\nimport { encodeAbiParameters } from '../abi/encodeAbiParameters.js';\nimport { concat } from '../data/concat.js';\nimport { toHex } from '../encoding/toHex.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { validateTypedData } from '../typedData.js';\nexport function hashTypedData({ domain: domain_, message, primaryType, types: types_, }) {\n const domain = typeof domain_ === 'undefined' ? {} : domain_;\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n validateTypedData({\n domain,\n message,\n primaryType,\n types,\n });\n const parts = ['0x1901'];\n if (domain)\n parts.push(hashDomain({\n domain,\n types: types,\n }));\n if (primaryType !== 'EIP712Domain') {\n parts.push(hashStruct({\n data: message,\n primaryType: primaryType,\n types: types,\n }));\n }\n return keccak256(concat(parts));\n}\nfunction hashDomain({ domain, types, }) {\n return hashStruct({\n data: domain,\n primaryType: 'EIP712Domain',\n types,\n });\n}\nfunction hashStruct({ data, primaryType, types, }) {\n const encoded = encodeData({\n data,\n primaryType,\n types,\n });\n return keccak256(encoded);\n}\nfunction encodeData({ data, primaryType, types, }) {\n const encodedTypes = [{ type: 'bytes32' }];\n const encodedValues = [hashType({ primaryType, types })];\n for (const field of types[primaryType]) {\n const [type, value] = encodeField({\n types,\n name: field.name,\n type: field.type,\n value: data[field.name],\n });\n encodedTypes.push(type);\n encodedValues.push(value);\n }\n return encodeAbiParameters(encodedTypes, encodedValues);\n}\nfunction hashType({ primaryType, types, }) {\n const encodedHashType = toHex(encodeType({ primaryType, types }));\n return keccak256(encodedHashType);\n}\nfunction encodeType({ primaryType, types, }) {\n let result = '';\n const unsortedDeps = findTypeDependencies({ primaryType, types });\n unsortedDeps.delete(primaryType);\n const deps = [primaryType, ...Array.from(unsortedDeps).sort()];\n for (const type of deps) {\n result += `${type}(${types[type]\n .map(({ name, type: t }) => `${t} ${name}`)\n .join(',')})`;\n }\n return result;\n}\nfunction findTypeDependencies({ primaryType: primaryType_, types, }, results = new Set()) {\n const match = primaryType_.match(/^\\w*/u);\n const primaryType = match?.[0];\n if (results.has(primaryType) || types[primaryType] === undefined) {\n return results;\n }\n results.add(primaryType);\n for (const field of types[primaryType]) {\n findTypeDependencies({ primaryType: field.type, types }, results);\n }\n return results;\n}\nfunction encodeField({ types, name, type, value, }) {\n if (types[type] !== undefined) {\n return [\n { type: 'bytes32' },\n keccak256(encodeData({ data: value, primaryType: type, types })),\n ];\n }\n if (type === 'bytes') {\n const prepend = value.length % 2 ? '0' : '';\n value = `0x${prepend + value.slice(2)}`;\n return [{ type: 'bytes32' }, keccak256(value)];\n }\n if (type === 'string')\n return [{ type: 'bytes32' }, keccak256(toHex(value))];\n if (type.lastIndexOf(']') === type.length - 1) {\n const parsedType = type.slice(0, type.lastIndexOf('['));\n const typeValuePairs = value.map((item) => encodeField({\n name,\n type: parsedType,\n types,\n value: item,\n }));\n return [\n { type: 'bytes32' },\n keccak256(encodeAbiParameters(typeValuePairs.map(([t]) => t), typeValuePairs.map(([, v]) => v))),\n ];\n }\n return [{ type }, value];\n}\n//# sourceMappingURL=hashTypedData.js.map","import { concat } from '../data/concat.js';\nimport { stringToBytes, toBytes } from '../encoding/toBytes.js';\nimport { keccak256 } from '../hash/keccak256.js';\nexport function hashMessage(message, to_) {\n const messageBytes = (() => {\n if (typeof message === 'string')\n return stringToBytes(message);\n if (message.raw instanceof Uint8Array)\n return message.raw;\n return toBytes(message.raw);\n })();\n const prefixBytes = stringToBytes(`\\x19Ethereum Signed Message:\\n${messageBytes.length}`);\n return keccak256(concat([prefixBytes, messageBytes]), to_);\n}\n//# sourceMappingURL=hashMessage.js.map","import { InvalidSerializableTransactionError } from '../../errors/transaction.js';\nexport function getTransactionType(transaction) {\n if (transaction.type)\n return transaction.type;\n if (typeof transaction.maxFeePerGas !== 'undefined' ||\n typeof transaction.maxPriorityFeePerGas !== 'undefined')\n return 'eip1559';\n if (typeof transaction.gasPrice !== 'undefined') {\n if (typeof transaction.accessList !== 'undefined')\n return 'eip2930';\n return 'legacy';\n }\n throw new InvalidSerializableTransactionError({ transaction });\n}\n//# sourceMappingURL=getTransactionType.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { BaseError } from '../../errors/base.js';\nimport { InvalidChainIdError } from '../../errors/chain.js';\nimport { FeeCapTooHighError, TipAboveFeeCapError } from '../../errors/node.js';\nimport { isAddress } from '../address/isAddress.js';\nexport function assertTransactionEIP1559(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new InvalidChainIdError({ chainId });\n if (to && !isAddress(to))\n throw new InvalidAddressError({ address: to });\n if (gasPrice)\n throw new BaseError('`gasPrice` is not a valid EIP-1559 Transaction attribute.');\n if (maxFeePerGas && maxFeePerGas > 2n ** 256n - 1n)\n throw new FeeCapTooHighError({ maxFeePerGas });\n if (maxPriorityFeePerGas &&\n maxFeePerGas &&\n maxPriorityFeePerGas > maxFeePerGas)\n throw new TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas });\n}\nexport function assertTransactionEIP2930(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction;\n if (chainId <= 0)\n throw new InvalidChainIdError({ chainId });\n if (to && !isAddress(to))\n throw new InvalidAddressError({ address: to });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new FeeCapTooHighError({ maxFeePerGas: gasPrice });\n}\nexport function assertTransactionLegacy(transaction) {\n const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to, accessList, } = transaction;\n if (to && !isAddress(to))\n throw new InvalidAddressError({ address: to });\n if (typeof chainId !== 'undefined' && chainId <= 0)\n throw new InvalidChainIdError({ chainId });\n if (maxPriorityFeePerGas || maxFeePerGas)\n throw new BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.');\n if (gasPrice && gasPrice > 2n ** 256n - 1n)\n throw new FeeCapTooHighError({ maxFeePerGas: gasPrice });\n if (accessList)\n throw new BaseError('`accessList` is not a valid Legacy Transaction attribute.');\n}\n//# sourceMappingURL=assertTransaction.js.map","import { InvalidAddressError } from '../../errors/address.js';\nimport { InvalidStorageKeySizeError } from '../../errors/transaction.js';\nimport { isAddress } from '../address/isAddress.js';\nimport {} from '../encoding/toRlp.js';\n/*\n * Serialize an EIP-2930 access list\n * @remarks\n * Use to create a transaction serializer with support for EIP-2930 access lists\n *\n * @param accessList - Array of objects of address and arrays of Storage Keys\n * @throws InvalidAddressError, InvalidStorageKeySizeError\n * @returns Array of hex strings\n */\nexport function serializeAccessList(accessList) {\n if (!accessList || accessList.length === 0)\n return [];\n const serializedAccessList = [];\n for (let i = 0; i < accessList.length; i++) {\n const { address, storageKeys } = accessList[i];\n for (let j = 0; j < storageKeys.length; j++) {\n if (storageKeys[j].length - 2 !== 64) {\n throw new InvalidStorageKeySizeError({ storageKey: storageKeys[j] });\n }\n }\n if (!isAddress(address)) {\n throw new InvalidAddressError({ address });\n }\n serializedAccessList.push([address, storageKeys]);\n }\n return serializedAccessList;\n}\n//# sourceMappingURL=serializeAccessList.js.map","import { InvalidLegacyVError } from '../../errors/transaction.js';\nimport { concatHex } from '../data/concat.js';\nimport { trim } from '../data/trim.js';\nimport { toHex } from '../encoding/toHex.js';\nimport { toRlp } from '../encoding/toRlp.js';\nimport { assertTransactionEIP1559, assertTransactionEIP2930, assertTransactionLegacy, } from './assertTransaction.js';\nimport { getTransactionType, } from './getTransactionType.js';\nimport { serializeAccessList } from './serializeAccessList.js';\nexport function serializeTransaction(transaction, signature) {\n const type = getTransactionType(transaction);\n if (type === 'eip1559')\n return serializeTransactionEIP1559(transaction, signature);\n if (type === 'eip2930')\n return serializeTransactionEIP2930(transaction, signature);\n return serializeTransactionLegacy(transaction, signature);\n}\nfunction serializeTransactionEIP1559(transaction, signature) {\n const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction;\n assertTransactionEIP1559(transaction);\n const serializedAccessList = serializeAccessList(accessList);\n const serializedTransaction = [\n toHex(chainId),\n nonce ? toHex(nonce) : '0x',\n maxPriorityFeePerGas ? toHex(maxPriorityFeePerGas) : '0x',\n maxFeePerGas ? toHex(maxFeePerGas) : '0x',\n gas ? toHex(gas) : '0x',\n to ?? '0x',\n value ? toHex(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1), // yParity\n trim(signature.r), trim(signature.s));\n return concatHex([\n '0x02',\n toRlp(serializedTransaction),\n ]);\n}\nfunction serializeTransactionEIP2930(transaction, signature) {\n const { chainId, gas, data, nonce, to, value, accessList, gasPrice } = transaction;\n assertTransactionEIP2930(transaction);\n const serializedAccessList = serializeAccessList(accessList);\n const serializedTransaction = [\n toHex(chainId),\n nonce ? toHex(nonce) : '0x',\n gasPrice ? toHex(gasPrice) : '0x',\n gas ? toHex(gas) : '0x',\n to ?? '0x',\n value ? toHex(value) : '0x',\n data ?? '0x',\n serializedAccessList,\n ];\n if (signature)\n serializedTransaction.push(signature.v === 27n ? '0x' : toHex(1), // yParity\n signature.r, signature.s);\n return concatHex([\n '0x01',\n toRlp(serializedTransaction),\n ]);\n}\nfunction serializeTransactionLegacy(transaction, signature) {\n const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction;\n assertTransactionLegacy(transaction);\n let serializedTransaction = [\n nonce ? toHex(nonce) : '0x',\n gasPrice ? toHex(gasPrice) : '0x',\n gas ? toHex(gas) : '0x',\n to ?? '0x',\n value ? toHex(value) : '0x',\n data ?? '0x',\n ];\n if (signature) {\n let v = 27n + (signature.v === 27n ? 0n : 1n);\n if (chainId > 0)\n v = BigInt(chainId * 2) + BigInt(35n + signature.v - 27n);\n else if (signature.v !== v)\n throw new InvalidLegacyVError({ v: signature.v });\n serializedTransaction = [\n ...serializedTransaction,\n toHex(v),\n signature.r,\n signature.s,\n ];\n }\n else if (chainId > 0) {\n serializedTransaction = [\n ...serializedTransaction,\n toHex(chainId),\n '0x',\n '0x',\n ];\n }\n return toRlp(serializedTransaction);\n}\n//# sourceMappingURL=serializeTransaction.js.map","export function parseUnits(value, decimals) {\n let [integer, fraction = '0'] = value.split('.');\n const negative = integer.startsWith('-');\n if (negative)\n integer = integer.slice(1);\n // trim leading zeros.\n fraction = fraction.replace(/(0+)$/, '');\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1)\n integer = `${BigInt(integer) + 1n}`;\n fraction = '';\n }\n else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ];\n const rounded = Math.round(Number(`${unit}.${right}`));\n if (rounded > 9)\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0');\n else\n fraction = `${left}${rounded}`;\n if (fraction.length > decimals) {\n fraction = fraction.slice(1);\n integer = `${BigInt(integer) + 1n}`;\n }\n fraction = fraction.slice(0, decimals);\n }\n else {\n fraction = fraction.padEnd(decimals, '0');\n }\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`);\n}\n//# sourceMappingURL=parseUnits.js.map","import { etherUnits } from '../../constants/unit.js';\nimport { parseUnits } from './parseUnits.js';\nexport function parseEther(ether, unit = 'wei') {\n return parseUnits(ether, etherUnits[unit]);\n}\n//# sourceMappingURL=parseEther.js.map","import { isHex } from '../index.js';\nexport function encodedLabelToLabelhash(label) {\n if (label.length !== 66)\n return null;\n if (label.indexOf('[') !== 0)\n return null;\n if (label.indexOf(']') !== 65)\n return null;\n const hash = `0x${label.slice(1, 65)}`;\n if (!isHex(hash))\n return null;\n return hash;\n}\n//# sourceMappingURL=encodedLabelToLabelhash.js.map","import { concat } from '../data/concat.js';\nimport { stringToBytes, toBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { encodedLabelToLabelhash } from './encodedLabelToLabelhash.js';\n/**\n * @description Hashes ENS name\n *\n * - Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * namehash('wagmi-dev.eth')\n * '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'\n *\n * @link https://eips.ethereum.org/EIPS/eip-137\n */\nexport function namehash(name) {\n let result = new Uint8Array(32).fill(0);\n if (!name)\n return bytesToHex(result);\n const labels = name.split('.');\n // Iterate in reverse order building up hash\n for (let i = labels.length - 1; i >= 0; i -= 1) {\n const hashFromEncodedLabel = encodedLabelToLabelhash(labels[i]);\n const hashed = hashFromEncodedLabel\n ? toBytes(hashFromEncodedLabel)\n : keccak256(stringToBytes(labels[i]), 'bytes');\n result = keccak256(concat([result, hashed]), 'bytes');\n }\n return bytesToHex(result);\n}\n//# sourceMappingURL=namehash.js.map","export function encodeLabelhash(hash) {\n return `[${hash.slice(2)}]`;\n}\n//# sourceMappingURL=encodeLabelhash.js.map","import { stringToBytes } from '../encoding/toBytes.js';\nimport { bytesToHex } from '../encoding/toHex.js';\nimport { keccak256 } from '../hash/keccak256.js';\nimport { encodedLabelToLabelhash } from './encodedLabelToLabelhash.js';\n/**\n * @description Hashes ENS label\n *\n * - Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @example\n * labelhash('eth')\n * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'\n */\nexport function labelhash(label) {\n const result = new Uint8Array(32).fill(0);\n if (!label)\n return bytesToHex(result);\n return encodedLabelToLabelhash(label) || keccak256(stringToBytes(label));\n}\n//# sourceMappingURL=labelhash.js.map","import { stringToBytes } from '../encoding/toBytes.js';\nimport { encodeLabelhash } from './encodeLabelhash.js';\nimport { labelhash } from './labelhash.js';\n/*\n * @description Encodes a DNS packet into a ByteArray containing a UDP payload.\n */\nexport function packetToBytes(packet) {\n // strip leading and trailing `.`\n const value = packet.replace(/^\\.|\\.$/gm, '');\n if (value.length === 0)\n return new Uint8Array(1);\n const bytes = new Uint8Array(stringToBytes(value).byteLength + 2);\n let offset = 0;\n const list = value.split('.');\n for (let i = 0; i < list.length; i++) {\n let encoded = stringToBytes(list[i]);\n // if the length is > 255, make the encoded label value a labelhash\n // this is compatible with the universal resolver\n if (encoded.byteLength > 255)\n encoded = stringToBytes(encodeLabelhash(labelhash(list[i])));\n bytes[offset] = encoded.length;\n bytes.set(encoded, offset + 1);\n offset += encoded.length + 1;\n }\n if (bytes.byteLength !== offset + 1)\n return bytes.slice(0, offset + 1);\n return bytes;\n}\n//# sourceMappingURL=packetToBytes.js.map","import { addressResolverAbi, universalResolverResolveAbi, } from '../../constants/abis.js';\nimport { decodeFunctionResult } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData } from '../../utils/abi/encodeFunctionData.js';\nimport { getChainContractAddress } from '../../utils/chain.js';\nimport { trim } from '../../utils/data/trim.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\nimport { isNullUniversalResolverError } from '../../utils/ens/errors.js';\nimport { namehash } from '../../utils/ens/namehash.js';\nimport { packetToBytes } from '../../utils/ens/packetToBytes.js';\nimport { readContract, } from '../public/readContract.js';\n/**\n * Gets address for ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsAddress.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsAddressParameters}\n * @returns Address for ENS name or `null` if not found. {@link GetEnsAddressReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsAddress, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensAddress = await getEnsAddress(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // '0xd2135CfB216b74109775236E36d4b433F1DF507B'\n */\nexport async function getEnsAddress(client, { blockNumber, blockTag, coinType, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n try {\n const functionData = encodeFunctionData({\n abi: addressResolverAbi,\n functionName: 'addr',\n ...(coinType != null\n ? { args: [namehash(name), BigInt(coinType)] }\n : { args: [namehash(name)] }),\n });\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: universalResolverResolveAbi,\n functionName: 'resolve',\n args: [toHex(packetToBytes(name)), functionData],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const address = trim(decodeFunctionResult({\n abi: addressResolverAbi,\n args: coinType != null ? [namehash(name), BigInt(coinType)] : undefined,\n functionName: 'addr',\n data: res[0],\n }));\n if (address === '0x')\n return null;\n if (trim(address) === '0x00')\n return null;\n return address;\n }\n catch (err) {\n if (isNullUniversalResolverError(err, 'resolve'))\n return null;\n throw err;\n }\n}\n//# sourceMappingURL=getEnsAddress.js.map","import { BaseError } from './base.js';\nexport class EnsAvatarInvalidMetadataError extends BaseError {\n constructor({ data }) {\n super('Unable to extract image from metadata. The metadata may be malformed or invalid.', {\n metaMessages: [\n '- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.',\n '',\n `Provided data: ${JSON.stringify(data)}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidMetadataError'\n });\n }\n}\nexport class EnsAvatarInvalidNftUriError extends BaseError {\n constructor({ reason }) {\n super(`ENS NFT avatar URI is invalid. ${reason}`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarInvalidNftUriError'\n });\n }\n}\nexport class EnsAvatarUriResolutionError extends BaseError {\n constructor({ uri }) {\n super(`Unable to resolve ENS avatar URI \"${uri}\". The URI may be malformed, invalid, or does not respond with a valid image.`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUriResolutionError'\n });\n }\n}\nexport class EnsAvatarUnsupportedNamespaceError extends BaseError {\n constructor({ namespace }) {\n super(`ENS NFT avatar namespace \"${namespace}\" is not supported. Must be \"erc721\" or \"erc1155\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'EnsAvatarUnsupportedNamespaceError'\n });\n }\n}\n//# sourceMappingURL=ens.js.map","import { readContract } from '../../../actions/public/readContract.js';\nimport { EnsAvatarInvalidMetadataError, EnsAvatarInvalidNftUriError, EnsAvatarUnsupportedNamespaceError, EnsAvatarUriResolutionError, } from '../../../errors/ens.js';\nconst networkRegex = /(?https?:\\/\\/[^\\/]*|ipfs:\\/|ipns:\\/|ar:\\/)?(?\\/)?(?ipfs\\/|ipns\\/)?(?[\\w\\-.]+)(?\\/.*)?/;\nconst ipfsHashRegex = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\\/(?[\\w\\-.]+))?(?\\/.*)?$/;\nconst base64Regex = /^data:([a-zA-Z\\-/+]*);base64,([^\"].*)/;\nconst dataURIRegex = /^data:([a-zA-Z\\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;\nexport async function isImageUri(uri) {\n try {\n const res = await fetch(uri, { method: 'HEAD' });\n // retrieve content type header to check if content is image\n if (res.status === 200) {\n const contentType = res.headers.get('content-type');\n return contentType?.startsWith('image/');\n }\n return false;\n }\n catch (error) {\n // if error is not cors related then fail\n if (typeof error === 'object' && typeof error.response !== 'undefined') {\n return false;\n }\n // fail in NodeJS, since the error is not cors but any other network issue\n // rome-ignore lint/suspicious/noPrototypeBuiltins:\n if (!globalThis.hasOwnProperty('Image'))\n return false;\n // in case of cors, use image api to validate if given url is an actual image\n return new Promise((resolve) => {\n const img = new Image();\n img.onload = () => {\n resolve(true);\n };\n img.onerror = () => {\n resolve(false);\n };\n img.src = uri;\n });\n }\n}\nexport function getGateway(custom, defaultGateway) {\n if (!custom)\n return defaultGateway;\n if (custom.endsWith('/'))\n return custom.slice(0, -1);\n return custom;\n}\nexport function resolveAvatarUri({ uri, gatewayUrls, }) {\n const isEncoded = base64Regex.test(uri);\n if (isEncoded)\n return { uri, isOnChain: true, isEncoded };\n const ipfsGateway = getGateway(gatewayUrls?.ipfs, 'https://ipfs.io');\n const arweaveGateway = getGateway(gatewayUrls?.arweave, 'https://arweave.net');\n const networkRegexMatch = uri.match(networkRegex);\n const { protocol, subpath, target, subtarget = '', } = networkRegexMatch?.groups || {};\n const isIPNS = protocol === 'ipns:/' || subpath === 'ipns/';\n const isIPFS = protocol === 'ipfs:/' || subpath === 'ipfs/' || ipfsHashRegex.test(uri);\n if (uri.startsWith('http') && !isIPNS && !isIPFS) {\n let replacedUri = uri;\n if (gatewayUrls?.arweave)\n replacedUri = uri.replace(/https:\\/\\/arweave.net/g, gatewayUrls?.arweave);\n return { uri: replacedUri, isOnChain: false, isEncoded: false };\n }\n if ((isIPNS || isIPFS) && target) {\n return {\n uri: `${ipfsGateway}/${isIPNS ? 'ipns' : 'ipfs'}/${target}${subtarget}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n else if (protocol === 'ar:/' && target) {\n return {\n uri: `${arweaveGateway}/${target}${subtarget || ''}`,\n isOnChain: false,\n isEncoded: false,\n };\n }\n let parsedUri = uri.replace(dataURIRegex, '');\n if (parsedUri.startsWith(' res.json());\n const image = await parseAvatarUri({\n gatewayUrls,\n uri: getJsonImage(res),\n });\n return image;\n }\n catch {\n throw new EnsAvatarUriResolutionError({ uri });\n }\n}\nexport async function parseAvatarUri({ gatewayUrls, uri, }) {\n const { uri: resolvedURI, isOnChain } = resolveAvatarUri({ uri, gatewayUrls });\n if (isOnChain)\n return resolvedURI;\n // check if resolvedURI is an image, if it is return the url\n const isImage = await isImageUri(resolvedURI);\n if (isImage)\n return resolvedURI;\n throw new EnsAvatarUriResolutionError({ uri });\n}\nexport function parseNftUri(uri_) {\n let uri = uri_;\n // parse valid nft spec (CAIP-22/CAIP-29)\n // @see: https://github.com/ChainAgnostic/CAIPs/tree/master/CAIPs\n if (uri.startsWith('did:nft:')) {\n // convert DID to CAIP\n uri = uri.replace('did:nft:', '').replace(/_/g, '/');\n }\n const [reference, asset_namespace, tokenID] = uri.split('/');\n const [eip_namespace, chainID] = reference.split(':');\n const [erc_namespace, contractAddress] = asset_namespace.split(':');\n if (!eip_namespace || eip_namespace.toLowerCase() !== 'eip155')\n throw new EnsAvatarInvalidNftUriError({ reason: 'Only EIP-155 supported' });\n if (!chainID)\n throw new EnsAvatarInvalidNftUriError({ reason: 'Chain ID not found' });\n if (!contractAddress)\n throw new EnsAvatarInvalidNftUriError({\n reason: 'Contract address not found',\n });\n if (!tokenID)\n throw new EnsAvatarInvalidNftUriError({ reason: 'Token ID not found' });\n if (!erc_namespace)\n throw new EnsAvatarInvalidNftUriError({ reason: 'ERC namespace not found' });\n return {\n chainID: parseInt(chainID),\n namespace: erc_namespace.toLowerCase(),\n contractAddress: contractAddress,\n tokenID,\n };\n}\nexport async function getNftTokenUri(client, { nft }) {\n if (nft.namespace === 'erc721') {\n return readContract(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'tokenURI',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'tokenId', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'tokenURI',\n args: [BigInt(nft.tokenID)],\n });\n }\n if (nft.namespace === 'erc1155') {\n return readContract(client, {\n address: nft.contractAddress,\n abi: [\n {\n name: 'uri',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: '_id', type: 'uint256' }],\n outputs: [{ name: '', type: 'string' }],\n },\n ],\n functionName: 'uri',\n args: [BigInt(nft.tokenID)],\n });\n }\n throw new EnsAvatarUnsupportedNamespaceError({ namespace: nft.namespace });\n}\n//# sourceMappingURL=utils.js.map","import { getJsonImage, getMetadataAvatarUri, getNftTokenUri, parseAvatarUri, parseNftUri, resolveAvatarUri, } from './utils.js';\nexport async function parseAvatarRecord(client, { gatewayUrls, record, }) {\n if (/eip155:/i.test(record))\n return parseNftAvatarUri(client, { gatewayUrls, record });\n return parseAvatarUri({ uri: record, gatewayUrls });\n}\nasync function parseNftAvatarUri(client, { gatewayUrls, record, }) {\n // parse NFT URI into properties\n const nft = parseNftUri(record);\n // fetch tokenURI from the NFT contract\n const nftUri = await getNftTokenUri(client, { nft });\n // resolve the URI from the fetched tokenURI\n const { uri: resolvedNftUri, isOnChain, isEncoded, } = resolveAvatarUri({ uri: nftUri, gatewayUrls });\n // if the resolved URI is on chain, return the data\n if (isOnChain &&\n (resolvedNftUri.includes('data:application/json;base64,') ||\n resolvedNftUri.startsWith('{'))) {\n const encodedJson = isEncoded\n ? // if it is encoded, decode it\n atob(resolvedNftUri.replace('data:application/json;base64,', ''))\n : // if it isn't encoded assume it is a JSON string, but it could be anything (it will error if it is)\n resolvedNftUri;\n const decoded = JSON.parse(encodedJson);\n return parseAvatarUri({ uri: getJsonImage(decoded), gatewayUrls });\n }\n let uriTokenId = nft.tokenID;\n if (nft.namespace === 'erc1155')\n uriTokenId = uriTokenId.replace('0x', '').padStart(64, '0');\n return getMetadataAvatarUri({\n gatewayUrls,\n uri: resolvedNftUri.replace(/(?:0x)?{id}/, uriTokenId),\n });\n}\n//# sourceMappingURL=parseAvatarRecord.js.map","import { textResolverAbi, universalResolverResolveAbi, } from '../../constants/abis.js';\nimport { decodeFunctionResult } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData } from '../../utils/abi/encodeFunctionData.js';\nimport { getChainContractAddress } from '../../utils/chain.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\nimport { isNullUniversalResolverError } from '../../utils/ens/errors.js';\nimport { namehash } from '../../utils/ens/namehash.js';\nimport { packetToBytes } from '../../utils/ens/packetToBytes.js';\nimport { readContract, } from '../public/readContract.js';\n/**\n * Gets a text record for specified ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsTextParameters}\n * @returns Address for ENS resolver. {@link GetEnsTextReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsText, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const twitterRecord = await getEnsText(client, {\n * name: normalize('wagmi-dev.eth'),\n * key: 'com.twitter',\n * })\n * // 'wagmi_sh'\n */\nexport async function getEnsText(client, { blockNumber, blockTag, name, key, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n try {\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: universalResolverResolveAbi,\n functionName: 'resolve',\n args: [\n toHex(packetToBytes(name)),\n encodeFunctionData({\n abi: textResolverAbi,\n functionName: 'text',\n args: [namehash(name), key],\n }),\n ],\n blockNumber,\n blockTag,\n });\n if (res[0] === '0x')\n return null;\n const record = decodeFunctionResult({\n abi: textResolverAbi,\n functionName: 'text',\n data: res[0],\n });\n return record === '' ? null : record;\n }\n catch (err) {\n if (isNullUniversalResolverError(err, 'resolve'))\n return null;\n throw err;\n }\n}\n//# sourceMappingURL=getEnsText.js.map","import { parseAvatarRecord } from '../../utils/ens/avatar/parseAvatarRecord.js';\nimport { getEnsText } from './getEnsText.js';\n/**\n * Gets the avatar of an ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsAvatar.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls [`getEnsText`](https://viem.sh/docs/ens/actions/getEnsText.html) with `key` set to `'avatar'`.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsAvatarParameters}\n * @returns Avatar URI or `null` if not found. {@link GetEnsAvatarReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsAvatar, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensAvatar = await getEnsAvatar(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // 'https://ipfs.io/ipfs/Qma8mnp6xV3J2cRNf3mTth5C8nV11CAnceVinc3y8jSbio'\n */\nexport async function getEnsAvatar(client, { blockNumber, blockTag, gatewayUrls, name, universalResolverAddress, }) {\n const record = await getEnsText(client, {\n blockNumber,\n blockTag,\n key: 'avatar',\n name,\n universalResolverAddress,\n });\n if (!record)\n return null;\n try {\n return await parseAvatarRecord(client, { record, gatewayUrls });\n }\n catch {\n return null;\n }\n}\n//# sourceMappingURL=getEnsAvatar.js.map","import { universalResolverReverseAbi } from '../../constants/abis.js';\nimport { getChainContractAddress } from '../../utils/chain.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\nimport { isNullUniversalResolverError } from '../../utils/ens/errors.js';\nimport { packetToBytes } from '../../utils/ens/packetToBytes.js';\nimport { readContract, } from '../public/readContract.js';\n/**\n * Gets primary name for specified address.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsName.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `reverse(bytes)` on ENS Universal Resolver Contract to \"reverse resolve\" the address to the primary ENS name.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsNameParameters}\n * @returns Name or `null` if not found. {@link GetEnsNameReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsName } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const ensName = await getEnsName(client, {\n * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',\n * })\n * // 'wagmi-dev.eth'\n */\nexport async function getEnsName(client, { address, blockNumber, blockTag, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;\n try {\n const res = await readContract(client, {\n address: universalResolverAddress,\n abi: universalResolverReverseAbi,\n functionName: 'reverse',\n args: [toHex(packetToBytes(reverseNode))],\n blockNumber,\n blockTag,\n });\n return res[0];\n }\n catch (err) {\n if (isNullUniversalResolverError(err, 'reverse'))\n return null;\n throw err;\n }\n}\n//# sourceMappingURL=getEnsName.js.map","import { getChainContractAddress } from '../../utils/chain.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\nimport { packetToBytes } from '../../utils/ens/packetToBytes.js';\nimport { readContract, } from '../public/readContract.js';\n/**\n * Gets resolver for ENS name.\n *\n * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/ens\n *\n * Calls `findResolver(bytes)` on ENS Universal Resolver Contract to retrieve the resolver of an ENS name.\n *\n * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize.html) function for this.\n *\n * @param client - Client to use\n * @param parameters - {@link GetEnsResolverParameters}\n * @returns Address for ENS resolver. {@link GetEnsResolverReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getEnsResolver, normalize } from 'viem/ens'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const resolverAddress = await getEnsResolver(client, {\n * name: normalize('wagmi-dev.eth'),\n * })\n * // '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41'\n */\nexport async function getEnsResolver(client, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }) {\n let universalResolverAddress = universalResolverAddress_;\n if (!universalResolverAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. universalResolverAddress is required.');\n universalResolverAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'ensUniversalResolver',\n });\n }\n const [resolverAddress] = await readContract(client, {\n address: universalResolverAddress,\n abi: [\n {\n inputs: [{ type: 'bytes' }],\n name: 'findResolver',\n outputs: [{ type: 'address' }, { type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n ],\n functionName: 'findResolver',\n args: [toHex(packetToBytes(name))],\n blockNumber,\n blockTag,\n });\n return resolverAddress;\n}\n//# sourceMappingURL=getEnsResolver.js.map","import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';\n/**\n * Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new block hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createBlockFilter.html\n * - JSON-RPC Methods: [`eth_newBlockFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newBlockFilter)\n *\n * @param client - Client to use\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateBlockFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createBlockFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createBlockFilter(client)\n * // { id: \"0x345a6572337856574a76364e457a4366\", type: 'block' }\n */\nexport async function createBlockFilter(client) {\n const getRequest = createFilterRequestScope(client, {\n method: 'eth_newBlockFilter',\n });\n const id = await client.request({\n method: 'eth_newBlockFilter',\n });\n return { id, request: getRequest(id), type: 'block' };\n}\n//# sourceMappingURL=createBlockFilter.js.map","import { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';\n/**\n * Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new events that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createEventFilter.html\n * - JSON-RPC Methods: [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter)\n *\n * @param client - Client to use\n * @param parameters - {@link CreateEventFilterParameters}\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateEventFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',\n * })\n */\nexport async function createEventFilter(client, { address, args, event, events: events_, fromBlock, strict, toBlock, } = {}) {\n const events = events_ ?? (event ? [event] : undefined);\n const getRequest = createFilterRequestScope(client, {\n method: 'eth_newFilter',\n });\n let topics = [];\n if (events) {\n topics = [\n events.flatMap((event) => encodeEventTopics({\n abi: [event],\n eventName: event.name,\n args,\n })),\n ];\n if (event)\n topics = topics[0];\n }\n const id = await client.request({\n method: 'eth_newFilter',\n params: [\n {\n address,\n fromBlock: typeof fromBlock === 'bigint' ? numberToHex(fromBlock) : fromBlock,\n toBlock: typeof toBlock === 'bigint' ? numberToHex(toBlock) : toBlock,\n ...(topics.length ? { topics } : {}),\n },\n ],\n });\n return {\n abi: events,\n args,\n eventName: event ? event.name : undefined,\n fromBlock,\n id,\n request: getRequest(id),\n strict,\n toBlock,\n type: 'event',\n };\n}\n//# sourceMappingURL=createEventFilter.js.map","import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';\n/**\n * Creates a Filter to listen for new pending transaction hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).\n *\n * - Docs: https://viem.sh/docs/actions/public/createPendingTransactionFilter.html\n * - JSON-RPC Methods: [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter)\n *\n * @param client - Client to use\n * @returns [`Filter`](https://viem.sh/docs/glossary/types.html#filter). {@link CreateBlockFilterReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createPendingTransactionFilter } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createPendingTransactionFilter(client)\n * // { id: \"0x345a6572337856574a76364e457a4366\", type: 'transaction' }\n */\nexport async function createPendingTransactionFilter(client) {\n const getRequest = createFilterRequestScope(client, {\n method: 'eth_newPendingTransactionFilter',\n });\n const id = await client.request({\n method: 'eth_newPendingTransactionFilter',\n });\n return { id, request: getRequest(id), type: 'transaction' };\n}\n//# sourceMappingURL=createPendingTransactionFilter.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Returns the balance of an address in wei.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBalance.html\n * - JSON-RPC Methods: [`eth_getBalance`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getbalance)\n *\n * You can convert the balance to ether units with [`formatEther`](https://viem.sh/docs/utilities/formatEther.html).\n *\n * ```ts\n * const balance = await getBalance(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * blockTag: 'safe'\n * })\n * const balanceAsEther = formatEther(balance)\n * // \"6.942\"\n * ```\n *\n * @param client - Client to use\n * @param parameters - {@link GetBalanceParameters}\n * @returns The balance of the address in wei. {@link GetBalanceReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBalance } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const balance = await getBalance(client, {\n * address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * })\n * // 10000000000000000000000n (wei)\n */\nexport async function getBalance(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;\n const balance = await client.request({\n method: 'eth_getBalance',\n params: [address, blockNumberHex || blockTag],\n });\n return BigInt(balance);\n}\n//# sourceMappingURL=getBalance.js.map","import { hexToNumber } from '../../utils/encoding/fromHex.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Returns the number of Transactions at a block number, hash, or tag.\n *\n * - Docs: https://viem.sh/docs/actions/public/getBlockTransactionCount.html\n * - JSON-RPC Methods:\n * - Calls [`eth_getBlockTransactionCountByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbynumber) for `blockNumber` & `blockTag`.\n * - Calls [`eth_getBlockTransactionCountByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbyhash) for `blockHash`.\n *\n * @param client - Client to use\n * @param parameters - {@link GetBlockTransactionCountParameters}\n * @returns The block transaction count. {@link GetBlockTransactionCountReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBlockTransactionCount } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const count = await getBlockTransactionCount(client)\n */\nexport async function getBlockTransactionCount(client, { blockHash, blockNumber, blockTag = 'latest', } = {}) {\n const blockNumberHex = blockNumber !== undefined ? numberToHex(blockNumber) : undefined;\n let count;\n if (blockHash) {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByHash',\n params: [blockHash],\n });\n }\n else {\n count = await client.request({\n method: 'eth_getBlockTransactionCountByNumber',\n params: [blockNumberHex || blockTag],\n });\n }\n return hexToNumber(count);\n}\n//# sourceMappingURL=getBlockTransactionCount.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Retrieves the bytecode at an address.\n *\n * - Docs: https://viem.sh/docs/contract/getBytecode.html\n * - JSON-RPC Methods: [`eth_getCode`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode)\n *\n * @param client - Client to use\n * @param parameters - {@link GetBytecodeParameters}\n * @returns The contract's bytecode. {@link GetBytecodeReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getBytecode } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const code = await getBytecode(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * })\n */\nexport async function getBytecode(client, { address, blockNumber, blockTag = 'latest' }) {\n const blockNumberHex = blockNumber !== undefined ? numberToHex(blockNumber) : undefined;\n const hex = await client.request({\n method: 'eth_getCode',\n params: [address, blockNumberHex || blockTag],\n });\n if (hex === '0x')\n return undefined;\n return hex;\n}\n//# sourceMappingURL=getBytecode.js.map","export function formatFeeHistory(feeHistory) {\n return {\n baseFeePerGas: feeHistory.baseFeePerGas.map((value) => BigInt(value)),\n gasUsedRatio: feeHistory.gasUsedRatio,\n oldestBlock: BigInt(feeHistory.oldestBlock),\n reward: feeHistory.reward?.map((reward) => reward.map((value) => BigInt(value))),\n };\n}\n//# sourceMappingURL=feeHistory.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatFeeHistory } from '../../utils/formatters/feeHistory.js';\n/**\n * Returns a collection of historical gas information.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFeeHistory.html\n * - JSON-RPC Methods: [`eth_feeHistory`](https://docs.alchemy.com/reference/eth-feehistory)\n *\n * @param client - Client to use\n * @param parameters - {@link GetFeeHistoryParameters}\n * @returns The gas estimate (in wei). {@link GetFeeHistoryReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getFeeHistory } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const feeHistory = await getFeeHistory(client, {\n * blockCount: 4,\n * rewardPercentiles: [25, 75],\n * })\n */\nexport async function getFeeHistory(client, { blockCount, blockNumber, blockTag = 'latest', rewardPercentiles, }) {\n const blockNumberHex = blockNumber ? numberToHex(blockNumber) : undefined;\n const feeHistory = await client.request({\n method: 'eth_feeHistory',\n params: [\n numberToHex(blockCount),\n blockNumberHex || blockTag,\n rewardPercentiles,\n ],\n });\n return formatFeeHistory(feeHistory);\n}\n//# sourceMappingURL=getFeeHistory.js.map","import { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { decodeEventLog } from '../../utils/abi/decodeEventLog.js';\nimport { formatLog } from '../../utils/formatters/log.js';\n/**\n * Returns a list of event logs since the filter was created.\n *\n * - Docs: https://viem.sh/docs/actions/public/getFilterLogs.html\n * - JSON-RPC Methods: [`eth_getFilterLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterlogs)\n *\n * `getFilterLogs` is only compatible with **event filters**.\n *\n * @param client - Client to use\n * @param parameters - {@link GetFilterLogsParameters}\n * @returns A list of event logs. {@link GetFilterLogsReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbiItem } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { createEventFilter, getFilterLogs } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const filter = await createEventFilter(client, {\n * address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',\n * event: parseAbiItem('event Transfer(address indexed, address indexed, uint256)'),\n * })\n * const logs = await getFilterLogs(client, { filter })\n */\nexport async function getFilterLogs(_client, { filter, }) {\n const strict = filter.strict ?? false;\n const logs = await filter.request({\n method: 'eth_getFilterLogs',\n params: [filter.id],\n });\n return logs\n .map((log) => {\n try {\n const { eventName, args } = 'abi' in filter && filter.abi\n ? decodeEventLog({\n abi: filter.abi,\n data: log.data,\n topics: log.topics,\n strict,\n })\n : { eventName: undefined, args: undefined };\n return formatLog(log, { args, eventName });\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if ('strict' in filter && filter.strict)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n return formatLog(log, { args: isUnnamed ? [] : {}, eventName });\n }\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=getFilterLogs.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Returns the value from a storage slot at a given address.\n *\n * - Docs: https://viem.sh/docs/contract/getStorageAt.html\n * - JSON-RPC Methods: [`eth_getStorageAt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getstorageat)\n *\n * @param client - Client to use\n * @param parameters - {@link GetStorageAtParameters}\n * @returns The value of the storage slot. {@link GetStorageAtReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getStorageAt } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const code = await getStorageAt(client, {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * slot: toHex(0),\n * })\n */\nexport async function getStorageAt(client, { address, blockNumber, blockTag = 'latest', slot }) {\n const blockNumberHex = blockNumber !== undefined ? numberToHex(blockNumber) : undefined;\n const data = await client.request({\n method: 'eth_getStorageAt',\n params: [address, slot, blockNumberHex || blockTag],\n });\n return data;\n}\n//# sourceMappingURL=getStorageAt.js.map","import { TransactionNotFoundError } from '../../errors/transaction.js';\nimport { numberToHex } from '../../utils/encoding/toHex.js';\nimport { formatTransaction, } from '../../utils/formatters/transaction.js';\n/**\n * Returns information about a [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) given a hash or block identifier.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransaction.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionByHash`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionByHash)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionParameters}\n * @returns The transaction information. {@link GetTransactionReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransaction } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transaction = await getTransaction(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function getTransaction(client, { blockHash, blockNumber, blockTag: blockTag_, hash, index, }) {\n const blockTag = blockTag_ || 'latest';\n const blockNumberHex = blockNumber !== undefined ? numberToHex(blockNumber) : undefined;\n let transaction = null;\n if (hash) {\n transaction = await client.request({\n method: 'eth_getTransactionByHash',\n params: [hash],\n });\n }\n else if (blockHash) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockHashAndIndex',\n params: [blockHash, numberToHex(index)],\n });\n }\n else if (blockNumberHex || blockTag) {\n transaction = await client.request({\n method: 'eth_getTransactionByBlockNumberAndIndex',\n params: [blockNumberHex || blockTag, numberToHex(index)],\n });\n }\n if (!transaction)\n throw new TransactionNotFoundError({\n blockHash,\n blockNumber,\n blockTag,\n hash,\n index,\n });\n const format = client.chain?.formatters?.transaction?.format || formatTransaction;\n return format(transaction);\n}\n//# sourceMappingURL=getTransaction.js.map","import { getBlockNumber } from './getBlockNumber.js';\nimport { getTransaction } from './getTransaction.js';\n/**\n * Returns the number of blocks passed (confirmations) since the transaction was processed on a block.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionConfirmations.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionConfirmations`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionConfirmations)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionConfirmationsParameters}\n * @returns The number of blocks passed since the transaction was processed. If confirmations is 0, then the Transaction has not been confirmed & processed yet. {@link GetTransactionConfirmationsReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionConfirmations } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const confirmations = await getTransactionConfirmations(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function getTransactionConfirmations(client, { hash, transactionReceipt }) {\n const [blockNumber, transaction] = await Promise.all([\n getBlockNumber(client),\n hash ? getTransaction(client, { hash }) : undefined,\n ]);\n const transactionBlockNumber = transactionReceipt?.blockNumber || transaction?.blockNumber;\n if (!transactionBlockNumber)\n return 0n;\n return blockNumber - transactionBlockNumber + 1n;\n}\n//# sourceMappingURL=getTransactionConfirmations.js.map","import { TransactionReceiptNotFoundError } from '../../errors/transaction.js';\nimport { formatTransactionReceipt, } from '../../utils/formatters/transactionReceipt.js';\n/**\n * Returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms.html#transaction-receipt) given a [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash.\n *\n * - Docs: https://viem.sh/docs/actions/public/getTransactionReceipt.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/fetching-transactions\n * - JSON-RPC Methods: [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionreceipt)\n *\n * @param client - Client to use\n * @param parameters - {@link GetTransactionReceiptParameters}\n * @returns The transaction receipt. {@link GetTransactionReceiptReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getTransactionReceipt } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionReceipt = await getTransactionReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function getTransactionReceipt(client, { hash }) {\n const receipt = await client.request({\n method: 'eth_getTransactionReceipt',\n params: [hash],\n });\n if (!receipt)\n throw new TransactionReceiptNotFoundError({ hash });\n const format = client.chain?.formatters?.transactionReceipt?.format ||\n formatTransactionReceipt;\n return format(receipt);\n}\n//# sourceMappingURL=getTransactionReceipt.js.map","import { multicall3Abi } from '../../constants/abis.js';\nimport { AbiDecodingZeroDataError } from '../../errors/abi.js';\nimport { RawContractError } from '../../errors/contract.js';\nimport { decodeFunctionResult } from '../../utils/abi/decodeFunctionResult.js';\nimport { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js';\nimport { getChainContractAddress } from '../../utils/chain.js';\nimport { getContractError } from '../../utils/errors/getContractError.js';\nimport { readContract } from './readContract.js';\n/**\n * Similar to [`readContract`](https://viem.sh/docs/contract/readContract.html), but batches up multiple functions on a contract in a single RPC call via the [`multicall3` contract](https://github.com/mds1/multicall).\n *\n * - Docs: https://viem.sh/docs/contract/multicall.html\n *\n * @param client - Client to use\n * @param parameters - {@link MulticallParameters}\n * @returns An array of results with accompanying status. {@link MulticallReturnType}\n *\n * @example\n * import { createPublicClient, http, parseAbi } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { multicall } from 'viem/contract'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const abi = parseAbi([\n * 'function balanceOf(address) view returns (uint256)',\n * 'function totalSupply() view returns (uint256)',\n * ])\n * const results = await multicall(client, {\n * contracts: [\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'balanceOf',\n * args: ['0xA0Cf798816D4b9b9866b5330EEa46a18382f251e'],\n * },\n * {\n * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',\n * abi,\n * functionName: 'totalSupply',\n * },\n * ],\n * })\n * // [{ result: 424122n, status: 'success' }, { result: 1000000n, status: 'success' }]\n */\nexport async function multicall(client, args) {\n const { allowFailure = true, batchSize: batchSize_, blockNumber, blockTag, contracts: contracts_, multicallAddress: multicallAddress_, } = args;\n const batchSize = batchSize_ ??\n ((typeof client.batch?.multicall === 'object' &&\n client.batch.multicall.batchSize) ||\n 1024);\n // Fix type cast from `Narrow` in type definition.\n const contracts = contracts_;\n let multicallAddress = multicallAddress_;\n if (!multicallAddress) {\n if (!client.chain)\n throw new Error('client chain not configured. multicallAddress is required.');\n multicallAddress = getChainContractAddress({\n blockNumber,\n chain: client.chain,\n contract: 'multicall3',\n });\n }\n const chunkedCalls = [[]];\n let currentChunk = 0;\n let currentChunkSize = 0;\n for (let i = 0; i < contracts.length; i++) {\n const { abi, address, args, functionName } = contracts[i];\n try {\n const callData = encodeFunctionData({\n abi,\n args,\n functionName,\n });\n currentChunkSize += callData.length;\n if (batchSize > 0 && currentChunkSize > batchSize) {\n currentChunk++;\n currentChunkSize = (callData.length - 2) / 2;\n chunkedCalls[currentChunk] = [];\n }\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData,\n target: address,\n },\n ];\n }\n catch (err) {\n const error = getContractError(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n chunkedCalls[currentChunk] = [\n ...chunkedCalls[currentChunk],\n {\n allowFailure: true,\n callData: '0x',\n target: address,\n },\n ];\n }\n }\n const results = await Promise.all(chunkedCalls.map((calls) => readContract(client, {\n abi: multicall3Abi,\n address: multicallAddress,\n args: [calls],\n blockNumber,\n blockTag,\n functionName: 'aggregate3',\n })));\n return results.flat().map(({ returnData, success }, i) => {\n const calls = chunkedCalls.flat();\n const { callData } = calls[i];\n const { abi, address, functionName, args } = contracts[i];\n try {\n if (callData === '0x')\n throw new AbiDecodingZeroDataError();\n if (!success)\n throw new RawContractError({ data: returnData });\n const result = decodeFunctionResult({\n abi,\n args,\n data: returnData,\n functionName: functionName,\n });\n return allowFailure ? { result, status: 'success' } : result;\n }\n catch (err) {\n const error = getContractError(err, {\n abi,\n address,\n args,\n docsPath: '/docs/contract/multicall',\n functionName,\n });\n if (!allowFailure)\n throw error;\n return { error, result: undefined, status: 'failure' };\n }\n });\n}\n//# sourceMappingURL=multicall.js.map","export const universalSignatureValidatorByteCode = '0x60806040523480156200001157600080fd5b50604051620007003803806200070083398101604081905262000034916200056f565b6000620000438484846200004f565b9050806000526001601ff35b600080846001600160a01b0316803b806020016040519081016040528181526000908060200190933c90507f6492649264926492649264926492649264926492649264926492649264926492620000a68462000451565b036200021f57600060608085806020019051810190620000c79190620005ce565b8651929550909350915060000362000192576000836001600160a01b031683604051620000f5919062000643565b6000604051808303816000865af19150503d806000811462000134576040519150601f19603f3d011682016040523d82523d6000602084013e62000139565b606091505b5050905080620001905760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b505b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90620001c4908b90869060040162000661565b602060405180830381865afa158015620001e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020891906200069d565b6001600160e01b031916149450505050506200044a565b805115620002b157604051630b135d3f60e11b808252906001600160a01b03871690631626ba7e9062000259908890889060040162000661565b602060405180830381865afa15801562000277573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029d91906200069d565b6001600160e01b031916149150506200044a565b8251604114620003195760405162461bcd60e51b815260206004820152603a6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e677468000000000000606482015260840162000187565b620003236200046b565b506020830151604080850151855186939260009185919081106200034b576200034b620006c9565b016020015160f81c9050601b81148015906200036b57508060ff16601c14155b15620003cf5760405162461bcd60e51b815260206004820152603b6024820152600080516020620006e083398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c75650000000000606482015260840162000187565b6040805160008152602081018083528a905260ff83169181019190915260608101849052608081018390526001600160a01b038a169060019060a0016020604051602081039080840390855afa1580156200042e573d6000803e3d6000fd5b505050602060405103516001600160a01b031614955050505050505b9392505050565b60006020825110156200046357600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b03811681146200049f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004d5578181015183820152602001620004bb565b50506000910152565b600082601f830112620004f057600080fd5b81516001600160401b03808211156200050d576200050d620004a2565b604051601f8301601f19908116603f01168101908282118183101715620005385762000538620004a2565b816040528381528660208588010111156200055257600080fd5b62000565846020830160208901620004b8565b9695505050505050565b6000806000606084860312156200058557600080fd5b8351620005928162000489565b6020850151604086015191945092506001600160401b03811115620005b657600080fd5b620005c486828701620004de565b9150509250925092565b600080600060608486031215620005e457600080fd5b8351620005f18162000489565b60208501519093506001600160401b03808211156200060f57600080fd5b6200061d87838801620004de565b935060408601519150808211156200063457600080fd5b50620005c486828701620004de565b6000825162000657818460208701620004b8565b9190910192915050565b828152604060208201526000825180604084015262000688816060850160208701620004b8565b601f01601f1916919091016060019392505050565b600060208284031215620006b057600080fd5b81516001600160e01b0319811681146200044a57600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572';\n//# sourceMappingURL=contracts.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// 100 lines of code in the file are duplicated from noble-hashes (utils).\n// This is OK: `abstract` directory does not use noble-hashes.\n// User may opt-in into using different hashing library. This way, noble-hashes\n// won't be included into their bundle.\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst u8a = (a) => a instanceof Uint8Array;\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\nexport function numberToHexUnpadded(num) {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n}\nexport function hexToNumber(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // Big Endian\n return BigInt(hex === '' ? '0' : `0x${hex}`);\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// BE: Big Endian, LE: Little Endian\nexport function bytesToNumberBE(bytes) {\n return hexToNumber(bytesToHex(bytes));\n}\nexport function bytesToNumberLE(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n return hexToNumber(bytesToHex(Uint8Array.from(bytes).reverse()));\n}\nexport function numberToBytesBE(n, len) {\n return hexToBytes(n.toString(16).padStart(len * 2, '0'));\n}\nexport function numberToBytesLE(n, len) {\n return numberToBytesBE(n, len).reverse();\n}\n// Unpadded, rarely used\nexport function numberToVarBytesBE(n) {\n return hexToBytes(numberToHexUnpadded(n));\n}\n/**\n * Takes hex string or Uint8Array, converts to Uint8Array.\n * Validates output length.\n * Will throw error for other types.\n * @param title descriptive title for an error e.g. 'private key'\n * @param hex hex string or Uint8Array\n * @param expectedLength optional, will compare to result array's length\n * @returns\n */\nexport function ensureBytes(title, hex, expectedLength) {\n let res;\n if (typeof hex === 'string') {\n try {\n res = hexToBytes(hex);\n }\n catch (e) {\n throw new Error(`${title} must be valid hex string, got \"${hex}\". Cause: ${e}`);\n }\n }\n else if (u8a(hex)) {\n // Uint8Array.from() instead of hash.slice() because node.js Buffer\n // is instance of Uint8Array, and its slice() creates **mutable** copy\n res = Uint8Array.from(hex);\n }\n else {\n throw new Error(`${title} must be hex string or Uint8Array`);\n }\n const len = res.length;\n if (typeof expectedLength === 'number' && len !== expectedLength)\n throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`);\n return res;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\nexport function equalBytes(b1, b2) {\n // We don't care about timing attacks here\n if (b1.length !== b2.length)\n return false;\n for (let i = 0; i < b1.length; i++)\n if (b1[i] !== b2[i])\n return false;\n return true;\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n// Bit operations\n/**\n * Calculates amount of bits in a bigint.\n * Same as `n.toString(2).length`\n */\nexport function bitLen(n) {\n let len;\n for (len = 0; n > _0n; n >>= _1n, len += 1)\n ;\n return len;\n}\n/**\n * Gets single bit at position.\n * NOTE: first bit position is 0 (same as arrays)\n * Same as `!!+Array.from(n.toString(2)).reverse()[pos]`\n */\nexport function bitGet(n, pos) {\n return (n >> BigInt(pos)) & _1n;\n}\n/**\n * Sets single bit at position.\n */\nexport const bitSet = (n, pos, value) => {\n return n | ((value ? _1n : _0n) << BigInt(pos));\n};\n/**\n * Calculate mask for N bits. Not using ** operator with bigints because of old engines.\n * Same as BigInt(`0b${Array(i).fill('1').join('')}`)\n */\nexport const bitMask = (n) => (_2n << BigInt(n - 1)) - _1n;\n// DRBG\nconst u8n = (data) => new Uint8Array(data); // creates Uint8Array\nconst u8fr = (arr) => Uint8Array.from(arr); // another shortcut\n/**\n * Minimal HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n * @returns function that will call DRBG until 2nd arg returns something meaningful\n * @example\n * const drbg = createHmacDRBG(32, 32, hmac);\n * drbg(seed, bytesToKey); // bytesToKey must return Key or undefined\n */\nexport function createHmacDrbg(hashLen, qByteLen, hmacFn) {\n if (typeof hashLen !== 'number' || hashLen < 2)\n throw new Error('hashLen must be a number');\n if (typeof qByteLen !== 'number' || qByteLen < 2)\n throw new Error('qByteLen must be a number');\n if (typeof hmacFn !== 'function')\n throw new Error('hmacFn must be a function');\n // Step B, Step C: set hashLen to 8*ceil(hlen/8)\n let v = u8n(hashLen); // Minimal non-full-spec HMAC-DRBG from NIST 800-90 for RFC6979 sigs.\n let k = u8n(hashLen); // Steps B and C of RFC6979 3.2: set hashLen, in our case always same\n let i = 0; // Iterations counter, will throw when over 1000\n const reset = () => {\n v.fill(1);\n k.fill(0);\n i = 0;\n };\n const h = (...b) => hmacFn(k, v, ...b); // hmac(k)(v, ...values)\n const reseed = (seed = u8n()) => {\n // HMAC-DRBG reseed() function. Steps D-G\n k = h(u8fr([0x00]), seed); // k = hmac(k || v || 0x00 || seed)\n v = h(); // v = hmac(k || v)\n if (seed.length === 0)\n return;\n k = h(u8fr([0x01]), seed); // k = hmac(k || v || 0x01 || seed)\n v = h(); // v = hmac(k || v)\n };\n const gen = () => {\n // HMAC-DRBG generate() function\n if (i++ >= 1000)\n throw new Error('drbg: tried 1000 values');\n let len = 0;\n const out = [];\n while (len < qByteLen) {\n v = h();\n const sl = v.slice();\n out.push(sl);\n len += v.length;\n }\n return concatBytes(...out);\n };\n const genUntil = (seed, pred) => {\n reset();\n reseed(seed); // Steps D-G\n let res = undefined; // Step H: grind until k is in [1..n-1]\n while (!(res = pred(gen())))\n reseed();\n reset();\n return res;\n };\n return genUntil;\n}\n// Validating curves and fields\nconst validatorFns = {\n bigint: (val) => typeof val === 'bigint',\n function: (val) => typeof val === 'function',\n boolean: (val) => typeof val === 'boolean',\n string: (val) => typeof val === 'string',\n isSafeInteger: (val) => Number.isSafeInteger(val),\n array: (val) => Array.isArray(val),\n field: (val, object) => object.Fp.isValid(val),\n hash: (val) => typeof val === 'function' && Number.isSafeInteger(val.outputLen),\n};\n// type Record = { [P in K]: T; }\nexport function validateObject(object, validators, optValidators = {}) {\n const checkField = (fieldName, type, isOptional) => {\n const checkVal = validatorFns[type];\n if (typeof checkVal !== 'function')\n throw new Error(`Invalid validator \"${type}\", expected function`);\n const val = object[fieldName];\n if (isOptional && val === undefined)\n return;\n if (!checkVal(val, object)) {\n throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`);\n }\n };\n for (const [fieldName, type] of Object.entries(validators))\n checkField(fieldName, type, false);\n for (const [fieldName, type] of Object.entries(optValidators))\n checkField(fieldName, type, true);\n return object;\n}\n// validate type tests\n// const o: { a: number; b: number; c: number } = { a: 1, b: 5, c: 6 };\n// const z0 = validateObject(o, { a: 'isSafeInteger' }, { c: 'bigint' }); // Ok!\n// // Should fail type-check\n// const z1 = validateObject(o, { a: 'tmp' }, { c: 'zz' });\n// const z2 = validateObject(o, { a: 'isSafeInteger' }, { c: 'zz' });\n// const z3 = validateObject(o, { test: 'boolean', z: 'bug' });\n// const z4 = validateObject(o, { a: 'boolean', z: 'bug' });\n//# sourceMappingURL=utils.js.map","import { isHex, toBytes } from '../../index.js';\nimport { equalBytes } from '@noble/curves/abstract/utils';\nexport function isBytesEqual(a_, b_) {\n const a = isHex(a_) ? toBytes(a_) : a_;\n const b = isHex(b_) ? toBytes(b_) : b_;\n return equalBytes(a, b);\n}\n//# sourceMappingURL=isBytesEqual.js.map","import { universalSignatureValidatorAbi } from '../../constants/abis.js';\nimport { universalSignatureValidatorByteCode } from '../../constants/contracts.js';\nimport { CallExecutionError } from '../../errors/contract.js';\nimport { isBytesEqual } from '../../utils/data/isBytesEqual.js';\nimport { encodeDeployData, isHex, toHex } from '../../utils/index.js';\nimport { call } from './call.js';\n/**\n * Verifies a message hash on chain using ERC-6492.\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyHashParameters}\n * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}\n */\nexport async function verifyHash(client, { address, hash, signature, ...callRequest }) {\n const signatureHex = isHex(signature) ? signature : toHex(signature);\n try {\n const { data } = await call(client, {\n data: encodeDeployData({\n abi: universalSignatureValidatorAbi,\n args: [address, hash, signatureHex],\n bytecode: universalSignatureValidatorByteCode,\n }),\n ...callRequest,\n });\n return isBytesEqual(data ?? '0x0', '0x1');\n }\n catch (error) {\n if (error instanceof CallExecutionError) {\n // if the execution fails, the signature was not valid and an internal method inside of the validator reverted\n // this can happen for many reasons, for example if signer can not be recovered from the signature\n // or if the signature has no valid format\n return false;\n }\n throw error;\n }\n}\n//# sourceMappingURL=verifyHash.js.map","import { hashMessage } from '../../utils/index.js';\nimport { verifyHash } from './verifyHash.js';\n/**\n * Verify that a message was signed by the provided address.\n *\n * Compatible with Smart Contract Accounts & Externally Owned Accounts via [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492).\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyMessage.html}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyMessageParameters}\n * @returns Whether or not the signature is valid. {@link VerifyMessageReturnType}\n */\nexport async function verifyMessage(client, { address, message, signature, ...callRequest }) {\n const hash = hashMessage(message);\n return verifyHash(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyMessage.js.map","import { hashTypedData } from '../../utils/signature/hashTypedData.js';\nimport { verifyHash } from './verifyHash.js';\n/**\n * Verify that typed data was signed by the provided address.\n *\n * - Docs {@link https://viem.sh/docs/actions/public/verifyTypedData.html}\n *\n * @param client - Client to use.\n * @param parameters - {@link VerifyTypedDataParameters}\n * @returns Whether or not the signature is valid. {@link VerifyTypedDataReturnType}\n */\nexport async function verifyTypedData(client, { address, signature, message, primaryType, types, domain, ...callRequest }) {\n const hash = hashTypedData({ message, primaryType, types, domain });\n return verifyHash(client, {\n address,\n hash,\n signature,\n ...callRequest,\n });\n}\n//# sourceMappingURL=verifyTypedData.js.map","import { hexToBigInt } from '../../utils/encoding/fromHex.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlockNumber, } from './getBlockNumber.js';\n/**\n * Watches and returns incoming block numbers.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlockNumber.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_blockNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlockNumberParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}\n *\n * @example\n * import { createPublicClient, watchBlockNumber, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchBlockNumber(client, {\n * onBlockNumber: (blockNumber) => console.log(blockNumber),\n * })\n */\nexport function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n let prevBlockNumber;\n const pollBlockNumber = () => {\n const observerId = stringify([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ]);\n return observe(observerId, { onBlockNumber, onError }, (emit) => poll(async () => {\n try {\n const blockNumber = await getBlockNumber(client, { cacheTime: 0 });\n if (prevBlockNumber) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (blockNumber === prevBlockNumber)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1n; i < blockNumber; i++) {\n emit.onBlockNumber(i, prevBlockNumber);\n prevBlockNumber = i;\n }\n }\n }\n // If the next block number is greater than the previous,\n // it is not in the past, and we can emit the new block number.\n if (!prevBlockNumber || blockNumber > prevBlockNumber) {\n emit.onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlockNumber = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const blockNumber = hexToBigInt(data.result?.number);\n onBlockNumber(blockNumber, prevBlockNumber);\n prevBlockNumber = blockNumber;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlockNumber() : subscribeBlockNumber();\n}\n//# sourceMappingURL=watchBlockNumber.js.map","import { TransactionNotFoundError, TransactionReceiptNotFoundError, WaitForTransactionReceiptTimeoutError, } from '../../errors/transaction.js';\nimport { observe } from '../../utils/observe.js';\nimport { withRetry } from '../../utils/promise/withRetry.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlock } from './getBlock.js';\nimport { getTransaction, } from './getTransaction.js';\nimport { getTransactionReceipt, } from './getTransactionReceipt.js';\nimport { watchBlockNumber } from './watchBlockNumber.js';\n/**\n * Waits for the [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) to be included on a [Block](https://viem.sh/docs/glossary/terms.html#block) (one confirmation), and then returns the [Transaction Receipt](https://viem.sh/docs/glossary/terms.html#transaction-receipt). If the Transaction reverts, then the action will throw an error.\n *\n * - Docs: https://viem.sh/docs/actions/public/waitForTransactionReceipt.html\n * - Example: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions\n * - JSON-RPC Methods:\n * - Polls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt) on each block until it has been processed.\n * - If a Transaction has been replaced:\n * - Calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) and extracts the transactions\n * - Checks if one of the Transactions is a replacement\n * - If so, calls [`eth_getTransactionReceipt`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getTransactionReceipt).\n *\n * The `waitForTransactionReceipt` action additionally supports Replacement detection (e.g. sped up Transactions).\n *\n * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel). Transactions are replaced when they are sent from the same nonce.\n *\n * There are 3 types of Transaction Replacement reasons:\n *\n * - `repriced`: The gas price has been modified (e.g. different `maxFeePerGas`)\n * - `cancelled`: The Transaction has been cancelled (e.g. `value === 0n`)\n * - `replaced`: The Transaction has been replaced (e.g. different `value` or `data`)\n *\n * @param client - Client to use\n * @param parameters - {@link WaitForTransactionReceiptParameters}\n * @returns The transaction receipt. {@link WaitForTransactionReceiptReturnType}\n *\n * @example\n * import { createPublicClient, waitForTransactionReceipt, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const transactionReceipt = await waitForTransactionReceipt(client, {\n * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d',\n * })\n */\nexport async function waitForTransactionReceipt(client, { confirmations = 1, hash, onReplaced, pollingInterval = client.pollingInterval, timeout, }) {\n const observerId = stringify(['waitForTransactionReceipt', client.uid, hash]);\n let transaction;\n let replacedTransaction;\n let receipt;\n let retrying = false;\n return new Promise((resolve, reject) => {\n if (timeout)\n setTimeout(() => reject(new WaitForTransactionReceiptTimeoutError({ hash })), timeout);\n const _unobserve = observe(observerId, { onReplaced, resolve, reject }, (emit) => {\n const _unwatch = watchBlockNumber(client, {\n emitMissed: true,\n emitOnBegin: true,\n poll: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n if (retrying)\n return;\n let blockNumber = blockNumber_;\n const done = (fn) => {\n _unwatch();\n fn();\n _unobserve();\n };\n try {\n // If we already have a valid receipt, let's check if we have enough\n // confirmations. If we do, then we can resolve.\n if (receipt) {\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n return;\n }\n // Get the transaction to check if it's been replaced.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined transactions.\n if (!transaction) {\n retrying = true;\n await withRetry(async () => {\n transaction = await getTransaction(client, { hash });\n if (transaction.blockNumber)\n blockNumber = transaction.blockNumber;\n }, {\n // exponential backoff\n delay: ({ count }) => ~~(1 << count) * 200,\n retryCount: 6,\n });\n retrying = false;\n }\n // Get the receipt to check if it's been processed.\n receipt = await getTransactionReceipt(client, { hash });\n // Check if we have enough confirmations. If not, continue polling.\n if (confirmations > 0 &&\n blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n done(() => emit.resolve(receipt));\n }\n catch (err) {\n // If the receipt is not found, the transaction will be pending.\n // We need to check if it has potentially been replaced.\n if (transaction &&\n (err instanceof TransactionNotFoundError ||\n err instanceof TransactionReceiptNotFoundError)) {\n replacedTransaction = transaction;\n // Let's retrieve the transactions from the current block.\n const block = await getBlock(client, {\n blockNumber,\n includeTransactions: true,\n });\n const replacementTransaction = block.transactions.find(({ from, nonce }) => from === replacedTransaction.from &&\n nonce === replacedTransaction.nonce);\n // If we couldn't find a replacement transaction, continue polling.\n if (!replacementTransaction)\n return;\n // If we found a replacement transaction, return it's receipt.\n receipt = await getTransactionReceipt(client, {\n hash: replacementTransaction.hash,\n });\n // Check if we have enough confirmations. If not, continue polling.\n if (blockNumber - receipt.blockNumber + 1n < confirmations)\n return;\n let reason = 'replaced';\n if (replacementTransaction.to === replacedTransaction.to &&\n replacementTransaction.value === replacedTransaction.value) {\n reason = 'repriced';\n }\n else if (replacementTransaction.from === replacementTransaction.to &&\n replacementTransaction.value === 0n) {\n reason = 'cancelled';\n }\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction,\n transaction: replacementTransaction,\n transactionReceipt: receipt,\n });\n emit.resolve(receipt);\n });\n }\n else {\n done(() => emit.reject(err));\n }\n }\n },\n });\n });\n });\n}\n//# sourceMappingURL=waitForTransactionReceipt.js.map","import { formatBlock } from '../../utils/formatters/block.js';\nimport { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { getBlock } from './getBlock.js';\n/**\n * Watches and returns information for incoming blocks.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchBlocks.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/blocks/watching-blocks\n * - JSON-RPC Methods:\n * - When `poll: true`, calls [`eth_getBlockByNumber`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getBlockByNumber) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newHeads\"` event.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchBlocksParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlocksReturnType}\n *\n * @example\n * import { createPublicClient, watchBlocks, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchBlocks(client, {\n * onBlock: (block) => console.log(block),\n * })\n */\nexport function watchBlocks(client, { blockTag = 'latest', emitMissed = false, emitOnBegin = false, onBlock, onError, includeTransactions: includeTransactions_, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const includeTransactions = includeTransactions_ ?? false;\n let prevBlock;\n const pollBlocks = () => {\n const observerId = stringify([\n 'watchBlocks',\n client.uid,\n emitMissed,\n emitOnBegin,\n includeTransactions,\n pollingInterval,\n ]);\n return observe(observerId, { onBlock, onError }, (emit) => poll(async () => {\n try {\n const block = await getBlock(client, {\n blockTag,\n includeTransactions,\n });\n if (block.number && prevBlock?.number) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (block.number === prevBlock.number)\n return;\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (block.number - prevBlock.number > 1 && emitMissed) {\n for (let i = prevBlock?.number + 1n; i < block.number; i++) {\n const block = await getBlock(client, {\n blockNumber: i,\n includeTransactions,\n });\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n }\n if (\n // If no previous block exists, emit.\n !prevBlock?.number ||\n // If the block tag is \"pending\" with no block number, emit.\n (blockTag === 'pending' && !block?.number) ||\n // If the next block number is greater than the previous block number, emit.\n // We don't want to emit blocks in the past.\n (block.number && block.number > prevBlock.number)) {\n emit.onBlock(block, prevBlock);\n prevBlock = block;\n }\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin,\n interval: pollingInterval,\n }));\n };\n const subscribeBlocks = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newHeads'],\n onData(data) {\n if (!active)\n return;\n const format = client.chain?.formatters?.block?.format || formatBlock;\n const block = format(data.result);\n onBlock(block, prevBlock);\n prevBlock = block;\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollBlocks() : subscribeBlocks();\n}\n//# sourceMappingURL=watchBlocks.js.map","import { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { DecodeLogDataMismatch, DecodeLogTopicsMismatch, } from '../../errors/abi.js';\nimport { InvalidInputRpcError } from '../../errors/rpc.js';\nimport { decodeEventLog, encodeEventTopics, formatLog, } from '../../utils/index.js';\nimport { createEventFilter, } from './createEventFilter.js';\nimport { getBlockNumber } from './getBlockNumber.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { getLogs } from './getLogs.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns emitted [Event Logs](https://viem.sh/docs/glossary/terms.html#event-log).\n *\n * - Docs: https://viem.sh/docs/actions/public/watchEvent.html\n * - JSON-RPC Methods:\n * - **RPC Provider supports `eth_newFilter`:**\n * - Calls [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter) to create a filter (called on initialize).\n * - On a polling interval, it will call [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges).\n * - **RPC Provider does not support `eth_newFilter`:**\n * - Calls [`eth_getLogs`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs) for each block between the polling interval.\n *\n * This Action will batch up all the Event Logs found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchEvent.html#pollinginterval-optional), and invoke them via [`onLogs`](https://viem.sh/docs/actions/public/watchEvent.html#onLogs).\n *\n * `watchEvent` will attempt to create an [Event Filter](https://viem.sh/docs/actions/public/createEventFilter.html) and listen to changes to the Filter per polling interval, however, if the RPC Provider does not support Filters (e.g. `eth_newFilter`), then `watchEvent` will fall back to using [`getLogs`](https://viem.sh/docs/actions/public/getLogs.html) instead.\n *\n * @param client - Client to use\n * @param parameters - {@link WatchEventParameters}\n * @returns A function that can be invoked to stop watching for new Event Logs. {@link WatchEventReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchEvent } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = watchEvent(client, {\n * onLogs: (logs) => console.log(logs),\n * })\n */\nexport function watchEvent(client, { address, args, batch = true, event, events, onError, onLogs, poll: poll_, pollingInterval = client.pollingInterval, strict: strict_, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const strict = strict_ ?? false;\n const pollEvent = () => {\n const observerId = stringify([\n 'watchEvent',\n address,\n args,\n batch,\n client.uid,\n event,\n pollingInterval,\n ]);\n return observe(observerId, { onLogs, onError }, (emit) => {\n let previousBlockNumber;\n let filter;\n let initialized = false;\n const unwatch = poll(async () => {\n if (!initialized) {\n try {\n filter = (await createEventFilter(client, {\n address,\n args,\n event: event,\n events,\n strict,\n }));\n }\n catch { }\n initialized = true;\n return;\n }\n try {\n let logs;\n if (filter) {\n logs = await getFilterChanges(client, { filter });\n }\n else {\n // If the filter doesn't exist, we will fall back to use `getLogs`.\n // The fall back exists because some RPC Providers do not support filters.\n // Fetch the block number to use for `getLogs`.\n const blockNumber = await getBlockNumber(client);\n // If the block number has changed, we will need to fetch the logs.\n // If the block number doesn't exist, we are yet to reach the first poll interval,\n // so do not emit any logs.\n if (previousBlockNumber && previousBlockNumber !== blockNumber) {\n logs = await getLogs(client, {\n address,\n args,\n event: event,\n events,\n fromBlock: previousBlockNumber + 1n,\n toBlock: blockNumber,\n });\n }\n else {\n logs = [];\n }\n previousBlockNumber = blockNumber;\n }\n if (logs.length === 0)\n return;\n if (batch)\n emit.onLogs(logs);\n else\n logs.forEach((log) => emit.onLogs([log]));\n }\n catch (err) {\n // If a filter has been set and gets uninstalled, providers will throw an InvalidInput error.\n // Reinitalize the filter when this occurs\n if (filter && err instanceof InvalidInputRpcError)\n initialized = false;\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await uninstallFilter(client, { filter });\n unwatch();\n };\n });\n };\n const subscribeEvent = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const events_ = events ?? (event ? [event] : undefined);\n let topics = [];\n if (events_) {\n topics = [\n events_.flatMap((event) => encodeEventTopics({\n abi: [event],\n eventName: event.name,\n args,\n })),\n ];\n if (event)\n topics = topics[0];\n }\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['logs', { address, topics }],\n onData(data) {\n if (!active)\n return;\n const log = data.result;\n try {\n const { eventName, args } = decodeEventLog({\n abi: events_,\n data: log.data,\n topics: log.topics,\n strict,\n });\n const formatted = formatLog(log, {\n args,\n eventName: eventName,\n });\n onLogs([formatted]);\n }\n catch (err) {\n let eventName;\n let isUnnamed;\n if (err instanceof DecodeLogDataMismatch ||\n err instanceof DecodeLogTopicsMismatch) {\n // If strict mode is on, and log data/topics do not match event definition, skip.\n if (strict_)\n return;\n eventName = err.abiItem.name;\n isUnnamed = err.abiItem.inputs?.some((x) => !('name' in x && x.name));\n }\n // Set args to empty if there is an error decoding (e.g. indexed/non-indexed params mismatch).\n const formatted = formatLog(log, {\n args: isUnnamed ? [] : {},\n eventName,\n });\n onLogs([formatted]);\n }\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling ? pollEvent() : subscribeEvent();\n}\n//# sourceMappingURL=watchEvent.js.map","import { observe } from '../../utils/observe.js';\nimport { poll } from '../../utils/poll.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { createPendingTransactionFilter } from './createPendingTransactionFilter.js';\nimport { getFilterChanges } from './getFilterChanges.js';\nimport { uninstallFilter } from './uninstallFilter.js';\n/**\n * Watches and returns pending transaction hashes.\n *\n * - Docs: https://viem.sh/docs/actions/public/watchPendingTransactions.html\n * - JSON-RPC Methods:\n * - When `poll: true`\n * - Calls [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) to initialize the filter.\n * - Calls [`eth_getFilterChanges`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getFilterChanges) on a polling interval.\n * - When `poll: false` & WebSocket Transport, uses a WebSocket subscription via [`eth_subscribe`](https://docs.alchemy.com/reference/eth-subscribe-polygon) and the `\"newPendingTransactions\"` event.\n *\n * This Action will batch up all the pending transactions found within the [`pollingInterval`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#pollinginterval-optional), and invoke them via [`onTransactions`](https://viem.sh/docs/actions/public/watchPendingTransactions.html#ontransactions).\n *\n * @param client - Client to use\n * @param parameters - {@link WatchPendingTransactionsParameters}\n * @returns A function that can be invoked to stop watching for new pending transaction hashes. {@link WatchPendingTransactionsReturnType}\n *\n * @example\n * import { createPublicClient, http } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchPendingTransactions } from 'viem/public'\n *\n * const client = createPublicClient({\n * chain: mainnet,\n * transport: http(),\n * })\n * const unwatch = await watchPendingTransactions(client, {\n * onTransactions: (hashes) => console.log(hashes),\n * })\n */\nexport function watchPendingTransactions(client, { batch = true, onError, onTransactions, poll: poll_, pollingInterval = client.pollingInterval, }) {\n const enablePolling = typeof poll_ !== 'undefined' ? poll_ : client.transport.type !== 'webSocket';\n const pollPendingTransactions = () => {\n const observerId = stringify([\n 'watchPendingTransactions',\n client.uid,\n batch,\n pollingInterval,\n ]);\n return observe(observerId, { onTransactions, onError }, (emit) => {\n let filter;\n const unwatch = poll(async () => {\n try {\n if (!filter) {\n try {\n filter = await createPendingTransactionFilter(client);\n return;\n }\n catch (err) {\n unwatch();\n throw err;\n }\n }\n const hashes = await getFilterChanges(client, { filter });\n if (hashes.length === 0)\n return;\n if (batch)\n emit.onTransactions(hashes);\n else\n hashes.forEach((hash) => emit.onTransactions([hash]));\n }\n catch (err) {\n emit.onError?.(err);\n }\n }, {\n emitOnBegin: true,\n interval: pollingInterval,\n });\n return async () => {\n if (filter)\n await uninstallFilter(client, { filter });\n unwatch();\n };\n });\n };\n const subscribePendingTransactions = () => {\n let active = true;\n let unsubscribe = () => (active = false);\n (async () => {\n try {\n const { unsubscribe: unsubscribe_ } = await client.transport.subscribe({\n params: ['newPendingTransactions'],\n onData(data) {\n if (!active)\n return;\n const transaction = data.result;\n onTransactions([transaction]);\n },\n onError(error) {\n onError?.(error);\n },\n });\n unsubscribe = unsubscribe_;\n if (!active)\n unsubscribe();\n }\n catch (err) {\n onError?.(err);\n }\n })();\n return unsubscribe;\n };\n return enablePolling\n ? pollPendingTransactions()\n : subscribePendingTransactions();\n}\n//# sourceMappingURL=watchPendingTransactions.js.map","import { getEnsAddress, } from '../../actions/ens/getEnsAddress.js';\nimport { getEnsAvatar, } from '../../actions/ens/getEnsAvatar.js';\nimport { getEnsName, } from '../../actions/ens/getEnsName.js';\nimport { getEnsResolver, } from '../../actions/ens/getEnsResolver.js';\nimport { getEnsText, } from '../../actions/ens/getEnsText.js';\nimport { call, } from '../../actions/public/call.js';\nimport { createBlockFilter, } from '../../actions/public/createBlockFilter.js';\nimport { createContractEventFilter, } from '../../actions/public/createContractEventFilter.js';\nimport { createEventFilter, } from '../../actions/public/createEventFilter.js';\nimport { createPendingTransactionFilter, } from '../../actions/public/createPendingTransactionFilter.js';\nimport { estimateContractGas, } from '../../actions/public/estimateContractGas.js';\nimport { estimateGas, } from '../../actions/public/estimateGas.js';\nimport { getBalance, } from '../../actions/public/getBalance.js';\nimport { getBlock, } from '../../actions/public/getBlock.js';\nimport { getBlockNumber, } from '../../actions/public/getBlockNumber.js';\nimport { getBlockTransactionCount, } from '../../actions/public/getBlockTransactionCount.js';\nimport { getBytecode, } from '../../actions/public/getBytecode.js';\nimport { getChainId, } from '../../actions/public/getChainId.js';\nimport { getFeeHistory, } from '../../actions/public/getFeeHistory.js';\nimport { getFilterChanges, } from '../../actions/public/getFilterChanges.js';\nimport { getFilterLogs, } from '../../actions/public/getFilterLogs.js';\nimport { getGasPrice, } from '../../actions/public/getGasPrice.js';\nimport { getLogs, } from '../../actions/public/getLogs.js';\nimport { getStorageAt, } from '../../actions/public/getStorageAt.js';\nimport { getTransaction, } from '../../actions/public/getTransaction.js';\nimport { getTransactionConfirmations, } from '../../actions/public/getTransactionConfirmations.js';\nimport { getTransactionCount, } from '../../actions/public/getTransactionCount.js';\nimport { getTransactionReceipt, } from '../../actions/public/getTransactionReceipt.js';\nimport { multicall, } from '../../actions/public/multicall.js';\nimport { readContract, } from '../../actions/public/readContract.js';\nimport { simulateContract, } from '../../actions/public/simulateContract.js';\nimport { uninstallFilter, } from '../../actions/public/uninstallFilter.js';\nimport { verifyMessage, } from '../../actions/public/verifyMessage.js';\nimport { verifyTypedData, } from '../../actions/public/verifyTypedData.js';\nimport { waitForTransactionReceipt, } from '../../actions/public/waitForTransactionReceipt.js';\nimport { watchBlockNumber, } from '../../actions/public/watchBlockNumber.js';\nimport { watchBlocks, } from '../../actions/public/watchBlocks.js';\nimport { watchContractEvent, } from '../../actions/public/watchContractEvent.js';\nimport { watchEvent, } from '../../actions/public/watchEvent.js';\nimport { watchPendingTransactions, } from '../../actions/public/watchPendingTransactions.js';\nexport function publicActions(client) {\n return {\n call: (args) => call(client, args),\n createBlockFilter: () => createBlockFilter(client),\n createContractEventFilter: (args) => createContractEventFilter(client, args),\n createEventFilter: (args) => createEventFilter(client, args),\n createPendingTransactionFilter: () => createPendingTransactionFilter(client),\n estimateContractGas: (args) => estimateContractGas(client, args),\n estimateGas: (args) => estimateGas(client, args),\n getBalance: (args) => getBalance(client, args),\n getBlock: (args) => getBlock(client, args),\n getBlockNumber: (args) => getBlockNumber(client, args),\n getBlockTransactionCount: (args) => getBlockTransactionCount(client, args),\n getBytecode: (args) => getBytecode(client, args),\n getChainId: () => getChainId(client),\n getEnsAddress: (args) => getEnsAddress(client, args),\n getEnsAvatar: (args) => getEnsAvatar(client, args),\n getEnsName: (args) => getEnsName(client, args),\n getEnsResolver: (args) => getEnsResolver(client, args),\n getEnsText: (args) => getEnsText(client, args),\n getFeeHistory: (args) => getFeeHistory(client, args),\n getFilterChanges: (args) => getFilterChanges(client, args),\n getFilterLogs: (args) => getFilterLogs(client, args),\n getGasPrice: () => getGasPrice(client),\n getLogs: (args) => getLogs(client, args),\n getStorageAt: (args) => getStorageAt(client, args),\n getTransaction: (args) => getTransaction(client, args),\n getTransactionConfirmations: (args) => getTransactionConfirmations(client, args),\n getTransactionCount: (args) => getTransactionCount(client, args),\n getTransactionReceipt: (args) => getTransactionReceipt(client, args),\n multicall: (args) => multicall(client, args),\n readContract: (args) => readContract(client, args),\n simulateContract: (args) => simulateContract(client, args),\n verifyMessage: (args) => verifyMessage(client, args),\n verifyTypedData: (args) => verifyTypedData(client, args),\n uninstallFilter: (args) => uninstallFilter(client, args),\n waitForTransactionReceipt: (args) => waitForTransactionReceipt(client, args),\n watchBlocks: (args) => watchBlocks(client, args),\n watchBlockNumber: (args) => watchBlockNumber(client, args),\n watchContractEvent: (args) => watchContractEvent(client, args),\n watchEvent: (args) => watchEvent(client, args),\n watchPendingTransactions: (args) => watchPendingTransactions(client, args),\n };\n}\n//# sourceMappingURL=public.js.map","import { createClient } from './createClient.js';\nimport { publicActions } from './decorators/public.js';\nexport function createPublicClient(parameters) {\n const { key = 'public', name = 'Public Client' } = parameters;\n const client = createClient({\n ...parameters,\n key,\n name,\n type: 'publicClient',\n });\n return client.extend(publicActions);\n}\n//# sourceMappingURL=createPublicClient.js.map","import { encodeDeployData } from '../../utils/abi/encodeDeployData.js';\nimport { sendTransaction, } from './sendTransaction.js';\n/**\n * Deploys a contract to the network, given bytecode and constructor arguments.\n *\n * - Docs: https://viem.sh/docs/contract/deployContract.html\n * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/deploying-contracts\n *\n * @param client - Client to use\n * @param parameters - {@link DeployContractParameters}\n * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link DeployContractReturnType}\n *\n * @example\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { deployContract } from 'viem/contract'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const hash = await deployContract(client, {\n * abi: [],\n * account: '0x…,\n * bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',\n * })\n */\nexport function deployContract(walletClient, { abi, args, bytecode, ...request }) {\n const calldata = encodeDeployData({\n abi,\n args,\n bytecode,\n });\n return sendTransaction(walletClient, {\n ...request,\n data: calldata,\n });\n}\n//# sourceMappingURL=deployContract.js.map","import { checksumAddress } from '../../utils/address/getAddress.js';\n/**\n * Returns a list of account addresses owned by the wallet or client.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getAddresses.html\n * - JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts)\n *\n * @param client - Client to use\n * @returns List of account addresses owned by the wallet or client. {@link GetAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await getAddresses(client)\n */\nexport async function getAddresses(client) {\n const addresses = await client.request({ method: 'eth_accounts' });\n return addresses.map((address) => checksumAddress(address));\n}\n//# sourceMappingURL=getAddresses.js.map","/**\n * Gets the wallets current permissions.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/getPermissions.html\n * - JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @returns The wallet permissions. {@link GetPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { getPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await getPermissions(client)\n */\nexport async function getPermissions(client) {\n const permissions = await client.request({ method: 'wallet_getPermissions' });\n return permissions;\n}\n//# sourceMappingURL=getPermissions.js.map","import { getAddress } from '../../utils/address/getAddress.js';\n/**\n * Requests a list of accounts managed by a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestAddresses.html\n * - JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102)\n *\n * Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).\n *\n * This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.\n *\n * @param client - Client to use\n * @returns List of accounts managed by a wallet {@link RequestAddressesReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestAddresses } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const accounts = await requestAddresses(client)\n */\nexport async function requestAddresses(client) {\n const addresses = await client.request({ method: 'eth_requestAccounts' });\n return addresses.map((address) => getAddress(address));\n}\n//# sourceMappingURL=requestAddresses.js.map","/**\n * Requests permissions for a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/requestPermissions.html\n * - JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255)\n *\n * @param client - Client to use\n * @param parameters - {@link RequestPermissionsParameters}\n * @returns The wallet permissions. {@link RequestPermissionsReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { requestPermissions } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const permissions = await requestPermissions(client, {\n * eth_accounts: {}\n * })\n */\nexport async function requestPermissions(client, permissions) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n });\n}\n//# sourceMappingURL=requestPermissions.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { stringToHex, toHex } from '../../utils/encoding/toHex.js';\n/**\n * Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256(\"\\x19Ethereum Signed Message:\\n\" + len(message) + message))`.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signMessage.html\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data.html#personal-sign)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * With the calculated signature, you can:\n * - use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage.html) to verify the signature,\n * - use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress.html) to recover the signing address from a signature.\n *\n * @param client - Client to use\n * @param parameters - {@link SignMessageParameters}\n * @returns The signed message. {@link SignMessageReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signMessage(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * message: 'hello world',\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, custom } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signMessage } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signMessage(client, {\n * message: 'hello world',\n * })\n */\nexport async function signMessage(client, { account: account_ = client.account, message, }) {\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signMessage',\n });\n const account = parseAccount(account_);\n if (account.type === 'local')\n return account.signMessage({ message });\n const message_ = (() => {\n if (typeof message === 'string')\n return stringToHex(message);\n if (message.raw instanceof Uint8Array)\n return toHex(message.raw);\n return message.raw;\n })();\n return client.request({\n method: 'personal_sign',\n params: [message_, account.address],\n });\n}\n//# sourceMappingURL=signMessage.js.map","import { parseAccount } from '../../accounts/utils/parseAccount.js';\nimport { AccountNotFoundError } from '../../errors/account.js';\nimport { isHex } from '../../utils/data/isHex.js';\nimport { stringify } from '../../utils/stringify.js';\nimport { validateTypedData } from '../../utils/typedData.js';\n/**\n * Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256(\"\\x19\\x01\" ‖ domainSeparator ‖ hashStruct(message)))`\n *\n * - Docs: https://viem.sh/docs/actions/wallet/signTypedData.html\n * - JSON-RPC Methods:\n * - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data.html#signtypeddata-v4)\n * - Local Accounts: Signs locally. No JSON-RPC request.\n *\n * @param client - Client to use\n * @param parameters - {@link SignTypedDataParameters}\n * @returns The signed data. {@link SignTypedDataReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const signature = await signTypedData(client, {\n * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n *\n * @example\n * // Account Hoisting\n * import { createWalletClient, http } from 'viem'\n * import { privateKeyToAccount } from 'viem/accounts'\n * import { mainnet } from 'viem/chains'\n * import { signTypedData } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * account: privateKeyToAccount('0x…'),\n * chain: mainnet,\n * transport: http(),\n * })\n * const signature = await signTypedData(client, {\n * domain: {\n * name: 'Ether Mail',\n * version: '1',\n * chainId: 1,\n * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',\n * },\n * types: {\n * Person: [\n * { name: 'name', type: 'string' },\n * { name: 'wallet', type: 'address' },\n * ],\n * Mail: [\n * { name: 'from', type: 'Person' },\n * { name: 'to', type: 'Person' },\n * { name: 'contents', type: 'string' },\n * ],\n * },\n * primaryType: 'Mail',\n * message: {\n * from: {\n * name: 'Cow',\n * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',\n * },\n * to: {\n * name: 'Bob',\n * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',\n * },\n * contents: 'Hello, Bob!',\n * },\n * })\n */\nexport async function signTypedData(client, { account: account_ = client.account, domain, message, primaryType, types: types_, }) {\n if (!account_)\n throw new AccountNotFoundError({\n docsPath: '/docs/actions/wallet/signTypedData',\n });\n const account = parseAccount(account_);\n const types = {\n EIP712Domain: [\n typeof domain?.name === 'string' && { name: 'name', type: 'string' },\n domain?.version && { name: 'version', type: 'string' },\n typeof domain?.chainId === 'number' && {\n name: 'chainId',\n type: 'uint256',\n },\n domain?.verifyingContract && {\n name: 'verifyingContract',\n type: 'address',\n },\n domain?.salt && { name: 'salt', type: 'bytes32' },\n ].filter(Boolean),\n ...types_,\n };\n // Need to do a runtime validation check on addresses, byte ranges, integer ranges, etc\n // as we can't statically check this with TypeScript.\n validateTypedData({\n domain,\n message,\n primaryType,\n types,\n });\n if (account.type === 'local')\n return account.signTypedData({\n domain,\n primaryType,\n types,\n message,\n });\n const typedData = stringify({ domain: domain ?? {}, primaryType, types, message }, (_, value) => (isHex(value) ? value.toLowerCase() : value));\n return client.request({\n method: 'eth_signTypedData_v4',\n params: [account.address, typedData],\n });\n}\n//# sourceMappingURL=signTypedData.js.map","import { numberToHex } from '../../utils/encoding/toHex.js';\n/**\n * Switch the target chain in a wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/switchChain.html\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326)\n *\n * @param client - Client to use\n * @param parameters - {@link SwitchChainParameters}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet, optimism } from 'viem/chains'\n * import { switchChain } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * await switchChain(client, { id: optimism.id })\n */\nexport async function switchChain(client, { id }) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n },\n ],\n });\n}\n//# sourceMappingURL=switchChain.js.map","/**\n * Adds an EVM chain to the wallet.\n *\n * - Docs: https://viem.sh/docs/actions/wallet/watchAsset.html\n * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747)\n *\n * @param client - Client to use\n * @param parameters - {@link WatchAssetParameters}\n * @returns Boolean indicating if the token was successfully added. {@link WatchAssetReturnType}\n *\n * @example\n * import { createWalletClient, custom } from 'viem'\n * import { mainnet } from 'viem/chains'\n * import { watchAsset } from 'viem/wallet'\n *\n * const client = createWalletClient({\n * chain: mainnet,\n * transport: custom(window.ethereum),\n * })\n * const success = await watchAsset(client, {\n * type: 'ERC20',\n * options: {\n * address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n * decimals: 18,\n * symbol: 'WETH',\n * },\n * })\n */\nexport async function watchAsset(client, params) {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params,\n });\n return added;\n}\n//# sourceMappingURL=watchAsset.js.map","import { getChainId, } from '../../actions/public/getChainId.js';\nimport { addChain, } from '../../actions/wallet/addChain.js';\nimport { deployContract, } from '../../actions/wallet/deployContract.js';\nimport { getAddresses, } from '../../actions/wallet/getAddresses.js';\nimport { getPermissions, } from '../../actions/wallet/getPermissions.js';\nimport { requestAddresses, } from '../../actions/wallet/requestAddresses.js';\nimport { requestPermissions, } from '../../actions/wallet/requestPermissions.js';\nimport { sendTransaction, } from '../../actions/wallet/sendTransaction.js';\nimport { signMessage, } from '../../actions/wallet/signMessage.js';\nimport { signTypedData, } from '../../actions/wallet/signTypedData.js';\nimport { switchChain, } from '../../actions/wallet/switchChain.js';\nimport { watchAsset, } from '../../actions/wallet/watchAsset.js';\nimport { writeContract, } from '../../actions/wallet/writeContract.js';\nexport function walletActions(client) {\n return {\n addChain: (args) => addChain(client, args),\n deployContract: (args) => deployContract(client, args),\n getAddresses: () => getAddresses(client),\n getChainId: () => getChainId(client),\n getPermissions: () => getPermissions(client),\n requestAddresses: () => requestAddresses(client),\n requestPermissions: (args) => requestPermissions(client, args),\n sendTransaction: (args) => sendTransaction(client, args),\n signMessage: (args) => signMessage(client, args),\n signTypedData: (args) => signTypedData(client, args),\n switchChain: (args) => switchChain(client, args),\n watchAsset: (args) => watchAsset(client, args),\n writeContract: (args) => writeContract(client, args),\n };\n}\n//# sourceMappingURL=wallet.js.map","import { createClient } from './createClient.js';\nimport { walletActions } from './decorators/wallet.js';\nexport function createWalletClient(parameters) {\n const { key = 'wallet', name = 'Wallet Client', transport } = parameters;\n const client = createClient({\n ...parameters,\n key,\n name,\n transport: (opts) => transport({ ...opts, retryCount: 0 }),\n type: 'walletClient',\n });\n return client.extend(walletActions);\n}\n//# sourceMappingURL=createWalletClient.js.map","import { RpcRequestError } from '../../errors/request.js';\nimport { UrlRequiredError } from '../../errors/transport.js';\nimport { getSocket, rpc } from '../../utils/rpc.js';\nimport { createTransport, } from './createTransport.js';\n/**\n * @description Creates a WebSocket transport that connects to a JSON-RPC API.\n */\nexport function webSocket(\n/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */\nurl, config = {}) {\n const { key = 'webSocket', name = 'WebSocket JSON-RPC', retryDelay } = config;\n return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {\n const retryCount = config.retryCount ?? retryCount_;\n const timeout = timeout_ ?? config.timeout ?? 10000;\n const url_ = url || chain?.rpcUrls.default.webSocket?.[0];\n if (!url_)\n throw new UrlRequiredError();\n return createTransport({\n key,\n name,\n async request({ method, params }) {\n const body = { method, params };\n const socket = await getSocket(url_);\n const { error, result } = await rpc.webSocketAsync(socket, {\n body,\n timeout,\n });\n if (error)\n throw new RpcRequestError({\n body,\n error,\n url: url_,\n });\n return result;\n },\n retryCount,\n retryDelay,\n timeout,\n type: 'webSocket',\n }, {\n getSocket() {\n return getSocket(url_);\n },\n async subscribe({ params, onData, onError }) {\n const socket = await getSocket(url_);\n const { result: subscriptionId } = await new Promise((resolve, reject) => rpc.webSocket(socket, {\n body: {\n method: 'eth_subscribe',\n params,\n },\n onResponse(response) {\n if (response.error) {\n reject(response.error);\n onError?.(response.error);\n return;\n }\n if (typeof response.id === 'number') {\n resolve(response);\n return;\n }\n if (response.method !== 'eth_subscription')\n return;\n onData(response.params);\n },\n }));\n return {\n subscriptionId,\n async unsubscribe() {\n return new Promise((resolve) => rpc.webSocket(socket, {\n body: {\n method: 'eth_unsubscribe',\n params: [subscriptionId],\n },\n onResponse: resolve,\n }));\n },\n };\n },\n });\n };\n}\n//# sourceMappingURL=webSocket.js.map","export function number(n) {\n if (!Number.isSafeInteger(n) || n < 0)\n throw new Error(`Wrong positive integer: ${n}`);\n}\nexport function bool(b) {\n if (typeof b !== 'boolean')\n throw new Error(`Expected boolean, not ${b}`);\n}\nexport function bytes(b, ...lengths) {\n if (!(b instanceof Uint8Array))\n throw new Error('Expected Uint8Array');\n if (lengths.length > 0 && !lengths.includes(b.length))\n throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\nexport function hash(hash) {\n if (typeof hash !== 'function' || typeof hash.create !== 'function')\n throw new Error('Hash should be wrapped by utils.wrapConstructor');\n number(hash.outputLen);\n number(hash.blockLen);\n}\nexport function exists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\nexport function output(out, instance) {\n bytes(out);\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n }\n}\nconst assert = {\n number,\n bool,\n bytes,\n hash,\n exists,\n output,\n};\nexport default assert;\n//# sourceMappingURL=_assert.js.map","export const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n//# sourceMappingURL=crypto.js.map","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// We use WebCrypto aka globalThis.crypto, which exists in browsers and node.js 16+.\n// node.js versions earlier than v19 don't declare it in global scope.\n// For node.js, package.json#exports field mapping rewrites import\n// from `crypto` to `cryptoNode`, which imports native module.\n// Makes the utils un-importable in browsers without a bundler.\n// Once node.js 18 is deprecated, we can just drop the import.\nimport { crypto } from '@noble/hashes/crypto';\nconst u8a = (a) => a instanceof Uint8Array;\n// Cast array to different type\nexport const u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n// Cast array to view\nexport const createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word, shift) => (word << (32 - shift)) | (word >>> shift);\n// big-endian hardware is rare. Just in case someone still decides to run hashes:\n// early-throw an error because we don't support BE yet.\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\nif (!isLE)\n throw new Error('Non little-endian hardware is not supported');\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n if (!u8a(bytes))\n throw new Error('Uint8Array expected');\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n/**\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n const len = hex.length;\n if (len % 2)\n throw new Error('padded hex string expected, got unpadded hex of length ' + len);\n const array = new Uint8Array(len / 2);\n for (let i = 0; i < array.length; i++) {\n const j = i * 2;\n const hexByte = hex.slice(j, j + 2);\n const byte = Number.parseInt(hexByte, 16);\n if (Number.isNaN(byte) || byte < 0)\n throw new Error('Invalid byte sequence');\n array[i] = byte;\n }\n return array;\n}\n// There is no setImmediate in browser and setTimeout is slow.\n// call of async fn will return Promise, which will be fullfiled only on\n// next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => { };\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Normalizes (non-hex) string or Uint8Array to Uint8Array.\n * Warning: when Uint8Array is passed, it would NOT get copied.\n * Keep in mind for future mutable operations.\n */\nexport function toBytes(data) {\n if (typeof data === 'string')\n data = utf8ToBytes(data);\n if (!u8a(data))\n throw new Error(`expected Uint8Array, got ${typeof data}`);\n return data;\n}\n/**\n * Copies several Uint8Arrays into one.\n */\nexport function concatBytes(...arrays) {\n const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));\n let pad = 0; // walk through each item, ensure they have proper type\n arrays.forEach((a) => {\n if (!u8a(a))\n throw new Error('Uint8Array expected');\n r.set(a, pad);\n pad += a.length;\n });\n return r;\n}\n// For runtime check if class implements interface\nexport class Hash {\n // Safe version that clones internal state\n clone() {\n return this._cloneInto();\n }\n}\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj) => Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n throw new Error('Options should be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\nexport function wrapConstructor(hashCons) {\n const hashC = (msg) => hashCons().update(toBytes(msg)).digest();\n const tmp = hashCons();\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = () => hashCons();\n return hashC;\n}\nexport function wrapConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\nexport function wrapXOFConstructorWithOpts(hashCons) {\n const hashC = (msg, opts) => hashCons(opts).update(toBytes(msg)).digest();\n const tmp = hashCons({});\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n return hashC;\n}\n/**\n * Secure PRNG. Uses `crypto.getRandomValues`, which defers to OS.\n */\nexport function randomBytes(bytesLength = 32) {\n if (crypto && typeof crypto.getRandomValues === 'function') {\n return crypto.getRandomValues(new Uint8Array(bytesLength));\n }\n throw new Error('crypto.getRandomValues must be defined');\n}\n//# sourceMappingURL=utils.js.map","import assert from './_assert.js';\nimport { Hash, createView, toBytes } from './utils.js';\n// Polyfill for Safari 14\nfunction setBigUint64(view, byteOffset, value, isLE) {\n if (typeof view.setBigUint64 === 'function')\n return view.setBigUint64(byteOffset, value, isLE);\n const _32n = BigInt(32);\n const _u32_max = BigInt(0xffffffff);\n const wh = Number((value >> _32n) & _u32_max);\n const wl = Number(value & _u32_max);\n const h = isLE ? 4 : 0;\n const l = isLE ? 0 : 4;\n view.setUint32(byteOffset + h, wh, isLE);\n view.setUint32(byteOffset + l, wl, isLE);\n}\n// Base SHA2 class (RFC 6234)\nexport class SHA2 extends Hash {\n constructor(blockLen, outputLen, padOffset, isLE) {\n super();\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.padOffset = padOffset;\n this.isLE = isLE;\n this.finished = false;\n this.length = 0;\n this.pos = 0;\n this.destroyed = false;\n this.buffer = new Uint8Array(blockLen);\n this.view = createView(this.buffer);\n }\n update(data) {\n assert.exists(this);\n const { view, buffer, blockLen } = this;\n data = toBytes(data);\n const len = data.length;\n for (let pos = 0; pos < len;) {\n const take = Math.min(blockLen - this.pos, len - pos);\n // Fast path: we have at least one block in input, cast it to view and process\n if (take === blockLen) {\n const dataView = createView(data);\n for (; blockLen <= len - pos; pos += blockLen)\n this.process(dataView, pos);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n pos += take;\n if (this.pos === blockLen) {\n this.process(view, 0);\n this.pos = 0;\n }\n }\n this.length += data.length;\n this.roundClean();\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.output(out, this);\n this.finished = true;\n // Padding\n // We can avoid allocation of buffer for padding completely if it\n // was previously not allocated here. But it won't change performance.\n const { buffer, view, blockLen, isLE } = this;\n let { pos } = this;\n // append the bit '1' to the message\n buffer[pos++] = 0b10000000;\n this.buffer.subarray(pos).fill(0);\n // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n if (this.padOffset > blockLen - pos) {\n this.process(view, 0);\n pos = 0;\n }\n // Pad until full block byte with zeros\n for (let i = pos; i < blockLen; i++)\n buffer[i] = 0;\n // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n // So we just write lowest 64 bits of that value.\n setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n this.process(view, 0);\n const oview = createView(out);\n const len = this.outputLen;\n // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n if (len % 4)\n throw new Error('_sha2: outputLen should be aligned to 32bit');\n const outLen = len / 4;\n const state = this.get();\n if (outLen > state.length)\n throw new Error('_sha2: outputLen bigger than state');\n for (let i = 0; i < outLen; i++)\n oview.setUint32(4 * i, state[i], isLE);\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n to || (to = new this.constructor());\n to.set(...this.get());\n const { blockLen, buffer, length, finished, destroyed, pos } = this;\n to.length = length;\n to.pos = pos;\n to.finished = finished;\n to.destroyed = destroyed;\n if (length % blockLen)\n to.buffer.set(buffer);\n return to;\n }\n}\n//# sourceMappingURL=_sha2.js.map","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n// Choice: a ? b : c\nconst Chi = (a, b, c) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a, b, c) => (a & b) ^ (a & c) ^ (b & c);\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends SHA2 {\n constructor() {\n super(64, 32, 8, false);\n // We cannot use array here since array allows indexing by variable\n // which means optimizer/compiler cannot use registers.\n this.A = IV[0] | 0;\n this.B = IV[1] | 0;\n this.C = IV[2] | 0;\n this.D = IV[3] | 0;\n this.E = IV[4] | 0;\n this.F = IV[5] | 0;\n this.G = IV[6] | 0;\n this.H = IV[7] | 0;\n }\n get() {\n const { A, B, C, D, E, F, G, H } = this;\n return [A, B, C, D, E, F, G, H];\n }\n // prettier-ignore\n set(A, B, C, D, E, F, G, H) {\n this.A = A | 0;\n this.B = B | 0;\n this.C = C | 0;\n this.D = D | 0;\n this.E = E | 0;\n this.F = F | 0;\n this.G = G | 0;\n this.H = H | 0;\n }\n process(view, offset) {\n // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n for (let i = 0; i < 16; i++, offset += 4)\n SHA256_W[i] = view.getUint32(offset, false);\n for (let i = 16; i < 64; i++) {\n const W15 = SHA256_W[i - 15];\n const W2 = SHA256_W[i - 2];\n const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n }\n // Compression function main loop, 64 rounds\n let { A, B, C, D, E, F, G, H } = this;\n for (let i = 0; i < 64; i++) {\n const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n const T2 = (sigma0 + Maj(A, B, C)) | 0;\n H = G;\n G = F;\n F = E;\n E = (D + T1) | 0;\n D = C;\n C = B;\n B = A;\n A = (T1 + T2) | 0;\n }\n // Add the compressed chunk to the current hash value\n A = (A + this.A) | 0;\n B = (B + this.B) | 0;\n C = (C + this.C) | 0;\n D = (D + this.D) | 0;\n E = (E + this.E) | 0;\n F = (F + this.F) | 0;\n G = (G + this.G) | 0;\n H = (H + this.H) | 0;\n this.set(A, B, C, D, E, F, G, H);\n }\n roundClean() {\n SHA256_W.fill(0);\n }\n destroy() {\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n this.buffer.fill(0);\n }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n constructor() {\n super();\n this.A = 0xc1059ed8 | 0;\n this.B = 0x367cd507 | 0;\n this.C = 0x3070dd17 | 0;\n this.D = 0xf70e5939 | 0;\n this.E = 0xffc00b31 | 0;\n this.F = 0x68581511 | 0;\n this.G = 0x64f98fa7 | 0;\n this.H = 0xbefa4fa4 | 0;\n this.outputLen = 28;\n }\n}\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = wrapConstructor(() => new SHA256());\nexport const sha224 = wrapConstructor(() => new SHA224());\n//# sourceMappingURL=sha256.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Utilities for modular arithmetics and finite fields\nimport { bitMask, numberToBytesBE, numberToBytesLE, bytesToNumberBE, bytesToNumberLE, ensureBytes, validateObject, } from './utils.js';\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3);\n// prettier-ignore\nconst _4n = BigInt(4), _5n = BigInt(5), _8n = BigInt(8);\n// prettier-ignore\nconst _9n = BigInt(9), _16n = BigInt(16);\n// Calculates a modulo b\nexport function mod(a, b) {\n const result = a % b;\n return result >= _0n ? result : b + result;\n}\n/**\n * Efficiently raise num to power and do modular division.\n * Unsafe in some contexts: uses ladder, so can expose bigint bits.\n * @example\n * pow(2n, 6n, 11n) // 64n % 11n == 9n\n */\n// TODO: use field version && remove\nexport function pow(num, power, modulo) {\n if (modulo <= _0n || power < _0n)\n throw new Error('Expected power/modulo > 0');\n if (modulo === _1n)\n return _0n;\n let res = _1n;\n while (power > _0n) {\n if (power & _1n)\n res = (res * num) % modulo;\n num = (num * num) % modulo;\n power >>= _1n;\n }\n return res;\n}\n// Does x ^ (2 ^ power) mod p. pow2(30, 4) == 30 ^ (2 ^ 4)\nexport function pow2(x, power, modulo) {\n let res = x;\n while (power-- > _0n) {\n res *= res;\n res %= modulo;\n }\n return res;\n}\n// Inverses number over modulo\nexport function invert(number, modulo) {\n if (number === _0n || modulo <= _0n) {\n throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n }\n // Euclidean GCD https://brilliant.org/wiki/extended-euclidean-algorithm/\n // Fermat's little theorem \"CT-like\" version inv(n) = n^(m-2) mod m is 30x slower.\n let a = mod(number, modulo);\n let b = modulo;\n // prettier-ignore\n let x = _0n, y = _1n, u = _1n, v = _0n;\n while (a !== _0n) {\n // JIT applies optimization if those two lines follow each other\n const q = b / a;\n const r = b % a;\n const m = x - u * q;\n const n = y - v * q;\n // prettier-ignore\n b = a, a = r, x = u, y = v, u = m, v = n;\n }\n const gcd = b;\n if (gcd !== _1n)\n throw new Error('invert: does not exist');\n return mod(x, modulo);\n}\n// Tonelli-Shanks algorithm\n// Paper 1: https://eprint.iacr.org/2012/685.pdf (page 12)\n// Paper 2: Square Roots from 1; 24, 51, 10 to Dan Shanks\nexport function tonelliShanks(P) {\n // Legendre constant: used to calculate Legendre symbol (a | p),\n // which denotes the value of a^((p-1)/2) (mod p).\n // (a | p) ≡ 1 if a is a square (mod p)\n // (a | p) ≡ -1 if a is not a square (mod p)\n // (a | p) ≡ 0 if a ≡ 0 (mod p)\n const legendreC = (P - _1n) / _2n;\n let Q, S, Z;\n // Step 1: By factoring out powers of 2 from p - 1,\n // find q and s such that p - 1 = q*(2^s) with q odd\n for (Q = P - _1n, S = 0; Q % _2n === _0n; Q /= _2n, S++)\n ;\n // Step 2: Select a non-square z such that (z | p) ≡ -1 and set c ≡ zq\n for (Z = _2n; Z < P && pow(Z, legendreC, P) !== P - _1n; Z++)\n ;\n // Fast-path\n if (S === 1) {\n const p1div4 = (P + _1n) / _4n;\n return function tonelliFast(Fp, n) {\n const root = Fp.pow(n, p1div4);\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Slow-path\n const Q1div2 = (Q + _1n) / _2n;\n return function tonelliSlow(Fp, n) {\n // Step 0: Check that n is indeed a square: (n | p) should not be ≡ -1\n if (Fp.pow(n, legendreC) === Fp.neg(Fp.ONE))\n throw new Error('Cannot find square root');\n let r = S;\n // TODO: will fail at Fp2/etc\n let g = Fp.pow(Fp.mul(Fp.ONE, Z), Q); // will update both x and b\n let x = Fp.pow(n, Q1div2); // first guess at the square root\n let b = Fp.pow(n, Q); // first guess at the fudge factor\n while (!Fp.eql(b, Fp.ONE)) {\n if (Fp.eql(b, Fp.ZERO))\n return Fp.ZERO; // https://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm (4. If t = 0, return r = 0)\n // Find m such b^(2^m)==1\n let m = 1;\n for (let t2 = Fp.sqr(b); m < r; m++) {\n if (Fp.eql(t2, Fp.ONE))\n break;\n t2 = Fp.sqr(t2); // t2 *= t2\n }\n // NOTE: r-m-1 can be bigger than 32, need to convert to bigint before shift, otherwise there will be overflow\n const ge = Fp.pow(g, _1n << BigInt(r - m - 1)); // ge = 2^(r-m-1)\n g = Fp.sqr(ge); // g = ge * ge\n x = Fp.mul(x, ge); // x *= ge\n b = Fp.mul(b, g); // b *= g\n r = m;\n }\n return x;\n };\n}\nexport function FpSqrt(P) {\n // NOTE: different algorithms can give different roots, it is up to user to decide which one they want.\n // For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).\n // P ≡ 3 (mod 4)\n // √n = n^((P+1)/4)\n if (P % _4n === _3n) {\n // Not all roots possible!\n // const ORDER =\n // 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn;\n // const NUM = 72057594037927816n;\n const p1div4 = (P + _1n) / _4n;\n return function sqrt3mod4(Fp, n) {\n const root = Fp.pow(n, p1div4);\n // Throw if root**2 != n\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // Atkin algorithm for q ≡ 5 (mod 8), https://eprint.iacr.org/2012/685.pdf (page 10)\n if (P % _8n === _5n) {\n const c1 = (P - _5n) / _8n;\n return function sqrt5mod8(Fp, n) {\n const n2 = Fp.mul(n, _2n);\n const v = Fp.pow(n2, c1);\n const nv = Fp.mul(n, v);\n const i = Fp.mul(Fp.mul(nv, _2n), v);\n const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));\n if (!Fp.eql(Fp.sqr(root), n))\n throw new Error('Cannot find square root');\n return root;\n };\n }\n // P ≡ 9 (mod 16)\n if (P % _16n === _9n) {\n // NOTE: tonelli is too slow for bls-Fp2 calculations even on start\n // Means we cannot use sqrt for constants at all!\n //\n // const c1 = Fp.sqrt(Fp.negate(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F\n // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F\n // const c3 = Fp.sqrt(Fp.negate(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F\n // const c4 = (P + _7n) / _16n; // 4. c4 = (q + 7) / 16 # Integer arithmetic\n // sqrt = (x) => {\n // let tv1 = Fp.pow(x, c4); // 1. tv1 = x^c4\n // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1\n // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1\n // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1\n // const e1 = Fp.equals(Fp.square(tv2), x); // 5. e1 = (tv2^2) == x\n // const e2 = Fp.equals(Fp.square(tv3), x); // 6. e2 = (tv3^2) == x\n // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x\n // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x\n // const e3 = Fp.equals(Fp.square(tv2), x); // 9. e3 = (tv2^2) == x\n // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2\n // }\n }\n // Other cases: Tonelli-Shanks algorithm\n return tonelliShanks(P);\n}\n// Little-endian check for first LE bit (last BE bit);\nexport const isNegativeLE = (num, modulo) => (mod(num, modulo) & _1n) === _1n;\n// prettier-ignore\nconst FIELD_FIELDS = [\n 'create', 'isValid', 'is0', 'neg', 'inv', 'sqrt', 'sqr',\n 'eql', 'add', 'sub', 'mul', 'pow', 'div',\n 'addN', 'subN', 'mulN', 'sqrN'\n];\nexport function validateField(field) {\n const initial = {\n ORDER: 'bigint',\n MASK: 'bigint',\n BYTES: 'isSafeInteger',\n BITS: 'isSafeInteger',\n };\n const opts = FIELD_FIELDS.reduce((map, val) => {\n map[val] = 'function';\n return map;\n }, initial);\n return validateObject(field, opts);\n}\n// Generic field functions\nexport function FpPow(f, num, power) {\n // Should have same speed as pow for bigints\n // TODO: benchmark!\n if (power < _0n)\n throw new Error('Expected power > 0');\n if (power === _0n)\n return f.ONE;\n if (power === _1n)\n return num;\n let p = f.ONE;\n let d = num;\n while (power > _0n) {\n if (power & _1n)\n p = f.mul(p, d);\n d = f.sqr(d);\n power >>= _1n;\n }\n return p;\n}\n// 0 is non-invertible: non-batched version will throw on 0\nexport function FpInvertBatch(f, nums) {\n const tmp = new Array(nums.length);\n // Walk from first to last, multiply them by each other MOD p\n const lastMultiplied = nums.reduce((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = acc;\n return f.mul(acc, num);\n }, f.ONE);\n // Invert last element\n const inverted = f.inv(lastMultiplied);\n // Walk from last to first, multiply them by inverted each other MOD p\n nums.reduceRight((acc, num, i) => {\n if (f.is0(num))\n return acc;\n tmp[i] = f.mul(acc, tmp[i]);\n return f.mul(acc, num);\n }, inverted);\n return tmp;\n}\nexport function FpDiv(f, lhs, rhs) {\n return f.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, f.ORDER) : f.inv(rhs));\n}\n// This function returns True whenever the value x is a square in the field F.\nexport function FpIsSquare(f) {\n const legendreConst = (f.ORDER - _1n) / _2n; // Integer arithmetic\n return (x) => {\n const p = f.pow(x, legendreConst);\n return f.eql(p, f.ZERO) || f.eql(p, f.ONE);\n };\n}\n// CURVE.n lengths\nexport function nLength(n, nBitLength) {\n // Bit size, byte size of CURVE.n\n const _nBitLength = nBitLength !== undefined ? nBitLength : n.toString(2).length;\n const nByteLength = Math.ceil(_nBitLength / 8);\n return { nBitLength: _nBitLength, nByteLength };\n}\n/**\n * Initializes a galois field over prime. Non-primes are not supported for now.\n * Do not init in loop: slow. Very fragile: always run a benchmark on change.\n * Major performance gains:\n * a) non-normalized operations like mulN instead of mul\n * b) `Object.freeze`\n * c) Same object shape: never add or remove keys\n * @param ORDER prime positive bigint\n * @param bitLen how many bits the field consumes\n * @param isLE (def: false) if encoding / decoding should be in little-endian\n * @param redef optional faster redefinitions of sqrt and other methods\n */\nexport function Field(ORDER, bitLen, isLE = false, redef = {}) {\n if (ORDER <= _0n)\n throw new Error(`Expected Fp ORDER > 0, got ${ORDER}`);\n const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen);\n if (BYTES > 2048)\n throw new Error('Field lengths over 2048 bytes are not supported');\n const sqrtP = FpSqrt(ORDER);\n const f = Object.freeze({\n ORDER,\n BITS,\n BYTES,\n MASK: bitMask(BITS),\n ZERO: _0n,\n ONE: _1n,\n create: (num) => mod(num, ORDER),\n isValid: (num) => {\n if (typeof num !== 'bigint')\n throw new Error(`Invalid field element: expected bigint, got ${typeof num}`);\n return _0n <= num && num < ORDER; // 0 is valid element, but it's not invertible\n },\n is0: (num) => num === _0n,\n isOdd: (num) => (num & _1n) === _1n,\n neg: (num) => mod(-num, ORDER),\n eql: (lhs, rhs) => lhs === rhs,\n sqr: (num) => mod(num * num, ORDER),\n add: (lhs, rhs) => mod(lhs + rhs, ORDER),\n sub: (lhs, rhs) => mod(lhs - rhs, ORDER),\n mul: (lhs, rhs) => mod(lhs * rhs, ORDER),\n pow: (num, power) => FpPow(f, num, power),\n div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER),\n // Same as above, but doesn't normalize\n sqrN: (num) => num * num,\n addN: (lhs, rhs) => lhs + rhs,\n subN: (lhs, rhs) => lhs - rhs,\n mulN: (lhs, rhs) => lhs * rhs,\n inv: (num) => invert(num, ORDER),\n sqrt: redef.sqrt || ((n) => sqrtP(f, n)),\n invertBatch: (lst) => FpInvertBatch(f, lst),\n // TODO: do we really need constant cmov?\n // We don't have const-time bigints anyway, so probably will be not very useful\n cmov: (a, b, c) => (c ? b : a),\n toBytes: (num) => (isLE ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES)),\n fromBytes: (bytes) => {\n if (bytes.length !== BYTES)\n throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes.length}`);\n return isLE ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);\n },\n });\n return Object.freeze(f);\n}\nexport function FpSqrtOdd(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? root : Fp.neg(root);\n}\nexport function FpSqrtEven(Fp, elm) {\n if (!Fp.isOdd)\n throw new Error(`Field doesn't have isOdd`);\n const root = Fp.sqrt(elm);\n return Fp.isOdd(root) ? Fp.neg(root) : root;\n}\n/**\n * FIPS 186 B.4.1-compliant \"constant-time\" private key generation utility.\n * Can take (n+8) or more bytes of uniform input e.g. from CSPRNG or KDF\n * and convert them into private scalar, with the modulo bias being negligible.\n * Needs at least 40 bytes of input for 32-byte private key.\n * https://research.kudelskisecurity.com/2020/07/28/the-definitive-guide-to-modulo-bias-and-how-to-avoid-it/\n * @param hash hash output from SHA3 or a similar function\n * @param groupOrder size of subgroup - (e.g. curveFn.CURVE.n)\n * @param isLE interpret hash bytes as LE num\n * @returns valid private scalar\n */\nexport function hashToPrivateScalar(hash, groupOrder, isLE = false) {\n hash = ensureBytes('privateHash', hash);\n const hashLen = hash.length;\n const minLen = nLength(groupOrder).nByteLength + 8;\n if (minLen < 24 || hashLen < minLen || hashLen > 1024)\n throw new Error(`hashToPrivateScalar: expected ${minLen}-1024 bytes of input, got ${hashLen}`);\n const num = isLE ? bytesToNumberLE(hash) : bytesToNumberBE(hash);\n return mod(num, groupOrder - _1n) + _1n;\n}\n//# sourceMappingURL=modular.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Abelian group utilities\nimport { validateField, nLength } from './modular.js';\nimport { validateObject } from './utils.js';\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\n// Elliptic curve multiplication of Point by scalar. Fragile.\n// Scalars should always be less than curve order: this should be checked inside of a curve itself.\n// Creates precomputation tables for fast multiplication:\n// - private scalar is split by fixed size windows of W bits\n// - every window point is collected from window's table & added to accumulator\n// - since windows are different, same point inside tables won't be accessed more than once per calc\n// - each multiplication is 'Math.ceil(CURVE_ORDER / 𝑊) + 1' point additions (fixed for any scalar)\n// - +1 window is neccessary for wNAF\n// - wNAF reduces table size: 2x less memory + 2x faster generation, but 10% slower multiplication\n// TODO: Research returning 2d JS array of windows, instead of a single window. This would allow\n// windows to be in different memory locations\nexport function wNAF(c, bits) {\n const constTimeNegate = (condition, item) => {\n const neg = item.negate();\n return condition ? neg : item;\n };\n const opts = (W) => {\n const windows = Math.ceil(bits / W) + 1; // +1, because\n const windowSize = 2 ** (W - 1); // -1 because we skip zero\n return { windows, windowSize };\n };\n return {\n constTimeNegate,\n // non-const time multiplication ladder\n unsafeLadder(elm, n) {\n let p = c.ZERO;\n let d = elm;\n while (n > _0n) {\n if (n & _1n)\n p = p.add(d);\n d = d.double();\n n >>= _1n;\n }\n return p;\n },\n /**\n * Creates a wNAF precomputation window. Used for caching.\n * Default window size is set by `utils.precompute()` and is equal to 8.\n * Number of precomputed points depends on the curve size:\n * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:\n * - 𝑊 is the window size\n * - 𝑛 is the bitlength of the curve order.\n * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.\n * @returns precomputed point tables flattened to a single array\n */\n precomputeWindow(elm, W) {\n const { windows, windowSize } = opts(W);\n const points = [];\n let p = elm;\n let base = p;\n for (let window = 0; window < windows; window++) {\n base = p;\n points.push(base);\n // =1, because we skip zero\n for (let i = 1; i < windowSize; i++) {\n base = base.add(p);\n points.push(base);\n }\n p = base.double();\n }\n return points;\n },\n /**\n * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.\n * @param W window size\n * @param precomputes precomputed tables\n * @param n scalar (we don't check here, but should be less than curve order)\n * @returns real and fake (for const-time) points\n */\n wNAF(W, precomputes, n) {\n // TODO: maybe check that scalar is less than group order? wNAF behavious is undefined otherwise\n // But need to carefully remove other checks before wNAF. ORDER == bits here\n const { windows, windowSize } = opts(W);\n let p = c.ZERO;\n let f = c.BASE;\n const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.\n const maxNumber = 2 ** W;\n const shiftBy = BigInt(W);\n for (let window = 0; window < windows; window++) {\n const offset = window * windowSize;\n // Extract W bits.\n let wbits = Number(n & mask);\n // Shift number by W bits.\n n >>= shiftBy;\n // If the bits are bigger than max size, we'll split those.\n // +224 => 256 - 32\n if (wbits > windowSize) {\n wbits -= maxNumber;\n n += _1n;\n }\n // This code was first written with assumption that 'f' and 'p' will never be infinity point:\n // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,\n // there is negate now: it is possible that negated element from low value\n // would be the same as high element, which will create carry into next window.\n // It's not obvious how this can fail, but still worth investigating later.\n // Check if we're onto Zero point.\n // Add random point inside current window to f.\n const offset1 = offset;\n const offset2 = offset + Math.abs(wbits) - 1; // -1 because we skip zero\n const cond1 = window % 2 !== 0;\n const cond2 = wbits < 0;\n if (wbits === 0) {\n // The most important part for const-time getPublicKey\n f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n }\n else {\n p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n }\n }\n // JIT-compiler should not eliminate f here, since it will later be used in normalizeZ()\n // Even if the variable is still unused, there are some checks which will\n // throw an exception, so compiler needs to prove they won't happen, which is hard.\n // At this point there is a way to F be infinity-point even if p is not,\n // which makes it less const-time: around 1 bigint multiply.\n return { p, f };\n },\n wNAFCached(P, precomputesMap, n, transform) {\n // @ts-ignore\n const W = P._WINDOW_SIZE || 1;\n // Calculate precomputes on a first run, reuse them after\n let comp = precomputesMap.get(P);\n if (!comp) {\n comp = this.precomputeWindow(P, W);\n if (W !== 1) {\n precomputesMap.set(P, transform(comp));\n }\n }\n return this.wNAF(W, comp, n);\n },\n };\n}\nexport function validateBasic(curve) {\n validateField(curve.Fp);\n validateObject(curve, {\n n: 'bigint',\n h: 'bigint',\n Gx: 'field',\n Gy: 'field',\n }, {\n nBitLength: 'isSafeInteger',\n nByteLength: 'isSafeInteger',\n });\n // Set defaults\n return Object.freeze({\n ...nLength(curve.n, curve.nBitLength),\n ...curve,\n ...{ p: curve.Fp.ORDER },\n });\n}\n//# sourceMappingURL=curve.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n// Short Weierstrass curve. The formula is: y² = x³ + ax + b\nimport * as mod from './modular.js';\nimport * as ut from './utils.js';\nimport { ensureBytes } from './utils.js';\nimport { wNAF, validateBasic } from './curve.js';\nfunction validatePointOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n a: 'field',\n b: 'field',\n }, {\n allowedPrivateKeyLengths: 'array',\n wrapPrivateKey: 'boolean',\n isTorsionFree: 'function',\n clearCofactor: 'function',\n allowInfinityPoint: 'boolean',\n fromBytes: 'function',\n toBytes: 'function',\n });\n const { endo, Fp, a } = opts;\n if (endo) {\n if (!Fp.eql(a, Fp.ZERO)) {\n throw new Error('Endomorphism can only be defined for Koblitz curves that have a=0');\n }\n if (typeof endo !== 'object' ||\n typeof endo.beta !== 'bigint' ||\n typeof endo.splitScalar !== 'function') {\n throw new Error('Expected endomorphism with beta: bigint and splitScalar: function');\n }\n }\n return Object.freeze({ ...opts });\n}\n// ASN.1 DER encoding utilities\nconst { bytesToNumberBE: b2n, hexToBytes: h2b } = ut;\nexport const DER = {\n // asn.1 DER encoding utils\n Err: class DERErr extends Error {\n constructor(m = '') {\n super(m);\n }\n },\n _parseInt(data) {\n const { Err: E } = DER;\n if (data.length < 2 || data[0] !== 0x02)\n throw new E('Invalid signature integer tag');\n const len = data[1];\n const res = data.subarray(2, len + 2);\n if (!len || res.length !== len)\n throw new E('Invalid signature integer: wrong length');\n // https://crypto.stackexchange.com/a/57734 Leftmost bit of first byte is 'negative' flag,\n // since we always use positive integers here. It must always be empty:\n // - add zero byte if exists\n // - if next byte doesn't have a flag, leading zero is not allowed (minimal encoding)\n if (res[0] & 0b10000000)\n throw new E('Invalid signature integer: negative');\n if (res[0] === 0x00 && !(res[1] & 0b10000000))\n throw new E('Invalid signature integer: unnecessary leading zero');\n return { d: b2n(res), l: data.subarray(len + 2) }; // d is data, l is left\n },\n toSig(hex) {\n // parse DER signature\n const { Err: E } = DER;\n const data = typeof hex === 'string' ? h2b(hex) : hex;\n if (!(data instanceof Uint8Array))\n throw new Error('ui8a expected');\n let l = data.length;\n if (l < 2 || data[0] != 0x30)\n throw new E('Invalid signature tag');\n if (data[1] !== l - 2)\n throw new E('Invalid signature: incorrect length');\n const { d: r, l: sBytes } = DER._parseInt(data.subarray(2));\n const { d: s, l: rBytesLeft } = DER._parseInt(sBytes);\n if (rBytesLeft.length)\n throw new E('Invalid signature: left bytes after parsing');\n return { r, s };\n },\n hexFromSig(sig) {\n // Add leading zero if first byte has negative bit enabled. More details in '_parseInt'\n const slice = (s) => (Number.parseInt(s[0], 16) & 0b1000 ? '00' + s : s);\n const h = (num) => {\n const hex = num.toString(16);\n return hex.length & 1 ? `0${hex}` : hex;\n };\n const s = slice(h(sig.s));\n const r = slice(h(sig.r));\n const shl = s.length / 2;\n const rhl = r.length / 2;\n const sl = h(shl);\n const rl = h(rhl);\n return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`;\n },\n};\n// Be friendly to bad ECMAScript parsers by not using bigint literals\n// prettier-ignore\nconst _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _3n = BigInt(3), _4n = BigInt(4);\nexport function weierstrassPoints(opts) {\n const CURVE = validatePointOpts(opts);\n const { Fp } = CURVE; // All curves has same field / group length as for now, but they can differ\n const toBytes = CURVE.toBytes ||\n ((c, point, isCompressed) => {\n const a = point.toAffine();\n return ut.concatBytes(Uint8Array.from([0x04]), Fp.toBytes(a.x), Fp.toBytes(a.y));\n });\n const fromBytes = CURVE.fromBytes ||\n ((bytes) => {\n // const head = bytes[0];\n const tail = bytes.subarray(1);\n // if (head !== 0x04) throw new Error('Only non-compressed encoding is supported');\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n });\n /**\n * y² = x³ + ax + b: Short weierstrass curve formula\n * @returns y²\n */\n function weierstrassEquation(x) {\n const { a, b } = CURVE;\n const x2 = Fp.sqr(x); // x * x\n const x3 = Fp.mul(x2, x); // x2 * x\n return Fp.add(Fp.add(x3, Fp.mul(x, a)), b); // x3 + a * x + b\n }\n // Validate whether the passed curve params are valid.\n // We check if curve equation works for generator point.\n // `assertValidity()` won't work: `isTorsionFree()` is not available at this point in bls12-381.\n // ProjectivePoint class has not been initialized yet.\n if (!Fp.eql(Fp.sqr(CURVE.Gy), weierstrassEquation(CURVE.Gx)))\n throw new Error('bad generator point: equation left != right');\n // Valid group elements reside in range 1..n-1\n function isWithinCurveOrder(num) {\n return typeof num === 'bigint' && _0n < num && num < CURVE.n;\n }\n function assertGE(num) {\n if (!isWithinCurveOrder(num))\n throw new Error('Expected valid bigint: 0 < bigint < curve.n');\n }\n // Validates if priv key is valid and converts it to bigint.\n // Supports options allowedPrivateKeyLengths and wrapPrivateKey.\n function normPrivateKeyToScalar(key) {\n const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE;\n if (lengths && typeof key !== 'bigint') {\n if (key instanceof Uint8Array)\n key = ut.bytesToHex(key);\n // Normalize to hex string, pad. E.g. P521 would norm 130-132 char hex to 132-char bytes\n if (typeof key !== 'string' || !lengths.includes(key.length))\n throw new Error('Invalid key');\n key = key.padStart(nByteLength * 2, '0');\n }\n let num;\n try {\n num =\n typeof key === 'bigint'\n ? key\n : ut.bytesToNumberBE(ensureBytes('private key', key, nByteLength));\n }\n catch (error) {\n throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`);\n }\n if (wrapPrivateKey)\n num = mod.mod(num, n); // disabled by default, enabled for BLS\n assertGE(num); // num in range [1..N-1]\n return num;\n }\n const pointPrecomputes = new Map();\n function assertPrjPoint(other) {\n if (!(other instanceof Point))\n throw new Error('ProjectivePoint expected');\n }\n /**\n * Projective Point works in 3d / projective (homogeneous) coordinates: (x, y, z) ∋ (x=x/z, y=y/z)\n * Default Point works in 2d / affine coordinates: (x, y)\n * We're doing calculations in projective, because its operations don't require costly inversion.\n */\n class Point {\n constructor(px, py, pz) {\n this.px = px;\n this.py = py;\n this.pz = pz;\n if (px == null || !Fp.isValid(px))\n throw new Error('x required');\n if (py == null || !Fp.isValid(py))\n throw new Error('y required');\n if (pz == null || !Fp.isValid(pz))\n throw new Error('z required');\n }\n // Does not validate if the point is on-curve.\n // Use fromHex instead, or call assertValidity() later.\n static fromAffine(p) {\n const { x, y } = p || {};\n if (!p || !Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('invalid affine point');\n if (p instanceof Point)\n throw new Error('projective point not allowed');\n const is0 = (i) => Fp.eql(i, Fp.ZERO);\n // fromAffine(x:0, y:0) would produce (x:0, y:0, z:1), but we need (x:0, y:1, z:0)\n if (is0(x) && is0(y))\n return Point.ZERO;\n return new Point(x, y, Fp.ONE);\n }\n get x() {\n return this.toAffine().x;\n }\n get y() {\n return this.toAffine().y;\n }\n /**\n * Takes a bunch of Projective Points but executes only one\n * inversion on all of them. Inversion is very slow operation,\n * so this improves performance massively.\n * Optimization: converts a list of projective points to a list of identical points with Z=1.\n */\n static normalizeZ(points) {\n const toInv = Fp.invertBatch(points.map((p) => p.pz));\n return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n }\n /**\n * Converts hash string or Uint8Array to Point.\n * @param hex short/long ECDSA hex\n */\n static fromHex(hex) {\n const P = Point.fromAffine(fromBytes(ensureBytes('pointHex', hex)));\n P.assertValidity();\n return P;\n }\n // Multiplies generator point by privateKey.\n static fromPrivateKey(privateKey) {\n return Point.BASE.multiply(normPrivateKeyToScalar(privateKey));\n }\n // \"Private method\", don't use it directly\n _setWindowSize(windowSize) {\n this._WINDOW_SIZE = windowSize;\n pointPrecomputes.delete(this);\n }\n // A point on curve is valid if it conforms to equation.\n assertValidity() {\n // Zero is valid point too!\n if (this.is0()) {\n if (CURVE.allowInfinityPoint)\n return;\n throw new Error('bad point: ZERO');\n }\n // Some 3rd-party test vectors require different wording between here & `fromCompressedHex`\n const { x, y } = this.toAffine();\n // Check if x, y are valid field elements\n if (!Fp.isValid(x) || !Fp.isValid(y))\n throw new Error('bad point: x or y not FE');\n const left = Fp.sqr(y); // y²\n const right = weierstrassEquation(x); // x³ + ax + b\n if (!Fp.eql(left, right))\n throw new Error('bad point: equation left != right');\n if (!this.isTorsionFree())\n throw new Error('bad point: not in prime-order subgroup');\n }\n hasEvenY() {\n const { y } = this.toAffine();\n if (Fp.isOdd)\n return !Fp.isOdd(y);\n throw new Error(\"Field doesn't support isOdd\");\n }\n /**\n * Compare one point to another.\n */\n equals(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n const U1 = Fp.eql(Fp.mul(X1, Z2), Fp.mul(X2, Z1));\n const U2 = Fp.eql(Fp.mul(Y1, Z2), Fp.mul(Y2, Z1));\n return U1 && U2;\n }\n /**\n * Flips point to one corresponding to (x, -y) in Affine coordinates.\n */\n negate() {\n return new Point(this.px, Fp.neg(this.py), this.pz);\n }\n // Renes-Costello-Batina exception-free doubling formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 3\n // Cost: 8M + 3S + 3*a + 2*b3 + 15add.\n double() {\n const { a, b } = CURVE;\n const b3 = Fp.mul(b, _3n);\n const { px: X1, py: Y1, pz: Z1 } = this;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n let t0 = Fp.mul(X1, X1); // step 1\n let t1 = Fp.mul(Y1, Y1);\n let t2 = Fp.mul(Z1, Z1);\n let t3 = Fp.mul(X1, Y1);\n t3 = Fp.add(t3, t3); // step 5\n Z3 = Fp.mul(X1, Z1);\n Z3 = Fp.add(Z3, Z3);\n X3 = Fp.mul(a, Z3);\n Y3 = Fp.mul(b3, t2);\n Y3 = Fp.add(X3, Y3); // step 10\n X3 = Fp.sub(t1, Y3);\n Y3 = Fp.add(t1, Y3);\n Y3 = Fp.mul(X3, Y3);\n X3 = Fp.mul(t3, X3);\n Z3 = Fp.mul(b3, Z3); // step 15\n t2 = Fp.mul(a, t2);\n t3 = Fp.sub(t0, t2);\n t3 = Fp.mul(a, t3);\n t3 = Fp.add(t3, Z3);\n Z3 = Fp.add(t0, t0); // step 20\n t0 = Fp.add(Z3, t0);\n t0 = Fp.add(t0, t2);\n t0 = Fp.mul(t0, t3);\n Y3 = Fp.add(Y3, t0);\n t2 = Fp.mul(Y1, Z1); // step 25\n t2 = Fp.add(t2, t2);\n t0 = Fp.mul(t2, t3);\n X3 = Fp.sub(X3, t0);\n Z3 = Fp.mul(t2, t1);\n Z3 = Fp.add(Z3, Z3); // step 30\n Z3 = Fp.add(Z3, Z3);\n return new Point(X3, Y3, Z3);\n }\n // Renes-Costello-Batina exception-free addition formula.\n // There is 30% faster Jacobian formula, but it is not complete.\n // https://eprint.iacr.org/2015/1060, algorithm 1\n // Cost: 12M + 0S + 3*a + 3*b3 + 23add.\n add(other) {\n assertPrjPoint(other);\n const { px: X1, py: Y1, pz: Z1 } = this;\n const { px: X2, py: Y2, pz: Z2 } = other;\n let X3 = Fp.ZERO, Y3 = Fp.ZERO, Z3 = Fp.ZERO; // prettier-ignore\n const a = CURVE.a;\n const b3 = Fp.mul(CURVE.b, _3n);\n let t0 = Fp.mul(X1, X2); // step 1\n let t1 = Fp.mul(Y1, Y2);\n let t2 = Fp.mul(Z1, Z2);\n let t3 = Fp.add(X1, Y1);\n let t4 = Fp.add(X2, Y2); // step 5\n t3 = Fp.mul(t3, t4);\n t4 = Fp.add(t0, t1);\n t3 = Fp.sub(t3, t4);\n t4 = Fp.add(X1, Z1);\n let t5 = Fp.add(X2, Z2); // step 10\n t4 = Fp.mul(t4, t5);\n t5 = Fp.add(t0, t2);\n t4 = Fp.sub(t4, t5);\n t5 = Fp.add(Y1, Z1);\n X3 = Fp.add(Y2, Z2); // step 15\n t5 = Fp.mul(t5, X3);\n X3 = Fp.add(t1, t2);\n t5 = Fp.sub(t5, X3);\n Z3 = Fp.mul(a, t4);\n X3 = Fp.mul(b3, t2); // step 20\n Z3 = Fp.add(X3, Z3);\n X3 = Fp.sub(t1, Z3);\n Z3 = Fp.add(t1, Z3);\n Y3 = Fp.mul(X3, Z3);\n t1 = Fp.add(t0, t0); // step 25\n t1 = Fp.add(t1, t0);\n t2 = Fp.mul(a, t2);\n t4 = Fp.mul(b3, t4);\n t1 = Fp.add(t1, t2);\n t2 = Fp.sub(t0, t2); // step 30\n t2 = Fp.mul(a, t2);\n t4 = Fp.add(t4, t2);\n t0 = Fp.mul(t1, t4);\n Y3 = Fp.add(Y3, t0);\n t0 = Fp.mul(t5, t4); // step 35\n X3 = Fp.mul(t3, X3);\n X3 = Fp.sub(X3, t0);\n t0 = Fp.mul(t3, t1);\n Z3 = Fp.mul(t5, Z3);\n Z3 = Fp.add(Z3, t0); // step 40\n return new Point(X3, Y3, Z3);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n is0() {\n return this.equals(Point.ZERO);\n }\n wNAF(n) {\n return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => {\n const toInv = Fp.invertBatch(comp.map((p) => p.pz));\n return comp.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);\n });\n }\n /**\n * Non-constant-time multiplication. Uses double-and-add algorithm.\n * It's faster, but should only be used when you don't care about\n * an exposed private key e.g. sig verification, which works over *public* keys.\n */\n multiplyUnsafe(n) {\n const I = Point.ZERO;\n if (n === _0n)\n return I;\n assertGE(n); // Will throw on 0\n if (n === _1n)\n return this;\n const { endo } = CURVE;\n if (!endo)\n return wnaf.unsafeLadder(this, n);\n // Apply endomorphism\n let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let k1p = I;\n let k2p = I;\n let d = this;\n while (k1 > _0n || k2 > _0n) {\n if (k1 & _1n)\n k1p = k1p.add(d);\n if (k2 & _1n)\n k2p = k2p.add(d);\n d = d.double();\n k1 >>= _1n;\n k2 >>= _1n;\n }\n if (k1neg)\n k1p = k1p.negate();\n if (k2neg)\n k2p = k2p.negate();\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n return k1p.add(k2p);\n }\n /**\n * Constant time multiplication.\n * Uses wNAF method. Windowed method may be 10% faster,\n * but takes 2x longer to generate and consumes 2x memory.\n * Uses precomputes when available.\n * Uses endomorphism for Koblitz curves.\n * @param scalar by which the point would be multiplied\n * @returns New point\n */\n multiply(scalar) {\n assertGE(scalar);\n let n = scalar;\n let point, fake; // Fake point is used to const-time mult\n const { endo } = CURVE;\n if (endo) {\n const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n let { p: k1p, f: f1p } = this.wNAF(k1);\n let { p: k2p, f: f2p } = this.wNAF(k2);\n k1p = wnaf.constTimeNegate(k1neg, k1p);\n k2p = wnaf.constTimeNegate(k2neg, k2p);\n k2p = new Point(Fp.mul(k2p.px, endo.beta), k2p.py, k2p.pz);\n point = k1p.add(k2p);\n fake = f1p.add(f2p);\n }\n else {\n const { p, f } = this.wNAF(n);\n point = p;\n fake = f;\n }\n // Normalize `z` for both points, but return only real one\n return Point.normalizeZ([point, fake])[0];\n }\n /**\n * Efficiently calculate `aP + bQ`. Unsafe, can expose private key, if used incorrectly.\n * Not using Strauss-Shamir trick: precomputation tables are faster.\n * The trick could be useful if both P and Q are not G (not in our case).\n * @returns non-zero affine point\n */\n multiplyAndAddUnsafe(Q, a, b) {\n const G = Point.BASE; // No Strauss-Shamir trick: we have 10% faster G precomputes\n const mul = (P, a // Select faster multiply() method\n ) => (a === _0n || a === _1n || !P.equals(G) ? P.multiplyUnsafe(a) : P.multiply(a));\n const sum = mul(this, a).add(mul(Q, b));\n return sum.is0() ? undefined : sum;\n }\n // Converts Projective point to affine (x, y) coordinates.\n // Can accept precomputed Z^-1 - for example, from invertBatch.\n // (x, y, z) ∋ (x=x/z, y=y/z)\n toAffine(iz) {\n const { px: x, py: y, pz: z } = this;\n const is0 = this.is0();\n // If invZ was 0, we return zero point. However we still want to execute\n // all operations, so we replace invZ with a random number, 1.\n if (iz == null)\n iz = is0 ? Fp.ONE : Fp.inv(z);\n const ax = Fp.mul(x, iz);\n const ay = Fp.mul(y, iz);\n const zz = Fp.mul(z, iz);\n if (is0)\n return { x: Fp.ZERO, y: Fp.ZERO };\n if (!Fp.eql(zz, Fp.ONE))\n throw new Error('invZ was invalid');\n return { x: ax, y: ay };\n }\n isTorsionFree() {\n const { h: cofactor, isTorsionFree } = CURVE;\n if (cofactor === _1n)\n return true; // No subgroups, always torsion-free\n if (isTorsionFree)\n return isTorsionFree(Point, this);\n throw new Error('isTorsionFree() has not been declared for the elliptic curve');\n }\n clearCofactor() {\n const { h: cofactor, clearCofactor } = CURVE;\n if (cofactor === _1n)\n return this; // Fast-path\n if (clearCofactor)\n return clearCofactor(Point, this);\n return this.multiplyUnsafe(CURVE.h);\n }\n toRawBytes(isCompressed = true) {\n this.assertValidity();\n return toBytes(Point, this, isCompressed);\n }\n toHex(isCompressed = true) {\n return ut.bytesToHex(this.toRawBytes(isCompressed));\n }\n }\n Point.BASE = new Point(CURVE.Gx, CURVE.Gy, Fp.ONE);\n Point.ZERO = new Point(Fp.ZERO, Fp.ONE, Fp.ZERO);\n const _bits = CURVE.nBitLength;\n const wnaf = wNAF(Point, CURVE.endo ? Math.ceil(_bits / 2) : _bits);\n // Validate if generator point is on curve\n return {\n CURVE,\n ProjectivePoint: Point,\n normPrivateKeyToScalar,\n weierstrassEquation,\n isWithinCurveOrder,\n };\n}\nfunction validateOpts(curve) {\n const opts = validateBasic(curve);\n ut.validateObject(opts, {\n hash: 'hash',\n hmac: 'function',\n randomBytes: 'function',\n }, {\n bits2int: 'function',\n bits2int_modN: 'function',\n lowS: 'boolean',\n });\n return Object.freeze({ lowS: true, ...opts });\n}\nexport function weierstrass(curveDef) {\n const CURVE = validateOpts(curveDef);\n const { Fp, n: CURVE_ORDER } = CURVE;\n const compressedLen = Fp.BYTES + 1; // e.g. 33 for 32\n const uncompressedLen = 2 * Fp.BYTES + 1; // e.g. 65 for 32\n function isValidFieldElement(num) {\n return _0n < num && num < Fp.ORDER; // 0 is banned since it's not invertible FE\n }\n function modN(a) {\n return mod.mod(a, CURVE_ORDER);\n }\n function invN(a) {\n return mod.invert(a, CURVE_ORDER);\n }\n const { ProjectivePoint: Point, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder, } = weierstrassPoints({\n ...CURVE,\n toBytes(c, point, isCompressed) {\n const a = point.toAffine();\n const x = Fp.toBytes(a.x);\n const cat = ut.concatBytes;\n if (isCompressed) {\n return cat(Uint8Array.from([point.hasEvenY() ? 0x02 : 0x03]), x);\n }\n else {\n return cat(Uint8Array.from([0x04]), x, Fp.toBytes(a.y));\n }\n },\n fromBytes(bytes) {\n const len = bytes.length;\n const head = bytes[0];\n const tail = bytes.subarray(1);\n // this.assertValidity() is done inside of fromHex\n if (len === compressedLen && (head === 0x02 || head === 0x03)) {\n const x = ut.bytesToNumberBE(tail);\n if (!isValidFieldElement(x))\n throw new Error('Point is not on curve');\n const y2 = weierstrassEquation(x); // y² = x³ + ax + b\n let y = Fp.sqrt(y2); // y = y² ^ (p+1)/4\n const isYOdd = (y & _1n) === _1n;\n // ECDSA\n const isHeadOdd = (head & 1) === 1;\n if (isHeadOdd !== isYOdd)\n y = Fp.neg(y);\n return { x, y };\n }\n else if (len === uncompressedLen && head === 0x04) {\n const x = Fp.fromBytes(tail.subarray(0, Fp.BYTES));\n const y = Fp.fromBytes(tail.subarray(Fp.BYTES, 2 * Fp.BYTES));\n return { x, y };\n }\n else {\n throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`);\n }\n },\n });\n const numToNByteStr = (num) => ut.bytesToHex(ut.numberToBytesBE(num, CURVE.nByteLength));\n function isBiggerThanHalfOrder(number) {\n const HALF = CURVE_ORDER >> _1n;\n return number > HALF;\n }\n function normalizeS(s) {\n return isBiggerThanHalfOrder(s) ? modN(-s) : s;\n }\n // slice bytes num\n const slcNum = (b, from, to) => ut.bytesToNumberBE(b.slice(from, to));\n /**\n * ECDSA signature with its (r, s) properties. Supports DER & compact representations.\n */\n class Signature {\n constructor(r, s, recovery) {\n this.r = r;\n this.s = s;\n this.recovery = recovery;\n this.assertValidity();\n }\n // pair (bytes of r, bytes of s)\n static fromCompact(hex) {\n const l = CURVE.nByteLength;\n hex = ensureBytes('compactSignature', hex, l * 2);\n return new Signature(slcNum(hex, 0, l), slcNum(hex, l, 2 * l));\n }\n // DER encoded ECDSA signature\n // https://bitcoin.stackexchange.com/questions/57644/what-are-the-parts-of-a-bitcoin-transaction-input-script\n static fromDER(hex) {\n const { r, s } = DER.toSig(ensureBytes('DER', hex));\n return new Signature(r, s);\n }\n assertValidity() {\n // can use assertGE here\n if (!isWithinCurveOrder(this.r))\n throw new Error('r must be 0 < r < CURVE.n');\n if (!isWithinCurveOrder(this.s))\n throw new Error('s must be 0 < s < CURVE.n');\n }\n addRecoveryBit(recovery) {\n return new Signature(this.r, this.s, recovery);\n }\n recoverPublicKey(msgHash) {\n const { r, s, recovery: rec } = this;\n const h = bits2int_modN(ensureBytes('msgHash', msgHash)); // Truncate hash\n if (rec == null || ![0, 1, 2, 3].includes(rec))\n throw new Error('recovery id invalid');\n const radj = rec === 2 || rec === 3 ? r + CURVE.n : r;\n if (radj >= Fp.ORDER)\n throw new Error('recovery id 2 or 3 invalid');\n const prefix = (rec & 1) === 0 ? '02' : '03';\n const R = Point.fromHex(prefix + numToNByteStr(radj));\n const ir = invN(radj); // r^-1\n const u1 = modN(-h * ir); // -hr^-1\n const u2 = modN(s * ir); // sr^-1\n const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2); // (sr^-1)R-(hr^-1)G = -(hr^-1)G + (sr^-1)\n if (!Q)\n throw new Error('point at infinify'); // unsafe is fine: no priv data leaked\n Q.assertValidity();\n return Q;\n }\n // Signatures should be low-s, to prevent malleability.\n hasHighS() {\n return isBiggerThanHalfOrder(this.s);\n }\n normalizeS() {\n return this.hasHighS() ? new Signature(this.r, modN(-this.s), this.recovery) : this;\n }\n // DER-encoded\n toDERRawBytes() {\n return ut.hexToBytes(this.toDERHex());\n }\n toDERHex() {\n return DER.hexFromSig({ r: this.r, s: this.s });\n }\n // padded bytes of r, then padded bytes of s\n toCompactRawBytes() {\n return ut.hexToBytes(this.toCompactHex());\n }\n toCompactHex() {\n return numToNByteStr(this.r) + numToNByteStr(this.s);\n }\n }\n const utils = {\n isValidPrivateKey(privateKey) {\n try {\n normPrivateKeyToScalar(privateKey);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n normPrivateKeyToScalar: normPrivateKeyToScalar,\n /**\n * Produces cryptographically secure private key from random of size (nBitLength+64)\n * as per FIPS 186 B.4.1 with modulo bias being neglible.\n */\n randomPrivateKey: () => {\n const rand = CURVE.randomBytes(Fp.BYTES + 8);\n const num = mod.hashToPrivateScalar(rand, CURVE_ORDER);\n return ut.numberToBytesBE(num, CURVE.nByteLength);\n },\n /**\n * Creates precompute table for an arbitrary EC point. Makes point \"cached\".\n * Allows to massively speed-up `point.multiply(scalar)`.\n * @returns cached point\n * @example\n * const fast = utils.precompute(8, ProjectivePoint.fromHex(someonesPubKey));\n * fast.multiply(privKey); // much faster ECDH now\n */\n precompute(windowSize = 8, point = Point.BASE) {\n point._setWindowSize(windowSize);\n point.multiply(BigInt(3)); // 3 is arbitrary, just need any number here\n return point;\n },\n };\n /**\n * Computes public key for a private key. Checks for validity of the private key.\n * @param privateKey private key\n * @param isCompressed whether to return compact (default), or full key\n * @returns Public key, full when isCompressed=false; short when isCompressed=true\n */\n function getPublicKey(privateKey, isCompressed = true) {\n return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n }\n /**\n * Quick and dirty check for item being public key. Does not validate hex, or being on-curve.\n */\n function isProbPub(item) {\n const arr = item instanceof Uint8Array;\n const str = typeof item === 'string';\n const len = (arr || str) && item.length;\n if (arr)\n return len === compressedLen || len === uncompressedLen;\n if (str)\n return len === 2 * compressedLen || len === 2 * uncompressedLen;\n if (item instanceof Point)\n return true;\n return false;\n }\n /**\n * ECDH (Elliptic Curve Diffie Hellman).\n * Computes shared public key from private key and public key.\n * Checks: 1) private key validity 2) shared key is on-curve.\n * Does NOT hash the result.\n * @param privateA private key\n * @param publicB different public key\n * @param isCompressed whether to return compact (default), or full key\n * @returns shared public key\n */\n function getSharedSecret(privateA, publicB, isCompressed = true) {\n if (isProbPub(privateA))\n throw new Error('first arg must be private key');\n if (!isProbPub(publicB))\n throw new Error('second arg must be public key');\n const b = Point.fromHex(publicB); // check for being on-curve\n return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed);\n }\n // RFC6979: ensure ECDSA msg is X bytes and < N. RFC suggests optional truncating via bits2octets.\n // FIPS 186-4 4.6 suggests the leftmost min(nBitLen, outLen) bits, which matches bits2int.\n // bits2int can produce res>N, we can do mod(res, N) since the bitLen is the same.\n // int2octets can't be used; pads small msgs with 0: unacceptatble for trunc as per RFC vectors\n const bits2int = CURVE.bits2int ||\n function (bytes) {\n // For curves with nBitLength % 8 !== 0: bits2octets(bits2octets(m)) !== bits2octets(m)\n // for some cases, since bytes.length * 8 is not actual bitLength.\n const num = ut.bytesToNumberBE(bytes); // check for == u8 done here\n const delta = bytes.length * 8 - CURVE.nBitLength; // truncate to nBitLength leftmost bits\n return delta > 0 ? num >> BigInt(delta) : num;\n };\n const bits2int_modN = CURVE.bits2int_modN ||\n function (bytes) {\n return modN(bits2int(bytes)); // can't use bytesToNumberBE here\n };\n // NOTE: pads output with zero as per spec\n const ORDER_MASK = ut.bitMask(CURVE.nBitLength);\n /**\n * Converts to bytes. Checks if num in `[0..ORDER_MASK-1]` e.g.: `[0..2^256-1]`.\n */\n function int2octets(num) {\n if (typeof num !== 'bigint')\n throw new Error('bigint expected');\n if (!(_0n <= num && num < ORDER_MASK))\n throw new Error(`bigint expected < 2^${CURVE.nBitLength}`);\n // works with order, can have different size than numToField!\n return ut.numberToBytesBE(num, CURVE.nByteLength);\n }\n // Steps A, D of RFC6979 3.2\n // Creates RFC6979 seed; converts msg/privKey to numbers.\n // Used only in sign, not in verify.\n // NOTE: we cannot assume here that msgHash has same amount of bytes as curve order, this will be wrong at least for P521.\n // Also it can be bigger for P224 + SHA256\n function prepSig(msgHash, privateKey, opts = defaultSigOpts) {\n if (['recovered', 'canonical'].some((k) => k in opts))\n throw new Error('sign() legacy options not supported');\n const { hash, randomBytes } = CURVE;\n let { lowS, prehash, extraEntropy: ent } = opts; // generates low-s sigs by default\n if (lowS == null)\n lowS = true; // RFC6979 3.2: we skip step A, because we already provide hash\n msgHash = ensureBytes('msgHash', msgHash);\n if (prehash)\n msgHash = ensureBytes('prehashed msgHash', hash(msgHash));\n // We can't later call bits2octets, since nested bits2int is broken for curves\n // with nBitLength % 8 !== 0. Because of that, we unwrap it here as int2octets call.\n // const bits2octets = (bits) => int2octets(bits2int_modN(bits))\n const h1int = bits2int_modN(msgHash);\n const d = normPrivateKeyToScalar(privateKey); // validate private key, convert to bigint\n const seedArgs = [int2octets(d), int2octets(h1int)];\n // extraEntropy. RFC6979 3.6: additional k' (optional).\n if (ent != null) {\n // K = HMAC_K(V || 0x00 || int2octets(x) || bits2octets(h1) || k')\n const e = ent === true ? randomBytes(Fp.BYTES) : ent; // generate random bytes OR pass as-is\n seedArgs.push(ensureBytes('extraEntropy', e, Fp.BYTES)); // check for being of size BYTES\n }\n const seed = ut.concatBytes(...seedArgs); // Step D of RFC6979 3.2\n const m = h1int; // NOTE: no need to call bits2int second time here, it is inside truncateHash!\n // Converts signature params into point w r/s, checks result for validity.\n function k2sig(kBytes) {\n // RFC 6979 Section 3.2, step 3: k = bits2int(T)\n const k = bits2int(kBytes); // Cannot use fields methods, since it is group element\n if (!isWithinCurveOrder(k))\n return; // Important: all mod() calls here must be done over N\n const ik = invN(k); // k^-1 mod n\n const q = Point.BASE.multiply(k).toAffine(); // q = Gk\n const r = modN(q.x); // r = q.x mod n\n if (r === _0n)\n return;\n // Can use scalar blinding b^-1(bm + bdr) where b ∈ [1,q−1] according to\n // https://tches.iacr.org/index.php/TCHES/article/view/7337/6509. We've decided against it:\n // a) dependency on CSPRNG b) 15% slowdown c) doesn't really help since bigints are not CT\n const s = modN(ik * modN(m + r * d)); // Not using blinding here\n if (s === _0n)\n return;\n let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n); // recovery bit (2 or 3, when q.x > n)\n let normS = s;\n if (lowS && isBiggerThanHalfOrder(s)) {\n normS = normalizeS(s); // if lowS was passed, ensure s is always\n recovery ^= 1; // // in the bottom half of N\n }\n return new Signature(r, normS, recovery); // use normS, not s\n }\n return { seed, k2sig };\n }\n const defaultSigOpts = { lowS: CURVE.lowS, prehash: false };\n const defaultVerOpts = { lowS: CURVE.lowS, prehash: false };\n /**\n * Signs message hash with a private key.\n * ```\n * sign(m, d, k) where\n * (x, y) = G × k\n * r = x mod n\n * s = (m + dr)/k mod n\n * ```\n * @param msgHash NOT message. msg needs to be hashed to `msgHash`, or use `prehash`.\n * @param privKey private key\n * @param opts lowS for non-malleable sigs. extraEntropy for mixing randomness into k. prehash will hash first arg.\n * @returns signature with recovery param\n */\n function sign(msgHash, privKey, opts = defaultSigOpts) {\n const { seed, k2sig } = prepSig(msgHash, privKey, opts); // Steps A, D of RFC6979 3.2.\n const C = CURVE;\n const drbg = ut.createHmacDrbg(C.hash.outputLen, C.nByteLength, C.hmac);\n return drbg(seed, k2sig); // Steps B, C, D, E, F, G\n }\n // Enable precomputes. Slows down first publicKey computation by 20ms.\n Point.BASE._setWindowSize(8);\n // utils.precompute(8, ProjectivePoint.BASE)\n /**\n * Verifies a signature against message hash and public key.\n * Rejects lowS signatures by default: to override,\n * specify option `{lowS: false}`. Implements section 4.1.4 from https://www.secg.org/sec1-v2.pdf:\n *\n * ```\n * verify(r, s, h, P) where\n * U1 = hs^-1 mod n\n * U2 = rs^-1 mod n\n * R = U1⋅G - U2⋅P\n * mod(R.x, n) == r\n * ```\n */\n function verify(signature, msgHash, publicKey, opts = defaultVerOpts) {\n const sg = signature;\n msgHash = ensureBytes('msgHash', msgHash);\n publicKey = ensureBytes('publicKey', publicKey);\n if ('strict' in opts)\n throw new Error('options.strict was renamed to lowS');\n const { lowS, prehash } = opts;\n let _sig = undefined;\n let P;\n try {\n if (typeof sg === 'string' || sg instanceof Uint8Array) {\n // Signature can be represented in 2 ways: compact (2*nByteLength) & DER (variable-length).\n // Since DER can also be 2*nByteLength bytes, we check for it first.\n try {\n _sig = Signature.fromDER(sg);\n }\n catch (derError) {\n if (!(derError instanceof DER.Err))\n throw derError;\n _sig = Signature.fromCompact(sg);\n }\n }\n else if (typeof sg === 'object' && typeof sg.r === 'bigint' && typeof sg.s === 'bigint') {\n const { r, s } = sg;\n _sig = new Signature(r, s);\n }\n else {\n throw new Error('PARSE');\n }\n P = Point.fromHex(publicKey);\n }\n catch (error) {\n if (error.message === 'PARSE')\n throw new Error(`signature must be Signature instance, Uint8Array or hex string`);\n return false;\n }\n if (lowS && _sig.hasHighS())\n return false;\n if (prehash)\n msgHash = CURVE.hash(msgHash);\n const { r, s } = _sig;\n const h = bits2int_modN(msgHash); // Cannot use fields methods, since it is group element\n const is = invN(s); // s^-1\n const u1 = modN(h * is); // u1 = hs^-1 mod n\n const u2 = modN(r * is); // u2 = rs^-1 mod n\n const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); // R = u1⋅G + u2⋅P\n if (!R)\n return false;\n const v = modN(R.x);\n return v === r;\n }\n return {\n CURVE,\n getPublicKey,\n getSharedSecret,\n sign,\n verify,\n ProjectivePoint: Point,\n Signature,\n utils,\n };\n}\n/**\n * Implementation of the Shallue and van de Woestijne method for any weierstrass curve.\n * TODO: check if there is a way to merge this with uvRatio in Edwards; move to modular.\n * b = True and y = sqrt(u / v) if (u / v) is square in F, and\n * b = False and y = sqrt(Z * (u / v)) otherwise.\n * @param Fp\n * @param Z\n * @returns\n */\nexport function SWUFpSqrtRatio(Fp, Z) {\n // Generic implementation\n const q = Fp.ORDER;\n let l = _0n;\n for (let o = q - _1n; o % _2n === _0n; o /= _2n)\n l += _1n;\n const c1 = l; // 1. c1, the largest integer such that 2^c1 divides q - 1.\n // We need 2n ** c1 and 2n ** (c1-1). We can't use **; but we can use <<.\n // 2n ** c1 == 2n << (c1-1)\n const _2n_pow_c1_1 = _2n << (c1 - _1n - _1n);\n const _2n_pow_c1 = _2n_pow_c1_1 * _2n;\n const c2 = (q - _1n) / _2n_pow_c1; // 2. c2 = (q - 1) / (2^c1) # Integer arithmetic\n const c3 = (c2 - _1n) / _2n; // 3. c3 = (c2 - 1) / 2 # Integer arithmetic\n const c4 = _2n_pow_c1 - _1n; // 4. c4 = 2^c1 - 1 # Integer arithmetic\n const c5 = _2n_pow_c1_1; // 5. c5 = 2^(c1 - 1) # Integer arithmetic\n const c6 = Fp.pow(Z, c2); // 6. c6 = Z^c2\n const c7 = Fp.pow(Z, (c2 + _1n) / _2n); // 7. c7 = Z^((c2 + 1) / 2)\n let sqrtRatio = (u, v) => {\n let tv1 = c6; // 1. tv1 = c6\n let tv2 = Fp.pow(v, c4); // 2. tv2 = v^c4\n let tv3 = Fp.sqr(tv2); // 3. tv3 = tv2^2\n tv3 = Fp.mul(tv3, v); // 4. tv3 = tv3 * v\n let tv5 = Fp.mul(u, tv3); // 5. tv5 = u * tv3\n tv5 = Fp.pow(tv5, c3); // 6. tv5 = tv5^c3\n tv5 = Fp.mul(tv5, tv2); // 7. tv5 = tv5 * tv2\n tv2 = Fp.mul(tv5, v); // 8. tv2 = tv5 * v\n tv3 = Fp.mul(tv5, u); // 9. tv3 = tv5 * u\n let tv4 = Fp.mul(tv3, tv2); // 10. tv4 = tv3 * tv2\n tv5 = Fp.pow(tv4, c5); // 11. tv5 = tv4^c5\n let isQR = Fp.eql(tv5, Fp.ONE); // 12. isQR = tv5 == 1\n tv2 = Fp.mul(tv3, c7); // 13. tv2 = tv3 * c7\n tv5 = Fp.mul(tv4, tv1); // 14. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, isQR); // 15. tv3 = CMOV(tv2, tv3, isQR)\n tv4 = Fp.cmov(tv5, tv4, isQR); // 16. tv4 = CMOV(tv5, tv4, isQR)\n // 17. for i in (c1, c1 - 1, ..., 2):\n for (let i = c1; i > _1n; i--) {\n let tv5 = i - _2n; // 18. tv5 = i - 2\n tv5 = _2n << (tv5 - _1n); // 19. tv5 = 2^tv5\n let tvv5 = Fp.pow(tv4, tv5); // 20. tv5 = tv4^tv5\n const e1 = Fp.eql(tvv5, Fp.ONE); // 21. e1 = tv5 == 1\n tv2 = Fp.mul(tv3, tv1); // 22. tv2 = tv3 * tv1\n tv1 = Fp.mul(tv1, tv1); // 23. tv1 = tv1 * tv1\n tvv5 = Fp.mul(tv4, tv1); // 24. tv5 = tv4 * tv1\n tv3 = Fp.cmov(tv2, tv3, e1); // 25. tv3 = CMOV(tv2, tv3, e1)\n tv4 = Fp.cmov(tvv5, tv4, e1); // 26. tv4 = CMOV(tv5, tv4, e1)\n }\n return { isValid: isQR, value: tv3 };\n };\n if (Fp.ORDER % _4n === _3n) {\n // sqrt_ratio_3mod4(u, v)\n const c1 = (Fp.ORDER - _3n) / _4n; // 1. c1 = (q - 3) / 4 # Integer arithmetic\n const c2 = Fp.sqrt(Fp.neg(Z)); // 2. c2 = sqrt(-Z)\n sqrtRatio = (u, v) => {\n let tv1 = Fp.sqr(v); // 1. tv1 = v^2\n const tv2 = Fp.mul(u, v); // 2. tv2 = u * v\n tv1 = Fp.mul(tv1, tv2); // 3. tv1 = tv1 * tv2\n let y1 = Fp.pow(tv1, c1); // 4. y1 = tv1^c1\n y1 = Fp.mul(y1, tv2); // 5. y1 = y1 * tv2\n const y2 = Fp.mul(y1, c2); // 6. y2 = y1 * c2\n const tv3 = Fp.mul(Fp.sqr(y1), v); // 7. tv3 = y1^2; 8. tv3 = tv3 * v\n const isQR = Fp.eql(tv3, u); // 9. isQR = tv3 == u\n let y = Fp.cmov(y2, y1, isQR); // 10. y = CMOV(y2, y1, isQR)\n return { isValid: isQR, value: y }; // 11. return (isQR, y) isQR ? y : y*c2\n };\n }\n // No curves uses that\n // if (Fp.ORDER % _8n === _5n) // sqrt_ratio_5mod8\n return sqrtRatio;\n}\n/**\n * From draft-irtf-cfrg-hash-to-curve-16\n */\nexport function mapToCurveSimpleSWU(Fp, opts) {\n mod.validateField(Fp);\n if (!Fp.isValid(opts.A) || !Fp.isValid(opts.B) || !Fp.isValid(opts.Z))\n throw new Error('mapToCurveSimpleSWU: invalid opts');\n const sqrtRatio = SWUFpSqrtRatio(Fp, opts.Z);\n if (!Fp.isOdd)\n throw new Error('Fp.isOdd is not implemented!');\n // Input: u, an element of F.\n // Output: (x, y), a point on E.\n return (u) => {\n // prettier-ignore\n let tv1, tv2, tv3, tv4, tv5, tv6, x, y;\n tv1 = Fp.sqr(u); // 1. tv1 = u^2\n tv1 = Fp.mul(tv1, opts.Z); // 2. tv1 = Z * tv1\n tv2 = Fp.sqr(tv1); // 3. tv2 = tv1^2\n tv2 = Fp.add(tv2, tv1); // 4. tv2 = tv2 + tv1\n tv3 = Fp.add(tv2, Fp.ONE); // 5. tv3 = tv2 + 1\n tv3 = Fp.mul(tv3, opts.B); // 6. tv3 = B * tv3\n tv4 = Fp.cmov(opts.Z, Fp.neg(tv2), !Fp.eql(tv2, Fp.ZERO)); // 7. tv4 = CMOV(Z, -tv2, tv2 != 0)\n tv4 = Fp.mul(tv4, opts.A); // 8. tv4 = A * tv4\n tv2 = Fp.sqr(tv3); // 9. tv2 = tv3^2\n tv6 = Fp.sqr(tv4); // 10. tv6 = tv4^2\n tv5 = Fp.mul(tv6, opts.A); // 11. tv5 = A * tv6\n tv2 = Fp.add(tv2, tv5); // 12. tv2 = tv2 + tv5\n tv2 = Fp.mul(tv2, tv3); // 13. tv2 = tv2 * tv3\n tv6 = Fp.mul(tv6, tv4); // 14. tv6 = tv6 * tv4\n tv5 = Fp.mul(tv6, opts.B); // 15. tv5 = B * tv6\n tv2 = Fp.add(tv2, tv5); // 16. tv2 = tv2 + tv5\n x = Fp.mul(tv1, tv3); // 17. x = tv1 * tv3\n const { isValid, value } = sqrtRatio(tv2, tv6); // 18. (is_gx1_square, y1) = sqrt_ratio(tv2, tv6)\n y = Fp.mul(tv1, u); // 19. y = tv1 * u -> Z * u^3 * y1\n y = Fp.mul(y, value); // 20. y = y * y1\n x = Fp.cmov(x, tv3, isValid); // 21. x = CMOV(x, tv3, is_gx1_square)\n y = Fp.cmov(y, value, isValid); // 22. y = CMOV(y, y1, is_gx1_square)\n const e1 = Fp.isOdd(u) === Fp.isOdd(y); // 23. e1 = sgn0(u) == sgn0(y)\n y = Fp.cmov(Fp.neg(y), y, e1); // 24. y = CMOV(-y, y, e1)\n x = Fp.div(x, tv4); // 25. x = x / tv4\n return { x, y };\n };\n}\n//# sourceMappingURL=weierstrass.js.map","import assert from './_assert.js';\nimport { Hash, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nexport class HMAC extends Hash {\n constructor(hash, _key) {\n super();\n this.finished = false;\n this.destroyed = false;\n assert.hash(hash);\n const key = toBytes(_key);\n this.iHash = hash.create();\n if (typeof this.iHash.update !== 'function')\n throw new Error('Expected instance of class which extends utils.Hash');\n this.blockLen = this.iHash.blockLen;\n this.outputLen = this.iHash.outputLen;\n const blockLen = this.blockLen;\n const pad = new Uint8Array(blockLen);\n // blockLen can be bigger than outputLen\n pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36;\n this.iHash.update(pad);\n // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n this.oHash = hash.create();\n // Undo internal XOR && apply outer XOR\n for (let i = 0; i < pad.length; i++)\n pad[i] ^= 0x36 ^ 0x5c;\n this.oHash.update(pad);\n pad.fill(0);\n }\n update(buf) {\n assert.exists(this);\n this.iHash.update(buf);\n return this;\n }\n digestInto(out) {\n assert.exists(this);\n assert.bytes(out, this.outputLen);\n this.finished = true;\n this.iHash.digestInto(out);\n this.oHash.update(out);\n this.oHash.digestInto(out);\n this.destroy();\n }\n digest() {\n const out = new Uint8Array(this.oHash.outputLen);\n this.digestInto(out);\n return out;\n }\n _cloneInto(to) {\n // Create new instance without calling constructor since key already in state and we don't know it.\n to || (to = Object.create(Object.getPrototypeOf(this), {}));\n const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n to = to;\n to.finished = finished;\n to.destroyed = destroyed;\n to.blockLen = blockLen;\n to.outputLen = outputLen;\n to.oHash = oHash._cloneInto(to.oHash);\n to.iHash = iHash._cloneInto(to.iHash);\n return to;\n }\n destroy() {\n this.destroyed = true;\n this.oHash.destroy();\n this.iHash.destroy();\n }\n}\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash, key, message) => new HMAC(hash, key).update(message).digest();\nhmac.create = (hash, key) => new HMAC(hash, key);\n//# sourceMappingURL=hmac.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { hmac } from '@noble/hashes/hmac';\nimport { concatBytes, randomBytes } from '@noble/hashes/utils';\nimport { weierstrass } from './abstract/weierstrass.js';\n// connects noble-curves to noble-hashes\nexport function getHash(hash) {\n return {\n hash,\n hmac: (key, ...msgs) => hmac(hash, key, concatBytes(...msgs)),\n randomBytes,\n };\n}\nexport function createCurve(curveDef, defHash) {\n const create = (hash) => weierstrass({ ...curveDef, ...getHash(hash) });\n return Object.freeze({ ...create(defHash), create });\n}\n//# sourceMappingURL=_shortw_utils.js.map","/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nimport { sha256 } from '@noble/hashes/sha256';\nimport { randomBytes } from '@noble/hashes/utils';\nimport { Field, mod, pow2 } from './abstract/modular.js';\nimport { mapToCurveSimpleSWU } from './abstract/weierstrass.js';\nimport { bytesToNumberBE, concatBytes, ensureBytes, numberToBytesBE } from './abstract/utils.js';\nimport { createHasher, isogenyMap } from './abstract/hash-to-curve.js';\nimport { createCurve } from './_shortw_utils.js';\nconst secp256k1P = BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f');\nconst secp256k1N = BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141');\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst divNearest = (a, b) => (a + b / _2n) / b;\n/**\n * √n = n^((p+1)/4) for fields p = 3 mod 4. We unwrap the loop and multiply bit-by-bit.\n * (P+1n/4n).toString(2) would produce bits [223x 1, 0, 22x 1, 4x 0, 11, 00]\n */\nfunction sqrtMod(y) {\n const P = secp256k1P;\n // prettier-ignore\n const _3n = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22);\n // prettier-ignore\n const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88);\n const b2 = (y * y * y) % P; // x^3, 11\n const b3 = (b2 * b2 * y) % P; // x^7\n const b6 = (pow2(b3, _3n, P) * b3) % P;\n const b9 = (pow2(b6, _3n, P) * b3) % P;\n const b11 = (pow2(b9, _2n, P) * b2) % P;\n const b22 = (pow2(b11, _11n, P) * b11) % P;\n const b44 = (pow2(b22, _22n, P) * b22) % P;\n const b88 = (pow2(b44, _44n, P) * b44) % P;\n const b176 = (pow2(b88, _88n, P) * b88) % P;\n const b220 = (pow2(b176, _44n, P) * b44) % P;\n const b223 = (pow2(b220, _3n, P) * b3) % P;\n const t1 = (pow2(b223, _23n, P) * b22) % P;\n const t2 = (pow2(t1, _6n, P) * b2) % P;\n const root = pow2(t2, _2n, P);\n if (!Fp.eql(Fp.sqr(root), y))\n throw new Error('Cannot find square root');\n return root;\n}\nconst Fp = Field(secp256k1P, undefined, undefined, { sqrt: sqrtMod });\nexport const secp256k1 = createCurve({\n a: BigInt(0),\n b: BigInt(7),\n Fp,\n n: secp256k1N,\n // Base point (x, y) aka generator point\n Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n h: BigInt(1),\n lowS: true,\n /**\n * secp256k1 belongs to Koblitz curves: it has efficiently computable endomorphism.\n * Endomorphism uses 2x less RAM, speeds up precomputation by 2x and ECDH / key recovery by 20%.\n * For precomputed wNAF it trades off 1/2 init time & 1/3 ram for 20% perf hit.\n * Explanation: https://gist.github.com/paulmillr/eb670806793e84df628a7c434a873066\n */\n endo: {\n beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n splitScalar: (k) => {\n const n = secp256k1N;\n const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n const b2 = a1;\n const POW_2_128 = BigInt('0x100000000000000000000000000000000'); // (2n**128n).toString(16)\n const c1 = divNearest(b2 * k, n);\n const c2 = divNearest(-b1 * k, n);\n let k1 = mod(k - c1 * a1 - c2 * a2, n);\n let k2 = mod(-c1 * b1 - c2 * b2, n);\n const k1neg = k1 > POW_2_128;\n const k2neg = k2 > POW_2_128;\n if (k1neg)\n k1 = n - k1;\n if (k2neg)\n k2 = n - k2;\n if (k1 > POW_2_128 || k2 > POW_2_128) {\n throw new Error('splitScalar: Endomorphism failed, k=' + k);\n }\n return { k1neg, k1, k2neg, k2 };\n },\n },\n}, sha256);\n// Schnorr signatures are superior to ECDSA from above. Below is Schnorr-specific BIP0340 code.\n// https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki\nconst _0n = BigInt(0);\nconst fe = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1P;\nconst ge = (x) => typeof x === 'bigint' && _0n < x && x < secp256k1N;\n/** An object mapping tags to their tagged hash prefix of [SHA256(tag) | SHA256(tag)] */\nconst TAGGED_HASH_PREFIXES = {};\nfunction taggedHash(tag, ...messages) {\n let tagP = TAGGED_HASH_PREFIXES[tag];\n if (tagP === undefined) {\n const tagH = sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n tagP = concatBytes(tagH, tagH);\n TAGGED_HASH_PREFIXES[tag] = tagP;\n }\n return sha256(concatBytes(tagP, ...messages));\n}\n// ECDSA compact points are 33-byte. Schnorr is 32: we strip first byte 0x02 or 0x03\nconst pointToBytes = (point) => point.toRawBytes(true).slice(1);\nconst numTo32b = (n) => numberToBytesBE(n, 32);\nconst modP = (x) => mod(x, secp256k1P);\nconst modN = (x) => mod(x, secp256k1N);\nconst Point = secp256k1.ProjectivePoint;\nconst GmulAdd = (Q, a, b) => Point.BASE.multiplyAndAddUnsafe(Q, a, b);\n// Calculate point, scalar and bytes\nfunction schnorrGetExtPubKey(priv) {\n let d_ = secp256k1.utils.normPrivateKeyToScalar(priv); // same method executed in fromPrivateKey\n let p = Point.fromPrivateKey(d_); // P = d'⋅G; 0 < d' < n check is done inside\n const scalar = p.hasEvenY() ? d_ : modN(-d_);\n return { scalar: scalar, bytes: pointToBytes(p) };\n}\n/**\n * lift_x from BIP340. Convert 32-byte x coordinate to elliptic curve point.\n * @returns valid point checked for being on-curve\n */\nfunction lift_x(x) {\n if (!fe(x))\n throw new Error('bad x: need 0 < x < p'); // Fail if x ≥ p.\n const xx = modP(x * x);\n const c = modP(xx * x + BigInt(7)); // Let c = x³ + 7 mod p.\n let y = sqrtMod(c); // Let y = c^(p+1)/4 mod p.\n if (y % _2n !== _0n)\n y = modP(-y); // Return the unique point P such that x(P) = x and\n const p = new Point(x, y, _1n); // y(P) = y if y mod 2 = 0 or y(P) = p-y otherwise.\n p.assertValidity();\n return p;\n}\n/**\n * Create tagged hash, convert it to bigint, reduce modulo-n.\n */\nfunction challenge(...args) {\n return modN(bytesToNumberBE(taggedHash('BIP0340/challenge', ...args)));\n}\n/**\n * Schnorr public key is just `x` coordinate of Point as per BIP340.\n */\nfunction schnorrGetPublicKey(privateKey) {\n return schnorrGetExtPubKey(privateKey).bytes; // d'=int(sk). Fail if d'=0 or d'≥n. Ret bytes(d'⋅G)\n}\n/**\n * Creates Schnorr signature as per BIP340. Verifies itself before returning anything.\n * auxRand is optional and is not the sole source of k generation: bad CSPRNG won't be dangerous.\n */\nfunction schnorrSign(message, privateKey, auxRand = randomBytes(32)) {\n const m = ensureBytes('message', message);\n const { bytes: px, scalar: d } = schnorrGetExtPubKey(privateKey); // checks for isWithinCurveOrder\n const a = ensureBytes('auxRand', auxRand, 32); // Auxiliary random data a: a 32-byte array\n const t = numTo32b(d ^ bytesToNumberBE(taggedHash('BIP0340/aux', a))); // Let t be the byte-wise xor of bytes(d) and hash/aux(a)\n const rand = taggedHash('BIP0340/nonce', t, px, m); // Let rand = hash/nonce(t || bytes(P) || m)\n const k_ = modN(bytesToNumberBE(rand)); // Let k' = int(rand) mod n\n if (k_ === _0n)\n throw new Error('sign failed: k is zero'); // Fail if k' = 0.\n const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); // Let R = k'⋅G.\n const e = challenge(rx, px, m); // Let e = int(hash/challenge(bytes(R) || bytes(P) || m)) mod n.\n const sig = new Uint8Array(64); // Let sig = bytes(R) || bytes((k + ed) mod n).\n sig.set(rx, 0);\n sig.set(numTo32b(modN(k + e * d)), 32);\n // If Verify(bytes(P), m, sig) (see below) returns failure, abort\n if (!schnorrVerify(sig, m, px))\n throw new Error('sign: Invalid signature produced');\n return sig;\n}\n/**\n * Verifies Schnorr signature.\n * Will swallow errors & return false except for initial type validation of arguments.\n */\nfunction schnorrVerify(signature, message, publicKey) {\n const sig = ensureBytes('signature', signature, 64);\n const m = ensureBytes('message', message);\n const pub = ensureBytes('publicKey', publicKey, 32);\n try {\n const P = lift_x(bytesToNumberBE(pub)); // P = lift_x(int(pk)); fail if that fails\n const r = bytesToNumberBE(sig.subarray(0, 32)); // Let r = int(sig[0:32]); fail if r ≥ p.\n if (!fe(r))\n return false;\n const s = bytesToNumberBE(sig.subarray(32, 64)); // Let s = int(sig[32:64]); fail if s ≥ n.\n if (!ge(s))\n return false;\n const e = challenge(numTo32b(r), pointToBytes(P), m); // int(challenge(bytes(r)||bytes(P)||m))%n\n const R = GmulAdd(P, s, modN(-e)); // R = s⋅G - e⋅P\n if (!R || !R.hasEvenY() || R.toAffine().x !== r)\n return false; // -eP == (n-e)P\n return true; // Fail if is_infinite(R) / not has_even_y(R) / x(R) ≠ r.\n }\n catch (error) {\n return false;\n }\n}\nexport const schnorr = /* @__PURE__ */ (() => ({\n getPublicKey: schnorrGetPublicKey,\n sign: schnorrSign,\n verify: schnorrVerify,\n utils: {\n randomPrivateKey: secp256k1.utils.randomPrivateKey,\n lift_x,\n pointToBytes,\n numberToBytesBE,\n bytesToNumberBE,\n taggedHash,\n mod,\n },\n}))();\nconst isoMap = /* @__PURE__ */ (() => isogenyMap(Fp, [\n // xNum\n [\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7',\n '0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581',\n '0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262',\n '0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c',\n ],\n // xDen\n [\n '0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b',\n '0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n // yNum\n [\n '0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c',\n '0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3',\n '0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931',\n '0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84',\n ],\n // yDen\n [\n '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b',\n '0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573',\n '0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f',\n '0x0000000000000000000000000000000000000000000000000000000000000001', // LAST 1\n ],\n].map((i) => i.map((j) => BigInt(j)))))();\nconst mapSWU = /* @__PURE__ */ (() => mapToCurveSimpleSWU(Fp, {\n A: BigInt('0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533'),\n B: BigInt('1771'),\n Z: Fp.create(BigInt('-11')),\n}))();\nconst htf = /* @__PURE__ */ (() => createHasher(secp256k1.ProjectivePoint, (scalars) => {\n const { x, y } = mapSWU(Fp.create(scalars[0]));\n return isoMap(x, y);\n}, {\n DST: 'secp256k1_XMD:SHA-256_SSWU_RO_',\n encodeDST: 'secp256k1_XMD:SHA-256_SSWU_NU_',\n p: Fp.ORDER,\n m: 1,\n k: 128,\n expand: 'xmd',\n hash: sha256,\n}))();\nexport const hashToCurve = /* @__PURE__ */ (() => htf.hashToCurve)();\nexport const encodeToCurve = /* @__PURE__ */ (() => htf.encodeToCurve)();\n//# sourceMappingURL=secp256k1.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { hexToBigInt } from '../../utils/encoding/fromHex.js';\nimport { toHex } from '../../utils/encoding/toHex.js';\n/**\n * @description Converts a signature into hex format.\n *\n * @param signature The signature to convert.\n * @returns The signature in hex format.\n *\n * @example\n * signatureToHex({\n * r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',\n * s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',\n * v: 28n\n * })\n * // \"0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c\"\n */\nexport function signatureToHex({ r, s, v }) {\n return `0x${new secp256k1.Signature(hexToBigInt(r), hexToBigInt(s)).toCompactHex()}${toHex(v).slice(2)}`;\n}\n//# sourceMappingURL=signatureToHex.js.map","function t(r,e){throw new Error(e??`Unexpected value: ${r}`)}function o(...r){return r.reduce((e,n)=>n>e?n:e)}function u(...r){return r.reduce((e,n)=>ne?1:0}function*f(r,e){for(let n=0;nr(...e,...n)}function P(r){return r!==void 0}function g(r){return r!==null}function b(r){return new Promise(e=>setTimeout(()=>e(),r))}function T(){return new Promise(r=>{requestIdleCallback(()=>r())})}export{t as assertExhaustive,o as bigIntMax,u as bigIntMin,m as bigIntSort,f as chunk,d as curry,P as isDefined,g as isNotNull,b as wait,T as waitForIdle};\n//# sourceMappingURL=utils.js.map","var r=class extends Error{name=\"MUDError\"};export{r as a};\n//# sourceMappingURL=chunk-UPQEB2HW.js.map","import{isDynamicAbiType as C}from\"@latticexyz/schema-type\";function ne(e){let t=[],s=[];for(let i of e)C(i)?s.push(i):t.push(i);return{staticFields:t,dynamicFields:s}}import{hexToString as K,sliceHex as N}from\"viem\";import{assertExhaustive as R}from\"@latticexyz/common/utils\";import{arrayAbiTypeToStaticAbiType as W,staticAbiTypeToByteLength as _}from\"@latticexyz/schema-type\";import{getAddress as V,hexToBigInt as j,hexToBool as z}from\"viem\";import{assertExhaustive as O}from\"@latticexyz/common/utils\";import{staticAbiTypeToByteLength as U,staticAbiTypeToDefaultValue as M}from\"@latticexyz/schema-type\";import{MUDError as u}from\"@latticexyz/common/errors\";import{staticAbiTypeToByteLength as L}from\"@latticexyz/schema-type\";var d=class extends u{name=\"InvalidHexValueError\";constructor(t){super(`Hex value \"${t}\" is an odd length (${t.length-2}). It must be an even length.`)}},f=class extends u{name=\"InvalidHexLengthForSchemaError\";constructor(t){super(`Hex value \"${t}\" has length of ${t.length-2}, but expected length of 64 for a schema.`)}},x=class extends u{name=\"InvalidHexLengthForPackedCounterError\";constructor(t){super(`Hex value \"${t}\" has length of ${t.length-2}, but expected length of 64 for a packed counter.`)}},g=class extends u{name=\"InvalidHexLengthForStaticFieldError\";constructor(t,s){super(`Hex value \"${s}\" has length of ${s.length-2}, but expected length of ${L[t]*2} for ${t} type.`)}},S=class extends u{name=\"InvalidHexLengthForArrayFieldError\";constructor(t,s){super(`Hex value \"${s}\" has length of ${s.length-2}, but expected a multiple of ${L[t]*2} for ${t}[] type.`)}},A=class extends u{name=\"SchemaStaticLengthMismatchError\";constructor(t,s,i){super(`Schema \"${t}\" static data length (${s}) did not match the summed length of all static fields (${i}). Is \\`staticAbiTypeToByteLength\\` up to date with Solidity schema types?`)}},v=class extends u{name=\"PackedCounterLengthMismatchError\";constructor(t,s,i){super(`PackedCounter \"${t}\" total bytes length (${s}) did not match the summed length of all field byte lengths (${i}).`)}};function p(e,t){if(t.length>3&&t.length%2!==0)throw new d(t);if((t.length-2)/2!==U[e])throw new g(e,t);switch(e){case\"uint8\":case\"uint16\":case\"uint24\":case\"uint32\":case\"uint40\":case\"uint48\":case\"uint56\":case\"uint64\":case\"uint72\":case\"uint80\":case\"uint88\":case\"uint96\":case\"uint104\":case\"uint112\":case\"uint120\":case\"uint128\":case\"uint136\":case\"uint144\":case\"uint152\":case\"uint160\":case\"uint168\":case\"uint176\":case\"uint184\":case\"uint192\":case\"uint200\":case\"uint208\":case\"uint216\":case\"uint224\":case\"uint232\":case\"uint240\":case\"uint248\":case\"uint256\":case\"int8\":case\"int16\":case\"int24\":case\"int32\":case\"int40\":case\"int48\":case\"int56\":case\"int64\":case\"int72\":case\"int80\":case\"int88\":case\"int96\":case\"int104\":case\"int112\":case\"int120\":case\"int128\":case\"int136\":case\"int144\":case\"int152\":case\"int160\":case\"int168\":case\"int176\":case\"int184\":case\"int192\":case\"int200\":case\"int208\":case\"int216\":case\"int224\":case\"int232\":case\"int240\":case\"int248\":case\"int256\":{let i=j(t,{signed:e.startsWith(\"int\")}),a=typeof M[e];if(a===\"number\")return Number(i);if(a===\"bigint\")return i;throw new Error(`Unexpected default value type (${a}) for ABI type (${e})`)}case\"bytes1\":case\"bytes2\":case\"bytes3\":case\"bytes4\":case\"bytes5\":case\"bytes6\":case\"bytes7\":case\"bytes8\":case\"bytes9\":case\"bytes10\":case\"bytes11\":case\"bytes12\":case\"bytes13\":case\"bytes14\":case\"bytes15\":case\"bytes16\":case\"bytes17\":case\"bytes18\":case\"bytes19\":case\"bytes20\":case\"bytes21\":case\"bytes22\":case\"bytes23\":case\"bytes24\":case\"bytes25\":case\"bytes26\":case\"bytes27\":case\"bytes28\":case\"bytes29\":case\"bytes30\":case\"bytes31\":case\"bytes32\":return t;case\"bool\":return z(t);case\"address\":return V(t)}return O(e,`Unsupported static ABI type: ${e}`)}function h(e,t){if(e===\"bytes\")return t;if(e===\"string\")return K(t);if(t.length>3&&t.length%2!==0)throw new d(t);let s=(t.length-2)/2;switch(e){case\"uint8[]\":case\"uint16[]\":case\"uint24[]\":case\"uint32[]\":case\"uint40[]\":case\"uint48[]\":case\"uint56[]\":case\"uint64[]\":case\"uint72[]\":case\"uint80[]\":case\"uint88[]\":case\"uint96[]\":case\"uint104[]\":case\"uint112[]\":case\"uint120[]\":case\"uint128[]\":case\"uint136[]\":case\"uint144[]\":case\"uint152[]\":case\"uint160[]\":case\"uint168[]\":case\"uint176[]\":case\"uint184[]\":case\"uint192[]\":case\"uint200[]\":case\"uint208[]\":case\"uint216[]\":case\"uint224[]\":case\"uint232[]\":case\"uint240[]\":case\"uint248[]\":case\"uint256[]\":case\"int8[]\":case\"int16[]\":case\"int24[]\":case\"int32[]\":case\"int40[]\":case\"int48[]\":case\"int56[]\":case\"int64[]\":case\"int72[]\":case\"int80[]\":case\"int88[]\":case\"int96[]\":case\"int104[]\":case\"int112[]\":case\"int120[]\":case\"int128[]\":case\"int136[]\":case\"int144[]\":case\"int152[]\":case\"int160[]\":case\"int168[]\":case\"int176[]\":case\"int184[]\":case\"int192[]\":case\"int200[]\":case\"int208[]\":case\"int216[]\":case\"int224[]\":case\"int232[]\":case\"int240[]\":case\"int248[]\":case\"int256[]\":case\"bytes1[]\":case\"bytes2[]\":case\"bytes3[]\":case\"bytes4[]\":case\"bytes5[]\":case\"bytes6[]\":case\"bytes7[]\":case\"bytes8[]\":case\"bytes9[]\":case\"bytes10[]\":case\"bytes11[]\":case\"bytes12[]\":case\"bytes13[]\":case\"bytes14[]\":case\"bytes15[]\":case\"bytes16[]\":case\"bytes17[]\":case\"bytes18[]\":case\"bytes19[]\":case\"bytes20[]\":case\"bytes21[]\":case\"bytes22[]\":case\"bytes23[]\":case\"bytes24[]\":case\"bytes25[]\":case\"bytes26[]\":case\"bytes27[]\":case\"bytes28[]\":case\"bytes29[]\":case\"bytes30[]\":case\"bytes31[]\":case\"bytes32[]\":case\"bool[]\":case\"address[]\":{let i=W(e),a=_[i];if(s%a!==0)throw new S(i,t);return new Array(s/a).fill(void 0).map((n,c)=>{let r=N(t,c*a,(c+1)*a);return p(i,r)})}}return R(e,`Unsupported dynamic ABI type: ${e}`)}import{isDynamicAbiType as q}from\"@latticexyz/schema-type\";function ke(e,t){return q(e)?h(e,t):p(e,t)}import{decodeAbiParameters as G}from\"viem\";function ze(e,t){if(e.staticFields.length!==t.length)throw new Error(`key tuple length ${t.length} does not match key schema length ${e.staticFields.length}`);return t.map((s,i)=>G([{type:e.staticFields[i]}],s)[0])}import{staticAbiTypeToByteLength as Q,dynamicAbiTypeToDefaultValue as X}from\"@latticexyz/schema-type\";import{sliceHex as H}from\"viem\";import{sliceHex as $}from\"viem\";function B(e){if(e.length!==66)throw new x(e);let t=p(\"uint56\",$(e,32-7,32)),s=h(\"uint40[]\",$(e,0,32-7)),i=Object.freeze([...s].reverse()),a=BigInt(i.reduce((m,n)=>m+n,0));if(a!==t)throw new v(e,t,a);return{totalByteLength:t,fieldByteLengths:i}}import{staticAbiTypeToByteLength as J}from\"@latticexyz/schema-type\";function P(e){return e.reduce((t,s)=>t+J[s],0)}function ct(e,t){let s=[],i=0;e.staticFields.forEach(n=>{let c=Q[n],r=p(n,H(t,i,i+c));i+=c,s.push(r)});let a=P(e.staticFields),m=i;if(m!==a&&console.warn(\"Decoded static data length does not match schema's expected static data length. Data may get corrupted. Is `getStaticByteLength` outdated?\",{expectedLength:a,actualLength:m,bytesOffset:i}),e.dynamicFields.length>0){let n=B(H(t,i,i+32));i+=32,e.dynamicFields.forEach((r,F)=>{let o=n.fieldByteLengths[F];if(o>0){let y=h(r,H(t,i,i+o));i+=o,s.push(y)}else s.push(X[r])});let c=i-32-m;BigInt(c)!==n.totalByteLength&&console.warn(\"Decoded dynamic data length does not match data layout's expected data length. Data may get corrupted. Did the data layout change?\",{expectedLength:n.totalByteLength,actualLength:c,bytesOffset:i})}return s}import{arrayAbiTypeToStaticAbiType as Y,isArrayAbiType as Z}from\"@latticexyz/schema-type\";import{encodePacked as w}from\"viem\";function l(e,t){if(Z(e)&&Array.isArray(t)){let s=Y(e);return w(t.map(()=>s),t)}return w([e],[t])}import{encodeAbiParameters as ee}from\"viem\";function dt(e,t){return t.map((s,i)=>ee([{type:e.staticFields[i]}],[s]))}function Tt(e,t){let s=t.slice(0,e.staticFields.length),i=t.slice(e.staticFields.length),a=s.map((o,y)=>l(e.staticFields[y],o).replace(/^0x/,\"\")).join(\"\");if(e.dynamicFields.length===0)return`0x${a}`;let m=i.map((o,y)=>l(e.dynamicFields[y],o).replace(/^0x/,\"\")),n=m.map(o=>o.length/2),c=n.reduce((o,y)=>o+BigInt(y),0n),r=m.join(\"\"),F=`${l(\"uint56\",c).replace(/^0x/,\"\")}${n.map(o=>l(\"uint40\",o).replace(/^0x/,\"\")).join(\"\")}`.padEnd(64,\"0\");return`0x${a}${F}${r}`}import{schemaAbiTypes as I,staticAbiTypeToByteLength as te}from\"@latticexyz/schema-type\";import{hexToNumber as T,sliceHex as b}from\"viem\";function D(e){if(e.length!==66)throw new f(e);let t=T(b(e,0,2)),s=T(b(e,2,3)),i=T(b(e,3,4)),a=[],m=[];for(let c=4;c<4+s;c++){let r=T(b(e,c,c+1));a.push(I[r])}for(let c=4+s;c<4+s+i;c++){let r=T(b(e,c,c+1));m.push(I[r])}let n=a.reduce((c,r)=>c+te[r],0);if(n!==t)throw console.warn(`Schema \"${e}\" static data length (${t}) did not match the summed length of all static fields (${n}). Is \\`staticAbiTypeToByteLength\\` up to date with Solidity schema types?`),new A(e,t,n);return{staticFields:a,dynamicFields:m}}import{sliceHex as E}from\"viem\";function Lt(e){let t=D(E(e,0,32));return{keySchema:D(E(e,32,64)),valueSchema:t}}function Bt(e,t){return tk.indexOf(i)),s=e.dynamicFields.map(i=>k.indexOf(i));return`0x${[P(e.staticFields).toString(16).padStart(4,\"0\"),e.staticFields.length.toString(16).padStart(2,\"0\"),e.dynamicFields.length.toString(16).padStart(2,\"0\"),...t.map(i=>i.toString(16).padStart(2,\"0\")),...s.map(i=>i.toString(16).padStart(2,\"0\"))].join(\"\").padEnd(64,\"0\")}`}export{d as InvalidHexLengthError,S as InvalidHexLengthForArrayFieldError,x as InvalidHexLengthForPackedCounterError,f as InvalidHexLengthForSchemaError,g as InvalidHexLengthForStaticFieldError,v as PackedCounterLengthMismatchError,A as SchemaStaticLengthMismatchError,ne as abiTypesToSchema,h as decodeDynamicField,ke as decodeField,ze as decodeKeyTuple,ct as decodeRecord,p as decodeStaticField,l as encodeField,dt as encodeKeyTuple,Tt as encodeRecord,B as hexToPackedCounter,D as hexToSchema,Lt as hexToTableSchema,Bt as schemaIndexToAbiType,kt as schemaToHex,P as staticDataLength};\n//# sourceMappingURL=index.js.map","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { toHex } from '../utils/encoding/toHex.js';\n/**\n * @description Generates a random private key.\n *\n * @returns A randomly generated private key.\n */\nexport function generatePrivateKey() {\n return toHex(secp256k1.utils.randomPrivateKey());\n}\n//# sourceMappingURL=generatePrivateKey.js.map","import { InvalidAddressError } from '../errors/address.js';\nimport { isAddress } from '../utils/address/isAddress.js';\n/**\n * @description Creates an Account from a custom signing implementation.\n *\n * @returns A Local Account.\n */\nexport function toAccount(source) {\n if (typeof source === 'string') {\n if (!isAddress(source))\n throw new InvalidAddressError({ address: source });\n return {\n address: source,\n type: 'json-rpc',\n };\n }\n if (!isAddress(source.address))\n throw new InvalidAddressError({ address: source.address });\n return {\n address: source.address,\n signMessage: source.signMessage,\n signTransaction: source.signTransaction,\n signTypedData: source.signTypedData,\n source: 'custom',\n type: 'local',\n };\n}\n//# sourceMappingURL=toAccount.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { toHex } from '../../utils/encoding/toHex.js';\n/**\n * @description Signs a hash with a given private key.\n *\n * @param hash The hash to sign.\n * @param privateKey The private key to sign with.\n *\n * @returns The signature.\n */\nexport async function sign({ hash, privateKey, }) {\n const { r, s, recovery } = secp256k1.sign(hash.slice(2), privateKey.slice(2));\n return {\n r: toHex(r),\n s: toHex(s),\n v: recovery ? 28n : 27n,\n };\n}\n//# sourceMappingURL=sign.js.map","import { hashMessage } from '../../utils/signature/hashMessage.js';\nimport { signatureToHex } from '../../utils/signature/signatureToHex.js';\nimport { sign } from './sign.js';\n/**\n * @description Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191):\n * `keccak256(\"\\x19Ethereum Signed Message:\\n\" + len(message) + message))`.\n *\n * @returns The signature.\n */\nexport async function signMessage({ message, privateKey, }) {\n const signature = await sign({ hash: hashMessage(message), privateKey });\n return signatureToHex(signature);\n}\n//# sourceMappingURL=signMessage.js.map","import { keccak256 } from '../../utils/hash/keccak256.js';\nimport { serializeTransaction, } from '../../utils/transaction/serializeTransaction.js';\nimport { sign } from './sign.js';\nexport async function signTransaction({ privateKey, transaction, serializer = serializeTransaction, }) {\n const signature = await sign({\n hash: keccak256(serializer(transaction)),\n privateKey,\n });\n return serializer(transaction, signature);\n}\n//# sourceMappingURL=signTransaction.js.map","import { hashTypedData, } from '../../utils/signature/hashTypedData.js';\nimport { signatureToHex } from '../../utils/signature/signatureToHex.js';\nimport { sign } from './sign.js';\n/**\n * @description Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191):\n * `keccak256(\"\\x19Ethereum Signed Message:\\n\" + len(message) + message))`.\n *\n * @returns The signature.\n */\nexport async function signTypedData({ privateKey, ...typedData }) {\n const signature = await sign({\n hash: hashTypedData(typedData),\n privateKey,\n });\n return signatureToHex(signature);\n}\n//# sourceMappingURL=signTypedData.js.map","import { secp256k1 } from '@noble/curves/secp256k1';\nimport { toHex } from '../utils/encoding/toHex.js';\nimport { toAccount } from './toAccount.js';\nimport { publicKeyToAddress } from './utils/publicKeyToAddress.js';\nimport { signMessage } from './utils/signMessage.js';\nimport { signTransaction } from './utils/signTransaction.js';\nimport { signTypedData } from './utils/signTypedData.js';\n/**\n * @description Creates an Account from a private key.\n *\n * @returns A Private Key Account.\n */\nexport function privateKeyToAccount(privateKey) {\n const publicKey = toHex(secp256k1.getPublicKey(privateKey.slice(2), false));\n const address = publicKeyToAddress(publicKey);\n const account = toAccount({\n address,\n async signMessage({ message }) {\n return signMessage({ message, privateKey });\n },\n async signTransaction(transaction, { serializer } = {}) {\n return signTransaction({ privateKey, transaction, serializer });\n },\n async signTypedData(typedData) {\n return signTypedData({ ...typedData, privateKey });\n },\n });\n return {\n ...account,\n publicKey,\n source: 'privateKey',\n };\n}\n//# sourceMappingURL=privateKeyToAccount.js.map","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","module.exports = require('./lib/retry');","import retry from 'retry';\n\nconst networkErrorMsgs = new Set([\n\t'Failed to fetch', // Chrome\n\t'NetworkError when attempting to fetch resource.', // Firefox\n\t'The Internet connection appears to be offline.', // Safari\n\t'Network request failed', // `cross-fetch`\n\t'fetch failed', // Undici (Node.js)\n]);\n\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\nconst decorateErrorWithCounts = (error, attemptNumber, options) => {\n\t// Minus 1 from attemptNumber because the first attempt does not count as a retry\n\tconst retriesLeft = options.retries - (attemptNumber - 1);\n\n\terror.attemptNumber = attemptNumber;\n\terror.retriesLeft = retriesLeft;\n\treturn error;\n};\n\nconst isNetworkError = errorMessage => networkErrorMsgs.has(errorMessage);\n\nconst getDOMException = errorMessage => globalThis.DOMException === undefined\n\t? new Error(errorMessage)\n\t: new DOMException(errorMessage);\n\nexport default async function pRetry(input, options) {\n\treturn new Promise((resolve, reject) => {\n\t\toptions = {\n\t\t\tonFailedAttempt() {},\n\t\t\tretries: 10,\n\t\t\t...options,\n\t\t};\n\n\t\tconst operation = retry.operation(options);\n\n\t\toperation.attempt(async attemptNumber => {\n\t\t\ttry {\n\t\t\t\tresolve(await input(attemptNumber));\n\t\t\t} catch (error) {\n\t\t\t\tif (!(error instanceof Error)) {\n\t\t\t\t\treject(new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (error instanceof AbortError) {\n\t\t\t\t\toperation.stop();\n\t\t\t\t\treject(error.originalError);\n\t\t\t\t} else if (error instanceof TypeError && !isNetworkError(error.message)) {\n\t\t\t\t\toperation.stop();\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tdecorateErrorWithCounts(error, attemptNumber, options);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait options.onFailedAttempt(error);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!operation.retry(error)) {\n\t\t\t\t\t\treject(operation.mainError());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (options.signal && !options.signal.aborted) {\n\t\t\toptions.signal.addEventListener('abort', () => {\n\t\t\t\toperation.stop();\n\t\t\t\tconst reason = options.signal.reason === undefined\n\t\t\t\t\t? getDOMException('The operation was aborted.')\n\t\t\t\t\t: options.signal.reason;\n\t\t\t\treject(reason instanceof Error ? reason : getDOMException(reason));\n\t\t\t}, {\n\t\t\t\tonce: true,\n\t\t\t});\n\t\t}\n\t});\n}\n","import{privateKeyToAccount as W}from\"viem/accounts\";function J(e){return{...W(e)}}import{getContract as M}from\"viem\";import O from\"p-retry\";import{BaseError as k,NonceTooHighError as R,NonceTooLowError as v}from\"viem\";import H from\"debug\";var p=H(\"mud:common\");var x=p.extend(\"createNonceManager\");function b({publicClient:e,address:t,blockTag:r}){let n={current:-1},a=typeof BroadcastChannel<\"u\"?new BroadcastChannel(`mud:createNonceManager:${e.chain?.id}:${t}`):null;a&&a.addEventListener(\"message\",o=>{let T=JSON.parse(o.data);x(\"got nonce from broadcast channel\",T),n.current=T});function c(){return n.current>=0}function d(){if(!c())throw new Error(\"call resetNonce before using nextNonce\");let o=n.current++;return a?.postMessage(JSON.stringify(n.current)),o}async function u(){let o=await e.getTransactionCount({address:t,blockTag:r});n.current=o,a?.postMessage(JSON.stringify(n.current)),x(\"reset nonce to\",n.current)}function C(o){return o instanceof k&&o.walk(T=>T instanceof v||T instanceof R)!=null}return{hasNonce:c,nextNonce:d,resetNonce:u,shouldResetNonce:C}}var m=p.extend(\"createContract\");function E(e){let t=e.length&&Array.isArray(e[0]),r=t?e[0]:[],n=(t?e[1]:e[0])??{};return{args:r,options:n}}function me({abi:e,address:t,publicClient:r,walletClient:n,onWrite:a}){let c=M({abi:e,address:t,publicClient:r,walletClient:n});if(c.write){let d=0,u=b({publicClient:r,address:n.account.address});c.write=new Proxy({},{get(C,o){async function T(s){if(s.gas)return m(\"gas provided, skipping simulate\",o,s),s;m(\"simulating write\",o,s);let{request:l}=await r.simulateContract({...s,account:s.account??n.account});return l}async function w(s){let l=await T(s);return await O(async()=>{u.hasNonce()||await u.resetNonce();let i=u.nextNonce();return m(\"calling write function with nonce\",i,l),await n.writeContract({nonce:i,...l})},{retries:3,onFailedAttempt:async i=>{if(u.shouldResetNonce(i)){m(\"got nonce error, retrying\",i),await u.resetNonce();return}throw i}})}return(...s)=>{let l=`${n.chain.id}:${n.account.address}:${d++}`,{args:i,options:N}=E(s),f={address:t,abi:e,functionName:o,args:i,...N},g=w(f);return a?.({id:l,request:f,result:g}),g}}})}return c}import{generatePrivateKey as S,privateKeyToAccount as A}from\"viem/accounts\";import{isHex as $}from\"viem\";function B(e,t){if(!$(e))throw console.error(\"Private key found in cache is not valid hex\",{privateKey:e,cacheKey:t}),new Error(`Private key found in cache (${t}) is not valid hex`);A(e)}function be(e=\"mud:burnerWallet\"){let t=localStorage.getItem(e);if(t!=null)return B(t,e),t;let r=S();return console.log(\"New burner wallet created:\",A(r)),localStorage.setItem(e,r),r}import{hexToString as h,sliceHex as P}from\"viem\";function ye(e){let t=h(P(e,0,16)).replace(/\\0+$/,\"\"),r=h(P(e,16,32)).replace(/\\0+$/,\"\");return{namespace:t,name:r}}import{stringToHex as y,concatHex as G}from\"viem\";function He(e,t){return G([y(e.substring(0,16),{size:16}),y(t.substring(0,16),{size:16})])}import{keccak256 as q}from\"viem\";var I=p.extend(\"transportObserver\");function Ee(e){return t=>{let r=e(t);return{...r,request:async a=>{if(a.method===\"eth_sendRawTransaction\"&&a.params instanceof Array){let c=a.params.map(d=>q(d));I(\"saw txs\",c)}return r.request(a)}}}}export{J as createBurnerAccount,me as createContract,b as createNonceManager,be as getBurnerPrivateKey,ye as hexToTableId,He as tableIdToHex,Ee as transportObserver};\n//# sourceMappingURL=index.js.map","var I=(t=>(t[t.UINT8=0]=\"UINT8\",t[t.UINT16=1]=\"UINT16\",t[t.UINT24=2]=\"UINT24\",t[t.UINT32=3]=\"UINT32\",t[t.UINT40=4]=\"UINT40\",t[t.UINT48=5]=\"UINT48\",t[t.UINT56=6]=\"UINT56\",t[t.UINT64=7]=\"UINT64\",t[t.UINT72=8]=\"UINT72\",t[t.UINT80=9]=\"UINT80\",t[t.UINT88=10]=\"UINT88\",t[t.UINT96=11]=\"UINT96\",t[t.UINT104=12]=\"UINT104\",t[t.UINT112=13]=\"UINT112\",t[t.UINT120=14]=\"UINT120\",t[t.UINT128=15]=\"UINT128\",t[t.UINT136=16]=\"UINT136\",t[t.UINT144=17]=\"UINT144\",t[t.UINT152=18]=\"UINT152\",t[t.UINT160=19]=\"UINT160\",t[t.UINT168=20]=\"UINT168\",t[t.UINT176=21]=\"UINT176\",t[t.UINT184=22]=\"UINT184\",t[t.UINT192=23]=\"UINT192\",t[t.UINT200=24]=\"UINT200\",t[t.UINT208=25]=\"UINT208\",t[t.UINT216=26]=\"UINT216\",t[t.UINT224=27]=\"UINT224\",t[t.UINT232=28]=\"UINT232\",t[t.UINT240=29]=\"UINT240\",t[t.UINT248=30]=\"UINT248\",t[t.UINT256=31]=\"UINT256\",t[t.INT8=32]=\"INT8\",t[t.INT16=33]=\"INT16\",t[t.INT24=34]=\"INT24\",t[t.INT32=35]=\"INT32\",t[t.INT40=36]=\"INT40\",t[t.INT48=37]=\"INT48\",t[t.INT56=38]=\"INT56\",t[t.INT64=39]=\"INT64\",t[t.INT72=40]=\"INT72\",t[t.INT80=41]=\"INT80\",t[t.INT88=42]=\"INT88\",t[t.INT96=43]=\"INT96\",t[t.INT104=44]=\"INT104\",t[t.INT112=45]=\"INT112\",t[t.INT120=46]=\"INT120\",t[t.INT128=47]=\"INT128\",t[t.INT136=48]=\"INT136\",t[t.INT144=49]=\"INT144\",t[t.INT152=50]=\"INT152\",t[t.INT160=51]=\"INT160\",t[t.INT168=52]=\"INT168\",t[t.INT176=53]=\"INT176\",t[t.INT184=54]=\"INT184\",t[t.INT192=55]=\"INT192\",t[t.INT200=56]=\"INT200\",t[t.INT208=57]=\"INT208\",t[t.INT216=58]=\"INT216\",t[t.INT224=59]=\"INT224\",t[t.INT232=60]=\"INT232\",t[t.INT240=61]=\"INT240\",t[t.INT248=62]=\"INT248\",t[t.INT256=63]=\"INT256\",t[t.BYTES1=64]=\"BYTES1\",t[t.BYTES2=65]=\"BYTES2\",t[t.BYTES3=66]=\"BYTES3\",t[t.BYTES4=67]=\"BYTES4\",t[t.BYTES5=68]=\"BYTES5\",t[t.BYTES6=69]=\"BYTES6\",t[t.BYTES7=70]=\"BYTES7\",t[t.BYTES8=71]=\"BYTES8\",t[t.BYTES9=72]=\"BYTES9\",t[t.BYTES10=73]=\"BYTES10\",t[t.BYTES11=74]=\"BYTES11\",t[t.BYTES12=75]=\"BYTES12\",t[t.BYTES13=76]=\"BYTES13\",t[t.BYTES14=77]=\"BYTES14\",t[t.BYTES15=78]=\"BYTES15\",t[t.BYTES16=79]=\"BYTES16\",t[t.BYTES17=80]=\"BYTES17\",t[t.BYTES18=81]=\"BYTES18\",t[t.BYTES19=82]=\"BYTES19\",t[t.BYTES20=83]=\"BYTES20\",t[t.BYTES21=84]=\"BYTES21\",t[t.BYTES22=85]=\"BYTES22\",t[t.BYTES23=86]=\"BYTES23\",t[t.BYTES24=87]=\"BYTES24\",t[t.BYTES25=88]=\"BYTES25\",t[t.BYTES26=89]=\"BYTES26\",t[t.BYTES27=90]=\"BYTES27\",t[t.BYTES28=91]=\"BYTES28\",t[t.BYTES29=92]=\"BYTES29\",t[t.BYTES30=93]=\"BYTES30\",t[t.BYTES31=94]=\"BYTES31\",t[t.BYTES32=95]=\"BYTES32\",t[t.BOOL=96]=\"BOOL\",t[t.ADDRESS=97]=\"ADDRESS\",t[t.UINT8_ARRAY=98]=\"UINT8_ARRAY\",t[t.UINT16_ARRAY=99]=\"UINT16_ARRAY\",t[t.UINT24_ARRAY=100]=\"UINT24_ARRAY\",t[t.UINT32_ARRAY=101]=\"UINT32_ARRAY\",t[t.UINT40_ARRAY=102]=\"UINT40_ARRAY\",t[t.UINT48_ARRAY=103]=\"UINT48_ARRAY\",t[t.UINT56_ARRAY=104]=\"UINT56_ARRAY\",t[t.UINT64_ARRAY=105]=\"UINT64_ARRAY\",t[t.UINT72_ARRAY=106]=\"UINT72_ARRAY\",t[t.UINT80_ARRAY=107]=\"UINT80_ARRAY\",t[t.UINT88_ARRAY=108]=\"UINT88_ARRAY\",t[t.UINT96_ARRAY=109]=\"UINT96_ARRAY\",t[t.UINT104_ARRAY=110]=\"UINT104_ARRAY\",t[t.UINT112_ARRAY=111]=\"UINT112_ARRAY\",t[t.UINT120_ARRAY=112]=\"UINT120_ARRAY\",t[t.UINT128_ARRAY=113]=\"UINT128_ARRAY\",t[t.UINT136_ARRAY=114]=\"UINT136_ARRAY\",t[t.UINT144_ARRAY=115]=\"UINT144_ARRAY\",t[t.UINT152_ARRAY=116]=\"UINT152_ARRAY\",t[t.UINT160_ARRAY=117]=\"UINT160_ARRAY\",t[t.UINT168_ARRAY=118]=\"UINT168_ARRAY\",t[t.UINT176_ARRAY=119]=\"UINT176_ARRAY\",t[t.UINT184_ARRAY=120]=\"UINT184_ARRAY\",t[t.UINT192_ARRAY=121]=\"UINT192_ARRAY\",t[t.UINT200_ARRAY=122]=\"UINT200_ARRAY\",t[t.UINT208_ARRAY=123]=\"UINT208_ARRAY\",t[t.UINT216_ARRAY=124]=\"UINT216_ARRAY\",t[t.UINT224_ARRAY=125]=\"UINT224_ARRAY\",t[t.UINT232_ARRAY=126]=\"UINT232_ARRAY\",t[t.UINT240_ARRAY=127]=\"UINT240_ARRAY\",t[t.UINT248_ARRAY=128]=\"UINT248_ARRAY\",t[t.UINT256_ARRAY=129]=\"UINT256_ARRAY\",t[t.INT8_ARRAY=130]=\"INT8_ARRAY\",t[t.INT16_ARRAY=131]=\"INT16_ARRAY\",t[t.INT24_ARRAY=132]=\"INT24_ARRAY\",t[t.INT32_ARRAY=133]=\"INT32_ARRAY\",t[t.INT40_ARRAY=134]=\"INT40_ARRAY\",t[t.INT48_ARRAY=135]=\"INT48_ARRAY\",t[t.INT56_ARRAY=136]=\"INT56_ARRAY\",t[t.INT64_ARRAY=137]=\"INT64_ARRAY\",t[t.INT72_ARRAY=138]=\"INT72_ARRAY\",t[t.INT80_ARRAY=139]=\"INT80_ARRAY\",t[t.INT88_ARRAY=140]=\"INT88_ARRAY\",t[t.INT96_ARRAY=141]=\"INT96_ARRAY\",t[t.INT104_ARRAY=142]=\"INT104_ARRAY\",t[t.INT112_ARRAY=143]=\"INT112_ARRAY\",t[t.INT120_ARRAY=144]=\"INT120_ARRAY\",t[t.INT128_ARRAY=145]=\"INT128_ARRAY\",t[t.INT136_ARRAY=146]=\"INT136_ARRAY\",t[t.INT144_ARRAY=147]=\"INT144_ARRAY\",t[t.INT152_ARRAY=148]=\"INT152_ARRAY\",t[t.INT160_ARRAY=149]=\"INT160_ARRAY\",t[t.INT168_ARRAY=150]=\"INT168_ARRAY\",t[t.INT176_ARRAY=151]=\"INT176_ARRAY\",t[t.INT184_ARRAY=152]=\"INT184_ARRAY\",t[t.INT192_ARRAY=153]=\"INT192_ARRAY\",t[t.INT200_ARRAY=154]=\"INT200_ARRAY\",t[t.INT208_ARRAY=155]=\"INT208_ARRAY\",t[t.INT216_ARRAY=156]=\"INT216_ARRAY\",t[t.INT224_ARRAY=157]=\"INT224_ARRAY\",t[t.INT232_ARRAY=158]=\"INT232_ARRAY\",t[t.INT240_ARRAY=159]=\"INT240_ARRAY\",t[t.INT248_ARRAY=160]=\"INT248_ARRAY\",t[t.INT256_ARRAY=161]=\"INT256_ARRAY\",t[t.BYTES1_ARRAY=162]=\"BYTES1_ARRAY\",t[t.BYTES2_ARRAY=163]=\"BYTES2_ARRAY\",t[t.BYTES3_ARRAY=164]=\"BYTES3_ARRAY\",t[t.BYTES4_ARRAY=165]=\"BYTES4_ARRAY\",t[t.BYTES5_ARRAY=166]=\"BYTES5_ARRAY\",t[t.BYTES6_ARRAY=167]=\"BYTES6_ARRAY\",t[t.BYTES7_ARRAY=168]=\"BYTES7_ARRAY\",t[t.BYTES8_ARRAY=169]=\"BYTES8_ARRAY\",t[t.BYTES9_ARRAY=170]=\"BYTES9_ARRAY\",t[t.BYTES10_ARRAY=171]=\"BYTES10_ARRAY\",t[t.BYTES11_ARRAY=172]=\"BYTES11_ARRAY\",t[t.BYTES12_ARRAY=173]=\"BYTES12_ARRAY\",t[t.BYTES13_ARRAY=174]=\"BYTES13_ARRAY\",t[t.BYTES14_ARRAY=175]=\"BYTES14_ARRAY\",t[t.BYTES15_ARRAY=176]=\"BYTES15_ARRAY\",t[t.BYTES16_ARRAY=177]=\"BYTES16_ARRAY\",t[t.BYTES17_ARRAY=178]=\"BYTES17_ARRAY\",t[t.BYTES18_ARRAY=179]=\"BYTES18_ARRAY\",t[t.BYTES19_ARRAY=180]=\"BYTES19_ARRAY\",t[t.BYTES20_ARRAY=181]=\"BYTES20_ARRAY\",t[t.BYTES21_ARRAY=182]=\"BYTES21_ARRAY\",t[t.BYTES22_ARRAY=183]=\"BYTES22_ARRAY\",t[t.BYTES23_ARRAY=184]=\"BYTES23_ARRAY\",t[t.BYTES24_ARRAY=185]=\"BYTES24_ARRAY\",t[t.BYTES25_ARRAY=186]=\"BYTES25_ARRAY\",t[t.BYTES26_ARRAY=187]=\"BYTES26_ARRAY\",t[t.BYTES27_ARRAY=188]=\"BYTES27_ARRAY\",t[t.BYTES28_ARRAY=189]=\"BYTES28_ARRAY\",t[t.BYTES29_ARRAY=190]=\"BYTES29_ARRAY\",t[t.BYTES30_ARRAY=191]=\"BYTES30_ARRAY\",t[t.BYTES31_ARRAY=192]=\"BYTES31_ARRAY\",t[t.BYTES32_ARRAY=193]=\"BYTES32_ARRAY\",t[t.BOOL_ARRAY=194]=\"BOOL_ARRAY\",t[t.ADDRESS_ARRAY=195]=\"ADDRESS_ARRAY\",t[t.BYTES=196]=\"BYTES\",t[t.STRING=197]=\"STRING\",t))(I||{});var Y={[0]:\"uint8\",[1]:\"uint16\",[2]:\"uint24\",[3]:\"uint32\",[4]:\"uint40\",[5]:\"uint48\",[6]:\"uint56\",[7]:\"uint64\",[8]:\"uint72\",[9]:\"uint80\",[10]:\"uint88\",[11]:\"uint96\",[12]:\"uint104\",[13]:\"uint112\",[14]:\"uint120\",[15]:\"uint128\",[16]:\"uint136\",[17]:\"uint144\",[18]:\"uint152\",[19]:\"uint160\",[20]:\"uint168\",[21]:\"uint176\",[22]:\"uint184\",[23]:\"uint192\",[24]:\"uint200\",[25]:\"uint208\",[26]:\"uint216\",[27]:\"uint224\",[28]:\"uint232\",[29]:\"uint240\",[30]:\"uint248\",[31]:\"uint256\",[32]:\"int8\",[33]:\"int16\",[34]:\"int24\",[35]:\"int32\",[36]:\"int40\",[37]:\"int48\",[38]:\"int56\",[39]:\"int64\",[40]:\"int72\",[41]:\"int80\",[42]:\"int88\",[43]:\"int96\",[44]:\"int104\",[45]:\"int112\",[46]:\"int120\",[47]:\"int128\",[48]:\"int136\",[49]:\"int144\",[50]:\"int152\",[51]:\"int160\",[52]:\"int168\",[53]:\"int176\",[54]:\"int184\",[55]:\"int192\",[56]:\"int200\",[57]:\"int208\",[58]:\"int216\",[59]:\"int224\",[60]:\"int232\",[61]:\"int240\",[62]:\"int248\",[63]:\"int256\",[64]:\"bytes1\",[65]:\"bytes2\",[66]:\"bytes3\",[67]:\"bytes4\",[68]:\"bytes5\",[69]:\"bytes6\",[70]:\"bytes7\",[71]:\"bytes8\",[72]:\"bytes9\",[73]:\"bytes10\",[74]:\"bytes11\",[75]:\"bytes12\",[76]:\"bytes13\",[77]:\"bytes14\",[78]:\"bytes15\",[79]:\"bytes16\",[80]:\"bytes17\",[81]:\"bytes18\",[82]:\"bytes19\",[83]:\"bytes20\",[84]:\"bytes21\",[85]:\"bytes22\",[86]:\"bytes23\",[87]:\"bytes24\",[88]:\"bytes25\",[89]:\"bytes26\",[90]:\"bytes27\",[91]:\"bytes28\",[92]:\"bytes29\",[93]:\"bytes30\",[94]:\"bytes31\",[95]:\"bytes32\",[96]:\"bool\",[97]:\"address\",[98]:\"uint8[]\",[99]:\"uint16[]\",[100]:\"uint24[]\",[101]:\"uint32[]\",[102]:\"uint40[]\",[103]:\"uint48[]\",[104]:\"uint56[]\",[105]:\"uint64[]\",[106]:\"uint72[]\",[107]:\"uint80[]\",[108]:\"uint88[]\",[109]:\"uint96[]\",[110]:\"uint104[]\",[111]:\"uint112[]\",[112]:\"uint120[]\",[113]:\"uint128[]\",[114]:\"uint136[]\",[115]:\"uint144[]\",[116]:\"uint152[]\",[117]:\"uint160[]\",[118]:\"uint168[]\",[119]:\"uint176[]\",[120]:\"uint184[]\",[121]:\"uint192[]\",[122]:\"uint200[]\",[123]:\"uint208[]\",[124]:\"uint216[]\",[125]:\"uint224[]\",[126]:\"uint232[]\",[127]:\"uint240[]\",[128]:\"uint248[]\",[129]:\"uint256[]\",[130]:\"int8[]\",[131]:\"int16[]\",[132]:\"int24[]\",[133]:\"int32[]\",[134]:\"int40[]\",[135]:\"int48[]\",[136]:\"int56[]\",[137]:\"int64[]\",[138]:\"int72[]\",[139]:\"int80[]\",[140]:\"int88[]\",[141]:\"int96[]\",[142]:\"int104[]\",[143]:\"int112[]\",[144]:\"int120[]\",[145]:\"int128[]\",[146]:\"int136[]\",[147]:\"int144[]\",[148]:\"int152[]\",[149]:\"int160[]\",[150]:\"int168[]\",[151]:\"int176[]\",[152]:\"int184[]\",[153]:\"int192[]\",[154]:\"int200[]\",[155]:\"int208[]\",[156]:\"int216[]\",[157]:\"int224[]\",[158]:\"int232[]\",[159]:\"int240[]\",[160]:\"int248[]\",[161]:\"int256[]\",[162]:\"bytes1[]\",[163]:\"bytes2[]\",[164]:\"bytes3[]\",[165]:\"bytes4[]\",[166]:\"bytes5[]\",[167]:\"bytes6[]\",[168]:\"bytes7[]\",[169]:\"bytes8[]\",[170]:\"bytes9[]\",[171]:\"bytes10[]\",[172]:\"bytes11[]\",[173]:\"bytes12[]\",[174]:\"bytes13[]\",[175]:\"bytes14[]\",[176]:\"bytes15[]\",[177]:\"bytes16[]\",[178]:\"bytes17[]\",[179]:\"bytes18[]\",[180]:\"bytes19[]\",[181]:\"bytes20[]\",[182]:\"bytes21[]\",[183]:\"bytes22[]\",[184]:\"bytes23[]\",[185]:\"bytes24[]\",[186]:\"bytes25[]\",[187]:\"bytes26[]\",[188]:\"bytes27[]\",[189]:\"bytes28[]\",[190]:\"bytes29[]\",[191]:\"bytes30[]\",[192]:\"bytes31[]\",[193]:\"bytes32[]\",[194]:\"bool[]\",[195]:\"address[]\",[196]:\"bytes\",[197]:\"string\"};var s=Object.values(Y);var _=Object.fromEntries(Object.entries(Y).map(([R,A])=>[A,parseInt(R)]));function n(R){let A=R.valueOf();return A<32?A+1:A<64?A+1-32:A<96?A+1-64:R==96?1:R==97?20:0}var U=s.filter(R=>n(_[R])>0);var u={[98]:0,[99]:1,[100]:2,[101]:3,[102]:4,[103]:5,[104]:6,[105]:7,[106]:8,[107]:9,[108]:10,[109]:11,[110]:12,[111]:13,[112]:14,[113]:15,[114]:16,[115]:17,[116]:18,[117]:19,[118]:20,[119]:21,[120]:22,[121]:23,[122]:24,[123]:25,[124]:26,[125]:27,[126]:28,[127]:29,[128]:30,[129]:31,[130]:32,[131]:33,[132]:34,[133]:35,[134]:36,[135]:37,[136]:38,[137]:39,[138]:40,[139]:41,[140]:42,[141]:43,[142]:44,[143]:45,[144]:46,[145]:47,[146]:48,[147]:49,[148]:50,[149]:51,[150]:52,[151]:53,[152]:54,[153]:55,[154]:56,[155]:57,[156]:58,[157]:59,[158]:60,[159]:61,[160]:62,[161]:63,[162]:64,[163]:65,[164]:66,[165]:67,[166]:68,[167]:69,[168]:70,[169]:71,[170]:72,[171]:73,[172]:74,[173]:75,[174]:76,[175]:77,[176]:78,[177]:79,[178]:80,[179]:81,[180]:82,[181]:83,[182]:84,[183]:85,[184]:86,[185]:87,[186]:88,[187]:89,[188]:90,[189]:91,[190]:92,[191]:93,[192]:94,[193]:95,[194]:96,[195]:97};function o(R){if(R.length>28)throw new Error(\"Schema can only have up to 28 fields\");let A=new Uint8Array(32),T=0,N=0,b=!1;for(let i=0;i0){if(b)throw new Error(\"Static fields must come before dynamic fields in the schema\");N++}else b=!0;T+=E,A[i+4]=R[i]}let r=R.length-N;if(r>14)throw new Error(\"Schema can only have up to 14 dynamic fields\");return new DataView(A.buffer).setUint16(0,T),A[2]=N,A[3]=r,A}var B={uint8:0,uint16:0,uint24:0,uint32:0,uint40:0,uint48:0,uint56:0n,uint64:0n,uint72:0n,uint80:0n,uint88:0n,uint96:0n,uint104:0n,uint112:0n,uint120:0n,uint128:0n,uint136:0n,uint144:0n,uint152:0n,uint160:0n,uint168:0n,uint176:0n,uint184:0n,uint192:0n,uint200:0n,uint208:0n,uint216:0n,uint224:0n,uint232:0n,uint240:0n,uint248:0n,uint256:0n,int8:0,int16:0,int24:0,int32:0,int40:0,int48:0,int56:0n,int64:0n,int72:0n,int80:0n,int88:0n,int96:0n,int104:0n,int112:0n,int120:0n,int128:0n,int136:0n,int144:0n,int152:0n,int160:0n,int168:0n,int176:0n,int184:0n,int192:0n,int200:0n,int208:0n,int216:0n,int224:0n,int232:0n,int240:0n,int248:0n,int256:0n,bytes1:\"0x00\",bytes2:\"0x0000\",bytes3:\"0x000000\",bytes4:\"0x00000000\",bytes5:\"0x0000000000\",bytes6:\"0x000000000000\",bytes7:\"0x00000000000000\",bytes8:\"0x0000000000000000\",bytes9:\"0x000000000000000000\",bytes10:\"0x00000000000000000000\",bytes11:\"0x0000000000000000000000\",bytes12:\"0x000000000000000000000000\",bytes13:\"0x00000000000000000000000000\",bytes14:\"0x0000000000000000000000000000\",bytes15:\"0x000000000000000000000000000000\",bytes16:\"0x00000000000000000000000000000000\",bytes17:\"0x0000000000000000000000000000000000\",bytes18:\"0x000000000000000000000000000000000000\",bytes19:\"0x00000000000000000000000000000000000000\",bytes20:\"0x0000000000000000000000000000000000000000\",bytes21:\"0x000000000000000000000000000000000000000000\",bytes22:\"0x00000000000000000000000000000000000000000000\",bytes23:\"0x0000000000000000000000000000000000000000000000\",bytes24:\"0x000000000000000000000000000000000000000000000000\",bytes25:\"0x00000000000000000000000000000000000000000000000000\",bytes26:\"0x0000000000000000000000000000000000000000000000000000\",bytes27:\"0x000000000000000000000000000000000000000000000000000000\",bytes28:\"0x00000000000000000000000000000000000000000000000000000000\",bytes29:\"0x0000000000000000000000000000000000000000000000000000000000\",bytes30:\"0x000000000000000000000000000000000000000000000000000000000000\",bytes31:\"0x00000000000000000000000000000000000000000000000000000000000000\",bytes32:\"0x0000000000000000000000000000000000000000000000000000000000000000\",bool:!1,address:\"0x0000000000000000000000000000000000000000\",\"uint8[]\":[],\"uint16[]\":[],\"uint24[]\":[],\"uint32[]\":[],\"uint40[]\":[],\"uint48[]\":[],\"uint56[]\":[],\"uint64[]\":[],\"uint72[]\":[],\"uint80[]\":[],\"uint88[]\":[],\"uint96[]\":[],\"uint104[]\":[],\"uint112[]\":[],\"uint120[]\":[],\"uint128[]\":[],\"uint136[]\":[],\"uint144[]\":[],\"uint152[]\":[],\"uint160[]\":[],\"uint168[]\":[],\"uint176[]\":[],\"uint184[]\":[],\"uint192[]\":[],\"uint200[]\":[],\"uint208[]\":[],\"uint216[]\":[],\"uint224[]\":[],\"uint232[]\":[],\"uint240[]\":[],\"uint248[]\":[],\"uint256[]\":[],\"int8[]\":[],\"int16[]\":[],\"int24[]\":[],\"int32[]\":[],\"int40[]\":[],\"int48[]\":[],\"int56[]\":[],\"int64[]\":[],\"int72[]\":[],\"int80[]\":[],\"int88[]\":[],\"int96[]\":[],\"int104[]\":[],\"int112[]\":[],\"int120[]\":[],\"int128[]\":[],\"int136[]\":[],\"int144[]\":[],\"int152[]\":[],\"int160[]\":[],\"int168[]\":[],\"int176[]\":[],\"int184[]\":[],\"int192[]\":[],\"int200[]\":[],\"int208[]\":[],\"int216[]\":[],\"int224[]\":[],\"int232[]\":[],\"int240[]\":[],\"int248[]\":[],\"int256[]\":[],\"bytes1[]\":[],\"bytes2[]\":[],\"bytes3[]\":[],\"bytes4[]\":[],\"bytes5[]\":[],\"bytes6[]\":[],\"bytes7[]\":[],\"bytes8[]\":[],\"bytes9[]\":[],\"bytes10[]\":[],\"bytes11[]\":[],\"bytes12[]\":[],\"bytes13[]\":[],\"bytes14[]\":[],\"bytes15[]\":[],\"bytes16[]\":[],\"bytes17[]\":[],\"bytes18[]\":[],\"bytes19[]\":[],\"bytes20[]\":[],\"bytes21[]\":[],\"bytes22[]\":[],\"bytes23[]\":[],\"bytes24[]\":[],\"bytes25[]\":[],\"bytes26[]\":[],\"bytes27[]\":[],\"bytes28[]\":[],\"bytes29[]\":[],\"bytes30[]\":[],\"bytes31[]\":[],\"bytes32[]\":[],\"bool[]\":[],\"address[]\":[],bytes:\"0x\",string:\"\"};function g(R){let A=R.replace(/(\\w+)\\[\\d+\\]/g,\"$1[]\");return B[A]}export{_ as AbiTypeToSchemaType,s as AbiTypes,I as SchemaType,u as SchemaTypeArrayToElement,Y as SchemaTypeToAbiType,U as StaticAbiTypes,o as encodeSchema,g as getAbiTypeDefaultValue,n as getStaticByteLength};\n//# sourceMappingURL=index.js.map","var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n get errors() {\n return this.issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message || errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n syncPairs.push({\n key: await pair.key,\n value: await pair.value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n if (typeof ctx.data === \"undefined\") {\n return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n }\n return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n }\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this, this._def);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_+-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\n// Adapted from https://stackoverflow.com/a/3143231\nconst datetimeRegex = (args) => {\n if (args.precision) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n }\n }\n else if (args.precision === 0) {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n }\n }\n else {\n if (args.offset) {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n }\n else {\n return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n }\n }\n};\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n }\n //\n );\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * @deprecated Use z.string().min(1) instead.\n * @see {@link ZodString.min}\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = BigInt(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n syncPairs.push({\n key,\n value: await pair.value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // (def: Def) =>\n // (\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge(\n // merging: Incoming\n // ): //ZodObject = (merging) => {\n // ZodObject<\n // extendShape>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return Object.keys(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else {\n return null;\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (this._def.values.indexOf(input.data) === -1) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values) {\n return ZodEnum.create(values);\n }\n exclude(values) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (nativeEnumValues.indexOf(input.data) === -1) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.issues.length) {\n return {\n status: \"dirty\",\n value: ctx.data,\n };\n }\n if (ctx.common.async) {\n return Promise.resolve(processed).then((processed) => {\n return this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n });\n }\n else {\n return this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc\n // effect: RefinementEffect\n ) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n if (isValid(result)) {\n result.value = Object.freeze(result.value);\n }\n return result;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nconst custom = (check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) => {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n};\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n","const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","/* eslint-env browser */\n\nconst level = (() => {\n\tif (navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand && brand.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\tif (/\\b(Chrome|Chromium)\\//.test(navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n","const identifierRegex = /[$_\\p{ID_Start}][$\\u200c\\u200d\\p{ID_Continue}]*/u;\nexport function joinPath(path) {\n if (path.length === 1) {\n return path[0].toString();\n }\n return path.reduce((acc, item) => {\n if (typeof item === 'number') {\n return acc + '[' + item.toString() + ']';\n }\n if (item.includes('\"')) {\n return acc + '[\"' + escapeQuotes(item) + '\"]';\n }\n if (!identifierRegex.test(item)) {\n return acc + '[\"' + item + '\"]';\n }\n const separator = acc.length === 0 ? '' : '.';\n return acc + separator + item;\n }, '');\n}\nfunction escapeQuotes(str) {\n return str.replace(/\"/g, '\\\\\"');\n}\n","export function isNonEmptyArray(value) {\n return value.length !== 0;\n}\n","import * as zod from 'zod';\nimport { joinPath } from './utils/joinPath';\nimport { isNonEmptyArray } from './utils/NonEmptyArray';\nconst MAX_ISSUES_IN_MESSAGE = 99;\nconst ISSUE_SEPARATOR = '; ';\nconst UNION_SEPARATOR = ', or ';\nconst PREFIX = 'Validation error';\nconst PREFIX_SEPARATOR = ': ';\nexport class ValidationError extends Error {\n details;\n name;\n constructor(message, details = []) {\n super(message);\n this.details = details;\n this.name = 'ZodValidationError';\n }\n toString() {\n return this.message;\n }\n}\nfunction getMessageFromZodIssue(issue, issueSeparator, unionSeparator) {\n if (issue.code === 'invalid_union') {\n return issue.unionErrors\n .reduce((acc, zodError) => {\n const newIssues = zodError.issues\n .map((issue) => getMessageFromZodIssue(issue, issueSeparator, unionSeparator))\n .join(issueSeparator);\n if (!acc.includes(newIssues)) {\n acc.push(newIssues);\n }\n return acc;\n }, [])\n .join(unionSeparator);\n }\n if (isNonEmptyArray(issue.path)) {\n if (issue.path.length === 1) {\n const identifier = issue.path[0];\n if (typeof identifier === 'number') {\n return `${issue.message} at index ${identifier}`;\n }\n }\n return `${issue.message} at \"${joinPath(issue.path)}\"`;\n }\n return issue.message;\n}\nfunction conditionallyPrefixMessage(reason, prefix, prefixSeparator) {\n if (prefix !== null) {\n if (reason.length > 0) {\n return [prefix, reason].join(prefixSeparator);\n }\n return prefix;\n }\n if (reason.length > 0) {\n return reason;\n }\n return PREFIX;\n}\nexport function fromZodIssue(issue, options = {}) {\n const { issueSeparator = ISSUE_SEPARATOR, unionSeparator = UNION_SEPARATOR, prefixSeparator = PREFIX_SEPARATOR, prefix = PREFIX, } = options;\n const reason = getMessageFromZodIssue(issue, issueSeparator, unionSeparator);\n const message = conditionallyPrefixMessage(reason, prefix, prefixSeparator);\n return new ValidationError(message, [issue]);\n}\nexport function fromZodError(zodError, options = {}) {\n const { maxIssuesInMessage = MAX_ISSUES_IN_MESSAGE, issueSeparator = ISSUE_SEPARATOR, unionSeparator = UNION_SEPARATOR, prefixSeparator = PREFIX_SEPARATOR, prefix = PREFIX, } = options;\n const reason = zodError.errors\n .slice(0, maxIssuesInMessage)\n .map((issue) => getMessageFromZodIssue(issue, issueSeparator, unionSeparator))\n .join(issueSeparator);\n const message = conditionallyPrefixMessage(reason, prefix, prefixSeparator);\n return new ValidationError(message, zodError.errors);\n}\nexport const toValidationError = (options = {}) => (err) => {\n if (err instanceof zod.ZodError) {\n return fromZodError(err, options);\n }\n if (err instanceof Error) {\n return err;\n }\n return new Error('Unknown error');\n};\nexport function isValidationError(err) {\n return err instanceof ValidationError;\n}\nexport function isValidationErrorLike(err) {\n return err instanceof Error && err.name === 'ZodValidationError';\n}\n","var a=Object.defineProperty;var m=(r,e,o)=>e in r?a(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o;var x=(r,e,o)=>(m(r,typeof e!=\"symbol\"?e+\"\":e,o),o);import d from\"chalk\";import{z as c,ZodIssueCode as i}from\"zod\";import{fromZodError as p}from\"zod-validation-error\";var t=class extends Error{name=\"MUDContextAlreadyCreatedError\";message=\"MUD context was already created\"},s=class extends Error{name=\"MUDContextNotCreatedError\";message=\"MUD context has not been created\"};function l(r,e){return p(r,{prefix:d.red(e),prefixSeparator:`\n- `,issueSeparator:`\n- `})}var n=class extends Error{name=\"NotInsideProjectError\";message=\"You are not inside a MUD project\"};function U(r,e){return new c.ZodError([{code:i.custom,path:r,message:`Unrecognized system: \"${e}\"`}])}export{x as a,t as b,s as c,l as d,n as e,U as f};\n//# sourceMappingURL=chunk-AXXYPYMM.js.map","import{a as m,b as f,c as p}from\"./chunk-AXXYPYMM.js\";import{z as s}from\"zod\";import{utils as E}from\"ethers\";import{ZodIssueCode as r}from\"zod\";var g=16;function d(e,t){/^\\w+$/.test(e)||t.addIssue({code:r.custom,message:\"Name must contain only alphanumeric & underscore characters\"})}function x(e,t){d(e,t),/^[A-Z]/.test(e)||t.addIssue({code:r.custom,message:\"Name must start with a capital letter\"})}function C(e,t){d(e,t),/^[a-z]/.test(e)||t.addIssue({code:r.custom,message:\"Name must start with a lowercase letter\"})}function h(e,t){e.length===0&&t.addIssue({code:r.custom,message:\"Enum must not be empty\"}),e.length>=256&&t.addIssue({code:r.custom,message:\"Length of enum must be < 256\"});let o=M(e);o.length>0&&t.addIssue({code:r.custom,message:`Enum must not have duplicate names for: ${o.join(\", \")}`})}function c(e,t){return(o,n)=>{if(o===\"\"){e&&n.addIssue({code:r.custom,message:\"Route must not be empty\"});return}o[0]!==\"/\"&&n.addIssue({code:r.custom,message:'Route must start with \"/\"'}),o[o.length-1]===\"/\"&&n.addIssue({code:r.custom,message:'Route must not end with \"/\"'});let a=o.split(\"/\");t&&a.length>2&&n.addIssue({code:r.custom,message:'Route must only have one level (e.g. \"/foo\")'});for(let u=1;ug&&t.addIssue({code:r.custom,message:`Selector must be <= ${g} characters`}),/^\\w*$/.test(e)||t.addIssue({code:r.custom,message:\"Selector must contain only alphanumeric & underscore characters\"})}function z(e){let t=e.match(/^(\\w+)\\[(\\d+)\\]$/);return t?{elementType:t[1],staticLength:Number.parseInt(t[2])}:null}var v=s.string().superRefine(x),$=s.string().superRefine(C),B=s.string().superRefine(d),G=s.array(v).superRefine(h),O=s.string().superRefine(y),V=s.string().superRefine(b),j=s.string().superRefine(R),k=s.string().superRefine(D),P=s.string().superRefine(U);var l=class{static isCreated(){return this._global.__mudCoreContext!==void 0}static createContext(){if(this.isCreated())throw new f;let t=this._global,o=new l;return t.__mudCoreContext=o,o}static getContext(){let o=this._global.__mudCoreContext;if(o===void 0)throw new p;return o}configExtenders=[]},i=l;m(i,\"_global\",typeof global>\"u\"?window.global??{}:global);function Y(e){let t=e,o=i.getContext();for(let n of o.configExtenders)t=n(t);return t}function q(e){i.getContext().configExtenders.push(e)}import{MUDError as I}from\"@latticexyz/common/errors\";var w=(o=>(o[o.TABLE_ID=0]=\"TABLE_ID\",o[o.SYSTEM_ADDRESS=1]=\"SYSTEM_ADDRESS\",o))(w||{});function ee(e){return{type:0,input:e}}function A(e){return typeof e==\"object\"&&e!==null&&\"type\"in e&&\"input\"in e}async function te(e,t){if(!A(e))return e;let o;if(e.type===0){let n=t.tableIds?.[e.input];o=n&&{value:n,type:\"bytes32\"}}if(o===void 0)throw new I(`Could not resolve dynamic resolution: \n${JSON.stringify(e,null,2)}`);return o}export{g as a,d as b,x as c,C as d,h as e,y as f,R as g,b as h,D as i,M as j,U as k,z as l,v as m,$ as n,B as o,G as p,O as q,V as r,j as s,k as t,P as u,i as v,Y as w,q as x,w as y,ee as z,A,te as B};\n//# sourceMappingURL=chunk-4G6ZGMDP.js.map","var l={storeImportPath:\"@latticexyz/store/src/\",userTypesPath:\"Types\",codegenDirectory:\"codegen\"},g={namespace:\"\",enums:{}},m={directory:\"tables\",keySchema:{key:\"bytes32\"},tableIdArgument:!1,storeArgument:!0,ephemeral:!1};import{AbiTypes as D,StaticAbiTypes as z}from\"@latticexyz/schema-type/deprecated\";import{z as t,ZodIssueCode as o}from\"zod\";import{getDuplicates as p,parseStaticArray as R,STORE_SELECTOR_MAX_LENGTH as L,zObjectName as f,zSelector as S,zUserEnum as k,zValueName as b}from\"@latticexyz/config\";var j=f,O=b,v=b,I=f,d=t.string(),_=t.string(),P=t.record(O,_).default(m.keySchema),U=t.record(v,d).refine(e=>Object.keys(e).length>0,\"Table schema may not be empty\"),K=d.transform(e=>U.parse({value:e})),q=U.or(K),h=t.object({directory:t.string().default(m.directory),name:S.optional(),tableIdArgument:t.boolean().default(m.tableIdArgument),storeArgument:t.boolean().default(m.storeArgument),dataStruct:t.boolean().optional(),keySchema:P,schema:q,ephemeral:t.boolean().default(m.ephemeral)}).transform(e=>(Object.keys(e.schema).length===1?e.dataStruct??=!1:e.dataStruct??=!0,e)),B=d.transform(e=>h.parse({schema:{value:e}})),M=h.or(B),$=t.record(j,M).transform(e=>{for(let n of Object.keys(e)){let s=e[n];s.name=n.slice(0,L),e[n]=s}return e}),H=t.object({enums:t.record(I,k).default(g.enums)}),x=t.object({namespace:S.default(g.namespace),storeImportPath:t.string().default(l.storeImportPath),tables:$,userTypesPath:t.string().default(l.userTypesPath),codegenDirectory:t.string().default(l.codegenDirectory)}).merge(H),se=x.superRefine(C),re=x.catchall(t.any()).superRefine(C);function C(e,n){for(let a of Object.values(e.tables)){let c=Object.keys(a.keySchema),N=Object.keys(a.schema),T=p([...c,...N]);T.length>0&&n.addIssue({code:o.custom,message:`Field and key names within one table must be unique: ${T.join(\", \")}`})}let s=Object.keys(e.tables),r=Object.keys(e.enums),i=r,E=[...s,...i],u=p(E);u.length>0&&n.addIssue({code:o.custom,message:`Table library names, enum names must be globally unique: ${u.join(\", \")}`});let A=Object.values(e.tables).map(({name:a})=>a),y=p(A);y.length>0&&n.addIssue({code:o.custom,message:`Table names must be unique: ${y.join(\", \")}`});for(let a of Object.values(e.tables)){for(let c of Object.values(a.keySchema))F(r,c,n);for(let c of Object.values(a.schema))G(i,r,c,n)}}function G(e,n,s,r){if(!D.includes(s)&&!e.includes(s)){let i=R(s);i?V(n,i.elementType,i.staticLength,r):r.addIssue({code:o.custom,message:`${s} is not a valid abi type, and is not defined in userTypes`})}}function F(e,n,s){!z.includes(n)&&!e.includes(n)&&s.addIssue({code:o.custom,message:`${n} is not a static type`})}function V(e,n,s,r){F(e,n,r),s===0?r.addIssue({code:o.custom,message:\"Static array length must not be 0\"}):s>=2**16&&r.addIssue({code:o.custom,message:\"Static array length must be less than 2**16\"})}export{l as a,g as b,m as c,q as d,M as e,$ as f,H as g,se as h,re as i};\n//# sourceMappingURL=chunk-5AKM5HGJ.js.map","import{v as e,w as o,z as r}from\"../chunk-4G6ZGMDP.js\";import\"../chunk-AXXYPYMM.js\";e.isCreated()||e.createContext();export{o as mudCoreConfig,r as resolveTableId};\n//# sourceMappingURL=index.js.map","import{i as e}from\"./chunk-5AKM5HGJ.js\";import\"@latticexyz/config/register\";import{mudCoreConfig as c,resolveTableId as y}from\"@latticexyz/config/register\";import{extendMUDCoreConfig as t,fromZodErrorCustom as n}from\"@latticexyz/config\";import{ZodError as i}from\"zod\";t(r=>{try{return e.parse(r)}catch(o){throw o instanceof i?n(o,\"StoreConfig Validation Error\"):o}});import{mudCoreConfig as m}from\"@latticexyz/config\";function s(r){return m(r)}export{s as a,c as b,y as c};\n//# sourceMappingURL=chunk-6QMWGFYG.js.map","import{a as e}from\"./chunk-6QMWGFYG.js\";import\"./chunk-5AKM5HGJ.js\";var a=e({storeImportPath:\"../../\",namespace:\"mudstore\",enums:{ExampleEnum:[\"None\",\"First\",\"Second\",\"Third\"]},tables:{Hooks:\"address[]\",Callbacks:\"bytes24[]\",Tables:{keySchema:{tableId:\"bytes32\"},schema:{keySchema:\"bytes32\",valueSchema:\"bytes32\",abiEncodedKeyNames:\"bytes\",abiEncodedFieldNames:\"bytes\"}},Mixed:{schema:{u32:\"uint32\",u128:\"uint128\",a32:\"uint32[]\",s:\"string\"}},Vector2:{schema:{x:\"uint32\",y:\"uint32\"}},KeyEncoding:{keySchema:{k1:\"uint256\",k2:\"int32\",k3:\"bytes16\",k4:\"address\",k5:\"bool\",k6:\"ExampleEnum\"},schema:\"bool\"}}});export{a as default};\n//# sourceMappingURL=mud.config.js.map","import{decodeField as R,decodeKeyTuple as F,decodeRecord as S,abiTypesToSchema as C,hexToSchema as N}from\"@latticexyz/protocol-parser\";import{decodeAbiParameters as v,getAddress as m,parseAbiParameters as h}from\"viem\";import E from\"debug\";var g=E(\"mud:store-sync\");import{isDefined as O}from\"@latticexyz/common/utils\";import{hexToTableId as T,tableIdToHex as V}from\"@latticexyz/common\";import x from\"@latticexyz/store/mud.config\";var k=x.tables.Tables,A=V(x.namespace,k.name);function G({registerTables:I,getTables:L,storeOperations:P}){return async o=>{let t=o.logs.map(e=>{if(e.eventName!==\"StoreSetRecord\"||e.args.table!==A)return;let[a,...f]=e.args.key;f.length&&console.warn(\"registerSchema event is expected to have only one key in key tuple, but got multiple\",e);let b=T(a),c=S(C(Object.values(k.schema)),e.args.data),s=Object.fromEntries(Object.keys(k.schema).map((i,d)=>[i,c[d]])),p=N(s.keySchema),l=N(s.valueSchema),r=v(h(\"string[]\"),s.abiEncodedKeyNames)[0],n=v(h(\"string[]\"),s.abiEncodedFieldNames)[0],u=[...l.staticFields,...l.dynamicFields];return{address:e.address,tableId:a,namespace:b.namespace,name:b.name,keySchema:Object.fromEntries(p.staticFields.map((i,d)=>[r[d],i])),valueSchema:Object.fromEntries(u.map((i,d)=>[n[d],i]))}}).filter(O);t.length>0&&await I({blockNumber:o.blockNumber,tables:t});let j=Array.from(new Set(o.logs.map(e=>JSON.stringify({address:m(e.address),tableId:e.args.table,...T(e.args.table)})))).map(e=>JSON.parse(e)),B=Object.fromEntries((await L({blockNumber:o.blockNumber,tables:j})).map(e=>[`${m(e.address)}:${e.tableId}`,e])),y=o.logs.map(e=>{let a=B[`${m(e.address)}:${e.args.table}`];if(!a){g(\"no table found for event, skipping\",T(e.args.table),e);return}let f=Object.keys(a.keySchema),b=F({staticFields:Object.values(a.keySchema),dynamicFields:[]},e.args.key),c=Object.fromEntries(b.map((r,n)=>[f[n],r])),s=Object.values(a.valueSchema),p=C(s),l=Object.keys(a.valueSchema);if(e.eventName===\"StoreSetRecord\"||e.eventName===\"StoreEphemeralRecord\"){let r=S(p,e.args.data),n=Object.fromEntries(l.map((u,i)=>[u,r[i]]));return{log:e,address:m(e.address),namespace:a.namespace,name:a.name,type:\"SetRecord\",key:c,value:n}}if(e.eventName===\"StoreSetField\"){let r=l[e.args.schemaIndex],n=R(s[e.args.schemaIndex],e.args.data);return{log:e,address:m(e.address),namespace:a.namespace,name:a.name,type:\"SetField\",key:c,fieldName:r,fieldValue:n}}if(e.eventName===\"StoreDeleteRecord\")return{log:e,address:m(e.address),namespace:a.namespace,name:a.name,type:\"DeleteRecord\",key:c};g(\"unknown store event or log, skipping\",e)}).filter(O);return await P({blockNumber:o.blockNumber,operations:y}),{blockNumber:o.blockNumber,operations:y}}}var w=(t=>(t.INITIALIZE=\"initialize\",t.SNAPSHOT=\"snapshot\",t.RPC=\"rpc\",t.LIVE=\"live\",t))(w||{});export{g as a,G as b,w as c};\n//# sourceMappingURL=chunk-SNWOSPCV.js.map","/**\n * @internal\n */ function invert(obj) {\n const newObj = Object.create(null);\n for(const key in obj){\n const v = obj[key];\n newObj[v] = key;\n }\n return newObj;\n}\n\n// reference: https://www.jsonrpc.org/specification\n/**\n * JSON-RPC 2.0 Error codes\n *\n * `-32000` to `-32099` are reserved for implementation-defined server-errors.\n * For tRPC we're copying the last digits of HTTP 4XX errors.\n */ const TRPC_ERROR_CODES_BY_KEY = {\n /**\n * Invalid JSON was received by the server.\n * An error occurred on the server while parsing the JSON text.\n */ PARSE_ERROR: -32700,\n /**\n * The JSON sent is not a valid Request object.\n */ BAD_REQUEST: -32600,\n /**\n * Internal JSON-RPC error.\n */ INTERNAL_SERVER_ERROR: -32603,\n // Implementation specific errors\n UNAUTHORIZED: -32001,\n FORBIDDEN: -32003,\n NOT_FOUND: -32004,\n METHOD_NOT_SUPPORTED: -32005,\n TIMEOUT: -32008,\n CONFLICT: -32009,\n PRECONDITION_FAILED: -32012,\n PAYLOAD_TOO_LARGE: -32013,\n UNPROCESSABLE_CONTENT: -32022,\n TOO_MANY_REQUESTS: -32029,\n CLIENT_CLOSED_REQUEST: -32099\n};\nconst TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);\n\nexport { TRPC_ERROR_CODES_BY_KEY as T, TRPC_ERROR_CODES_BY_NUMBER as a, invert as i };\n","import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';\n\nconst TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);\nconst JSONRPC2_TO_HTTP_CODE = {\n PARSE_ERROR: 400,\n BAD_REQUEST: 400,\n NOT_FOUND: 404,\n INTERNAL_SERVER_ERROR: 500,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n TIMEOUT: 408,\n CONFLICT: 409,\n CLIENT_CLOSED_REQUEST: 499,\n PRECONDITION_FAILED: 412,\n PAYLOAD_TOO_LARGE: 413,\n METHOD_NOT_SUPPORTED: 405,\n UNPROCESSABLE_CONTENT: 422,\n TOO_MANY_REQUESTS: 429\n};\nfunction getStatusCodeFromKey(code) {\n return JSONRPC2_TO_HTTP_CODE[code] ?? 500;\n}\nfunction getHTTPStatusCode(json) {\n const arr = Array.isArray(json) ? json : [\n json\n ];\n const httpStatuses = new Set(arr.map((res)=>{\n if ('error' in res) {\n const data = res.error.data;\n if (typeof data.httpStatus === 'number') {\n return data.httpStatus;\n }\n const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];\n return getStatusCodeFromKey(code);\n }\n return 200;\n }));\n if (httpStatuses.size !== 1) {\n return 207;\n }\n const httpStatus = httpStatuses.values().next().value;\n return httpStatus;\n}\nfunction getHTTPStatusCodeFromError(error) {\n const { code } = error;\n return getStatusCodeFromKey(code);\n}\n\nconst noop = ()=>{\n// noop\n};\nfunction createInnerProxy(callback, path) {\n const proxy = new Proxy(noop, {\n get (_obj, key) {\n if (typeof key !== 'string' || key === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return createInnerProxy(callback, [\n ...path,\n key\n ]);\n },\n apply (_1, _2, args) {\n const isApply = path[path.length - 1] === 'apply';\n return callback({\n args: isApply ? args.length >= 2 ? args[1] : [] : args,\n path: isApply ? path.slice(0, -1) : path\n });\n }\n });\n return proxy;\n}\n/**\n * Creates a proxy that calls the callback with the path and arguments\n *\n * @internal\n */ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);\n/**\n * Used in place of `new Proxy` where each handler will map 1 level deep to another value.\n *\n * @internal\n */ const createFlatProxy = (callback)=>{\n return new Proxy(noop, {\n get (_obj, name) {\n if (typeof name !== 'string' || name === 'then') {\n // special case for if the proxy is accidentally treated\n // like a PromiseLike (like in `Promise.resolve(proxy)`)\n return undefined;\n }\n return callback(name);\n }\n });\n};\n\nexport { TRPC_ERROR_CODES_BY_NUMBER as T, createRecursiveProxy as a, getHTTPStatusCode as b, createFlatProxy as c, getHTTPStatusCodeFromError as g };\n","import { T as TRPCError } from './TRPCError-6a1653a4.mjs';\nimport { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-044a193b.mjs';\nimport { T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';\n\n/**\n * @public\n */ /**\n * @internal\n */ function getDataTransformer(transformer) {\n if ('input' in transformer) {\n return transformer;\n }\n return {\n input: transformer,\n output: transformer\n };\n}\n/**\n * @internal\n */ const defaultTransformer = {\n _default: true,\n input: {\n serialize: (obj)=>obj,\n deserialize: (obj)=>obj\n },\n output: {\n serialize: (obj)=>obj,\n deserialize: (obj)=>obj\n }\n};\n\nconst defaultFormatter = ({ shape })=>{\n return shape;\n};\n\n/**\n * Create an object without inheriting anything from `Object.prototype`\n * @internal\n */ function omitPrototype(obj) {\n return Object.assign(Object.create(null), obj);\n}\n\nconst procedureTypes = [\n 'query',\n 'mutation',\n 'subscription'\n];\n\nfunction isRouter(procedureOrRouter) {\n return 'router' in procedureOrRouter._def;\n}\nconst emptyRouter = {\n _ctx: null,\n _errorShape: null,\n _meta: null,\n queries: {},\n mutations: {},\n subscriptions: {},\n errorFormatter: defaultFormatter,\n transformer: defaultTransformer\n};\n/**\n * Reserved words that can't be used as router or procedure names\n */ const reservedWords = [\n /**\n * Then is a reserved word because otherwise we can't return a promise that returns a Proxy\n * since JS will think that `.then` is something that exists\n */ 'then'\n];\n/**\n * @internal\n */ function createRouterFactory(config) {\n return function createRouterInner(procedures) {\n const reservedWordsUsed = new Set(Object.keys(procedures).filter((v)=>reservedWords.includes(v)));\n if (reservedWordsUsed.size > 0) {\n throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));\n }\n const routerProcedures = omitPrototype({});\n function recursiveGetPaths(procedures, path = '') {\n for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){\n const newPath = `${path}${key}`;\n if (isRouter(procedureOrRouter)) {\n recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);\n continue;\n }\n if (routerProcedures[newPath]) {\n throw new Error(`Duplicate key: ${newPath}`);\n }\n routerProcedures[newPath] = procedureOrRouter;\n }\n }\n recursiveGetPaths(procedures);\n const _def = {\n _config: config,\n router: true,\n procedures: routerProcedures,\n ...emptyRouter,\n record: procedures,\n queries: Object.entries(routerProcedures).filter((pair)=>pair[1]._def.query).reduce((acc, [key, val])=>({\n ...acc,\n [key]: val\n }), {}),\n mutations: Object.entries(routerProcedures).filter((pair)=>pair[1]._def.mutation).reduce((acc, [key, val])=>({\n ...acc,\n [key]: val\n }), {}),\n subscriptions: Object.entries(routerProcedures).filter((pair)=>pair[1]._def.subscription).reduce((acc, [key, val])=>({\n ...acc,\n [key]: val\n }), {})\n };\n const router = {\n ...procedures,\n _def,\n createCaller (ctx) {\n const proxy = createRecursiveProxy(({ path , args })=>{\n // interop mode\n if (path.length === 1 && procedureTypes.includes(path[0])) {\n return callProcedure({\n procedures: _def.procedures,\n path: args[0],\n rawInput: args[1],\n ctx,\n type: path[0]\n });\n }\n const fullPath = path.join('.');\n const procedure = _def.procedures[fullPath];\n let type = 'query';\n if (procedure._def.mutation) {\n type = 'mutation';\n } else if (procedure._def.subscription) {\n type = 'subscription';\n }\n return procedure({\n path: fullPath,\n rawInput: args[0],\n ctx,\n type\n });\n });\n return proxy;\n },\n getErrorShape (opts) {\n const { path , error } = opts;\n const { code } = opts.error;\n const shape = {\n message: error.message,\n code: TRPC_ERROR_CODES_BY_KEY[code],\n data: {\n code,\n httpStatus: getHTTPStatusCodeFromError(error)\n }\n };\n if (config.isDev && typeof opts.error.stack === 'string') {\n shape.data.stack = opts.error.stack;\n }\n if (typeof path === 'string') {\n shape.data.path = path;\n }\n return this._def._config.errorFormatter({\n ...opts,\n shape\n });\n }\n };\n return router;\n };\n}\n/**\n * @internal\n */ function callProcedure(opts) {\n const { type , path } = opts;\n if (!(path in opts.procedures) || !opts.procedures[path]?._def[type]) {\n throw new TRPCError({\n code: 'NOT_FOUND',\n message: `No \"${type}\"-procedure on path \"${path}\"`\n });\n }\n const procedure = opts.procedures[path];\n return procedure(opts);\n}\n\n/**\n * The default check to see if we're in a server\n */ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || globalThis.process?.env?.NODE_ENV === 'test' || !!globalThis.process?.env?.JEST_WORKER_ID || !!globalThis.process?.env?.VITEST_WORKER_ID;\n\nexport { defaultTransformer as a, callProcedure as b, createRouterFactory as c, defaultFormatter as d, getDataTransformer as g, isServerDefault as i, procedureTypes as p };\n","var DoubleIndexedKV = /** @class */ (function () {\n function DoubleIndexedKV() {\n this.keyToValue = new Map();\n this.valueToKey = new Map();\n }\n DoubleIndexedKV.prototype.set = function (key, value) {\n this.keyToValue.set(key, value);\n this.valueToKey.set(value, key);\n };\n DoubleIndexedKV.prototype.getByKey = function (key) {\n return this.keyToValue.get(key);\n };\n DoubleIndexedKV.prototype.getByValue = function (value) {\n return this.valueToKey.get(value);\n };\n DoubleIndexedKV.prototype.clear = function () {\n this.keyToValue.clear();\n this.valueToKey.clear();\n };\n return DoubleIndexedKV;\n}());\nexport { DoubleIndexedKV };\n//# sourceMappingURL=double-indexed-kv.js.map","import { DoubleIndexedKV } from './double-indexed-kv';\nvar Registry = /** @class */ (function () {\n function Registry(generateIdentifier) {\n this.generateIdentifier = generateIdentifier;\n this.kv = new DoubleIndexedKV();\n }\n Registry.prototype.register = function (value, identifier) {\n if (this.kv.getByValue(value)) {\n return;\n }\n if (!identifier) {\n identifier = this.generateIdentifier(value);\n }\n this.kv.set(identifier, value);\n };\n Registry.prototype.clear = function () {\n this.kv.clear();\n };\n Registry.prototype.getIdentifier = function (value) {\n return this.kv.getByValue(value);\n };\n Registry.prototype.getValue = function (identifier) {\n return this.kv.getByKey(identifier);\n };\n return Registry;\n}());\nexport { Registry };\n//# sourceMappingURL=registry.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Registry } from './registry';\nvar ClassRegistry = /** @class */ (function (_super) {\n __extends(ClassRegistry, _super);\n function ClassRegistry() {\n var _this = _super.call(this, function (c) { return c.name; }) || this;\n _this.classToAllowedProps = new Map();\n return _this;\n }\n ClassRegistry.prototype.register = function (value, options) {\n if (typeof options === 'object') {\n if (options.allowProps) {\n this.classToAllowedProps.set(value, options.allowProps);\n }\n _super.prototype.register.call(this, value, options.identifier);\n }\n else {\n _super.prototype.register.call(this, value, options);\n }\n };\n ClassRegistry.prototype.getAllowedProps = function (value) {\n return this.classToAllowedProps.get(value);\n };\n return ClassRegistry;\n}(Registry));\nexport { ClassRegistry };\n//# sourceMappingURL=class-registry.js.map","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nfunction valuesOfObj(record) {\n if ('values' in Object) {\n // eslint-disable-next-line es5/no-es6-methods\n return Object.values(record);\n }\n var values = [];\n // eslint-disable-next-line no-restricted-syntax\n for (var key in record) {\n if (record.hasOwnProperty(key)) {\n values.push(record[key]);\n }\n }\n return values;\n}\nexport function find(record, predicate) {\n var values = valuesOfObj(record);\n if ('find' in values) {\n // eslint-disable-next-line es5/no-es6-methods\n return values.find(predicate);\n }\n var valuesNotNever = values;\n for (var i = 0; i < valuesNotNever.length; i++) {\n var value = valuesNotNever[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\nexport function forEach(record, run) {\n Object.entries(record).forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n return run(value, key);\n });\n}\nexport function includes(arr, value) {\n return arr.indexOf(value) !== -1;\n}\nexport function findArr(record, predicate) {\n for (var i = 0; i < record.length; i++) {\n var value = record[i];\n if (predicate(value)) {\n return value;\n }\n }\n return undefined;\n}\n//# sourceMappingURL=util.js.map","import { find } from './util';\nvar CustomTransformerRegistry = /** @class */ (function () {\n function CustomTransformerRegistry() {\n this.transfomers = {};\n }\n CustomTransformerRegistry.prototype.register = function (transformer) {\n this.transfomers[transformer.name] = transformer;\n };\n CustomTransformerRegistry.prototype.findApplicable = function (v) {\n return find(this.transfomers, function (transformer) {\n return transformer.isApplicable(v);\n });\n };\n CustomTransformerRegistry.prototype.findByName = function (name) {\n return this.transfomers[name];\n };\n return CustomTransformerRegistry;\n}());\nexport { CustomTransformerRegistry };\n//# sourceMappingURL=custom-transformer-registry.js.map","var getType = function (payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n};\nexport var isUndefined = function (payload) {\n return typeof payload === 'undefined';\n};\nexport var isNull = function (payload) { return payload === null; };\nexport var isPlainObject = function (payload) {\n if (typeof payload !== 'object' || payload === null)\n return false;\n if (payload === Object.prototype)\n return false;\n if (Object.getPrototypeOf(payload) === null)\n return true;\n return Object.getPrototypeOf(payload) === Object.prototype;\n};\nexport var isEmptyObject = function (payload) {\n return isPlainObject(payload) && Object.keys(payload).length === 0;\n};\nexport var isArray = function (payload) {\n return Array.isArray(payload);\n};\nexport var isString = function (payload) {\n return typeof payload === 'string';\n};\nexport var isNumber = function (payload) {\n return typeof payload === 'number' && !isNaN(payload);\n};\nexport var isBoolean = function (payload) {\n return typeof payload === 'boolean';\n};\nexport var isRegExp = function (payload) {\n return payload instanceof RegExp;\n};\nexport var isMap = function (payload) {\n return payload instanceof Map;\n};\nexport var isSet = function (payload) {\n return payload instanceof Set;\n};\nexport var isSymbol = function (payload) {\n return getType(payload) === 'Symbol';\n};\nexport var isDate = function (payload) {\n return payload instanceof Date && !isNaN(payload.valueOf());\n};\nexport var isError = function (payload) {\n return payload instanceof Error;\n};\nexport var isNaNValue = function (payload) {\n return typeof payload === 'number' && isNaN(payload);\n};\nexport var isPrimitive = function (payload) {\n return isBoolean(payload) ||\n isNull(payload) ||\n isUndefined(payload) ||\n isNumber(payload) ||\n isString(payload) ||\n isSymbol(payload);\n};\nexport var isBigint = function (payload) {\n return typeof payload === 'bigint';\n};\nexport var isInfinite = function (payload) {\n return payload === Infinity || payload === -Infinity;\n};\nexport var isTypedArray = function (payload) {\n return ArrayBuffer.isView(payload) && !(payload instanceof DataView);\n};\nexport var isURL = function (payload) { return payload instanceof URL; };\n//# sourceMappingURL=is.js.map","export var escapeKey = function (key) { return key.replace(/\\./g, '\\\\.'); };\nexport var stringifyPath = function (path) {\n return path\n .map(String)\n .map(escapeKey)\n .join('.');\n};\nexport var parsePath = function (string) {\n var result = [];\n var segment = '';\n for (var i = 0; i < string.length; i++) {\n var char = string.charAt(i);\n var isEscapedDot = char === '\\\\' && string.charAt(i + 1) === '.';\n if (isEscapedDot) {\n segment += '.';\n i++;\n continue;\n }\n var isEndOfSegment = char === '.';\n if (isEndOfSegment) {\n result.push(segment);\n segment = '';\n continue;\n }\n segment += char;\n }\n var lastSegment = segment;\n result.push(lastSegment);\n return result;\n};\n//# sourceMappingURL=pathstringifier.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nimport { isBigint, isDate, isInfinite, isMap, isNaNValue, isRegExp, isSet, isUndefined, isSymbol, isArray, isError, isTypedArray, isURL, } from './is';\nimport { findArr } from './util';\nfunction simpleTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable: isApplicable,\n annotation: annotation,\n transform: transform,\n untransform: untransform\n };\n}\nvar simpleRules = [\n simpleTransformation(isUndefined, 'undefined', function () { return null; }, function () { return undefined; }),\n simpleTransformation(isBigint, 'bigint', function (v) { return v.toString(); }, function (v) {\n if (typeof BigInt !== 'undefined') {\n return BigInt(v);\n }\n console.error('Please add a BigInt polyfill.');\n return v;\n }),\n simpleTransformation(isDate, 'Date', function (v) { return v.toISOString(); }, function (v) { return new Date(v); }),\n simpleTransformation(isError, 'Error', function (v, superJson) {\n var baseError = {\n name: v.name,\n message: v.message\n };\n superJson.allowedErrorProps.forEach(function (prop) {\n baseError[prop] = v[prop];\n });\n return baseError;\n }, function (v, superJson) {\n var e = new Error(v.message);\n e.name = v.name;\n e.stack = v.stack;\n superJson.allowedErrorProps.forEach(function (prop) {\n e[prop] = v[prop];\n });\n return e;\n }),\n simpleTransformation(isRegExp, 'regexp', function (v) { return '' + v; }, function (regex) {\n var body = regex.slice(1, regex.lastIndexOf('/'));\n var flags = regex.slice(regex.lastIndexOf('/') + 1);\n return new RegExp(body, flags);\n }),\n simpleTransformation(isSet, 'set', \n // (sets only exist in es6+)\n // eslint-disable-next-line es5/no-es6-methods\n function (v) { return __spreadArray([], __read(v.values())); }, function (v) { return new Set(v); }),\n simpleTransformation(isMap, 'map', function (v) { return __spreadArray([], __read(v.entries())); }, function (v) { return new Map(v); }),\n simpleTransformation(function (v) { return isNaNValue(v) || isInfinite(v); }, 'number', function (v) {\n if (isNaNValue(v)) {\n return 'NaN';\n }\n if (v > 0) {\n return 'Infinity';\n }\n else {\n return '-Infinity';\n }\n }, Number),\n simpleTransformation(function (v) { return v === 0 && 1 / v === -Infinity; }, 'number', function () {\n return '-0';\n }, Number),\n simpleTransformation(isURL, 'URL', function (v) { return v.toString(); }, function (v) { return new URL(v); }),\n];\nfunction compositeTransformation(isApplicable, annotation, transform, untransform) {\n return {\n isApplicable: isApplicable,\n annotation: annotation,\n transform: transform,\n untransform: untransform\n };\n}\nvar symbolRule = compositeTransformation(function (s, superJson) {\n if (isSymbol(s)) {\n var isRegistered = !!superJson.symbolRegistry.getIdentifier(s);\n return isRegistered;\n }\n return false;\n}, function (s, superJson) {\n var identifier = superJson.symbolRegistry.getIdentifier(s);\n return ['symbol', identifier];\n}, function (v) { return v.description; }, function (_, a, superJson) {\n var value = superJson.symbolRegistry.getValue(a[1]);\n if (!value) {\n throw new Error('Trying to deserialize unknown symbol');\n }\n return value;\n});\nvar constructorToName = [\n Int8Array,\n Uint8Array,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n Uint8ClampedArray,\n].reduce(function (obj, ctor) {\n obj[ctor.name] = ctor;\n return obj;\n}, {});\nvar typedArrayRule = compositeTransformation(isTypedArray, function (v) { return ['typed-array', v.constructor.name]; }, function (v) { return __spreadArray([], __read(v)); }, function (v, a) {\n var ctor = constructorToName[a[1]];\n if (!ctor) {\n throw new Error('Trying to deserialize unknown typed array');\n }\n return new ctor(v);\n});\nexport function isInstanceOfRegisteredClass(potentialClass, superJson) {\n if (potentialClass === null || potentialClass === void 0 ? void 0 : potentialClass.constructor) {\n var isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);\n return isRegistered;\n }\n return false;\n}\nvar classRule = compositeTransformation(isInstanceOfRegisteredClass, function (clazz, superJson) {\n var identifier = superJson.classRegistry.getIdentifier(clazz.constructor);\n return ['class', identifier];\n}, function (clazz, superJson) {\n var allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);\n if (!allowedProps) {\n return __assign({}, clazz);\n }\n var result = {};\n allowedProps.forEach(function (prop) {\n result[prop] = clazz[prop];\n });\n return result;\n}, function (v, a, superJson) {\n var clazz = superJson.classRegistry.getValue(a[1]);\n if (!clazz) {\n throw new Error('Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564');\n }\n return Object.assign(Object.create(clazz.prototype), v);\n});\nvar customRule = compositeTransformation(function (value, superJson) {\n return !!superJson.customTransformerRegistry.findApplicable(value);\n}, function (value, superJson) {\n var transformer = superJson.customTransformerRegistry.findApplicable(value);\n return ['custom', transformer.name];\n}, function (value, superJson) {\n var transformer = superJson.customTransformerRegistry.findApplicable(value);\n return transformer.serialize(value);\n}, function (v, a, superJson) {\n var transformer = superJson.customTransformerRegistry.findByName(a[1]);\n if (!transformer) {\n throw new Error('Trying to deserialize unknown custom value');\n }\n return transformer.deserialize(v);\n});\nvar compositeRules = [classRule, symbolRule, customRule, typedArrayRule];\nexport var transformValue = function (value, superJson) {\n var applicableCompositeRule = findArr(compositeRules, function (rule) {\n return rule.isApplicable(value, superJson);\n });\n if (applicableCompositeRule) {\n return {\n value: applicableCompositeRule.transform(value, superJson),\n type: applicableCompositeRule.annotation(value, superJson)\n };\n }\n var applicableSimpleRule = findArr(simpleRules, function (rule) {\n return rule.isApplicable(value, superJson);\n });\n if (applicableSimpleRule) {\n return {\n value: applicableSimpleRule.transform(value, superJson),\n type: applicableSimpleRule.annotation\n };\n }\n return undefined;\n};\nvar simpleRulesByAnnotation = {};\nsimpleRules.forEach(function (rule) {\n simpleRulesByAnnotation[rule.annotation] = rule;\n});\nexport var untransformValue = function (json, type, superJson) {\n if (isArray(type)) {\n switch (type[0]) {\n case 'symbol':\n return symbolRule.untransform(json, type, superJson);\n case 'class':\n return classRule.untransform(json, type, superJson);\n case 'custom':\n return customRule.untransform(json, type, superJson);\n case 'typed-array':\n return typedArrayRule.untransform(json, type, superJson);\n default:\n throw new Error('Unknown transformation: ' + type);\n }\n }\n else {\n var transformation = simpleRulesByAnnotation[type];\n if (!transformation) {\n throw new Error('Unknown transformation: ' + type);\n }\n return transformation.untransform(json, superJson);\n }\n};\n//# sourceMappingURL=transformer.js.map","import { isMap, isArray, isPlainObject, isSet } from './is';\nimport { includes } from './util';\nvar getNthKey = function (value, n) {\n var keys = value.keys();\n while (n > 0) {\n keys.next();\n n--;\n }\n return keys.next().value;\n};\nfunction validatePath(path) {\n if (includes(path, '__proto__')) {\n throw new Error('__proto__ is not allowed as a property');\n }\n if (includes(path, 'prototype')) {\n throw new Error('prototype is not allowed as a property');\n }\n if (includes(path, 'constructor')) {\n throw new Error('constructor is not allowed as a property');\n }\n}\nexport var getDeep = function (object, path) {\n validatePath(path);\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n if (isSet(object)) {\n object = getNthKey(object, +key);\n }\n else if (isMap(object)) {\n var row = +key;\n var type = +path[++i] === 0 ? 'key' : 'value';\n var keyOfRow = getNthKey(object, row);\n switch (type) {\n case 'key':\n object = keyOfRow;\n break;\n case 'value':\n object = object.get(keyOfRow);\n break;\n }\n }\n else {\n object = object[key];\n }\n }\n return object;\n};\nexport var setDeep = function (object, path, mapper) {\n validatePath(path);\n if (path.length === 0) {\n return mapper(object);\n }\n var parent = object;\n for (var i = 0; i < path.length - 1; i++) {\n var key = path[i];\n if (isArray(parent)) {\n var index = +key;\n parent = parent[index];\n }\n else if (isPlainObject(parent)) {\n parent = parent[key];\n }\n else if (isSet(parent)) {\n var row = +key;\n parent = getNthKey(parent, row);\n }\n else if (isMap(parent)) {\n var isEnd = i === path.length - 2;\n if (isEnd) {\n break;\n }\n var row = +key;\n var type = +path[++i] === 0 ? 'key' : 'value';\n var keyOfRow = getNthKey(parent, row);\n switch (type) {\n case 'key':\n parent = keyOfRow;\n break;\n case 'value':\n parent = parent.get(keyOfRow);\n break;\n }\n }\n }\n var lastKey = path[path.length - 1];\n if (isArray(parent)) {\n parent[+lastKey] = mapper(parent[+lastKey]);\n }\n else if (isPlainObject(parent)) {\n parent[lastKey] = mapper(parent[lastKey]);\n }\n if (isSet(parent)) {\n var oldValue = getNthKey(parent, +lastKey);\n var newValue = mapper(oldValue);\n if (oldValue !== newValue) {\n parent[\"delete\"](oldValue);\n parent.add(newValue);\n }\n }\n if (isMap(parent)) {\n var row = +path[path.length - 2];\n var keyToRow = getNthKey(parent, row);\n var type = +lastKey === 0 ? 'key' : 'value';\n switch (type) {\n case 'key': {\n var newKey = mapper(keyToRow);\n parent.set(newKey, parent.get(keyToRow));\n if (newKey !== keyToRow) {\n parent[\"delete\"](keyToRow);\n }\n break;\n }\n case 'value': {\n parent.set(keyToRow, mapper(parent.get(keyToRow)));\n break;\n }\n }\n }\n return object;\n};\n//# sourceMappingURL=accessDeep.js.map","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nimport { isArray, isEmptyObject, isMap, isPlainObject, isPrimitive, isSet, } from './is';\nimport { escapeKey, stringifyPath } from './pathstringifier';\nimport { isInstanceOfRegisteredClass, transformValue, untransformValue, } from './transformer';\nimport { includes, forEach } from './util';\nimport { parsePath } from './pathstringifier';\nimport { getDeep, setDeep } from './accessDeep';\nfunction traverse(tree, walker, origin) {\n if (origin === void 0) { origin = []; }\n if (!tree) {\n return;\n }\n if (!isArray(tree)) {\n forEach(tree, function (subtree, key) {\n return traverse(subtree, walker, __spreadArray(__spreadArray([], __read(origin)), __read(parsePath(key))));\n });\n return;\n }\n var _a = __read(tree, 2), nodeValue = _a[0], children = _a[1];\n if (children) {\n forEach(children, function (child, key) {\n traverse(child, walker, __spreadArray(__spreadArray([], __read(origin)), __read(parsePath(key))));\n });\n }\n walker(nodeValue, origin);\n}\nexport function applyValueAnnotations(plain, annotations, superJson) {\n traverse(annotations, function (type, path) {\n plain = setDeep(plain, path, function (v) { return untransformValue(v, type, superJson); });\n });\n return plain;\n}\nexport function applyReferentialEqualityAnnotations(plain, annotations) {\n function apply(identicalPaths, path) {\n var object = getDeep(plain, parsePath(path));\n identicalPaths.map(parsePath).forEach(function (identicalObjectPath) {\n plain = setDeep(plain, identicalObjectPath, function () { return object; });\n });\n }\n if (isArray(annotations)) {\n var _a = __read(annotations, 2), root = _a[0], other = _a[1];\n root.forEach(function (identicalPath) {\n plain = setDeep(plain, parsePath(identicalPath), function () { return plain; });\n });\n if (other) {\n forEach(other, apply);\n }\n }\n else {\n forEach(annotations, apply);\n }\n return plain;\n}\nvar isDeep = function (object, superJson) {\n return isPlainObject(object) ||\n isArray(object) ||\n isMap(object) ||\n isSet(object) ||\n isInstanceOfRegisteredClass(object, superJson);\n};\nfunction addIdentity(object, path, identities) {\n var existingSet = identities.get(object);\n if (existingSet) {\n existingSet.push(path);\n }\n else {\n identities.set(object, [path]);\n }\n}\nexport function generateReferentialEqualityAnnotations(identitites, dedupe) {\n var result = {};\n var rootEqualityPaths = undefined;\n identitites.forEach(function (paths) {\n if (paths.length <= 1) {\n return;\n }\n // if we're not deduping, all of these objects continue existing.\n // putting the shortest path first makes it easier to parse for humans\n // if we're deduping though, only the first entry will still exist, so we can't do this optimisation.\n if (!dedupe) {\n paths = paths\n .map(function (path) { return path.map(String); })\n .sort(function (a, b) { return a.length - b.length; });\n }\n var _a = __read(paths), representativePath = _a[0], identicalPaths = _a.slice(1);\n if (representativePath.length === 0) {\n rootEqualityPaths = identicalPaths.map(stringifyPath);\n }\n else {\n result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);\n }\n });\n if (rootEqualityPaths) {\n if (isEmptyObject(result)) {\n return [rootEqualityPaths];\n }\n else {\n return [rootEqualityPaths, result];\n }\n }\n else {\n return isEmptyObject(result) ? undefined : result;\n }\n}\nexport var walker = function (object, identities, superJson, dedupe, path, objectsInThisPath, seenObjects) {\n var _a;\n if (path === void 0) { path = []; }\n if (objectsInThisPath === void 0) { objectsInThisPath = []; }\n if (seenObjects === void 0) { seenObjects = new Map(); }\n var primitive = isPrimitive(object);\n if (!primitive) {\n addIdentity(object, path, identities);\n var seen = seenObjects.get(object);\n if (seen) {\n // short-circuit result if we've seen this object before\n return dedupe\n ? {\n transformedValue: null\n }\n : seen;\n }\n }\n if (!isDeep(object, superJson)) {\n var transformed_1 = transformValue(object, superJson);\n var result_1 = transformed_1\n ? {\n transformedValue: transformed_1.value,\n annotations: [transformed_1.type]\n }\n : {\n transformedValue: object\n };\n if (!primitive) {\n seenObjects.set(object, result_1);\n }\n return result_1;\n }\n if (includes(objectsInThisPath, object)) {\n // prevent circular references\n return {\n transformedValue: null\n };\n }\n var transformationResult = transformValue(object, superJson);\n var transformed = (_a = transformationResult === null || transformationResult === void 0 ? void 0 : transformationResult.value) !== null && _a !== void 0 ? _a : object;\n var transformedValue = isArray(transformed) ? [] : {};\n var innerAnnotations = {};\n forEach(transformed, function (value, index) {\n var recursiveResult = walker(value, identities, superJson, dedupe, __spreadArray(__spreadArray([], __read(path)), [index]), __spreadArray(__spreadArray([], __read(objectsInThisPath)), [object]), seenObjects);\n transformedValue[index] = recursiveResult.transformedValue;\n if (isArray(recursiveResult.annotations)) {\n innerAnnotations[index] = recursiveResult.annotations;\n }\n else if (isPlainObject(recursiveResult.annotations)) {\n forEach(recursiveResult.annotations, function (tree, key) {\n innerAnnotations[escapeKey(index) + '.' + key] = tree;\n });\n }\n });\n var result = isEmptyObject(innerAnnotations)\n ? {\n transformedValue: transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type]\n : undefined\n }\n : {\n transformedValue: transformedValue,\n annotations: !!transformationResult\n ? [transformationResult.type, innerAnnotations]\n : innerAnnotations\n };\n if (!primitive) {\n seenObjects.set(object, result);\n }\n return result;\n};\n//# sourceMappingURL=plainer.js.map","function getType(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\nfunction isUndefined(payload) {\n return getType(payload) === \"Undefined\";\n}\nfunction isNull(payload) {\n return getType(payload) === \"Null\";\n}\nfunction isPlainObject(payload) {\n if (getType(payload) !== \"Object\")\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\nfunction isObject(payload) {\n return isPlainObject(payload);\n}\nfunction isEmptyObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length === 0;\n}\nfunction isFullObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length > 0;\n}\nfunction isAnyObject(payload) {\n return getType(payload) === \"Object\";\n}\nfunction isObjectLike(payload) {\n return isAnyObject(payload);\n}\nfunction isFunction(payload) {\n return typeof payload === \"function\";\n}\nfunction isArray(payload) {\n return getType(payload) === \"Array\";\n}\nfunction isFullArray(payload) {\n return isArray(payload) && payload.length > 0;\n}\nfunction isEmptyArray(payload) {\n return isArray(payload) && payload.length === 0;\n}\nfunction isString(payload) {\n return getType(payload) === \"String\";\n}\nfunction isFullString(payload) {\n return isString(payload) && payload !== \"\";\n}\nfunction isEmptyString(payload) {\n return payload === \"\";\n}\nfunction isNumber(payload) {\n return getType(payload) === \"Number\" && !isNaN(payload);\n}\nfunction isPositiveNumber(payload) {\n return isNumber(payload) && payload > 0;\n}\nfunction isNegativeNumber(payload) {\n return isNumber(payload) && payload < 0;\n}\nfunction isBoolean(payload) {\n return getType(payload) === \"Boolean\";\n}\nfunction isRegExp(payload) {\n return getType(payload) === \"RegExp\";\n}\nfunction isMap(payload) {\n return getType(payload) === \"Map\";\n}\nfunction isWeakMap(payload) {\n return getType(payload) === \"WeakMap\";\n}\nfunction isSet(payload) {\n return getType(payload) === \"Set\";\n}\nfunction isWeakSet(payload) {\n return getType(payload) === \"WeakSet\";\n}\nfunction isSymbol(payload) {\n return getType(payload) === \"Symbol\";\n}\nfunction isDate(payload) {\n return getType(payload) === \"Date\" && !isNaN(payload);\n}\nfunction isBlob(payload) {\n return getType(payload) === \"Blob\";\n}\nfunction isFile(payload) {\n return getType(payload) === \"File\";\n}\nfunction isPromise(payload) {\n return getType(payload) === \"Promise\";\n}\nfunction isError(payload) {\n return getType(payload) === \"Error\";\n}\nfunction isNaNValue(payload) {\n return getType(payload) === \"Number\" && isNaN(payload);\n}\nfunction isPrimitive(payload) {\n return isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\n}\nconst isNullOrUndefined = isOneOf(isNull, isUndefined);\nfunction isOneOf(a, b, c, d, e) {\n return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);\n}\nfunction isType(payload, type) {\n if (!(type instanceof Function)) {\n throw new TypeError(\"Type must be a function\");\n }\n if (!Object.prototype.hasOwnProperty.call(type, \"prototype\")) {\n throw new TypeError(\"Type is not a class\");\n }\n const name = type.name;\n return getType(payload) === name || Boolean(payload && payload.constructor === type);\n}\nfunction isInstanceOf(value, classOrClassName) {\n if (typeof classOrClassName === \"function\") {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (isType(p, classOrClassName)) {\n return true;\n }\n }\n return false;\n } else {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (getType(p) === classOrClassName) {\n return true;\n }\n }\n return false;\n }\n}\n\nexport { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };\n","import { isArray, isPlainObject } from 'is-what';\n\nfunction assignProp(carry, key, newVal, originalObject, includeNonenumerable) {\n const propType = {}.propertyIsEnumerable.call(originalObject, key) ? \"enumerable\" : \"nonenumerable\";\n if (propType === \"enumerable\")\n carry[key] = newVal;\n if (includeNonenumerable && propType === \"nonenumerable\") {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n}\nfunction copy(target, options = {}) {\n if (isArray(target)) {\n return target.map((item) => copy(item, options));\n }\n if (!isPlainObject(target)) {\n return target;\n }\n const props = Object.getOwnPropertyNames(target);\n const symbols = Object.getOwnPropertySymbols(target);\n return [...props, ...symbols].reduce((carry, key) => {\n if (isArray(options.props) && !options.props.includes(key)) {\n return carry;\n }\n const val = target[key];\n const newVal = copy(val, options);\n assignProp(carry, key, newVal, target, options.nonenumerable);\n return carry;\n }, {});\n}\n\nexport { copy };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nimport { ClassRegistry } from './class-registry';\nimport { Registry } from './registry';\nimport { CustomTransformerRegistry, } from './custom-transformer-registry';\nimport { applyReferentialEqualityAnnotations, applyValueAnnotations, generateReferentialEqualityAnnotations, walker, } from './plainer';\nimport { copy } from 'copy-anything';\nvar SuperJSON = /** @class */ (function () {\n /**\n * @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.\n */\n function SuperJSON(_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.dedupe, dedupe = _c === void 0 ? false : _c;\n this.classRegistry = new ClassRegistry();\n this.symbolRegistry = new Registry(function (s) { var _a; return (_a = s.description) !== null && _a !== void 0 ? _a : ''; });\n this.customTransformerRegistry = new CustomTransformerRegistry();\n this.allowedErrorProps = [];\n this.dedupe = dedupe;\n }\n SuperJSON.prototype.serialize = function (object) {\n var identities = new Map();\n var output = walker(object, identities, this, this.dedupe);\n var res = {\n json: output.transformedValue\n };\n if (output.annotations) {\n res.meta = __assign(__assign({}, res.meta), { values: output.annotations });\n }\n var equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);\n if (equalityAnnotations) {\n res.meta = __assign(__assign({}, res.meta), { referentialEqualities: equalityAnnotations });\n }\n return res;\n };\n SuperJSON.prototype.deserialize = function (payload) {\n var json = payload.json, meta = payload.meta;\n var result = copy(json);\n if (meta === null || meta === void 0 ? void 0 : meta.values) {\n result = applyValueAnnotations(result, meta.values, this);\n }\n if (meta === null || meta === void 0 ? void 0 : meta.referentialEqualities) {\n result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);\n }\n return result;\n };\n SuperJSON.prototype.stringify = function (object) {\n return JSON.stringify(this.serialize(object));\n };\n SuperJSON.prototype.parse = function (string) {\n return this.deserialize(JSON.parse(string));\n };\n SuperJSON.prototype.registerClass = function (v, options) {\n this.classRegistry.register(v, options);\n };\n SuperJSON.prototype.registerSymbol = function (v, identifier) {\n this.symbolRegistry.register(v, identifier);\n };\n SuperJSON.prototype.registerCustom = function (transformer, name) {\n this.customTransformerRegistry.register(__assign({ name: name }, transformer));\n };\n SuperJSON.prototype.allowErrorProps = function () {\n var _a;\n var props = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n props[_i] = arguments[_i];\n }\n (_a = this.allowedErrorProps).push.apply(_a, __spreadArray([], __read(props)));\n };\n SuperJSON.defaultInstance = new SuperJSON();\n SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);\n SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);\n SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);\n SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);\n SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);\n SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);\n SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);\n SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);\n return SuperJSON;\n}());\nexport default SuperJSON;\nexport { SuperJSON };\nexport var serialize = SuperJSON.serialize;\nexport var deserialize = SuperJSON.deserialize;\nexport var stringify = SuperJSON.stringify;\nexport var parse = SuperJSON.parse;\nexport var registerClass = SuperJSON.registerClass;\nexport var registerCustom = SuperJSON.registerCustom;\nexport var registerSymbol = SuperJSON.registerSymbol;\nexport var allowErrorProps = SuperJSON.allowErrorProps;\n//# sourceMappingURL=index.js.map","function identity(x) {\n return x;\n}\n\n/** @internal */ function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn)=>fn(prev), input);\n };\n}\n\nfunction isObservable(x) {\n return typeof x === 'object' && x !== null && 'subscribe' in x;\n}\nfunction observable(subscribe) {\n const self = {\n subscribe (observer) {\n let teardownRef = null;\n let isDone = false;\n let unsubscribed = false;\n let teardownImmediately = false;\n function unsubscribe() {\n if (teardownRef === null) {\n teardownImmediately = true;\n return;\n }\n if (unsubscribed) {\n return;\n }\n unsubscribed = true;\n if (typeof teardownRef === 'function') {\n teardownRef();\n } else if (teardownRef) {\n teardownRef.unsubscribe();\n }\n }\n teardownRef = subscribe({\n next (value) {\n if (isDone) {\n return;\n }\n observer.next?.(value);\n },\n error (err) {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.error?.(err);\n unsubscribe();\n },\n complete () {\n if (isDone) {\n return;\n }\n isDone = true;\n observer.complete?.();\n unsubscribe();\n }\n });\n if (teardownImmediately) {\n unsubscribe();\n }\n return {\n unsubscribe\n };\n },\n pipe (...operations) {\n return pipeFromArray(operations)(self);\n }\n };\n return self;\n}\n\nexport { isObservable as i, observable as o };\n","export { i as isObservable, o as observable } from '../observable-ade1bad8.mjs';\n\nfunction share(_opts) {\n return (originalObserver)=>{\n let refCount = 0;\n let subscription = null;\n const observers = [];\n function startIfNeeded() {\n if (subscription) {\n return;\n }\n subscription = originalObserver.subscribe({\n next (value) {\n for (const observer of observers){\n observer.next?.(value);\n }\n },\n error (error) {\n for (const observer of observers){\n observer.error?.(error);\n }\n },\n complete () {\n for (const observer of observers){\n observer.complete?.();\n }\n }\n });\n }\n function resetIfNeeded() {\n // \"resetOnRefCountZero\"\n if (refCount === 0 && subscription) {\n const _sub = subscription;\n subscription = null;\n _sub.unsubscribe();\n }\n }\n return {\n subscribe (observer) {\n refCount++;\n observers.push(observer);\n startIfNeeded();\n return {\n unsubscribe () {\n refCount--;\n resetIfNeeded();\n const index = observers.findIndex((v)=>v === observer);\n if (index > -1) {\n observers.splice(index, 1);\n }\n }\n };\n }\n };\n };\n}\n\nfunction map(project) {\n return (originalObserver)=>{\n return {\n subscribe (observer) {\n let index = 0;\n const subscription = originalObserver.subscribe({\n next (value) {\n observer.next?.(project(value, index++));\n },\n error (error) {\n observer.error?.(error);\n },\n complete () {\n observer.complete?.();\n }\n });\n return subscription;\n }\n };\n };\n}\n\nfunction tap(observer) {\n return (originalObserver)=>{\n return {\n subscribe (observer2) {\n return originalObserver.subscribe({\n next (v) {\n observer.next?.(v);\n observer2.next?.(v);\n },\n error (v) {\n observer.error?.(v);\n observer2.error?.(v);\n },\n complete () {\n observer.complete?.();\n observer2.complete?.();\n }\n });\n }\n };\n };\n}\n\nclass ObservableAbortError extends Error {\n constructor(message){\n super(message);\n this.name = 'ObservableAbortError';\n Object.setPrototypeOf(this, ObservableAbortError.prototype);\n }\n}\n/** @internal */ function observableToPromise(observable) {\n let abort;\n const promise = new Promise((resolve, reject)=>{\n let isDone = false;\n function onDone() {\n if (isDone) {\n return;\n }\n isDone = true;\n reject(new ObservableAbortError('This operation was aborted.'));\n obs$.unsubscribe();\n }\n const obs$ = observable.subscribe({\n next (data) {\n isDone = true;\n resolve(data);\n onDone();\n },\n error (data) {\n isDone = true;\n reject(data);\n onDone();\n },\n complete () {\n isDone = true;\n onDone();\n }\n });\n abort = onDone;\n });\n return {\n promise,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n abort: abort\n };\n}\n\nexport { map, observableToPromise, share, tap };\n","import { observable } from '@trpc/server/observable';\n\n/** @internal */ function createChain(opts) {\n return observable((observer)=>{\n function execute(index = 0, op = opts.op) {\n const next = opts.links[index];\n if (!next) {\n throw new Error('No more links to execute - did you forget to add an ending link?');\n }\n const subscription = next({\n op,\n next (nextOp) {\n const nextObserver = execute(index + 1, nextOp);\n return nextObserver;\n }\n });\n return subscription;\n }\n const obs$ = execute();\n return obs$.subscribe(observer);\n });\n}\n\nfunction asArray(value) {\n return Array.isArray(value) ? value : [\n value\n ];\n}\nfunction splitLink(opts) {\n return (runtime)=>{\n const yes = asArray(opts.true).map((link)=>link(runtime));\n const no = asArray(opts.false).map((link)=>link(runtime));\n return (props)=>{\n return observable((observer)=>{\n const links = opts.condition(props.op) ? yes : no;\n return createChain({\n op: props.op,\n links\n }).subscribe(observer);\n });\n };\n };\n}\n\nexport { createChain as c, splitLink as s };\n","function isTRPCClientError(cause) {\n return cause instanceof TRPCClientError || /**\n * @deprecated\n * Delete in next major\n */ cause.name === 'TRPCClientError';\n}\nclass TRPCClientError extends Error {\n static from(cause, opts = {}) {\n if (!(cause instanceof Error)) {\n return new TRPCClientError(cause.error.message ?? '', {\n ...opts,\n cause: undefined,\n result: cause\n });\n }\n if (isTRPCClientError(cause)) {\n if (opts.meta) {\n // Decorate with meta error data\n cause.meta = {\n ...cause.meta,\n ...opts.meta\n };\n }\n return cause;\n }\n return new TRPCClientError(cause.message, {\n ...opts,\n cause,\n result: null\n });\n }\n constructor(message, opts){\n const cause = opts?.cause;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore https://github.com/tc39/proposal-error-cause\n super(message, {\n cause\n });\n this.meta = opts?.meta;\n this.cause = cause;\n this.shape = opts?.result?.error;\n this.data = opts?.result?.error.data;\n this.name = 'TRPCClientError';\n Object.setPrototypeOf(this, TRPCClientError.prototype);\n }\n}\n\nexport { TRPCClientError as T };\n","import { T as TRPCClientError } from './TRPCClientError-fef6cf44.mjs';\n\nconst isFunction = (fn)=>typeof fn === 'function';\nfunction getFetch(customFetchImpl) {\n if (customFetchImpl) {\n return customFetchImpl;\n }\n if (typeof window !== 'undefined' && isFunction(window.fetch)) {\n return window.fetch;\n }\n if (typeof globalThis !== 'undefined' && isFunction(globalThis.fetch)) {\n return globalThis.fetch;\n }\n throw new Error('No fetch implementation found');\n}\n\nfunction getAbortController(customAbortControllerImpl) {\n if (customAbortControllerImpl) {\n return customAbortControllerImpl;\n }\n if (typeof window !== 'undefined' && window.AbortController) {\n return window.AbortController;\n }\n if (typeof globalThis !== 'undefined' && globalThis.AbortController) {\n return globalThis.AbortController;\n }\n return null;\n}\n\nfunction resolveHTTPLinkOptions(opts) {\n return {\n url: opts.url,\n fetch: opts.fetch,\n AbortController: getAbortController(opts.AbortController)\n };\n}\n// https://github.com/trpc/trpc/pull/669\nfunction arrayToDict(array) {\n const dict = {};\n for(let index = 0; index < array.length; index++){\n const element = array[index];\n dict[index] = element;\n }\n return dict;\n}\nconst METHOD = {\n query: 'GET',\n mutation: 'POST'\n};\nfunction getInput(opts) {\n return 'input' in opts ? opts.runtime.transformer.serialize(opts.input) : arrayToDict(opts.inputs.map((_input)=>opts.runtime.transformer.serialize(_input)));\n}\nconst getUrl = (opts)=>{\n let url = opts.url + '/' + opts.path;\n const queryParts = [];\n if ('inputs' in opts) {\n queryParts.push('batch=1');\n }\n if (opts.type === 'query') {\n const input = getInput(opts);\n if (input !== undefined) {\n queryParts.push(`input=${encodeURIComponent(JSON.stringify(input))}`);\n }\n }\n if (queryParts.length) {\n url += '?' + queryParts.join('&');\n }\n return url;\n};\nconst getBody = (opts)=>{\n if (opts.type === 'query') {\n return undefined;\n }\n const input = getInput(opts);\n return input !== undefined ? JSON.stringify(input) : undefined;\n};\nconst jsonHttpRequester = (opts)=>{\n return httpRequest({\n ...opts,\n contentTypeHeader: 'application/json',\n getUrl,\n getBody\n });\n};\nasync function fetchHTTPResponse(opts, ac) {\n const url = opts.getUrl(opts);\n const body = opts.getBody(opts);\n const { type } = opts;\n const resolvedHeaders = await opts.headers();\n /* istanbul ignore if -- @preserve */ if (type === 'subscription') {\n throw new Error('Subscriptions should use wsLink');\n }\n const headers = {\n ...opts.contentTypeHeader ? {\n 'content-type': opts.contentTypeHeader\n } : {},\n ...opts.batchModeHeader ? {\n 'trpc-batch-mode': opts.batchModeHeader\n } : {},\n ...resolvedHeaders\n };\n return getFetch(opts.fetch)(url, {\n method: METHOD[type],\n signal: ac?.signal,\n body: body,\n headers\n });\n}\nfunction httpRequest(opts) {\n const ac = opts.AbortController ? new opts.AbortController() : null;\n const meta = {};\n const promise = new Promise((resolve, reject)=>{\n fetchHTTPResponse(opts, ac).then((_res)=>{\n meta.response = _res;\n return _res.json();\n }).then((json)=>{\n meta.responseJSON = json;\n resolve({\n json: json,\n meta\n });\n }).catch((err)=>{\n reject(TRPCClientError.from(err, {\n meta\n }));\n });\n });\n const cancel = ()=>{\n ac?.abort();\n };\n return {\n promise,\n cancel\n };\n}\n\nexport { getBody as a, getFetch as b, fetchHTTPResponse as f, getUrl as g, httpRequest as h, jsonHttpRequester as j, resolveHTTPLinkOptions as r };\n","function isObject(value) {\n // check that value is object\n return !!value && !Array.isArray(value) && typeof value === 'object';\n}\n\n// FIXME:\n// - the generics here are probably unnecessary\n// - the RPC-spec could probably be simplified to combine HTTP + WS\n/** @internal */ function transformResultInner(response, runtime) {\n if ('error' in response) {\n const error = runtime.transformer.deserialize(response.error);\n return {\n ok: false,\n error: {\n ...response,\n error\n }\n };\n }\n const result = {\n ...response.result,\n ...(!response.result.type || response.result.type === 'data') && {\n type: 'data',\n data: runtime.transformer.deserialize(response.result.data)\n }\n };\n return {\n ok: true,\n result\n };\n}\nclass TransformResultError extends Error {\n constructor(){\n super('Unable to transform response from server');\n }\n}\n/**\n * Transforms and validates that the result is a valid TRPCResponse\n * @internal\n */ function transformResult(response, runtime) {\n let result;\n try {\n // Use the data transformers on the JSON-response\n result = transformResultInner(response, runtime);\n } catch (err) {\n throw new TransformResultError();\n }\n // check that output of the transformers is a valid TRPCResponse\n if (!result.ok && (!isObject(result.error.error) || typeof result.error.error.code !== 'number')) {\n throw new TransformResultError();\n }\n if (result.ok && !isObject(result.result)) {\n throw new TransformResultError();\n }\n return result;\n}\n\nexport { transformResult as t };\n","import { observable } from '@trpc/server/observable';\nimport { t as transformResult } from './transformResult-7ab522e6.mjs';\nimport { T as TRPCClientError } from './TRPCClientError-fef6cf44.mjs';\nimport { r as resolveHTTPLinkOptions, g as getUrl, j as jsonHttpRequester } from './httpUtils-1efcb902.mjs';\n\n/* eslint-disable @typescript-eslint/no-non-null-assertion */ /**\n * A function that should never be called unless we messed something up.\n */ const throwFatalError = ()=>{\n throw new Error('Something went wrong. Please submit an issue at https://github.com/trpc/trpc/issues/new');\n};\n/**\n * Dataloader that's very inspired by https://github.com/graphql/dataloader\n * Less configuration, no caching, and allows you to cancel requests\n * When cancelling a single fetch the whole batch will be cancelled only when _all_ items are cancelled\n */ function dataLoader(batchLoader) {\n let pendingItems = null;\n let dispatchTimer = null;\n const destroyTimerAndPendingItems = ()=>{\n clearTimeout(dispatchTimer);\n dispatchTimer = null;\n pendingItems = null;\n };\n /**\n * Iterate through the items and split them into groups based on the `batchLoader`'s validate function\n */ function groupItems(items) {\n const groupedItems = [\n []\n ];\n let index = 0;\n while(true){\n const item = items[index];\n if (!item) {\n break;\n }\n const lastGroup = groupedItems[groupedItems.length - 1];\n if (item.aborted) {\n // Item was aborted before it was dispatched\n item.reject?.(new Error('Aborted'));\n index++;\n continue;\n }\n const isValid = batchLoader.validate(lastGroup.concat(item).map((it)=>it.key));\n if (isValid) {\n lastGroup.push(item);\n index++;\n continue;\n }\n if (lastGroup.length === 0) {\n item.reject?.(new Error('Input is too big for a single dispatch'));\n index++;\n continue;\n }\n // Create new group, next iteration will try to add the item to that\n groupedItems.push([]);\n }\n return groupedItems;\n }\n function dispatch() {\n const groupedItems = groupItems(pendingItems);\n destroyTimerAndPendingItems();\n // Create batches for each group of items\n for (const items of groupedItems){\n if (!items.length) {\n continue;\n }\n const batch = {\n items,\n cancel: throwFatalError\n };\n for (const item of items){\n item.batch = batch;\n }\n const unitResolver = (index, value)=>{\n const item = batch.items[index];\n item.resolve?.(value);\n item.batch = null;\n item.reject = null;\n item.resolve = null;\n };\n const { promise , cancel } = batchLoader.fetch(batch.items.map((_item)=>_item.key), unitResolver);\n batch.cancel = cancel;\n promise.then((result)=>{\n for(let i = 0; i < result.length; i++){\n const value = result[i];\n unitResolver(i, value);\n }\n for (const item of batch.items){\n item.reject?.(new Error('Missing result'));\n item.batch = null;\n }\n }).catch((cause)=>{\n for (const item of batch.items){\n item.reject?.(cause);\n item.batch = null;\n }\n });\n }\n }\n function load(key) {\n const item = {\n aborted: false,\n key,\n batch: null,\n resolve: throwFatalError,\n reject: throwFatalError\n };\n const promise = new Promise((resolve, reject)=>{\n item.reject = reject;\n item.resolve = resolve;\n if (!pendingItems) {\n pendingItems = [];\n }\n pendingItems.push(item);\n });\n if (!dispatchTimer) {\n dispatchTimer = setTimeout(dispatch);\n }\n const cancel = ()=>{\n item.aborted = true;\n if (item.batch?.items.every((item)=>item.aborted)) {\n // All items in the batch have been cancelled\n item.batch.cancel();\n item.batch = null;\n }\n };\n return {\n promise,\n cancel\n };\n }\n return {\n load\n };\n}\n\n/**\n * @internal\n */ function createHTTPBatchLink(requester) {\n return function httpBatchLink(opts) {\n const resolvedOpts = resolveHTTPLinkOptions(opts);\n const maxURLLength = opts.maxURLLength ?? Infinity;\n // initialized config\n return (runtime)=>{\n const batchLoader = (type)=>{\n const validate = (batchOps)=>{\n if (maxURLLength === Infinity) {\n // escape hatch for quick calcs\n return true;\n }\n const path = batchOps.map((op)=>op.path).join(',');\n const inputs = batchOps.map((op)=>op.input);\n const url = getUrl({\n ...resolvedOpts,\n runtime,\n type,\n path,\n inputs\n });\n return url.length <= maxURLLength;\n };\n const fetch = requester({\n ...resolvedOpts,\n runtime,\n type,\n opts\n });\n return {\n validate,\n fetch\n };\n };\n const query = dataLoader(batchLoader('query'));\n const mutation = dataLoader(batchLoader('mutation'));\n const subscription = dataLoader(batchLoader('subscription'));\n const loaders = {\n query,\n subscription,\n mutation\n };\n return ({ op })=>{\n return observable((observer)=>{\n const loader = loaders[op.type];\n const { promise , cancel } = loader.load(op);\n let _res = undefined;\n promise.then((res)=>{\n _res = res;\n const transformed = transformResult(res.json, runtime);\n if (!transformed.ok) {\n observer.error(TRPCClientError.from(transformed.error, {\n meta: res.meta\n }));\n return;\n }\n observer.next({\n context: res.meta,\n result: transformed.result\n });\n observer.complete();\n }).catch((err)=>{\n observer.error(TRPCClientError.from(err, {\n meta: _res?.meta\n }));\n });\n return ()=>{\n cancel();\n };\n });\n };\n };\n };\n}\n\nconst batchRequester = (requesterOpts)=>{\n return (batchOps)=>{\n const path = batchOps.map((op)=>op.path).join(',');\n const inputs = batchOps.map((op)=>op.input);\n const { promise , cancel } = jsonHttpRequester({\n ...requesterOpts,\n path,\n inputs,\n headers () {\n if (!requesterOpts.opts.headers) {\n return {};\n }\n if (typeof requesterOpts.opts.headers === 'function') {\n return requesterOpts.opts.headers({\n opList: batchOps\n });\n }\n return requesterOpts.opts.headers;\n }\n });\n return {\n promise: promise.then((res)=>{\n const resJSON = Array.isArray(res.json) ? res.json : batchOps.map(()=>res.json);\n const result = resJSON.map((item)=>({\n meta: res.meta,\n json: item\n }));\n return result;\n }),\n cancel\n };\n };\n};\nconst httpBatchLink = createHTTPBatchLink(batchRequester);\n\nexport { createHTTPBatchLink as c, httpBatchLink as h };\n","import { share, observableToPromise } from '@trpc/server/observable';\nimport { c as createChain } from './splitLink-4c75f7be.mjs';\nexport { s as splitLink } from './splitLink-4c75f7be.mjs';\nimport { T as TRPCClientError } from './TRPCClientError-fef6cf44.mjs';\nexport { T as TRPCClientError } from './TRPCClientError-fef6cf44.mjs';\nimport { createFlatProxy, createRecursiveProxy } from '@trpc/server/shared';\nimport { f as fetchHTTPResponse, g as getUrl, a as getBody$1, h as httpRequest } from './httpUtils-1efcb902.mjs';\nexport { b as getFetch } from './httpUtils-1efcb902.mjs';\nimport { c as createHTTPBatchLink } from './httpBatchLink-fbd7b43c.mjs';\nexport { h as httpBatchLink } from './httpBatchLink-fbd7b43c.mjs';\nimport { httpLinkFactory } from './links/httpLink.mjs';\nexport { httpLink, httpLinkFactory } from './links/httpLink.mjs';\nexport { loggerLink } from './links/loggerLink.mjs';\nexport { createWSClient, wsLink } from './links/wsLink.mjs';\nimport './transformResult-7ab522e6.mjs';\n\nclass TRPCUntypedClient {\n $request({ type , input , path , context ={} }) {\n const chain$ = createChain({\n links: this.links,\n op: {\n id: ++this.requestId,\n type,\n path,\n input,\n context\n }\n });\n return chain$.pipe(share());\n }\n requestAsPromise(opts) {\n const req$ = this.$request(opts);\n const { promise , abort } = observableToPromise(req$);\n const abortablePromise = new Promise((resolve, reject)=>{\n opts.signal?.addEventListener('abort', abort);\n promise.then((envelope)=>{\n resolve(envelope.result.data);\n }).catch((err)=>{\n reject(TRPCClientError.from(err));\n });\n });\n return abortablePromise;\n }\n query(path, input, opts) {\n return this.requestAsPromise({\n type: 'query',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal\n });\n }\n mutation(path, input, opts) {\n return this.requestAsPromise({\n type: 'mutation',\n path,\n input,\n context: opts?.context,\n signal: opts?.signal\n });\n }\n subscription(path, input, opts) {\n const observable$ = this.$request({\n type: 'subscription',\n path,\n input,\n context: opts?.context\n });\n return observable$.subscribe({\n next (envelope) {\n if (envelope.result.type === 'started') {\n opts.onStarted?.();\n } else if (envelope.result.type === 'stopped') {\n opts.onStopped?.();\n } else {\n opts.onData?.(envelope.result.data);\n }\n },\n error (err) {\n opts.onError?.(err);\n },\n complete () {\n opts.onComplete?.();\n }\n });\n }\n constructor(opts){\n this.requestId = 0;\n const combinedTransformer = (()=>{\n const transformer = opts.transformer;\n if (!transformer) {\n return {\n input: {\n serialize: (data)=>data,\n deserialize: (data)=>data\n },\n output: {\n serialize: (data)=>data,\n deserialize: (data)=>data\n }\n };\n }\n if ('input' in transformer) {\n return opts.transformer;\n }\n return {\n input: transformer,\n output: transformer\n };\n })();\n this.runtime = {\n transformer: {\n serialize: (data)=>combinedTransformer.input.serialize(data),\n deserialize: (data)=>combinedTransformer.output.deserialize(data)\n },\n combinedTransformer\n };\n // Initialize the links\n this.links = opts.links.map((link)=>link(this.runtime));\n }\n}\n\nfunction createTRPCUntypedClient(opts) {\n return new TRPCUntypedClient(opts);\n}\n\n/**\n * @deprecated use `createTRPCProxyClient` instead\n */ function createTRPCClient(opts) {\n const client = new TRPCUntypedClient(opts);\n return client;\n}\n\nconst clientCallTypeMap = {\n query: 'query',\n mutate: 'mutation',\n subscribe: 'subscription'\n};\n/** @internal */ const clientCallTypeToProcedureType = (clientCallType)=>{\n return clientCallTypeMap[clientCallType];\n};\n/**\n * @deprecated use `createTRPCProxyClient` instead\n * @internal\n */ function createTRPCClientProxy(client) {\n return createFlatProxy((key)=>{\n if (client.hasOwnProperty(key)) {\n return client[key];\n }\n if (key === '__untypedClient') {\n return client;\n }\n return createRecursiveProxy(({ path , args })=>{\n const pathCopy = [\n key,\n ...path\n ];\n const procedureType = clientCallTypeToProcedureType(pathCopy.pop());\n const fullPath = pathCopy.join('.');\n return client[procedureType](fullPath, ...args);\n });\n });\n}\nfunction createTRPCProxyClient(opts) {\n const client = new TRPCUntypedClient(opts);\n const proxy = createTRPCClientProxy(client);\n return proxy;\n}\n/**\n * Get an untyped client from a proxy client\n * @internal\n */ function getUntypedClient(client) {\n return client.__untypedClient;\n}\n\nfunction getTextDecoder(customTextDecoder) {\n if (customTextDecoder) {\n return customTextDecoder;\n }\n if (typeof window !== 'undefined' && window.TextDecoder) {\n return new window.TextDecoder();\n }\n if (typeof globalThis !== 'undefined' && globalThis.TextDecoder) {\n return new globalThis.TextDecoder();\n }\n throw new Error('No TextDecoder implementation found');\n}\n\n// Stream parsing adapted from https://www.loginradius.com/blog/engineering/guest-post/http-streaming-with-nodejs-and-fetch-api/\n/**\n * @internal\n * @description Take a stream of bytes and call `onLine` with\n * a JSON object for each line in the stream. Expected stream\n * format is:\n * ```json\n * {\"1\": {...}\n * ,\"0\": {...}\n * }\n * ```\n */ async function parseJSONStream(opts) {\n const parse = opts.parse ?? JSON.parse;\n const onLine = (line)=>{\n if (opts.signal?.aborted) return;\n if (!line || line === '}') {\n return;\n }\n /**\n * At this point, `line` can be one of two things:\n * - The first line of the stream `{\"2\":{...}`\n * - A line in the middle of the stream `,\"2\":{...}`\n */ const indexOfColon = line.indexOf(':');\n const indexAsStr = line.substring(2, indexOfColon - 1);\n const text = line.substring(indexOfColon + 1);\n opts.onSingle(Number(indexAsStr), parse(text));\n };\n await readLines(opts.readableStream, onLine, opts.textDecoder);\n}\n/**\n * Handle transforming a stream of bytes into lines of text.\n * To avoid using AsyncIterators / AsyncGenerators,\n * we use a callback for each line.\n *\n * @param readableStream can be a NodeJS stream or a WebAPI stream\n * @param onLine will be called for every line ('\\n' delimited) in the stream\n */ async function readLines(readableStream, onLine, textDecoder) {\n let partOfLine = '';\n const onChunk = (chunk)=>{\n const chunkText = textDecoder.decode(chunk);\n const chunkLines = chunkText.split('\\n');\n if (chunkLines.length === 1) {\n partOfLine += chunkLines[0];\n } else if (chunkLines.length > 1) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- length checked on line above\n onLine(partOfLine + chunkLines[0]);\n for(let i = 1; i < chunkLines.length - 1; i++){\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- length checked on line above\n onLine(chunkLines[i]);\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- length doesn't change, so is necessarily > 1\n partOfLine = chunkLines[chunkLines.length - 1];\n }\n };\n // we handle 2 different types of streams, this if where we figure out which one we have\n if ('getReader' in readableStream) {\n await readStandardChunks(readableStream, onChunk);\n } else {\n await readNodeChunks(readableStream, onChunk);\n }\n onLine(partOfLine);\n}\n/**\n * Handle NodeJS stream\n */ function readNodeChunks(stream, onChunk) {\n return new Promise((resolve)=>{\n stream.on('data', onChunk);\n stream.on('end', resolve);\n });\n}\n/**\n * Handle WebAPI stream\n */ async function readStandardChunks(stream, onChunk) {\n const reader = stream.getReader();\n let readResult = await reader.read();\n while(!readResult.done){\n onChunk(readResult.value);\n readResult = await reader.read();\n }\n}\nconst streamingJsonHttpRequester = (opts, onSingle)=>{\n const ac = opts.AbortController ? new opts.AbortController() : null;\n const responsePromise = fetchHTTPResponse({\n ...opts,\n contentTypeHeader: 'application/json',\n batchModeHeader: 'stream',\n getUrl,\n getBody: getBody$1\n }, ac);\n const cancel = ()=>ac?.abort();\n const promise = responsePromise.then(async (res)=>{\n if (!res.body) throw new Error('Received response without body');\n const meta = {\n response: res\n };\n return parseJSONStream({\n readableStream: res.body,\n onSingle,\n parse: (string)=>({\n json: JSON.parse(string),\n meta\n }),\n signal: ac?.signal,\n textDecoder: opts.textDecoder\n });\n });\n return {\n cancel,\n promise\n };\n};\n\nconst streamRequester = (requesterOpts)=>{\n const textDecoder = getTextDecoder(requesterOpts.opts.textDecoder);\n return (batchOps, unitResolver)=>{\n const path = batchOps.map((op)=>op.path).join(',');\n const inputs = batchOps.map((op)=>op.input);\n const { cancel , promise } = streamingJsonHttpRequester({\n ...requesterOpts,\n textDecoder,\n path,\n inputs,\n headers () {\n if (!requesterOpts.opts.headers) {\n return {};\n }\n if (typeof requesterOpts.opts.headers === 'function') {\n return requesterOpts.opts.headers({\n opList: batchOps\n });\n }\n return requesterOpts.opts.headers;\n }\n }, (index, res)=>{\n unitResolver(index, res);\n });\n return {\n /**\n * return an empty array because the batchLoader expects an array of results\n * but we've already called the `unitResolver` for each of them, there's\n * nothing left to do here.\n */ promise: promise.then(()=>[]),\n cancel\n };\n };\n};\nconst unstable_httpBatchStreamLink = createHTTPBatchLink(streamRequester);\n\nconst getBody = (opts)=>{\n if (!('input' in opts)) {\n return undefined;\n }\n if (!(opts.input instanceof FormData)) {\n throw new Error('Input is not FormData');\n }\n return opts.input;\n};\nconst formDataRequester = (opts)=>{\n if (opts.type !== 'mutation') {\n // TODO(?) handle formdata queries\n throw new Error('We only handle mutations with formdata');\n }\n return httpRequest({\n ...opts,\n getUrl () {\n return `${opts.url}/${opts.path}`;\n },\n getBody\n });\n};\nconst experimental_formDataLink = httpLinkFactory({\n requester: formDataRequester\n});\n\nexport { clientCallTypeToProcedureType, createTRPCClient, createTRPCClientProxy, createTRPCProxyClient, createTRPCUntypedClient, experimental_formDataLink, getUntypedClient, unstable_httpBatchStreamLink };\n","import{z as e}from\"zod\";import{isHex as i}from\"viem\";import{initTRPC as a}from\"@trpc/server\";import u from\"superjson\";function A(){let r=a.context().create({transformer:u});return r.router({findAll:r.procedure.input(e.object({chainId:e.number(),address:e.string().refine(i).optional()})).query(async t=>{let{storageAdapter:o}=t.ctx,{chainId:p,address:n}=t.input;return o.findAll(p,n)})})}import{createTRPCProxyClient as m,httpBatchLink as s}from\"@trpc/client\";import f from\"superjson\";function P({url:r}){return m({transformer:f,links:[s({url:r})]})}export{A as a,P as b};\n//# sourceMappingURL=chunk-A2BQSIM3.js.map","import{a as o,b as r,c as s,d as b,e as n,f as y,g as a,h as p,i}from\"../chunk-5AKM5HGJ.js\";var e=[\"event StoreDeleteRecord(bytes32 table, bytes32[] key)\",\"event StoreSetField(bytes32 table, bytes32[] key, uint8 schemaIndex, bytes data)\",\"event StoreSetRecord(bytes32 table, bytes32[] key, bytes data)\",\"event StoreEphemeralRecord(bytes32 table, bytes32[] key, bytes data)\"];import{parseAbi as t}from\"abitype\";var f=t(e);export{r as DEFAULTS,o as PATH_DEFAULTS,s as TABLE_DEFAULTS,e as storeEvents,f as storeEventsAbi,a as zEnumsConfig,i as zPluginStoreConfig,b as zSchemaConfig,p as zStoreConfig,n as zTableConfig,y as zTablesConfig};\n//# sourceMappingURL=index.js.map","import{EMPTY as p,concatMap as B,from as d,pipe as f,tap as m}from\"rxjs\";import{bigIntMin as b,wait as k}from\"@latticexyz/common/utils\";import g from\"debug\";var u=g(\"mud:block-events-stream\");async function*a({maxBlockRange:c=1000n,maxRetryCount:i=3,publicClient:l,...t}){let e=t.fromBlock,r=b(c,t.toBlock-e),n=0;for(;e<=t.toBlock;)try{let o=e+r,s=await l.getLogs({...t,fromBlock:e,toBlock:o,strict:!0});yield{fromBlock:e,toBlock:o,logs:s},e=o+1n,r=b(c,t.toBlock-e)}catch(o){if(!(o instanceof Error))throw o;if(o.message.includes(\"rate limit exceeded\")&&n{e??=o,r=n}),B(()=>e>r?p:d(a({publicClient:c,address:i,events:l,fromBlock:e,toBlock:r,maxBlockRange:t})).pipe(m(({toBlock:n})=>{e=n+1n}))))}import{Observable as T}from\"rxjs\";function O({publicClient:c,blockTag:i}){return new T(function(t){return c.watchBlocks({blockTag:i,emitOnBegin:!0,onBlock:e=>t.next(e),onError:e=>t.error(e)})})}import{bigIntSort as x,isDefined as y}from\"@latticexyz/common/utils\";function M(c,i){let l=Array.from(new Set(c.map(r=>r.blockNumber)));l.sort(x);let t=l.map(r=>{let n=c.filter(o=>o.blockNumber===r);if(n.length&&(n.sort((o,s)=>o.logIndexs.logIndex?1:0),!!n.length))return{blockNumber:r,logs:n}}).filter(y),e=l.length>0?l[l.length-1]:null;return i!=null&&(e==null||i>e)&&t.push({blockNumber:i,logs:[]}),t}export{P as blockRangeToLogs,O as createBlockStream,a as fetchLogs,M as groupLogsByBlockNumber};\n//# sourceMappingURL=index.js.map","import{a as O,b as R}from\"./chunk-SNWOSPCV.js\";import{b as x}from\"./chunk-A2BQSIM3.js\";import{schemaAbiTypeToDefaultValue as $}from\"@latticexyz/schema-type\";function U(l){return Object.fromEntries(Object.entries(l).map(([n,p])=>[n,$[p]]))}import{storeEventsAbi as E}from\"@latticexyz/store\";import{WaitForTransactionReceiptTimeoutError as I}from\"viem\";import{createBlockStream as M,blockRangeToLogs as W,groupLogsByBlockNumber as D}from\"@latticexyz/block-logs-stream\";import{filter as v,map as b,tap as g,mergeMap as j,from as K,concat as q,concatMap as w,share as H,firstValueFrom as z,defer as G,of as J,catchError as Q,shareReplay as u,combineLatest as X}from\"rxjs\";import Y from\"p-retry\";import{chunk as Z}from\"@latticexyz/common/utils\";var r=O.extend(\"createStoreSync\");async function be({storageAdapter:l,onProgress:n,address:p,publicClient:s,startBlock:h=0n,maxBlockRange:A,initialState:k,indexerUrl:S}){let T=G(async()=>{if(k)return k;if(!S)return;r(\"fetching initial state from indexer\",S),n?.({step:\"snapshot\",percentage:0,latestBlockNumber:0n,lastBlockNumberProcessed:0n,message:\"Fetching snapshot from indexer\"});let e=x({url:S}),t=s.chain?.id??await s.getChainId(),o=await e.findAll.query({chainId:t,address:p});return n?.({step:\"snapshot\",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:0n,message:\"Fetched snapshot from indexer\"}),o}).pipe(Q(e=>(r(\"error fetching initial state from indexer\",e),n?.({step:\"snapshot\",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:h,message:\"Failed to fetch snapshot from indexer\"}),J(void 0))),u(1)),F=T.pipe(b(e=>e?.blockNumber??h),g(e=>r(\"starting sync from block\",e))),L=T.pipe(v(e=>e!=null&&e.blockNumber!=null&&e.tables.length>0),w(async({blockNumber:e,tables:t})=>{r(\"hydrating from initial state to block\",e),n?.({step:\"snapshot\",percentage:0,latestBlockNumber:0n,lastBlockNumberProcessed:e,message:\"Hydrating from snapshot\"}),await l.registerTables({blockNumber:e,tables:t});let o=t.flatMap(c=>c.records.map(m=>({type:\"SetRecord\",address:c.address,namespace:c.namespace,name:c.name,key:m.key,value:m.value}))),d=Math.max(100,Math.floor(o.length/50)),P=Array.from(Z(o,d));for(let[c,m]of P.entries())await l.storeOperations({blockNumber:e,operations:m}),n?.({step:\"snapshot\",percentage:(c+m.length)/P.length,latestBlockNumber:0n,lastBlockNumberProcessed:e,message:\"Hydrating from snapshot\"});return n?.({step:\"snapshot\",percentage:100,latestBlockNumber:0n,lastBlockNumberProcessed:e,message:\"Hydrated from snapshot\"}),{blockNumber:e,operations:o}}),u(1)),y=M({publicClient:s,blockTag:\"latest\"}).pipe(u(1)),B=y.pipe(b(e=>e.number),g(e=>{r(\"latest block number\",e)}),u(1)),f=null,a=null,N=X([F,B]).pipe(b(([e,t])=>({startBlock:e,endBlock:t})),g(e=>{f=e.startBlock,a=e.endBlock}),W({publicClient:s,address:p,events:E,maxBlockRange:A}),j(({toBlock:e,logs:t})=>K(D(t,e))),H()),i=null,C=q(L,N.pipe(w(R(l)),g(({blockNumber:e,operations:t})=>{if(r(\"stored\",t.length,\"operations for block\",e),i=e,f!=null&&a!=null)if(e(r(\"waiting for tx receipt\",e,\"attempt\",o),s.waitForTransactionReceipt({hash:e,timeout:s.pollingInterval*2*o})),{retries:3,onFailedAttempt:o=>{if(o instanceof I){r(\"timed out waiting for tx receipt, trying again\",e);return}throw o}});return r(\"got tx receipt\",e,t),(i==null||io>=t.blockNumber)))),r(\"tx block was processed\",e,t.blockNumber),{receipt:t}}return{latestBlock$:y,latestBlockNumber$:B,blockLogs$:N,blockStorageOperations$:C,waitForTransaction:V}}export{U as a,be as b};\n//# sourceMappingURL=chunk-IH5UMM4B.js.map","var d={registerFunctionSelector:!0,openAccess:!0,accessList:[]},o={worldContractName:void 0,worldInterfaceName:\"IWorld\",systems:{},excludeSystems:[],postDeployScript:\"PostDeploy\",deploysDirectory:\"./deploys\",worldsFile:\"./worlds.json\",worldgenDirectory:\"world\",worldImportPath:\"@latticexyz/world/src/\",modules:[]};import{getDuplicates as g,STORE_SELECTOR_MAX_LENGTH as w,UnrecognizedSystemErrorFactory as f}from\"@latticexyz/config\";import{MUDError as D}from\"@latticexyz/common/errors\";function R(r,s){let n=s?.filter(t=>t.endsWith(\"System\")&&t!==\"System\"&&!t.match(/^I[A-Z]/))??[],c=Object.keys(r.systems);if(s){for(let t of c)if(!s.includes(t)||t===\"World\")throw f([\"systems\",t],t)}let l=[...new Set([...n,...c])].filter(t=>!r.excludeSystems.includes(t)).reduce((t,u)=>({...t,[u]:b(u,r.systems[u],s)}),{}),i=Object.values(r.tables).map(({name:t})=>t),a=Object.values(l).map(({name:t})=>t),m=g([...i,...a]);if(m.length>0)throw new D(`Table and system names must be unique: ${m.join(\", \")}`);return{systems:l}}function b(r,s,n){let c=s?.name??r.slice(0,w),p=s?.registerFunctionSelectors??!0,l=s?.openAccess??!0,i=[],a=[],m=s&&!s.openAccess?s.accessList:[];for(let t of m)if(t.startsWith(\"0x\"))i.push(t);else{if(n&&!n.includes(t))throw f([\"systems\",r,\"accessList\"],t);a.push(t)}return{name:c,registerFunctionSelectors:p,openAccess:l,accessListAddresses:i,accessListSystems:a}}import{z as e}from\"zod\";import{DynamicResolutionType as A,zEthereumAddress as L,zObjectName as S,zSelector as C}from\"@latticexyz/config\";var y=S,h=S,z=e.array(y.or(L)).default(d.accessList),v=e.intersection(e.object({name:C.optional(),registerFunctionSelectors:e.boolean().default(d.registerFunctionSelector)}),e.discriminatedUnion(\"openAccess\",[e.object({openAccess:e.literal(!0).default(d.openAccess)}),e.object({openAccess:e.literal(!1),accessList:z})])),x=e.object({value:e.union([e.string(),e.number(),e.instanceof(Uint8Array)]),type:e.string()}),E=e.object({type:e.nativeEnum(A),input:e.string()}),N=e.object({name:h,root:e.boolean().default(!1),args:e.array(e.union([x,E])).default([])}),T=e.object({worldContractName:e.string().optional(),worldInterfaceName:e.string().default(o.worldInterfaceName),systems:e.record(y,v).default(o.systems),excludeSystems:e.array(y).default(o.excludeSystems),postDeployScript:e.string().default(o.postDeployScript),deploysDirectory:e.string().default(o.deploysDirectory),worldsFile:e.string().default(o.worldsFile),worldgenDirectory:e.string().default(o.worldgenDirectory),worldImportPath:e.string().default(o.worldImportPath),modules:e.array(N).default(o.modules)}),M=T.catchall(e.any());export{d as a,o as b,R as c,b as d,T as e,M as f};\n//# sourceMappingURL=chunk-JOQBBVRS.js.map","import{f as e}from\"./chunk-JOQBBVRS.js\";import\"@latticexyz/store/register\";import{mudConfig as c,mudCoreConfig as C,resolveTableId as g}from\"@latticexyz/store/register\";import{extendMUDCoreConfig as t,fromZodErrorCustom as i}from\"@latticexyz/config\";import{ZodError as s}from\"zod\";t(r=>{try{return e.parse(r)}catch(o){throw o instanceof s?i(o,\"WorldConfig Validation Error\"):o}});import\"@latticexyz/store/register\";export{c as a,C as b,g as c};\n//# sourceMappingURL=chunk-24XAL2ND.js.map","import{a as e}from\"./chunk-24XAL2ND.js\";import\"./chunk-OWSPJIEF.js\";import\"./chunk-JOQBBVRS.js\";var t=e({worldImportPath:\"../\",worldgenDirectory:\"interfaces\",worldInterfaceName:\"IBaseWorld\",codegenDirectory:\"\",tables:{NamespaceOwner:{keySchema:{namespace:\"bytes16\"},schema:{owner:\"address\"}},ResourceAccess:{keySchema:{resourceSelector:\"bytes32\",caller:\"address\"},schema:{access:\"bool\"}},InstalledModules:{keySchema:{moduleName:\"bytes16\",argumentsHash:\"bytes32\"},schema:{moduleAddress:\"address\"},dataStruct:!0},Systems:{directory:\"modules/core/tables\",keySchema:{resourceSelector:\"bytes32\"},schema:{system:\"address\",publicAccess:\"bool\"},dataStruct:!1},SystemRegistry:{directory:\"modules/core/tables\",keySchema:{system:\"address\"},schema:{resourceSelector:\"bytes32\"}},SystemHooks:{directory:\"modules/core/tables\",keySchema:{resourceSelector:\"bytes32\"},schema:\"address[]\"},ResourceType:{directory:\"modules/core/tables\",keySchema:{resourceSelector:\"bytes32\"},schema:{resourceType:\"Resource\"}},FunctionSelectors:{directory:\"modules/core/tables\",keySchema:{functionSelector:\"bytes4\"},schema:{resourceSelector:\"bytes32\",systemFunctionSelector:\"bytes4\"},dataStruct:!1},KeysWithValue:{directory:\"modules/keyswithvalue/tables\",keySchema:{valueHash:\"bytes32\"},schema:{keysWithValue:\"bytes32[]\"},tableIdArgument:!0},KeysInTable:{directory:\"modules/keysintable/tables\",keySchema:{sourceTable:\"bytes32\"},schema:{keys0:\"bytes32[]\",keys1:\"bytes32[]\",keys2:\"bytes32[]\",keys3:\"bytes32[]\",keys4:\"bytes32[]\"}},UsedKeysIndex:{directory:\"modules/keysintable/tables\",keySchema:{sourceTable:\"bytes32\",keysHash:\"bytes32\"},schema:{has:\"bool\",index:\"uint40\"},dataStruct:!1},UniqueEntity:{directory:\"modules/uniqueentity/tables\",keySchema:{},schema:\"uint256\",tableIdArgument:!0,storeArgument:!0},Bool:{directory:\"../test/tables\",keySchema:{},schema:{value:\"bool\"},tableIdArgument:!0},AddressArray:{directory:\"../test/tables\",schema:\"address[]\",tableIdArgument:!0}},enums:{Resource:[\"NONE\",\"NAMESPACE\",\"TABLE\",\"SYSTEM\"]},excludeSystems:[\"UniqueEntitySystem\",\"StoreRegistrationSystem\",\"EphemeralRecordSystem\"]});export{t as default};\n//# sourceMappingURL=mud.config.js.map","import{a as l,b as d}from\"../chunk-IH5UMM4B.js\";import{a as B}from\"../chunk-SNWOSPCV.js\";import\"../chunk-A2BQSIM3.js\";import{decodeAbiParameters as W}from\"viem\";import{sliceHex as w,size as V,isHex as M}from\"viem\";function T(e){if(!M(e))throw new Error(`entity ${e} is not a hex string`);let i=V(e);if(i%32!==0)throw new Error(`entity length ${i} is not a multiple of 32 bytes`);return new Array(i/32).fill(0).map((r,n)=>w(e,n*32,(n+1)*32))}function ot(e,i){let r=T(i);if(r.length!==Object.keys(e).length)throw new Error(`entity key tuple length ${r.length} does not match key schema length ${Object.keys(e).length}`);return Object.fromEntries(Object.entries(e).map(([n,a],o)=>[n,W([{type:a}],r[o])[0]]))}import{encodeAbiParameters as L}from\"viem\";import{concatHex as D}from\"viem\";function c(e){return D(e)}function u(e,i){if(Object.keys(e).length!==Object.keys(i).length)throw new Error(`key length ${Object.keys(i).length} does not match key schema length ${Object.keys(e).length}`);return c(Object.entries(e).map(([r,n])=>L([{type:n}],[i[r]])))}function ut(e){return e.metadata?.componentName!=null&&e.metadata?.tableName!=null&&e.metadata?.keySchema!=null&&e.metadata?.valueSchema!=null}var g=B.extend(\"recs\");import{getComponentValue as h,removeComponent as z,setComponent as x,updateComponent as F}from\"@latticexyz/recs\";import{isDefined as _}from\"@latticexyz/common/utils\";import{stringToHex as C}from\"viem\";function b(e){return u({address:\"address\",namespace:\"bytes16\",name:\"bytes16\"},{address:e.address,namespace:C(e.namespace,{size:16}),name:C(e.name,{size:16})})}import{tableIdToHex as q}from\"@latticexyz/common\";function R({components:e}){let i=Object.fromEntries(Object.entries(e).map(([r,n])=>[n.id,n]));return{async registerTables({tables:r}){for(let n of r)x(e.RegisteredTables,b(n),{table:n})},async getTables({tables:r}){return r.map(n=>h(e.RegisteredTables,b(n))?.table).filter(_)},async storeOperations({operations:r}){for(let n of r){let a=h(e.RegisteredTables,b({address:n.address,namespace:n.namespace,name:n.name}))?.table;if(!a){g(`skipping update for unknown table: ${n.namespace}:${n.name} at ${n.address}`);continue}let o=q(n.namespace,n.name),m=i[o];if(!m){g(`skipping update for unknown component: ${o}. Available components: ${Object.keys(e)}`);continue}let s=u(a.keySchema,n.key);n.type===\"SetRecord\"?(g(\"setting component\",o,s,n.value),x(m,s,n.value)):n.type===\"SetField\"?(g(\"updating component\",o,s,{[n.fieldName]:n.fieldValue}),F(m,s,{[n.fieldName]:n.fieldValue},l(a.valueSchema))):n.type===\"DeleteRecord\"&&(g(\"deleting component\",o,s),z(m,s))}}}}var f=c([]);import{getComponentValue as Q,setComponent as U}from\"@latticexyz/recs\";import{defineComponent as E,Type as y}from\"@latticexyz/recs\";function N(e){return{RegisteredTables:E(e,{table:y.T},{metadata:{componentName:\"RegisteredTables\"}}),SyncProgress:E(e,{step:y.String,message:y.String,percentage:y.Number,latestBlockNumber:y.BigInt,lastBlockNumberProcessed:y.BigInt},{metadata:{componentName:\"SyncProgress\"}})}}import X from\"@latticexyz/store/mud.config\";import Y from\"@latticexyz/world/mud.config\";import{tableIdToHex as G}from\"@latticexyz/common\";import{defineComponent as J}from\"@latticexyz/recs\";import{Type as t}from\"@latticexyz/recs\";var O={uint8:t.Number,uint16:t.Number,uint24:t.Number,uint32:t.Number,uint40:t.Number,uint48:t.Number,uint56:t.BigInt,uint64:t.BigInt,uint72:t.BigInt,uint80:t.BigInt,uint88:t.BigInt,uint96:t.BigInt,uint104:t.BigInt,uint112:t.BigInt,uint120:t.BigInt,uint128:t.BigInt,uint136:t.BigInt,uint144:t.BigInt,uint152:t.BigInt,uint160:t.BigInt,uint168:t.BigInt,uint176:t.BigInt,uint184:t.BigInt,uint192:t.BigInt,uint200:t.BigInt,uint208:t.BigInt,uint216:t.BigInt,uint224:t.BigInt,uint232:t.BigInt,uint240:t.BigInt,uint248:t.BigInt,uint256:t.BigInt,int8:t.Number,int16:t.Number,int24:t.Number,int32:t.Number,int40:t.Number,int48:t.Number,int56:t.BigInt,int64:t.BigInt,int72:t.BigInt,int80:t.BigInt,int88:t.BigInt,int96:t.BigInt,int104:t.BigInt,int112:t.BigInt,int120:t.BigInt,int128:t.BigInt,int136:t.BigInt,int144:t.BigInt,int152:t.BigInt,int160:t.BigInt,int168:t.BigInt,int176:t.BigInt,int184:t.BigInt,int192:t.BigInt,int200:t.BigInt,int208:t.BigInt,int216:t.BigInt,int224:t.BigInt,int232:t.BigInt,int240:t.BigInt,int248:t.BigInt,int256:t.BigInt,bytes1:t.String,bytes2:t.String,bytes3:t.String,bytes4:t.String,bytes5:t.String,bytes6:t.String,bytes7:t.String,bytes8:t.String,bytes9:t.String,bytes10:t.String,bytes11:t.String,bytes12:t.String,bytes13:t.String,bytes14:t.String,bytes15:t.String,bytes16:t.String,bytes17:t.String,bytes18:t.String,bytes19:t.String,bytes20:t.String,bytes21:t.String,bytes22:t.String,bytes23:t.String,bytes24:t.String,bytes25:t.String,bytes26:t.String,bytes27:t.String,bytes28:t.String,bytes29:t.String,bytes30:t.String,bytes31:t.String,bytes32:t.String,bool:t.Boolean,address:t.String,\"uint8[]\":t.NumberArray,\"uint16[]\":t.NumberArray,\"uint24[]\":t.NumberArray,\"uint32[]\":t.NumberArray,\"uint40[]\":t.NumberArray,\"uint48[]\":t.NumberArray,\"uint56[]\":t.BigIntArray,\"uint64[]\":t.BigIntArray,\"uint72[]\":t.BigIntArray,\"uint80[]\":t.BigIntArray,\"uint88[]\":t.BigIntArray,\"uint96[]\":t.BigIntArray,\"uint104[]\":t.BigIntArray,\"uint112[]\":t.BigIntArray,\"uint120[]\":t.BigIntArray,\"uint128[]\":t.BigIntArray,\"uint136[]\":t.BigIntArray,\"uint144[]\":t.BigIntArray,\"uint152[]\":t.BigIntArray,\"uint160[]\":t.BigIntArray,\"uint168[]\":t.BigIntArray,\"uint176[]\":t.BigIntArray,\"uint184[]\":t.BigIntArray,\"uint192[]\":t.BigIntArray,\"uint200[]\":t.BigIntArray,\"uint208[]\":t.BigIntArray,\"uint216[]\":t.BigIntArray,\"uint224[]\":t.BigIntArray,\"uint232[]\":t.BigIntArray,\"uint240[]\":t.BigIntArray,\"uint248[]\":t.BigIntArray,\"uint256[]\":t.BigIntArray,\"int8[]\":t.NumberArray,\"int16[]\":t.NumberArray,\"int24[]\":t.NumberArray,\"int32[]\":t.NumberArray,\"int40[]\":t.NumberArray,\"int48[]\":t.NumberArray,\"int56[]\":t.BigIntArray,\"int64[]\":t.BigIntArray,\"int72[]\":t.BigIntArray,\"int80[]\":t.BigIntArray,\"int88[]\":t.BigIntArray,\"int96[]\":t.BigIntArray,\"int104[]\":t.BigIntArray,\"int112[]\":t.BigIntArray,\"int120[]\":t.BigIntArray,\"int128[]\":t.BigIntArray,\"int136[]\":t.BigIntArray,\"int144[]\":t.BigIntArray,\"int152[]\":t.BigIntArray,\"int160[]\":t.BigIntArray,\"int168[]\":t.BigIntArray,\"int176[]\":t.BigIntArray,\"int184[]\":t.BigIntArray,\"int192[]\":t.BigIntArray,\"int200[]\":t.BigIntArray,\"int208[]\":t.BigIntArray,\"int216[]\":t.BigIntArray,\"int224[]\":t.BigIntArray,\"int232[]\":t.BigIntArray,\"int240[]\":t.BigIntArray,\"int248[]\":t.BigIntArray,\"int256[]\":t.BigIntArray,\"bytes1[]\":t.StringArray,\"bytes2[]\":t.StringArray,\"bytes3[]\":t.StringArray,\"bytes4[]\":t.StringArray,\"bytes5[]\":t.StringArray,\"bytes6[]\":t.StringArray,\"bytes7[]\":t.StringArray,\"bytes8[]\":t.StringArray,\"bytes9[]\":t.StringArray,\"bytes10[]\":t.StringArray,\"bytes11[]\":t.StringArray,\"bytes12[]\":t.StringArray,\"bytes13[]\":t.StringArray,\"bytes14[]\":t.StringArray,\"bytes15[]\":t.StringArray,\"bytes16[]\":t.StringArray,\"bytes17[]\":t.StringArray,\"bytes18[]\":t.StringArray,\"bytes19[]\":t.StringArray,\"bytes20[]\":t.StringArray,\"bytes21[]\":t.StringArray,\"bytes22[]\":t.StringArray,\"bytes23[]\":t.StringArray,\"bytes24[]\":t.StringArray,\"bytes25[]\":t.StringArray,\"bytes26[]\":t.StringArray,\"bytes27[]\":t.StringArray,\"bytes28[]\":t.StringArray,\"bytes29[]\":t.StringArray,\"bytes30[]\":t.StringArray,\"bytes31[]\":t.StringArray,\"bytes32[]\":t.StringArray,\"bool[]\":t.T,\"address[]\":t.StringArray,bytes:t.String,string:t.String};function S(e,i){return Object.fromEntries(Object.entries(i.tables).map(([r,n])=>[r,J(e,Object.fromEntries(Object.entries(n.schema).map(([a,o])=>[a,O[o]])),{id:G(i.namespace,r),metadata:{componentName:r,tableName:`${i.namespace}:${r}`,keySchema:n.keySchema,valueSchema:n.schema}})]))}async function ae({world:e,config:i,address:r,publicClient:n,startBlock:a,maxBlockRange:o,initialState:m,indexerUrl:s,startSync:k=!0}){let p={...S(e,i),...S(e,X),...S(e,Y),...N(e)};e.registerEntity({id:f});let A=await d({storageAdapter:R({components:p,config:i}),config:i,address:r,publicClient:n,startBlock:a,maxBlockRange:o,indexerUrl:s,initialState:m,onProgress:({step:H,percentage:P,latestBlockNumber:v,lastBlockNumberProcessed:$,message:K})=>{Q(p.SyncProgress,f)?.step!==\"live\"&&U(p.SyncProgress,f,{step:H,percentage:P,latestBlockNumber:v,lastBlockNumberProcessed:$,message:K})}}),j=k?A.blockStorageOperations$.subscribe():null,I=()=>{j?.unsubscribe()};return e.registerDisposer(I),{...A,components:p,stopSync:I}}export{ot as decodeEntity,u as encodeEntity,T as entityToHexKeyTuple,c as hexKeyTupleToEntity,ut as isStoreComponent,R as recsStorage,f as singletonEntity,ae as syncToRecs};\n//# sourceMappingURL=index.js.map","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;\n/* eslint-enable */","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable no-param-reassign */\n\nimport { isValidElement } from 'react';\nimport { isFragment, isMemo } from 'react-is';\nimport useMemo from \"./hooks/useMemo\";\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(function (ref) {\n return ref;\n });\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length !== next.length || prev.every(function (ref, i) {\n return ref !== next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) !== null && _type$prototype !== void 0 && _type$prototype.render)) {\n return false;\n }\n\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) !== null && _nodeOrComponent$prot !== void 0 && _nodeOrComponent$prot.render)) {\n return false;\n }\n return true;\n}\nexport function supportNodeRef(node) {\n if (! /*#__PURE__*/isValidElement(node)) {\n return false;\n }\n if (isFragment(node)) {\n return false;\n }\n return supportRef(node);\n}\n/* eslint-enable */","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};\nexport default wrapperRaf;","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport warning from \"./warning\";\n\n/**\n * Deeply compares two object literals.\n * @param obj1 object 1\n * @param obj2 object 2\n * @param shallow shallow compare\n * @returns\n */\nfunction isEqual(obj1, obj2) {\n var shallow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n // https://github.com/mapbox/mapbox-gl-js/pull/5979/files#diff-fde7145050c47cc3a306856efd5f9c3016e86e859de9afbd02c879be5067e58f\n var refSet = new Set();\n function deepEqual(a, b) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var circular = refSet.has(a);\n warning(!circular, 'Warning: There may be circular references');\n if (circular) {\n return false;\n }\n if (a === b) {\n return true;\n }\n if (shallow && level > 1) {\n return false;\n }\n refSet.add(a);\n var newLevel = level + 1;\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; i++) {\n if (!deepEqual(a[i], b[i], newLevel)) {\n return false;\n }\n }\n return true;\n }\n if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') {\n var keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) {\n return false;\n }\n return keys.every(function (key) {\n return deepEqual(a[key], b[key], newLevel);\n });\n }\n // other\n return false;\n }\n return deepEqual(obj1, obj2);\n}\nexport default isEqual;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// [times, realValue]\n\nvar SPLIT = '%';\nvar Entity = /*#__PURE__*/function () {\n function Entity(instanceId) {\n _classCallCheck(this, Entity);\n _defineProperty(this, \"instanceId\", void 0);\n /** @private Internal cache map. Do not access this directly */\n _defineProperty(this, \"cache\", new Map());\n this.instanceId = instanceId;\n }\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.cache.get(keys.join(SPLIT)) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n var path = keys.join(SPLIT);\n var prevValue = this.cache.get(path);\n var nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(path);\n } else {\n this.cache.set(path, nextValue);\n }\n }\n }]);\n return Entity;\n}();\nexport default Entity;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport * as React from 'react';\nimport CacheEntity from \"./Cache\";\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_CACHE_PATH = 'data-cache-path';\n\n// Mark css-in-js instance in style element\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport function createCache() {\n var cssinjsInstanceId = Math.random().toString(12).slice(2);\n\n // Tricky SSR: Move all inline style to the head.\n // PS: We do not recommend tricky mode.\n if (typeof document !== 'undefined' && document.head && document.body) {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\")) || [];\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || cssinjsInstanceId;\n\n // Not force move if no head\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n document.head.insertBefore(style, firstChild);\n }\n });\n\n // Deduplicate of moved styles\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity(cssinjsInstanceId);\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var children = props.children,\n restProps = _objectWithoutProperties(props, _excluded);\n var parentContext = React.useContext(StyleContext);\n var context = useMemo(function () {\n var mergedContext = _objectSpread({}, parentContext);\n Object.keys(restProps).forEach(function (key) {\n var value = restProps[key];\n if (restProps[key] !== undefined) {\n mergedContext[key] = value;\n }\n });\n var cache = restProps.cache;\n mergedContext.cache = mergedContext.cache || createCache();\n mergedContext.defaultCache = !cache && parentContext.defaultCache;\n return mergedContext;\n }, [parentContext, restProps], function (prev, next) {\n return !isEqual(prev[0], next[0], true) || !isEqual(prev[1], next[1], true);\n });\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = findStyles(container).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return findStyles(container).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option);\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// ================================== Cache ==================================\n\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n _defineProperty(this, \"cache\", void 0);\n _defineProperty(this, \"keys\", void 0);\n _defineProperty(this, \"cacheCallTimes\", void 0);\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache, _cache$map;\n cache = (_cache = cache) === null || _cache === void 0 ? void 0 : (_cache$map = _cache.map) === null || _cache$map === void 0 ? void 0 : _cache$map.get(derivative);\n }\n });\n if ((_cache2 = cache) !== null && _cache2 !== void 0 && _cache2.value && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n var _cache$value;\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n }]);\n return ThemeCache;\n}();\n_defineProperty(ThemeCache, \"MAX_CACHE_SIZE\", 20);\n_defineProperty(ThemeCache, \"MAX_CACHE_OFFSET\", 5);\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n _defineProperty(this, \"derivatives\", void 0);\n _defineProperty(this, \"id\", void 0);\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n return Theme;\n}();\nexport { Theme as default };","import ThemeCache from \"./ThemeCache\";\nimport Theme from \"./Theme\";\nvar cacheThemes = new ThemeCache();\n\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { removeCSS, updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { Theme } from \"./theme\";\n\n// Create a cache for memo concat\n\nvar resultCache = new WeakMap();\nvar RESULT_VALUE = {};\nexport function memoResult(callback, deps) {\n var current = resultCache;\n for (var i = 0; i < deps.length; i += 1) {\n var dep = deps[i];\n if (!current.has(dep)) {\n current.set(dep, new WeakMap());\n }\n current = current.get(dep);\n }\n if (!current.has(RESULT_VALUE)) {\n current.set(RESULT_VALUE, callback());\n }\n return current.get(RESULT_VALUE);\n}\n\n// Create a cache here to avoid always loop generate\nvar flattenTokenCache = new WeakMap();\n\n/**\n * Flatten token to string, this will auto cache the result when token not change\n */\nexport function flattenToken(token) {\n var str = flattenTokenCache.get(token) || '';\n if (!str) {\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n if (value instanceof Theme) {\n str += value.id;\n } else if (value && _typeof(value) === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n\n // Put in cache\n flattenTokenCache.set(token, str);\n }\n return str;\n}\n\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, salt) {\n return hash(\"\".concat(salt, \"_\").concat(flattenToken(token)));\n}\nvar randomSelectorKey = \"random-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\n\n// Magic `content` for detect selector support\nvar checkContent = '_bAmBoO_';\nfunction supportSelector(styleStr, handleElement, supportCheck) {\n if (canUseDom()) {\n var _getComputedStyle$con, _ele$parentNode;\n updateCSS(styleStr, randomSelectorKey);\n var _ele = document.createElement('div');\n _ele.style.position = 'fixed';\n _ele.style.left = '0';\n _ele.style.top = '0';\n handleElement === null || handleElement === void 0 ? void 0 : handleElement(_ele);\n document.body.appendChild(_ele);\n if (process.env.NODE_ENV !== 'production') {\n _ele.innerHTML = 'Test';\n _ele.style.zIndex = '9999999';\n }\n var support = supportCheck ? supportCheck(_ele) : (_getComputedStyle$con = getComputedStyle(_ele).content) === null || _getComputedStyle$con === void 0 ? void 0 : _getComputedStyle$con.includes(checkContent);\n (_ele$parentNode = _ele.parentNode) === null || _ele$parentNode === void 0 ? void 0 : _ele$parentNode.removeChild(_ele);\n removeCSS(randomSelectorKey);\n return support;\n }\n return false;\n}\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(randomSelectorKey, \" { .\").concat(randomSelectorKey, \" { content: \\\"\").concat(checkContent, \"\\\"!important; } }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canLayer;\n}\nvar canWhere = undefined;\nexport function supportWhere() {\n if (canWhere === undefined) {\n canWhere = supportSelector(\":where(.\".concat(randomSelectorKey, \") { content: \\\"\").concat(checkContent, \"\\\"!important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n });\n }\n return canWhere;\n}\nvar canLogic = undefined;\nexport function supportLogicProps() {\n if (canLogic === undefined) {\n canLogic = supportSelector(\".\".concat(randomSelectorKey, \" { inset-block: 93px !important; }\"), function (ele) {\n ele.className = randomSelectorKey;\n }, function (ele) {\n return getComputedStyle(ele).bottom === '93px';\n });\n }\n return canLogic;\n}","import * as React from 'react';\nimport canUseDom from \"../Dom/canUseDom\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useInternalLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nvar useLayoutEffect = function useLayoutEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useInternalLayoutEffect(function () {\n return callback(firstMountRef.current);\n }, deps);\n\n // We tell react that first mount has passed\n useInternalLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n useLayoutEffect(function (firstMount) {\n if (!firstMount) {\n return callback();\n }\n }, deps);\n};\nexport default useLayoutEffect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// import canUseDom from 'rc-util/lib/Dom/canUseDom';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\n\n// We need fully clone React function here\n// to avoid webpack warning React 17 do not export `useId`\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n/**\n * Polyfill `useInsertionEffect` for React < 18\n * @param renderEffect will be executed in `useMemo`, and do not have callback\n * @param effect will be executed in `useLayoutEffect`\n * @param deps\n */\nvar useInsertionEffectPolyfill = function useInsertionEffectPolyfill(renderEffect, effect, deps) {\n React.useMemo(renderEffect, deps);\n useLayoutEffect(function () {\n return effect(true);\n }, deps);\n};\n\n/**\n * Compatible `useInsertionEffect`\n * will use `useInsertionEffect` if React version >= 18,\n * otherwise use `useInsertionEffectPolyfill`.\n */\nvar useCompatibleInsertionEffect = useInsertionEffect ? function (renderEffect, effect, deps) {\n return useInsertionEffect(function () {\n renderEffect();\n return effect();\n }, deps);\n} : useInsertionEffectPolyfill;\nexport default useCompatibleInsertionEffect;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { warning } from \"rc-util/es/warning\";\nimport * as React from 'react';\nvar fullClone = _objectSpread({}, React);\nvar useInsertionEffect = fullClone.useInsertionEffect;\n\n// DO NOT register functions in useEffect cleanup function, or functions that registered will never be called.\nvar useCleanupRegister = function useCleanupRegister(deps) {\n var effectCleanups = [];\n var cleanupFlag = false;\n function register(fn) {\n if (cleanupFlag) {\n if (process.env.NODE_ENV !== 'production') {\n warning(false, '[Ant Design CSS-in-JS] You are registering a cleanup function after unmount, which will not have any effect.');\n }\n return;\n }\n effectCleanups.push(fn);\n }\n React.useEffect(function () {\n // Compatible with strict mode\n cleanupFlag = false;\n return function () {\n cleanupFlag = true;\n if (effectCleanups.length) {\n effectCleanups.forEach(function (fn) {\n return fn();\n });\n }\n };\n }, deps);\n return register;\n};\nvar useRun = function useRun() {\n return function (fn) {\n fn();\n };\n};\n\n// Only enable register in React 18\nvar useEffectCleanupRegister = typeof useInsertionEffect !== 'undefined' ? useCleanupRegister : useRun;\nexport default useEffectCleanupRegister;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport StyleContext from \"../StyleContext\";\nimport useCompatibleInsertionEffect from \"./useCompatibleInsertionEffect\";\nimport useEffectCleanupRegister from \"./useEffectCleanupRegister\";\nimport useHMR from \"./useHMR\";\nexport default function useGlobalCache(prefix, keyPath, cacheFn, onCacheRemove,\n// Add additional effect trigger by `useInsertionEffect`\nonCacheEffect) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var deps = fullPath.join('_');\n var register = useEffectCleanupRegister([deps]);\n var HMRUpdate = useHMR();\n var buildCache = function buildCache(updater) {\n globalCache.update(fullPath, function (prevCache) {\n var _ref = prevCache || [],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1];\n\n // HMR should always ignore cache since developer may change it\n var tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n var mergedCache = tmpCache || cacheFn();\n var data = [times, mergedCache];\n\n // Call updater if need additional logic\n return updater ? updater(data) : data;\n });\n };\n\n // Create cache\n React.useMemo(function () {\n buildCache();\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [deps]\n /* eslint-enable */);\n\n var cacheEntity = globalCache.get(fullPath);\n\n // HMR clean the cache but not trigger `useMemo` again\n // Let's fallback of this\n // ref https://github.com/ant-design/cssinjs/issues/127\n if (process.env.NODE_ENV !== 'production' && !cacheEntity) {\n buildCache();\n cacheEntity = globalCache.get(fullPath);\n }\n var cacheContent = cacheEntity[1];\n\n // Remove if no need anymore\n useCompatibleInsertionEffect(function () {\n onCacheEffect === null || onCacheEffect === void 0 ? void 0 : onCacheEffect(cacheContent);\n }, function (polyfill) {\n // It's bad to call build again in effect.\n // But we have to do this since StrictMode will call effect twice\n // which will clear cache on the first time.\n buildCache(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n times = _ref4[0],\n cache = _ref4[1];\n if (polyfill && times === 0) {\n onCacheEffect === null || onCacheEffect === void 0 ? void 0 : onCacheEffect(cacheContent);\n }\n return [times + 1, cache];\n });\n return function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref5 = prevCache || [],\n _ref6 = _slicedToArray(_ref5, 2),\n _ref6$ = _ref6[0],\n times = _ref6$ === void 0 ? 0 : _ref6$,\n cache = _ref6[1];\n var nextCount = times - 1;\n if (nextCount === 0) {\n // Always remove styles in useEffect callback\n register(function () {\n return onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false);\n });\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, [deps]);\n return cacheContent;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport hash from '@emotion/hash';\nimport { useContext } from 'react';\nimport StyleContext, { ATTR_TOKEN, CSS_IN_JS_INSTANCE } from \"../StyleContext\";\nimport { flattenToken, memoResult, token2key } from \"../util\";\nimport useGlobalCache from \"./useGlobalCache\";\nvar EMPTY_OVERRIDE = {};\n\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key, instanceId) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === instanceId) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n });\n }\n}\nvar TOKEN_THRESHOLD = 0;\n\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey, instanceId) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n\n // Should keep tokens under threshold for not to insert style too often\n if (tokenKeyList.length - cleanableKeyList.length > TOKEN_THRESHOLD) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key, instanceId);\n tokenKeys.delete(key);\n });\n }\n}\nexport var getComputedToken = function getComputedToken(originToken, overrideToken, theme, format) {\n var derivativeToken = theme.getDerivativeToken(originToken);\n\n // Merge with override\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), overrideToken);\n\n // Format if needed\n if (format) {\n mergedDerivativeToken = format(mergedDerivativeToken);\n }\n return mergedDerivativeToken;\n};\n\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _useContext = useContext(StyleContext),\n instanceId = _useContext.cache.instanceId;\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken,\n compute = option.getComputedToken;\n\n // Basic - We do basic cache here\n var mergedToken = memoResult(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, tokens);\n var tokenStr = flattenToken(mergedToken);\n var overrideTokenStr = flattenToken(override);\n var cachedToken = useGlobalCache('token', [salt, theme.id, tokenStr, overrideTokenStr], function () {\n var mergedDerivativeToken = compute ? compute(mergedToken, override, theme) : getComputedToken(mergedToken, override, theme, formatToken);\n\n // Optimize for `useStyleRegister` performance\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n recordCleanToken(tokenKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n\n return [mergedDerivativeToken, hashId];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._tokenKey, instanceId);\n });\n return cachedToken;\n}","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { ATTR_MARK } from \"../../StyleContext\";\nexport var ATTR_CACHE_MAP = 'data-ant-cssinjs-cache-path';\n\n/**\n * This marks style from the css file.\n * Which means not exist in `\");\n }\n\n // ====================== Fill Style ======================\n\n var orderStyles = styleKeys.map(function (key) {\n var cachePath = key.slice(matchPrefix.length).replace(/%/g, '|');\n var _2 = _slicedToArray(cache.cache.get(key)[1], 6),\n styleStr = _2[0],\n tokenKey = _2[1],\n styleId = _2[2],\n effectStyle = _2[3],\n clientOnly = _2[4],\n order = _2[5];\n\n // Skip client only style\n if (clientOnly) {\n return null;\n }\n\n // ====================== Style ======================\n // Used for rc-util\n var sharedAttrs = {\n 'data-rc-order': 'prependQueue',\n 'data-rc-priority': \"\".concat(order)\n };\n var keyStyleText = toStyleStr(styleStr, tokenKey, styleId, sharedAttrs);\n\n // Save cache path with hash mapping\n cachePathMap[cachePath] = styleId;\n\n // =============== Create effect style ===============\n if (effectStyle) {\n Object.keys(effectStyle).forEach(function (effectKey) {\n // Effect style can be reused\n if (!effectStyles[effectKey]) {\n effectStyles[effectKey] = true;\n keyStyleText += toStyleStr(normalizeStyle(effectStyle[effectKey]), tokenKey, \"_effect-\".concat(effectKey), sharedAttrs);\n }\n });\n }\n var ret = [order, keyStyleText];\n return ret;\n }).filter(function (o) {\n return o;\n });\n orderStyles.sort(function (o1, o2) {\n return o1[0] - o2[0];\n }).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n style = _ref8[1];\n styleText += style;\n });\n\n // ==================== Fill Cache Path ====================\n styleText += toStyleStr(\".\".concat(ATTR_CACHE_MAP, \"{content:\\\"\").concat(serializeCacheMap(cachePathMap), \"\\\";}\"), undefined, undefined, _defineProperty({}, ATTR_CACHE_MAP, ATTR_CACHE_MAP));\n return styleText;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar Keyframe = /*#__PURE__*/function () {\n function Keyframe(name, style) {\n _classCallCheck(this, Keyframe);\n _defineProperty(this, \"name\", void 0);\n _defineProperty(this, \"style\", void 0);\n _defineProperty(this, \"_keyframe\", true);\n this.name = name;\n this.style = style;\n }\n _createClass(Keyframe, [{\n key: \"getName\",\n value: function getName() {\n var hashId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return hashId ? \"\".concat(hashId, \"-\").concat(this.name) : this.name;\n }\n }]);\n return Keyframe;\n}();\nexport default Keyframe;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nfunction splitValues(value) {\n if (typeof value === 'number') {\n return [[value], false];\n }\n var rawStyle = String(value).trim();\n var importantCells = rawStyle.match(/(.*)(!important)/);\n var splitStyle = (importantCells ? importantCells[1] : rawStyle).trim().split(/\\s+/);\n\n // Combine styles split in brackets, like `calc(1px + 2px)`\n var temp = '';\n var brackets = 0;\n return [splitStyle.reduce(function (list, item) {\n if (item.includes('(')) {\n temp += item;\n brackets += item.split('(').length - 1;\n } else if (item.includes(')')) {\n temp += item;\n brackets -= item.split(')').length - 1;\n if (brackets === 0) {\n list.push(temp);\n temp = '';\n }\n } else if (brackets > 0) {\n temp += item;\n } else {\n list.push(item);\n }\n return list;\n }, []), !!importantCells];\n}\nfunction noSplit(list) {\n list.notSplit = true;\n return list;\n}\nvar keyMap = {\n // Inset\n inset: ['top', 'right', 'bottom', 'left'],\n insetBlock: ['top', 'bottom'],\n insetBlockStart: ['top'],\n insetBlockEnd: ['bottom'],\n insetInline: ['left', 'right'],\n insetInlineStart: ['left'],\n insetInlineEnd: ['right'],\n // Margin\n marginBlock: ['marginTop', 'marginBottom'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n marginInline: ['marginLeft', 'marginRight'],\n marginInlineStart: ['marginLeft'],\n marginInlineEnd: ['marginRight'],\n // Padding\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom'],\n paddingInline: ['paddingLeft', 'paddingRight'],\n paddingInlineStart: ['paddingLeft'],\n paddingInlineEnd: ['paddingRight'],\n // Border\n borderBlock: noSplit(['borderTop', 'borderBottom']),\n borderBlockStart: noSplit(['borderTop']),\n borderBlockEnd: noSplit(['borderBottom']),\n borderInline: noSplit(['borderLeft', 'borderRight']),\n borderInlineStart: noSplit(['borderLeft']),\n borderInlineEnd: noSplit(['borderRight']),\n // Border width\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndWidth: ['borderBottomWidth'],\n borderInlineWidth: ['borderLeftWidth', 'borderRightWidth'],\n borderInlineStartWidth: ['borderLeftWidth'],\n borderInlineEndWidth: ['borderRightWidth'],\n // Border style\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderInlineStyle: ['borderLeftStyle', 'borderRightStyle'],\n borderInlineStartStyle: ['borderLeftStyle'],\n borderInlineEndStyle: ['borderRightStyle'],\n // Border color\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockEndColor: ['borderBottomColor'],\n borderInlineColor: ['borderLeftColor', 'borderRightColor'],\n borderInlineStartColor: ['borderLeftColor'],\n borderInlineEndColor: ['borderRightColor'],\n // Border radius\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius']\n};\nfunction wrapImportantAndSkipCheck(value, important) {\n var parsedValue = value;\n if (important) {\n parsedValue = \"\".concat(parsedValue, \" !important\");\n }\n return {\n _skip_check_: true,\n value: parsedValue\n };\n}\n\n/**\n * Convert css logical properties to legacy properties.\n * Such as: `margin-block-start` to `margin-top`.\n * Transform list:\n * - inset\n * - margin\n * - padding\n * - border\n */\nvar transform = {\n visit: function visit(cssObj) {\n var clone = {};\n Object.keys(cssObj).forEach(function (key) {\n var value = cssObj[key];\n var matchValue = keyMap[key];\n if (matchValue && (typeof value === 'number' || typeof value === 'string')) {\n var _splitValues = splitValues(value),\n _splitValues2 = _slicedToArray(_splitValues, 2),\n _values = _splitValues2[0],\n _important = _splitValues2[1];\n if (matchValue.length && matchValue.notSplit) {\n // not split means always give same value like border\n matchValue.forEach(function (matchKey) {\n clone[matchKey] = wrapImportantAndSkipCheck(value, _important);\n });\n } else if (matchValue.length === 1) {\n // Handle like `marginBlockStart` => `marginTop`\n clone[matchValue[0]] = wrapImportantAndSkipCheck(value, _important);\n } else if (matchValue.length === 2) {\n // Handle like `marginBlock` => `marginTop` & `marginBottom`\n matchValue.forEach(function (matchKey, index) {\n var _values$index;\n clone[matchKey] = wrapImportantAndSkipCheck((_values$index = _values[index]) !== null && _values$index !== void 0 ? _values$index : _values[0], _important);\n });\n } else if (matchValue.length === 4) {\n // Handle like `inset` => `top` & `right` & `bottom` & `left`\n matchValue.forEach(function (matchKey, index) {\n var _ref, _values$index2;\n clone[matchKey] = wrapImportantAndSkipCheck((_ref = (_values$index2 = _values[index]) !== null && _values$index2 !== void 0 ? _values$index2 : _values[index - 2]) !== null && _ref !== void 0 ? _ref : _values[0], _important);\n });\n } else {\n clone[key] = value;\n }\n } else {\n clone[key] = value;\n }\n });\n return clone;\n }\n};\nexport default transform;","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from \"./get\";\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\nfunction createEmpty(source) {\n return Array.isArray(source) ? [] : {};\n}\nvar keys = typeof Reflect === 'undefined' ? Object.keys : Reflect.ownKeys;\n\n/**\n * Merge objects which will create\n */\nexport function merge() {\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n var clone = createEmpty(sources[0]);\n sources.forEach(function (src) {\n function internalMerge(path, parentLoopSet) {\n var loopSet = new Set(parentLoopSet);\n var value = get(src, path);\n var isArr = Array.isArray(value);\n if (isArr || isObject(value)) {\n // Only add not loop obj\n if (!loopSet.has(value)) {\n loopSet.add(value);\n var originValue = get(clone, path);\n if (isArr) {\n // Array will always be override\n clone = set(clone, path, []);\n } else if (!originValue || _typeof(originValue) !== 'object') {\n // Init container if not exist\n clone = set(clone, path, createEmpty(value));\n }\n keys(value).forEach(function (key) {\n internalMerge([].concat(_toConsumableArray(path), [key]), loopSet);\n });\n }\n } else {\n clone = set(clone, path, value);\n }\n }\n internalMerge([]);\n });\n return clone;\n}","import * as React from 'react';\nimport rcWarning, { resetWarned as rcResetWarned } from \"rc-util/es/warning\";\nexport function noop() {}\nlet deprecatedWarnList = null;\nexport function resetWarned() {\n deprecatedWarnList = null;\n rcResetWarned();\n}\n// eslint-disable-next-line import/no-mutable-exports\nlet warning = noop;\nif (process.env.NODE_ENV !== 'production') {\n warning = (valid, component, message) => {\n rcWarning(valid, `[antd: ${component}] ${message}`);\n // StrictMode will inject console which will not throw warning in React 17.\n if (process.env.NODE_ENV === 'test') {\n resetWarned();\n }\n };\n}\nexport const WarningContext = /*#__PURE__*/React.createContext({});\n/**\n * This is a hook but we not named as `useWarning`\n * since this is only used in development.\n * We should always wrap this in `if (process.env.NODE_ENV !== 'production')` condition\n */\nexport const devUseWarning = process.env.NODE_ENV !== 'production' ? component => {\n const {\n strict\n } = React.useContext(WarningContext);\n const typeWarning = (valid, type, message) => {\n if (!valid) {\n if (strict === false && type === 'deprecated') {\n const existWarning = deprecatedWarnList;\n if (!deprecatedWarnList) {\n deprecatedWarnList = {};\n }\n deprecatedWarnList[component] = deprecatedWarnList[component] || [];\n if (!deprecatedWarnList[component].includes(message || '')) {\n deprecatedWarnList[component].push(message || '');\n }\n // Warning for the first time\n if (!existWarning) {\n // eslint-disable-next-line no-console\n console.warn('[antd] There exists deprecated usage in your code:', deprecatedWarnList);\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(valid, component, message) : void 0;\n }\n }\n };\n typeWarning.deprecated = (valid, oldProp, newProp, message) => {\n typeWarning(valid, 'deprecated', `\\`${oldProp}\\` is deprecated. Please use \\`${newProp}\\` instead.${message ? ` ${message}` : ''}`);\n };\n return typeWarning;\n} : () => {\n const noopWarning = () => {};\n noopWarning.deprecated = noop;\n return noopWarning;\n};\nexport default warning;","\"use client\";\n\nimport { createContext } from 'react';\n// ZombieJ: We export single file here since\n// ConfigProvider use this which will make loop deps\n// to import whole `rc-field-form`\nexport default /*#__PURE__*/createContext(undefined);","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","const locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nconst locale = {\n lang: Object.assign({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: Object.assign({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nconst typeTemplate = '${label} is not a valid ${type}';\nconst localeValues = {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n default: 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n enum: '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh'\n },\n ColorPicker: {\n presetEmpty: 'Empty'\n }\n};\nexport default localeValues;","\"use client\";\n\nimport defaultLocale from '../locale/en_US';\nlet runtimeLocale = Object.assign({}, defaultLocale.Modal);\nlet localeList = [];\nconst generateLocale = () => localeList.reduce((merged, locale) => Object.assign(Object.assign({}, merged), locale), defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n const cloneLocale = Object.assign({}, newLocale);\n localeList.push(cloneLocale);\n runtimeLocale = generateLocale();\n return () => {\n localeList = localeList.filter(locale => locale !== cloneLocale);\n runtimeLocale = generateLocale();\n };\n }\n runtimeLocale = Object.assign({}, defaultLocale.Modal);\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import { createContext } from 'react';\nconst LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","import * as React from 'react';\nimport LocaleContext from './context';\nimport defaultLocaleData from './en_US';\nconst useLocale = (componentName, defaultLocale) => {\n const fullLocale = React.useContext(LocaleContext);\n const getLocale = React.useMemo(() => {\n var _a;\n const locale = defaultLocale || defaultLocaleData[componentName];\n const localeFromContext = (_a = fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return Object.assign(Object.assign({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, fullLocale]);\n const getLocaleCode = React.useMemo(() => {\n const localeCode = fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if ((fullLocale === null || fullLocale === void 0 ? void 0 : fullLocale.exist) && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n }, [fullLocale]);\n return [getLocale, getLocaleCode];\n};\nexport default useLocale;","\"use client\";\n\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport { default as useLocale } from './useLocale';\nexport const ANT_MARK = 'internalMark';\nconst LocaleProvider = props => {\n const {\n locale = {},\n children,\n _ANT_MARK__\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('LocaleProvider');\n process.env.NODE_ENV !== \"production\" ? warning(_ANT_MARK__ === ANT_MARK, 'deprecated', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale') : void 0;\n }\n React.useEffect(() => {\n const clearLocale = changeConfirmLocale(locale && locale.Modal);\n return clearLocale;\n }, [locale]);\n const getMemoizedContextValue = React.useMemo(() => Object.assign(Object.assign({}, locale), {\n exist: true\n }), [locale]);\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: getMemoizedContextValue\n }, children);\n};\nif (process.env.NODE_ENV !== 'production') {\n LocaleProvider.displayName = 'LocaleProvider';\n}\nexport default LocaleProvider;","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}","import generate from \"./generate\";\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1677FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nvar gray = presetPalettes.grey;\nexport { generate, presetPalettes, presetDarkPalettes, presetPrimaryColors, red, volcano, orange, gold, yellow, lime, green, cyan, blue, geekblue, purple, magenta, grey, gray };","const genControlHeight = token => {\n const {\n controlHeight\n } = token;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","export default function genSizeMapToken(token) {\n const {\n sizeUnit,\n sizeStep\n } = token;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n sizeXL: sizeUnit * (sizeStep + 4),\n sizeLG: sizeUnit * (sizeStep + 2),\n sizeMD: sizeUnit * (sizeStep + 1),\n sizeMS: sizeUnit * sizeStep,\n size: sizeUnit * sizeStep,\n sizeSM: sizeUnit * (sizeStep - 1),\n sizeXS: sizeUnit * (sizeStep - 2),\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","export const defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nconst seedToken = Object.assign(Object.assign({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorLink: '',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'`,\n fontFamilyCode: `'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`,\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: 'cubic-bezier(0.08, 0.82, 0.17, 1)',\n motionEaseInOutCirc: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n motionEaseOutBack: 'cubic-bezier(0.12, 0.4, 0.29, 1.46)',\n motionEaseInBack: 'cubic-bezier(0.71, -0.46, 0.88, 0.6)',\n motionEaseInQuint: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n motionEaseOutQuint: 'cubic-bezier(0.23, 1, 0.32, 1)',\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false,\n // Motion\n motion: true\n});\nexport default seedToken;","import { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n let {\n generateColorPalettes,\n generateNeutralColorPalettes\n } = _ref;\n const {\n colorSuccess: colorSuccessBase,\n colorWarning: colorWarningBase,\n colorError: colorErrorBase,\n colorInfo: colorInfoBase,\n colorPrimary: colorPrimaryBase,\n colorBgBase,\n colorTextBase\n } = seed;\n const primaryColors = generateColorPalettes(colorPrimaryBase);\n const successColors = generateColorPalettes(colorSuccessBase);\n const warningColors = generateColorPalettes(colorWarningBase);\n const errorColors = generateColorPalettes(colorErrorBase);\n const infoColors = generateColorPalettes(colorInfoBase);\n const neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n // Color Link\n const colorLink = seed.colorLink || seed.colorInfo;\n const linkColors = generateColorPalettes(colorLink);\n return Object.assign(Object.assign({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorLinkHover: linkColors[4],\n colorLink: linkColors[6],\n colorLinkActive: linkColors[7],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","const genRadius = radiusBase => {\n let radiusLG = radiusBase;\n let radiusSM = radiusBase;\n let radiusXS = radiusBase;\n let radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n const {\n motionUnit,\n motionBase,\n borderRadius,\n lineWidth\n } = token;\n return Object.assign({\n // motion\n motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,\n motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,\n motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","import { TinyColor } from '@ctrl/tinycolor';\nexport const getAlphaColor = (baseColor, alpha) => new TinyColor(baseColor).setAlpha(alpha).toRgbString();\nexport const getSolidColor = (baseColor, brightness) => {\n const instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport const generateColorPalettes = baseColor => {\n const colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\n\nexport const generateNeutralColorPalettes = (bgBaseColor, textBaseColor) => {\n const colorBgBase = bgBaseColor || '#fff';\n const colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase,\n colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBgBlur: 'transparent',\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n const fontSizes = new Array(10).fill(null).map((_, index) => {\n const i = index - 1;\n const baseSize = base * Math.pow(2.71828, i / 5);\n const intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(size => {\n const height = size + 8;\n return {\n size,\n lineHeight: height / size\n };\n });\n}","import genFontSizes from './genFontSizes';\nconst genFontMapToken = fontSize => {\n const fontSizePairs = genFontSizes(fontSize);\n const fontSizes = fontSizePairs.map(pair => pair.size);\n const lineHeights = fontSizePairs.map(pair => pair.lineHeight);\n return {\n fontSizeSM: fontSizes[0],\n fontSize: fontSizes[1],\n fontSizeLG: fontSizes[2],\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n lineHeight: lineHeights[1],\n lineHeightLG: lineHeights[2],\n lineHeightSM: lineHeights[0],\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2]\n };\n};\nexport default genFontMapToken;","import { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nimport genFontMapToken from '../shared/genFontMapToken';\nexport default function derivative(token) {\n const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => {\n const colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce((prev, _, i) => {\n prev[`${colorKey}-${i + 1}`] = colors[i];\n prev[`${colorKey}${i + 1}`] = colors[i];\n return prev;\n }, {});\n }).reduce((prev, cur) => {\n prev = Object.assign(Object.assign({}, prev), cur);\n return prev;\n }, {});\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes,\n generateNeutralColorPalettes\n })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","import { createTheme } from '@ant-design/cssinjs';\nimport React from 'react';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nexport const defaultTheme = createTheme(defaultDerivative);\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport const defaultConfig = {\n token: defaultSeedToken,\n hashed: true\n};\nexport const DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);","import * as React from 'react';\nexport const defaultIconPrefixCls = 'anticon';\nconst defaultGetPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `ant-${suffixCls}` : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport const ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport const {\n Consumer: ConfigConsumer\n} = ConfigContext;","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { generate } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport warning from '../_util/warning';\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nexport function getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[6];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[0];\n variables[`${type}-color-deprecated-border`] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.') : void 0;\n }\n}","\"use client\";\n\nimport * as React from 'react';\nconst DisabledContext = /*#__PURE__*/React.createContext(false);\nexport const DisabledContextProvider = _ref => {\n let {\n children,\n disabled\n } = _ref;\n const originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","\"use client\";\n\nimport * as React from 'react';\nconst SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport const SizeContextProvider = _ref => {\n let {\n children,\n size\n } = _ref;\n const originSize = React.useContext(SizeContext);\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n};\nexport default SizeContext;","import { useContext } from 'react';\nimport DisabledContext from '../DisabledContext';\nimport SizeContext from '../SizeContext';\nfunction useConfig() {\n const componentDisabled = useContext(DisabledContext);\n const componentSize = useContext(SizeContext);\n return {\n componentDisabled,\n componentSize\n };\n}\nexport default useConfig;","export default '5.10.0';","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n const {\n r: fR,\n g: fG,\n b: fB,\n a: originAlpha\n } = new TinyColor(frontColor).toRgb();\n if (originAlpha < 1) {\n return frontColor;\n }\n const {\n r: bR,\n g: bG,\n b: bB\n } = new TinyColor(backgroundColor).toRgb();\n for (let fA = 0.01; fA <= 1; fA += 0.01) {\n const r = Math.round((fR - bR * (1 - fA)) / fA);\n const g = Math.round((fG - bG * (1 - fA)) / fA);\n const b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) {\n return new TinyColor({\n r,\n g,\n b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport seedToken from '../themes/seed';\nimport getAlphaColor from './getAlphaColor';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n const {\n override\n } = derivativeToken,\n restToken = __rest(derivativeToken, [\"override\"]);\n const overrideTokens = Object.assign({}, override);\n Object.keys(seedToken).forEach(token => {\n delete overrideTokens[token];\n });\n const mergedToken = Object.assign(Object.assign({}, restToken), overrideTokens);\n const screenXS = 480;\n const screenSM = 576;\n const screenMD = 768;\n const screenLG = 992;\n const screenXL = 1200;\n const screenXXL = 1600;\n // Motion\n if (mergedToken.motion === false) {\n const fastDuration = '0s';\n mergedToken.motionDurationFast = fastDuration;\n mergedToken.motionDurationMid = fastDuration;\n mergedToken.motionDurationSlow = fastDuration;\n }\n // Generate alias token\n const aliasToken = Object.assign(Object.assign(Object.assign({}, mergedToken), {\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeIcon: mergedToken.fontSizeSM,\n // Line\n lineWidthFocus: mergedToken.lineWidth * 4,\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowSecondary: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTertiary: `\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n `,\n screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenSM - 1,\n screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenMD - 1,\n screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenLG - 1,\n screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenXL - 1,\n screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXXL - 1,\n screenXXL,\n screenXXLMin: screenXXL,\n boxShadowPopoverArrow: '2px 2px 5px rgba(0, 0, 0, 0.05)',\n boxShadowCard: `\n 0 1px 2px -2px ${new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString()},\n 0 3px 6px 0 ${new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString()},\n 0 5px 12px 4px ${new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString()}\n `,\n boxShadowDrawerRight: `\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerLeft: `\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerUp: `\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowDrawerDown: `\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n `,\n boxShadowTabsOverflowLeft: 'inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowRight: 'inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowTop: 'inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)',\n boxShadowTabsOverflowBottom: 'inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)'\n }), overrideTokens);\n return aliasToken;\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { useCacheToken } from '@ant-design/cssinjs';\nimport React from 'react';\nimport version from '../version';\nimport { defaultTheme, DesignTokenContext } from './context';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nexport const getComputedToken = (originToken, overrideToken, theme) => {\n const derivativeToken = theme.getDerivativeToken(originToken);\n const {\n override\n } = overrideToken,\n components = __rest(overrideToken, [\"override\"]);\n // Merge with override\n let mergedDerivativeToken = Object.assign(Object.assign({}, derivativeToken), {\n override\n });\n // Format if needed\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n if (components) {\n Object.entries(components).forEach(_ref => {\n let [key, value] = _ref;\n const {\n theme: componentTheme\n } = value,\n componentTokens = __rest(value, [\"theme\"]);\n let mergedComponentToken = componentTokens;\n if (componentTheme) {\n mergedComponentToken = getComputedToken(Object.assign(Object.assign({}, mergedDerivativeToken), componentTokens), {\n override: componentTokens\n }, componentTheme);\n }\n mergedDerivativeToken[key] = mergedComponentToken;\n });\n }\n return mergedDerivativeToken;\n};\n// ================================== Hook ==================================\nexport default function useToken() {\n const {\n token: rootDesignToken,\n hashed,\n theme,\n components\n } = React.useContext(DesignTokenContext);\n const salt = `${version}-${hashed || ''}`;\n const mergedTheme = theme || defaultTheme;\n const [token, hashId] = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt,\n override: Object.assign({\n override: rootDesignToken\n }, components),\n getComputedToken,\n // formatToken will not be consumed after 1.15.0 with getComputedToken.\n // But token will break if @ant-design/cssinjs is under 1.15.0 without it\n formatToken\n });\n return [mergedTheme, token, hashed ? hashId : ''];\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","\"use client\";\n\nexport { operationUnit } from './operationUnit';\nexport { roundedArrow } from './roundedArrow';\nexport const textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport const resetComponent = function (token) {\n let needInheritFontFamily = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: needInheritFontFamily ? 'inherit' : token.fontFamily\n };\n};\nexport const resetIcon = () => ({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n }\n});\nexport const clearFix = () => ({\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n});\nexport const genLinkStyle = token => ({\n a: {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n outline: 'none',\n cursor: 'pointer',\n transition: `color ${token.motionDurationSlow}`,\n '-webkit-text-decoration-skip': 'objects',\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n },\n [`&:active,\n &:hover`]: {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n },\n // https://github.com/ant-design/ant-design/issues/22503\n '&:focus': {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n },\n '&[disabled]': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }\n }\n});\nexport const genCommonStyle = (token, componentPrefixCls) => {\n const {\n fontFamily,\n fontSize\n } = token;\n const rootPrefixSelector = `[class^=\"${componentPrefixCls}\"], [class*=\" ${componentPrefixCls}\"]`;\n return {\n [rootPrefixSelector]: {\n fontFamily,\n fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n },\n [rootPrefixSelector]: {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }\n }\n };\n};\nexport const genFocusOutline = token => ({\n outline: `${token.lineWidthFocus}px solid ${token.colorPrimaryBorder}`,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n});\nexport const genFocusStyle = token => ({\n '&:focus-visible': Object.assign({}, genFocusOutline(token))\n});","const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return Object.assign.apply(Object, [{}].concat(objs));\n }\n recording = false;\n const ret = {};\n objs.forEach(obj => {\n const keys = Object.keys(obj);\n keys.forEach(key => {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: () => obj[key]\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @internal Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @internal Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n let tokenKeys;\n let proxy = token;\n let flush = noop;\n if (enableStatistic) {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = (componentName, componentToken) => {\n var _a;\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: Object.assign(Object.assign({}, (_a = statistic[componentName]) === null || _a === void 0 ? void 0 : _a.component), componentToken)\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush\n };\n}","import { useStyleRegister } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport useToken from '../useToken';\nconst useResetIconStyle = (iconPrefixCls, csp) => {\n const [theme, token] = useToken();\n // Generate style for icons\n return useStyleRegister({\n theme,\n token,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls],\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce\n }, () => [{\n [`.${iconPrefixCls}`]: Object.assign(Object.assign({}, resetIcon()), {\n [`.${iconPrefixCls} .${iconPrefixCls}-icon`]: {\n display: 'block'\n }\n })\n }]);\n};\nexport default useResetIconStyle;","/* eslint-disable no-redeclare */\nimport { useContext } from 'react';\nimport { useStyleRegister } from '@ant-design/cssinjs';\nimport { warning } from 'rc-util';\nimport { ConfigContext } from '../../config-provider/context';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport useToken from '../useToken';\nimport statisticToken, { merge as mergeToken } from './statistic';\nimport useResetIconStyle from './useResetIconStyle';\nexport default function genComponentStyleHook(componentName, styleFn, getDefaultToken) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const cells = Array.isArray(componentName) ? componentName : [componentName, componentName];\n const [component] = cells;\n const concatComponent = cells.join('-');\n return prefixCls => {\n const [theme, token, hashId] = useToken();\n const {\n getPrefixCls,\n iconPrefixCls,\n csp\n } = useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n // Shared config\n const sharedConfig = {\n theme,\n token,\n hashId,\n nonce: () => csp === null || csp === void 0 ? void 0 : csp.nonce,\n clientOnly: options.clientOnly,\n // antd is always at top of styles\n order: options.order || -999\n };\n // Generate style for all a tags in antd component.\n useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n clientOnly: false,\n path: ['Shared', rootPrefixCls]\n }), () => [{\n // Link\n '&': genLinkStyle(token)\n }]);\n // Generate style for icons\n useResetIconStyle(iconPrefixCls);\n return [useStyleRegister(Object.assign(Object.assign({}, sharedConfig), {\n path: [concatComponent, prefixCls, iconPrefixCls]\n }), () => {\n const {\n token: proxyToken,\n flush\n } = statisticToken(token);\n const customComponentToken = Object.assign({}, token[component]);\n if (options.deprecatedTokens) {\n const {\n deprecatedTokens\n } = options;\n deprecatedTokens.forEach(_ref => {\n let [oldTokenKey, newTokenKey] = _ref;\n var _a;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!(customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey]), `The token '${String(oldTokenKey)}' of ${component} had deprecated, use '${String(newTokenKey)}' instead.`) : void 0;\n }\n // Should wrap with `if` clause, or there will be `undefined` in object.\n if ((customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey]) || (customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[newTokenKey])) {\n (_a = customComponentToken[newTokenKey]) !== null && _a !== void 0 ? _a : customComponentToken[newTokenKey] = customComponentToken === null || customComponentToken === void 0 ? void 0 : customComponentToken[oldTokenKey];\n }\n });\n }\n const defaultComponentToken = typeof getDefaultToken === 'function' ? getDefaultToken(mergeToken(proxyToken, customComponentToken !== null && customComponentToken !== void 0 ? customComponentToken : {})) : getDefaultToken;\n const mergedComponentToken = Object.assign(Object.assign({}, defaultComponentToken), customComponentToken);\n const componentCls = `.${prefixCls}`;\n const mergedToken = mergeToken(proxyToken, {\n componentCls,\n prefixCls,\n iconCls: `.${iconPrefixCls}`,\n antCls: `.${rootPrefixCls}`\n }, mergedComponentToken);\n const styleInterpolation = styleFn(mergedToken, {\n hashId,\n prefixCls,\n rootPrefixCls,\n iconPrefixCls,\n overrideComponentToken: customComponentToken\n });\n flush(component, mergedComponentToken);\n return [options.resetStyle === false ? null : genCommonStyle(token, prefixCls), styleInterpolation];\n }), hashId];\n };\n}\nexport const genSubStyleComponent = (componentName, styleFn, getDefaultToken, options) => {\n const useStyle = genComponentStyleHook(componentName, styleFn, getDefaultToken, Object.assign({\n resetStyle: false,\n // Sub Style should default after root one\n order: -998\n }, options));\n const StyledComponent = _ref2 => {\n let {\n prefixCls\n } = _ref2;\n useStyle(prefixCls);\n return null;\n };\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.displayName = `SubStyle_${Array.isArray(componentName) ? componentName.join('.') : componentName}`;\n }\n return StyledComponent;\n};","import useMemo from \"rc-util/es/hooks/useMemo\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport { defaultConfig } from '../../theme/internal';\nexport default function useTheme(theme, parentTheme) {\n const themeConfig = theme || {};\n const parentThemeConfig = themeConfig.inherit === false || !parentTheme ? defaultConfig : parentTheme;\n return useMemo(() => {\n if (!theme) {\n return parentTheme;\n }\n // Override\n const mergedComponents = Object.assign({}, parentThemeConfig.components);\n Object.keys(theme.components || {}).forEach(componentName => {\n mergedComponents[componentName] = Object.assign(Object.assign({}, mergedComponents[componentName]), theme.components[componentName]);\n });\n // Base token\n return Object.assign(Object.assign(Object.assign({}, parentThemeConfig), themeConfig), {\n token: Object.assign(Object.assign({}, parentThemeConfig.token), themeConfig.token),\n components: mergedComponents\n });\n }, [themeConfig, parentThemeConfig], (prev, next) => prev.some((prevTheme, index) => {\n const nextTheme = next[index];\n return !isEqual(prevTheme, nextTheme, true);\n }));\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\"];\nimport * as React from 'react';\nexport var Context = /*#__PURE__*/React.createContext({});\nexport default function MotionProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: props\n }, children);\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n var _super = _createSuper(DomWrapper);\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n return _super.apply(this, arguments);\n }\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n return DomWrapper;\n}(React.Component);\nexport default DomWrapper;","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';\n/**\n * Used for disabled motion case.\n * Prepare stage will still work but start & active will be skipped.\n */\nexport var STEP_PREPARED = 'prepared';","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\";\n// ================= Transition =================\n// Event wrapper. Copy from react source code\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n style = _document$createEleme.style;\n}\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n var prefixMap = vendorPrefixes[eventName];\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from \"../util/motion\";\nexport default (function (callback) {\n var cacheElementRef = useRef();\n\n // Cache callback\n var callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n // Internal motion event handler\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []);\n\n // Remove events\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n }\n\n // Patch events\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd);\n\n // Save as cache in case dom removed trigger by `motionDeadline`\n cacheElementRef.current = element;\n }\n }\n\n // Clean up when removed\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { useEffect, useLayoutEffect } from 'react';\n\n// It's safe to use `useLayoutEffect` but the warning is annoying\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { STEP_ACTIVATED, STEP_ACTIVE, STEP_NONE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useNextFrame from \"./useNextFrame\";\nvar FULL_STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\nvar SIMPLE_STEP_QUEUE = [STEP_PREPARE, STEP_PREPARED];\n\n/** Skip current step */\nexport var SkipStep = false;\n/** Current step should be update in */\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, prepareOnly, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n var STEP_QUEUE = prepareOnly ? SIMPLE_STEP_QUEUE : FULL_STEP_QUEUE;\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else if (nextStep) {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { STATUS_APPEAR, STATUS_ENTER, STATUS_LEAVE, STATUS_NONE, STEP_ACTIVE, STEP_PREPARE, STEP_PREPARED, STEP_START } from \"../interface\";\nimport useDomMotionEvents from \"./useDomMotionEvents\";\nimport useIsomorphicLayoutEffect from \"./useIsomorphicLayoutEffect\";\nimport useStepQueue, { DoStep, isActive, SkipStep } from \"./useStepQueue\";\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n\n // =========================== Dom Node ===========================\n function getDomElement() {\n return getElement();\n }\n\n // ========================== Motion End ==========================\n var activeRef = useRef(false);\n\n /**\n * Clean up status & style\n */\n function updateMotionEndStatus() {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n var currentActive = activeRef.current;\n var canEnd;\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n }\n\n // Only update status when `canEnd` and not destroyed\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n updateMotionEndStatus();\n }\n }\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0];\n\n // ============================= Step =============================\n var getEventHandlers = function getEventHandlers(targetStatus) {\n var _ref2, _ref3, _ref4;\n switch (targetStatus) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n default:\n return {};\n }\n };\n var eventHandlers = React.useMemo(function () {\n return getEventHandlers(status);\n }, [status]);\n var _useStepQueue = useStepQueue(status, !supportMotion, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n if (!onPrepare) {\n return SkipStep;\n }\n return onPrepare(getDomElement());\n }\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n if (step === STEP_PREPARED) {\n updateMotionEndStatus();\n }\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n var active = isActive(step);\n activeRef.current = active;\n\n // ============================ Status ============================\n // Update with new status\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n // if (!supportMotion) {\n // return;\n // }\n\n var nextStatus;\n\n // Appear\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n }\n\n // Enter\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n }\n\n // Leave\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n }\n var nextEventHandlers = getEventHandlers(nextStatus);\n\n // Update to next status\n if (nextStatus && (supportMotion || nextEventHandlers[STEP_PREPARE])) {\n setStatus(nextStatus);\n startStep();\n } else {\n // Set back in case no motion but prev status has prepare step\n setStatus(STATUS_NONE);\n }\n }, [visible]);\n\n // ============================ Effect ============================\n // Reset when motion changed\n useEffect(function () {\n if (\n // Cancel appear\n status === STATUS_APPEAR && !motionAppear ||\n // Cancel enter\n status === STATUS_ENTER && !motionEnter ||\n // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []);\n\n // Trigger `onVisibleChanged`\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]);\n\n // ============================ Styles ============================\n var mergedStyle = style;\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport classNames from 'classnames';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport { Context } from \"./context\";\nimport DomWrapper from \"./DomWrapper\";\nimport useStatus from \"./hooks/useStatus\";\nimport { isActive } from \"./hooks/useStepQueue\";\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from \"./interface\";\nimport { getTransitionName, supportTransition } from \"./util/motion\";\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n function isSupportTransition(props, contextMotion) {\n return !!(props.motionName && transitionSupport && contextMotion !== false);\n }\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var _React$useContext = React.useContext(Context),\n contextMotion = _React$useContext.motion;\n var supportMotion = isSupportTransition(props, contextMotion);\n\n // Ref to the react node, it may be a HTMLElement\n var nodeRef = useRef();\n // Ref to the dom wrapper in case ref can not pass to HTMLElement\n var wrapperNodeRef = useRef();\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3];\n\n // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n var renderedRef = React.useRef(mergedVisible);\n if (mergedVisible) {\n renderedRef.current = true;\n }\n\n // ====================== Refs ======================\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]);\n\n // ===================== Render =====================\n var motionChildren;\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current && leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender || !removeOnLeave && !leavedClassName) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n // In motion\n var statusSuffix;\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n var motionCls = getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix));\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, motionCls, motionCls && statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n }\n\n // Auto inject ref if child node not have `ref` props\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _ref = motionChildren,\n originNodeRef = _ref.ref;\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys);\n\n // Check prev keys to insert or keep\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n }\n\n // If not hit, it means key is removed\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n });\n\n // Add rest to the list\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n });\n\n // Update `STATUS_ADD` to `STATUS_KEEP`\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from \"./CSSMotion\";\nimport { diffKeys, parseKeys, STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED } from \"./util/diff\";\nimport { supportTransition } from \"./util/motion\";\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearPrepare', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n var _super = _createSuper(CSSMotionList);\n function CSSMotionList() {\n var _this;\n _classCallCheck(this, CSSMotionList);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n keyEntities: []\n });\n // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n _defineProperty(_assertThisInitialized(_this), \"removeKey\", function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n _this.setState({\n keyEntities: nextKeyEntities\n });\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n });\n return _this;\n }\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var keyEntities = this.state.keyEntities;\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2, index) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), function (props, ref) {\n return children(_objectSpread(_objectSpread({}, props), {}, {\n index: index\n }), ref);\n });\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n });\n\n // Remove if already mark as removed\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n return true;\n })\n };\n }\n }]);\n return CSSMotionList;\n }(React.Component);\n _defineProperty(CSSMotionList, \"defaultProps\", {\n component: 'div'\n });\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","\"use client\";\n\nimport { Provider as MotionProvider } from 'rc-motion';\nimport * as React from 'react';\nimport { useToken } from '../theme/internal';\nexport default function MotionWrapper(props) {\n const {\n children\n } = props;\n const [, token] = useToken();\n const {\n motion\n } = token;\n const needWrapMotionProviderRef = React.useRef(false);\n needWrapMotionProviderRef.current = needWrapMotionProviderRef.current || motion === false;\n if (needWrapMotionProviderRef.current) {\n return /*#__PURE__*/React.createElement(MotionProvider, {\n motion: motion\n }, children);\n }\n return children;\n}","\"use client\";\n\nimport * as React from 'react';\nimport { devUseWarning } from '../_util/warning';\n/**\n * Warning for ConfigProviderProps.\n * This will be empty function in production.\n */\nconst PropWarning = /*#__PURE__*/React.memo(_ref => {\n let {\n dropdownMatchSelectWidth\n } = _ref;\n const warning = devUseWarning('ConfigProvider');\n warning.deprecated(dropdownMatchSelectWidth === undefined, 'dropdownMatchSelectWidth', 'popupMatchSelectWidth');\n return null;\n});\nif (process.env.NODE_ENV !== 'production') {\n PropWarning.displayName = 'PropWarning';\n}\nexport default process.env.NODE_ENV !== 'production' ? PropWarning : () => null;","\"use client\";\n'use client';\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport { merge } from \"rc-util/es/utils/set\";\nimport warning, { WarningContext } from '../_util/warning';\nimport ValidateMessagesContext from '../form/validateMessagesContext';\nimport LocaleProvider, { ANT_MARK } from '../locale';\nimport LocaleContext from '../locale/context';\nimport defaultLocale from '../locale/en_US';\nimport { defaultTheme, DesignTokenContext } from '../theme/context';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useConfig from './hooks/useConfig';\nimport useTheme from './hooks/useTheme';\nimport MotionWrapper from './MotionWrapper';\nimport PropWarning from './PropWarning';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\n/**\n * Since too many feedback using static method like `Modal.confirm` not getting theme, we record the\n * theme register info here to help developer get warning info.\n */\nlet existThemeConfig = false;\nexport const warnContext = process.env.NODE_ENV !== 'production' ? componentName => {\n process.env.NODE_ENV !== \"production\" ? warning(!existThemeConfig, componentName, `Static function can not consume context like dynamic theme. Please use 'App' component instead.`) : void 0;\n} : /* istanbul ignore next */\nnull;\nexport { ConfigConsumer, ConfigContext, defaultIconPrefixCls };\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nconst PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form', 'select', 'button'];\nexport const defaultPrefixCls = 'ant';\nlet globalPrefixCls;\nlet globalIconPrefixCls;\nlet globalTheme;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nfunction isLegacyTheme(theme) {\n return Object.keys(theme).some(key => key.endsWith('Color'));\n}\nconst setGlobalConfig = _ref => {\n let {\n prefixCls,\n iconPrefixCls,\n theme\n } = _ref;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if (theme) {\n if (isLegacyTheme(theme)) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', '`config` of css variable theme is not work in v5. Please use new `theme` config instead.') : void 0;\n registerTheme(getGlobalPrefixCls(), theme);\n } else {\n globalTheme = theme;\n }\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n },\n getTheme: () => globalTheme\n});\nconst ProviderChildren = props => {\n const {\n children,\n csp: customCsp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n form,\n locale,\n componentSize,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n popupOverflow,\n legacyLocale,\n parentContext,\n iconPrefixCls: customIconPrefixCls,\n theme,\n componentDisabled,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n input,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n flex,\n wave,\n warning: warningConfig\n } = props;\n // =================================== Context ===================================\n const getPrefixCls = React.useCallback((suffixCls, customizePrefixCls) => {\n const {\n prefixCls\n } = props;\n if (customizePrefixCls) {\n return customizePrefixCls;\n }\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n const iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n const csp = customCsp || parentContext.csp;\n useStyle(iconPrefixCls, csp);\n const mergedTheme = useTheme(theme, parentContext.theme);\n if (process.env.NODE_ENV !== 'production') {\n existThemeConfig = existThemeConfig || !!mergedTheme;\n }\n const baseConfig = {\n csp,\n autoInsertSpaceInButton,\n alert,\n anchor,\n locale: locale || legacyLocale,\n direction,\n space,\n virtual,\n popupMatchSelectWidth: popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth,\n popupOverflow,\n getPrefixCls,\n iconPrefixCls,\n theme: mergedTheme,\n segmented,\n statistic,\n spin,\n calendar,\n carousel,\n cascader,\n collapse,\n typography,\n checkbox,\n descriptions,\n divider,\n drawer,\n skeleton,\n steps,\n image,\n input,\n layout,\n list,\n mentions,\n modal,\n progress,\n result,\n slider,\n breadcrumb,\n menu,\n pagination,\n empty,\n badge,\n radio,\n rate,\n switch: SWITCH,\n transfer,\n avatar,\n message,\n tag,\n table,\n card,\n tabs,\n timeline,\n timePicker,\n upload,\n notification,\n tree,\n colorPicker,\n datePicker,\n flex,\n wave,\n warning: warningConfig\n };\n const config = Object.assign({}, parentContext);\n Object.keys(baseConfig).forEach(key => {\n if (baseConfig[key] !== undefined) {\n config[key] = baseConfig[key];\n }\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(propName => {\n const propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n const memoedConfig = useMemo(() => config, config, (prevConfig, currentConfig) => {\n const prevKeys = Object.keys(prevConfig);\n const currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(key => prevConfig[key] !== currentConfig[key]);\n });\n const memoIconContextValue = React.useMemo(() => ({\n prefixCls: iconPrefixCls,\n csp\n }), [iconPrefixCls, csp]);\n let childNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PropWarning, {\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }), children);\n const validateMessages = React.useMemo(() => {\n var _a, _b, _c, _d;\n return merge(((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || {}, ((_c = (_b = memoedConfig.locale) === null || _b === void 0 ? void 0 : _b.Form) === null || _c === void 0 ? void 0 : _c.defaultValidateMessages) || {}, ((_d = memoedConfig.form) === null || _d === void 0 ? void 0 : _d.validateMessages) || {}, (form === null || form === void 0 ? void 0 : form.validateMessages) || {});\n }, [memoedConfig, form === null || form === void 0 ? void 0 : form.validateMessages]);\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(ValidateMessagesContext.Provider, {\n value: validateMessages\n }, childNode);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // =================================== Motion ===================================\n childNode = /*#__PURE__*/React.createElement(MotionWrapper, null, childNode);\n // ================================ Dynamic theme ================================\n const memoTheme = React.useMemo(() => {\n const _a = mergedTheme || {},\n {\n algorithm,\n token,\n components\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\", \"components\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : defaultTheme;\n const parsedComponents = {};\n Object.entries(components || {}).forEach(_ref2 => {\n let [componentName, componentToken] = _ref2;\n const parsedToken = Object.assign({}, componentToken);\n if ('algorithm' in parsedToken) {\n if (parsedToken.algorithm === true) {\n parsedToken.theme = themeObj;\n } else if (Array.isArray(parsedToken.algorithm) || typeof parsedToken.algorithm === 'function') {\n parsedToken.theme = createTheme(parsedToken.algorithm);\n }\n delete parsedToken.algorithm;\n }\n parsedComponents[componentName] = parsedToken;\n });\n return Object.assign(Object.assign({}, rest), {\n theme: themeObj,\n token: Object.assign(Object.assign({}, defaultSeedToken), token),\n components: parsedComponents\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // ================================== Warning ===================================\n if (memoedConfig.warning) {\n childNode = /*#__PURE__*/React.createElement(WarningContext.Provider, {\n value: memoedConfig.warning\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nconst ConfigProvider = props => {\n const context = React.useContext(ConfigContext);\n const antLocale = React.useContext(LocaleContext);\n return /*#__PURE__*/React.createElement(ProviderChildren, Object.assign({\n parentContext: context,\n legacyLocale: antLocale\n }, props));\n};\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nConfigProvider.useConfig = useConfig;\nObject.defineProperty(ConfigProvider, 'SizeContext', {\n get: () => {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'ConfigProvider.SizeContext is deprecated. Please use `ConfigProvider.useConfig().componentSize` instead.') : void 0;\n return SizeContext;\n }\n});\nif (process.env.NODE_ENV !== 'production') {\n ConfigProvider.displayName = 'ConfigProvider';\n}\nexport default ConfigProvider;","// This icon file is generated automatically.\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexport default CheckCircleFilled;\n","function getRoot(ele) {\n var _ele$getRootNode;\n return ele === null || ele === void 0 ? void 0 : (_ele$getRootNode = ele.getRootNode) === null || _ele$getRootNode === void 0 ? void 0 : _ele$getRootNode.call(ele);\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport warn from \"rc-util/es/warning\";\nimport React, { useContext, useEffect } from 'react';\nimport IconContext from \"./components/Context\";\nfunction camelCase(input) {\n return input.replace(/-(.)/g, function (match, g) {\n return g.toUpperCase();\n });\n}\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n delete acc[key];\n acc[camelCase(key)] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles(eleRef) {\n var _useContext = useContext(IconContext),\n csp = _useContext.csp,\n prefixCls = _useContext.prefixCls;\n var mergedStyleStr = iconStyles;\n if (prefixCls) {\n mergedStyleStr = mergedStyleStr.replace(/anticon/g, prefixCls);\n }\n useEffect(function () {\n var ele = eleRef.current;\n var shadowRoot = getShadowRoot(ele);\n updateCSS(mergedStyleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp,\n attachTo: shadowRoot\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport * as React from 'react';\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from \"../utils\";\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var svgRef = React.useRef();\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles(svgRef);\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread(_objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps), {}, {\n ref: svgRef\n }));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from \"./IconBase\";\nimport { normalizeTwoToneColors } from \"../utils\";\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { blue } from '@ant-design/colors';\nimport Context from \"./Context\";\nimport ReactIcon from \"./IconBase\";\nimport { getTwoToneColor, setTwoToneColor } from \"./twoTonePrimaryColor\";\nimport { normalizeTwoToneColors } from \"../utils\";\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor(blue.primary);\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757#issuecomment-488848720\n\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CheckCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CheckCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CheckCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CheckCircleFilled.displayName = 'CheckCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(CheckCircleFilled);","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloseCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CloseCircleFilled.displayName = 'CloseCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(CloseCircleFilled);","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CloseOutlined.displayName = 'CloseOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","// This icon file is generated automatically.\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexport default ExclamationCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport ExclamationCircleFilledSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: ExclamationCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n ExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);","// This icon file is generated automatically.\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexport default InfoCircleFilled;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport InfoCircleFilledSvg from \"@ant-design/icons-svg/es/asn/InfoCircleFilled\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: InfoCircleFilledSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n InfoCircleFilled.displayName = 'InfoCircleFilled';\n}\nexport default /*#__PURE__*/React.forwardRef(InfoCircleFilled);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","import * as React from 'react';\nexport const {\n isValidElement\n} = React;\nexport function isFragment(child) {\n return child && isValidElement(child) && child.type === React.Fragment;\n}\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35,\n // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36,\n // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37,\n // also NUM_WEST\n /**\n * UP\n */\n UP: 38,\n // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39,\n // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40,\n // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46,\n // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n // needs localization\n /**\n * DASH\n */\n DASH: 189,\n // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187,\n // needs localization\n /**\n * COMMA\n */\n COMMA: 188,\n // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190,\n // needs localization\n /**\n * SLASH\n */\n SLASH: 191,\n // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nvar Notify = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n className = props.className,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 4.5 : _props$duration,\n eventKey = props.eventKey,\n content = props.content,\n closable = props.closable,\n _props$closeIcon = props.closeIcon,\n closeIcon = _props$closeIcon === void 0 ? 'x' : _props$closeIcon,\n divProps = props.props,\n onClick = props.onClick,\n onNoticeClose = props.onNoticeClose,\n times = props.times,\n forcedHovering = props.hovering;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n hovering = _React$useState2[0],\n setHovering = _React$useState2[1];\n var mergedHovering = forcedHovering || hovering;\n\n // ======================== Close =========================\n var onInternalClose = function onInternalClose() {\n onNoticeClose(eventKey);\n };\n var onCloseKeyDown = function onCloseKeyDown(e) {\n if (e.key === 'Enter' || e.code === 'Enter' || e.keyCode === KeyCode.ENTER) {\n onInternalClose();\n }\n };\n\n // ======================== Effect ========================\n React.useEffect(function () {\n if (!mergedHovering && duration > 0) {\n var timeout = setTimeout(function () {\n onInternalClose();\n }, duration * 1000);\n return function () {\n clearTimeout(timeout);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [duration, mergedHovering, times]);\n\n // ======================== Render ========================\n var noticePrefixCls = \"\".concat(prefixCls, \"-notice\");\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n ref: ref,\n className: classNames(noticePrefixCls, className, _defineProperty({}, \"\".concat(noticePrefixCls, \"-closable\"), closable)),\n style: style,\n onMouseEnter: function onMouseEnter(e) {\n var _divProps$onMouseEnte;\n setHovering(true);\n divProps === null || divProps === void 0 ? void 0 : (_divProps$onMouseEnte = divProps.onMouseEnter) === null || _divProps$onMouseEnte === void 0 ? void 0 : _divProps$onMouseEnte.call(divProps, e);\n },\n onMouseLeave: function onMouseLeave(e) {\n var _divProps$onMouseLeav;\n setHovering(false);\n divProps === null || divProps === void 0 ? void 0 : (_divProps$onMouseLeav = divProps.onMouseLeave) === null || _divProps$onMouseLeav === void 0 ? void 0 : _divProps$onMouseLeav.call(divProps, e);\n },\n onClick: onClick\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(noticePrefixCls, \"-content\")\n }, content), closable && /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n className: \"\".concat(noticePrefixCls, \"-close\"),\n onKeyDown: onCloseKeyDown,\n onClick: function onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n onInternalClose();\n }\n }, closeIcon));\n});\nexport default Notify;","import React from 'react';\nexport var NotificationContext = /*#__PURE__*/React.createContext({});\nvar NotificationProvider = function NotificationProvider(_ref) {\n var children = _ref.children,\n classNames = _ref.classNames;\n return /*#__PURE__*/React.createElement(NotificationContext.Provider, {\n value: {\n classNames: classNames\n }\n }, children);\n};\nexport default NotificationProvider;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar DEFAULT_OFFSET = 8;\nvar DEFAULT_THRESHOLD = 3;\nvar DEFAULT_GAP = 16;\nvar useStack = function useStack(config) {\n var result = {\n offset: DEFAULT_OFFSET,\n threshold: DEFAULT_THRESHOLD,\n gap: DEFAULT_GAP\n };\n if (config && _typeof(config) === 'object') {\n var _config$offset, _config$threshold, _config$gap;\n result.offset = (_config$offset = config.offset) !== null && _config$offset !== void 0 ? _config$offset : DEFAULT_OFFSET;\n result.threshold = (_config$threshold = config.threshold) !== null && _config$threshold !== void 0 ? _config$threshold : DEFAULT_THRESHOLD;\n result.gap = (_config$gap = config.gap) !== null && _config$gap !== void 0 ? _config$gap : DEFAULT_GAP;\n }\n return [!!config, result];\n};\nexport default useStack;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport clsx from 'classnames';\nimport { CSSMotionList } from 'rc-motion';\nimport Notice from \"./Notice\";\nimport { NotificationContext } from \"./NotificationProvider\";\nimport useStack from \"./hooks/useStack\";\nvar NoticeList = function NoticeList(props) {\n var _clsx;\n var configList = props.configList,\n placement = props.placement,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n motion = props.motion,\n onAllNoticeRemoved = props.onAllNoticeRemoved,\n onNoticeClose = props.onNoticeClose,\n stackConfig = props.stack;\n var _useContext = useContext(NotificationContext),\n ctxCls = _useContext.classNames;\n var dictRef = useRef({});\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n latestNotice = _useState2[0],\n setLatestNotice = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n hoverKeys = _useState4[0],\n setHoverKeys = _useState4[1];\n var keys = configList.map(function (config) {\n return {\n config: config,\n key: config.key\n };\n });\n var _useStack = useStack(stackConfig),\n _useStack2 = _slicedToArray(_useStack, 2),\n stack = _useStack2[0],\n _useStack2$ = _useStack2[1],\n offset = _useStack2$.offset,\n threshold = _useStack2$.threshold,\n gap = _useStack2$.gap;\n var expanded = stack && (hoverKeys.length > 0 || keys.length <= threshold);\n var placementMotion = typeof motion === 'function' ? motion(placement) : motion;\n\n // Clean hover key\n useEffect(function () {\n if (stack && hoverKeys.length > 1) {\n setHoverKeys(function (prev) {\n return prev.filter(function (key) {\n return keys.some(function (_ref) {\n var dataKey = _ref.key;\n return key === dataKey;\n });\n });\n });\n }\n }, [hoverKeys, keys, stack]);\n\n // Force update latest notice\n useEffect(function () {\n var _keys;\n if (stack && dictRef.current[(_keys = keys[keys.length - 1]) === null || _keys === void 0 ? void 0 : _keys.key]) {\n var _keys2;\n setLatestNotice(dictRef.current[(_keys2 = keys[keys.length - 1]) === null || _keys2 === void 0 ? void 0 : _keys2.key]);\n }\n }, [keys, stack]);\n return /*#__PURE__*/React.createElement(CSSMotionList, _extends({\n key: placement,\n className: clsx(prefixCls, \"\".concat(prefixCls, \"-\").concat(placement), ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.list, className, (_clsx = {}, _defineProperty(_clsx, \"\".concat(prefixCls, \"-stack\"), !!stack), _defineProperty(_clsx, \"\".concat(prefixCls, \"-stack-expanded\"), expanded), _clsx)),\n style: style,\n keys: keys,\n motionAppear: true\n }, placementMotion, {\n onAllRemoved: function onAllRemoved() {\n onAllNoticeRemoved(placement);\n }\n }), function (_ref2, nodeRef) {\n var config = _ref2.config,\n motionClassName = _ref2.className,\n motionStyle = _ref2.style,\n motionIndex = _ref2.index;\n var _ref3 = config,\n key = _ref3.key,\n times = _ref3.times;\n var _ref4 = config,\n configClassName = _ref4.className,\n configStyle = _ref4.style;\n var dataIndex = keys.findIndex(function (item) {\n return item.key === key;\n });\n\n // If dataIndex is -1, that means this notice has been removed in data, but still in dom\n // Should minus (motionIndex - 1) to get the correct index because keys.length is not the same as dom length\n var stackStyle = {};\n if (stack) {\n var index = keys.length - 1 - (dataIndex > -1 ? dataIndex : motionIndex - 1);\n var transformX = placement === 'top' || placement === 'bottom' ? '-50%' : '0';\n if (index > 0) {\n var _dictRef$current$key, _dictRef$current$key2, _dictRef$current$key3;\n stackStyle.height = expanded ? (_dictRef$current$key = dictRef.current[key]) === null || _dictRef$current$key === void 0 ? void 0 : _dictRef$current$key.offsetHeight : latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetHeight;\n\n // Transform\n var verticalOffset = 0;\n for (var i = 0; i < index; i++) {\n var _dictRef$current$keys;\n verticalOffset += ((_dictRef$current$keys = dictRef.current[keys[keys.length - 1 - i].key]) === null || _dictRef$current$keys === void 0 ? void 0 : _dictRef$current$keys.offsetHeight) + gap;\n }\n var transformY = (expanded ? verticalOffset : index * offset) * (placement.startsWith('top') ? 1 : -1);\n var scaleX = !expanded && latestNotice !== null && latestNotice !== void 0 && latestNotice.offsetWidth && (_dictRef$current$key2 = dictRef.current[key]) !== null && _dictRef$current$key2 !== void 0 && _dictRef$current$key2.offsetWidth ? ((latestNotice === null || latestNotice === void 0 ? void 0 : latestNotice.offsetWidth) - offset * 2 * (index < 3 ? index : 3)) / ((_dictRef$current$key3 = dictRef.current[key]) === null || _dictRef$current$key3 === void 0 ? void 0 : _dictRef$current$key3.offsetWidth) : 1;\n stackStyle.transform = \"translate3d(\".concat(transformX, \", \").concat(transformY, \"px, 0) scaleX(\").concat(scaleX, \")\");\n } else {\n stackStyle.transform = \"translate3d(\".concat(transformX, \", 0, 0)\");\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: nodeRef,\n className: clsx(\"\".concat(prefixCls, \"-notice-wrapper\"), motionClassName),\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), stackStyle), configStyle),\n onMouseEnter: function onMouseEnter() {\n return setHoverKeys(function (prev) {\n return prev.includes(key) ? prev : [].concat(_toConsumableArray(prev), [key]);\n });\n },\n onMouseLeave: function onMouseLeave() {\n return setHoverKeys(function (prev) {\n return prev.filter(function (k) {\n return k !== key;\n });\n });\n }\n }, /*#__PURE__*/React.createElement(Notice, _extends({}, config, {\n ref: function ref(node) {\n if (dataIndex > -1) {\n dictRef.current[key] = node;\n } else {\n delete dictRef.current[key];\n }\n },\n prefixCls: prefixCls,\n className: clsx(configClassName, ctxCls === null || ctxCls === void 0 ? void 0 : ctxCls.notice),\n times: times,\n key: key,\n eventKey: key,\n onNoticeClose: onNoticeClose,\n hovering: stack && hoverKeys.length > 0\n })));\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n NoticeList.displayName = 'NoticeList';\n}\nexport default NoticeList;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport NoticeList from \"./NoticeList\";\n// ant-notification ant-notification-topRight\nvar Notifications = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-notification' : _props$prefixCls,\n container = props.container,\n motion = props.motion,\n maxCount = props.maxCount,\n className = props.className,\n style = props.style,\n onAllRemoved = props.onAllRemoved,\n stack = props.stack,\n renderNotifications = props.renderNotifications;\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n configList = _React$useState2[0],\n setConfigList = _React$useState2[1];\n\n // ======================== Close =========================\n var onNoticeClose = function onNoticeClose(key) {\n var _config$onClose;\n // Trigger close event\n var config = configList.find(function (item) {\n return item.key === key;\n });\n config === null || config === void 0 ? void 0 : (_config$onClose = config.onClose) === null || _config$onClose === void 0 ? void 0 : _config$onClose.call(config);\n setConfigList(function (list) {\n return list.filter(function (item) {\n return item.key !== key;\n });\n });\n };\n\n // ========================= Refs =========================\n React.useImperativeHandle(ref, function () {\n return {\n open: function open(config) {\n setConfigList(function (list) {\n var clone = _toConsumableArray(list);\n\n // Replace if exist\n var index = clone.findIndex(function (item) {\n return item.key === config.key;\n });\n var innerConfig = _objectSpread({}, config);\n if (index >= 0) {\n var _list$index;\n innerConfig.times = (((_list$index = list[index]) === null || _list$index === void 0 ? void 0 : _list$index.times) || 0) + 1;\n clone[index] = innerConfig;\n } else {\n innerConfig.times = 0;\n clone.push(innerConfig);\n }\n if (maxCount > 0 && clone.length > maxCount) {\n clone = clone.slice(-maxCount);\n }\n return clone;\n });\n },\n close: function close(key) {\n onNoticeClose(key);\n },\n destroy: function destroy() {\n setConfigList([]);\n }\n };\n });\n\n // ====================== Placements ======================\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n placements = _React$useState4[0],\n setPlacements = _React$useState4[1];\n React.useEffect(function () {\n var nextPlacements = {};\n configList.forEach(function (config) {\n var _config$placement = config.placement,\n placement = _config$placement === void 0 ? 'topRight' : _config$placement;\n if (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n nextPlacements[placement].push(config);\n }\n });\n\n // Fill exist placements to avoid empty list causing remove without motion\n Object.keys(placements).forEach(function (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n });\n setPlacements(nextPlacements);\n }, [configList]);\n\n // Clean up container if all notices fade out\n var onAllNoticeRemoved = function onAllNoticeRemoved(placement) {\n setPlacements(function (originPlacements) {\n var clone = _objectSpread({}, originPlacements);\n var list = clone[placement] || [];\n if (!list.length) {\n delete clone[placement];\n }\n return clone;\n });\n };\n\n // Effect tell that placements is empty now\n var emptyRef = React.useRef(false);\n React.useEffect(function () {\n if (Object.keys(placements).length > 0) {\n emptyRef.current = true;\n } else if (emptyRef.current) {\n // Trigger only when from exist to empty\n onAllRemoved === null || onAllRemoved === void 0 ? void 0 : onAllRemoved();\n emptyRef.current = false;\n }\n }, [placements]);\n // ======================== Render ========================\n if (!container) {\n return null;\n }\n var placementList = Object.keys(placements);\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(React.Fragment, null, placementList.map(function (placement) {\n var placementConfigList = placements[placement];\n var list = /*#__PURE__*/React.createElement(NoticeList, {\n key: placement,\n configList: placementConfigList,\n placement: placement,\n prefixCls: prefixCls,\n className: className === null || className === void 0 ? void 0 : className(placement),\n style: style === null || style === void 0 ? void 0 : style(placement),\n motion: motion,\n onNoticeClose: onNoticeClose,\n onAllNoticeRemoved: onAllNoticeRemoved,\n stack: stack\n });\n return renderNotifications ? renderNotifications(list, {\n prefixCls: prefixCls,\n key: placement\n }) : list;\n })), container);\n});\nif (process.env.NODE_ENV !== 'production') {\n Notifications.displayName = 'Notifications';\n}\nexport default Notifications;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"getContainer\", \"motion\", \"prefixCls\", \"maxCount\", \"className\", \"style\", \"onAllRemoved\", \"stack\", \"renderNotifications\"];\nimport * as React from 'react';\nimport Notifications from \"../Notifications\";\nvar defaultGetContainer = function defaultGetContainer() {\n return document.body;\n};\nvar uniqueKey = 0;\nfunction mergeConfig() {\n var clone = {};\n for (var _len = arguments.length, objList = new Array(_len), _key = 0; _key < _len; _key++) {\n objList[_key] = arguments[_key];\n }\n objList.forEach(function (obj) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n if (val !== undefined) {\n clone[key] = val;\n }\n });\n }\n });\n return clone;\n}\nexport default function useNotification() {\n var rootConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _rootConfig$getContai = rootConfig.getContainer,\n getContainer = _rootConfig$getContai === void 0 ? defaultGetContainer : _rootConfig$getContai,\n motion = rootConfig.motion,\n prefixCls = rootConfig.prefixCls,\n maxCount = rootConfig.maxCount,\n className = rootConfig.className,\n style = rootConfig.style,\n onAllRemoved = rootConfig.onAllRemoved,\n stack = rootConfig.stack,\n renderNotifications = rootConfig.renderNotifications,\n shareConfig = _objectWithoutProperties(rootConfig, _excluded);\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n container = _React$useState2[0],\n setContainer = _React$useState2[1];\n var notificationsRef = React.useRef();\n var contextHolder = /*#__PURE__*/React.createElement(Notifications, {\n container: container,\n ref: notificationsRef,\n prefixCls: prefixCls,\n motion: motion,\n maxCount: maxCount,\n className: className,\n style: style,\n onAllRemoved: onAllRemoved,\n stack: stack,\n renderNotifications: renderNotifications\n });\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n taskQueue = _React$useState4[0],\n setTaskQueue = _React$useState4[1];\n\n // ========================= Refs =========================\n var api = React.useMemo(function () {\n return {\n open: function open(config) {\n var mergedConfig = mergeConfig(shareConfig, config);\n if (mergedConfig.key === null || mergedConfig.key === undefined) {\n mergedConfig.key = \"rc-notification-\".concat(uniqueKey);\n uniqueKey += 1;\n }\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'open',\n config: mergedConfig\n }]);\n });\n },\n close: function close(key) {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'close',\n key: key\n }]);\n });\n },\n destroy: function destroy() {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'destroy'\n }]);\n });\n }\n };\n }, []);\n\n // ======================= Container ======================\n // React 18 should all in effect that we will check container in each render\n // Which means getContainer should be stable.\n React.useEffect(function () {\n setContainer(getContainer());\n });\n\n // ======================== Effect ========================\n React.useEffect(function () {\n // Flush task when node ready\n if (notificationsRef.current && taskQueue.length) {\n taskQueue.forEach(function (task) {\n switch (task.type) {\n case 'open':\n notificationsRef.current.open(task.config);\n break;\n case 'close':\n notificationsRef.current.close(task.key);\n break;\n case 'destroy':\n notificationsRef.current.destroy();\n break;\n }\n });\n\n // React 17 will mix order of effect & setState in async\n // - open: setState[0]\n // - effect[0]\n // - open: setState[1]\n // - effect setState([]) * here will clean up [0, 1] in React 17\n setTaskQueue(function (oriQueue) {\n return oriQueue.filter(function (task) {\n return !taskQueue.includes(task);\n });\n });\n }\n }, [taskQueue]);\n\n // ======================== Return ========================\n return [api, contextHolder];\n}","// This icon file is generated automatically.\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexport default LoadingOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LoadingOutlinedSvg from \"@ant-design/icons-svg/es/asn/LoadingOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LoadingOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n LoadingOutlined.displayName = 'LoadingOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(LoadingOutlined);","\"use client\";\n\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nconst genMessageStyle = token => {\n const {\n componentCls,\n iconCls,\n boxShadow,\n colorText,\n colorSuccess,\n colorError,\n colorWarning,\n colorInfo,\n fontSizeLG,\n motionEaseInOutCirc,\n motionDurationSlow,\n marginXS,\n paddingXS,\n borderRadiusLG,\n zIndexPopup,\n // Custom token\n contentPadding,\n contentBg\n } = token;\n const noticeCls = `${componentCls}-notice`;\n const messageMoveIn = new Keyframes('MessageMoveIn', {\n '0%': {\n padding: 0,\n transform: 'translateY(-100%)',\n opacity: 0\n },\n '100%': {\n padding: paddingXS,\n transform: 'translateY(0)',\n opacity: 1\n }\n });\n const messageMoveOut = new Keyframes('MessageMoveOut', {\n '0%': {\n maxHeight: token.height,\n padding: paddingXS,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n padding: 0,\n opacity: 0\n }\n });\n const noticeStyle = {\n padding: paddingXS,\n textAlign: 'center',\n [`${componentCls}-custom-content > ${iconCls}`]: {\n verticalAlign: 'text-bottom',\n marginInlineEnd: marginXS,\n fontSize: fontSizeLG\n },\n [`${noticeCls}-content`]: {\n display: 'inline-block',\n padding: contentPadding,\n background: contentBg,\n borderRadius: borderRadiusLG,\n boxShadow,\n pointerEvents: 'all'\n },\n [`${componentCls}-success > ${iconCls}`]: {\n color: colorSuccess\n },\n [`${componentCls}-error > ${iconCls}`]: {\n color: colorError\n },\n [`${componentCls}-warning > ${iconCls}`]: {\n color: colorWarning\n },\n [`${componentCls}-info > ${iconCls},\n ${componentCls}-loading > ${iconCls}`]: {\n color: colorInfo\n }\n };\n return [\n // ============================ Holder ============================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n color: colorText,\n position: 'fixed',\n top: marginXS,\n width: '100%',\n pointerEvents: 'none',\n zIndex: zIndexPopup,\n [`${componentCls}-move-up`]: {\n animationFillMode: 'forwards'\n },\n [`\n ${componentCls}-move-up-appear,\n ${componentCls}-move-up-enter\n `]: {\n animationName: messageMoveIn,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`\n ${componentCls}-move-up-appear${componentCls}-move-up-appear-active,\n ${componentCls}-move-up-enter${componentCls}-move-up-enter-active\n `]: {\n animationPlayState: 'running'\n },\n [`${componentCls}-move-up-leave`]: {\n animationName: messageMoveOut,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`${componentCls}-move-up-leave${componentCls}-move-up-leave-active`]: {\n animationPlayState: 'running'\n },\n '&-rtl': {\n direction: 'rtl',\n span: {\n direction: 'rtl'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [componentCls]: {\n [`${noticeCls}-wrapper`]: Object.assign({}, noticeStyle)\n }\n },\n // ============================= Pure =============================\n {\n [`${componentCls}-notice-pure-panel`]: Object.assign(Object.assign({}, noticeStyle), {\n padding: 0,\n textAlign: 'start'\n })\n }];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Message', token => {\n // Gen-style functions here\n const combinedToken = mergeToken(token, {\n height: 150\n });\n return [genMessageStyle(combinedToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 10,\n contentBg: token.colorBgElevated,\n contentPadding: `${(token.controlHeightLG - token.fontSize * token.lineHeight) / 2}px ${token.paddingSM}px`\n}));","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport { Notice } from 'rc-notification';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport const TypeIcon = {\n info: /*#__PURE__*/React.createElement(InfoCircleFilled, null),\n success: /*#__PURE__*/React.createElement(CheckCircleFilled, null),\n error: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n warning: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n loading: /*#__PURE__*/React.createElement(LoadingOutlined, null)\n};\nexport const PureContent = _ref => {\n let {\n prefixCls,\n type,\n icon,\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(`${prefixCls}-custom-content`, `${prefixCls}-${type}`)\n }, icon || TypeIcon[type], /*#__PURE__*/React.createElement(\"span\", null, children));\n};\n/** @private Internal Component. Do not use in your production. */\nconst PurePanel = props => {\n const {\n prefixCls: staticPrefixCls,\n className,\n type,\n icon,\n content\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"type\", \"icon\", \"content\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n const [, hashId] = useStyle(prefixCls);\n return /*#__PURE__*/React.createElement(Notice, Object.assign({}, restProps, {\n prefixCls: prefixCls,\n className: classNames(className, hashId, `${prefixCls}-notice-pure-panel`),\n eventKey: \"pure\",\n duration: null,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content)\n }));\n};\nexport default PurePanel;","export function getMotion(prefixCls, transitionName) {\n return {\n motionName: transitionName !== null && transitionName !== void 0 ? transitionName : `${prefixCls}-move-up`\n };\n}\n/** Wrap message open with promise like function */\nexport function wrapPromiseFn(openFn) {\n let closeFn;\n const closePromise = new Promise(resolve => {\n closeFn = openFn(() => {\n resolve(true);\n });\n });\n const result = () => {\n closeFn === null || closeFn === void 0 ? void 0 : closeFn();\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport { NotificationProvider, useNotification as useRcNotification } from 'rc-notification';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { PureContent } from './PurePanel';\nimport useStyle from './style';\nimport { getMotion, wrapPromiseFn } from './util';\nconst DEFAULT_OFFSET = 8;\nconst DEFAULT_DURATION = 3;\nconst Wrapper = _ref => {\n let {\n children,\n prefixCls\n } = _ref;\n const [, hashId] = useStyle(prefixCls);\n return /*#__PURE__*/React.createElement(NotificationProvider, {\n classNames: {\n list: hashId,\n notice: hashId\n }\n }, children);\n};\nconst renderNotifications = (node, _ref2) => {\n let {\n prefixCls,\n key\n } = _ref2;\n return /*#__PURE__*/React.createElement(Wrapper, {\n prefixCls: prefixCls,\n key: key\n }, node);\n};\nconst Holder = /*#__PURE__*/React.forwardRef((props, ref) => {\n const {\n top,\n prefixCls: staticPrefixCls,\n getContainer: staticGetContainer,\n maxCount,\n duration = DEFAULT_DURATION,\n rtl,\n transitionName,\n onAllRemoved\n } = props;\n const {\n getPrefixCls,\n getPopupContainer,\n message\n } = React.useContext(ConfigContext);\n const prefixCls = staticPrefixCls || getPrefixCls('message');\n // =============================== Style ===============================\n const getStyle = () => ({\n left: '50%',\n transform: 'translateX(-50%)',\n top: top !== null && top !== void 0 ? top : DEFAULT_OFFSET\n });\n const getClassName = () => classNames({\n [`${prefixCls}-rtl`]: rtl\n });\n // ============================== Motion ===============================\n const getNotificationMotion = () => getMotion(prefixCls, transitionName);\n // ============================ Close Icon =============================\n const mergedCloseIcon = /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n // ============================== Origin ===============================\n const [api, holder] = useRcNotification({\n prefixCls,\n style: getStyle,\n className: getClassName,\n motion: getNotificationMotion,\n closable: false,\n closeIcon: mergedCloseIcon,\n duration,\n getContainer: () => (staticGetContainer === null || staticGetContainer === void 0 ? void 0 : staticGetContainer()) || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer()) || document.body,\n maxCount,\n onAllRemoved,\n renderNotifications\n });\n // ================================ Ref ================================\n React.useImperativeHandle(ref, () => Object.assign(Object.assign({}, api), {\n prefixCls,\n message\n }));\n return holder;\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nlet keyIndex = 0;\nexport function useInternalMessage(messageConfig) {\n const holderRef = React.useRef(null);\n const warning = devUseWarning('Message');\n // ================================ API ================================\n const wrapAPI = React.useMemo(() => {\n // Wrap with notification content\n // >>> close\n const close = key => {\n var _a;\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.close(key);\n };\n // >>> Open\n const open = config => {\n if (!holderRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'usage', 'You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.') : void 0;\n const fakeResult = () => {};\n fakeResult.then = () => {};\n return fakeResult;\n }\n const {\n open: originOpen,\n prefixCls,\n message\n } = holderRef.current;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n content,\n icon,\n type,\n key,\n className,\n style,\n onClose\n } = config,\n restConfig = __rest(config, [\"content\", \"icon\", \"type\", \"key\", \"className\", \"style\", \"onClose\"]);\n let mergedKey = key;\n if (mergedKey === undefined || mergedKey === null) {\n keyIndex += 1;\n mergedKey = `antd-message-${keyIndex}`;\n }\n return wrapPromiseFn(resolve => {\n originOpen(Object.assign(Object.assign({}, restConfig), {\n key: mergedKey,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content),\n placement: 'top',\n className: classNames(type && `${noticePrefixCls}-${type}`, className, message === null || message === void 0 ? void 0 : message.className),\n style: Object.assign(Object.assign({}, message === null || message === void 0 ? void 0 : message.style), style),\n onClose: () => {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n resolve();\n }\n }));\n // Return close function\n return () => {\n close(mergedKey);\n };\n });\n };\n // >>> destroy\n const destroy = key => {\n var _a;\n if (key !== undefined) {\n close(key);\n } else {\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n };\n const clone = {\n open,\n destroy\n };\n const keys = ['info', 'success', 'warning', 'error', 'loading'];\n keys.forEach(type => {\n const typeOpen = (jointContent, duration, onClose) => {\n let config;\n if (jointContent && typeof jointContent === 'object' && 'content' in jointContent) {\n config = jointContent;\n } else {\n config = {\n content: jointContent\n };\n }\n // Params\n let mergedDuration;\n let mergedOnClose;\n if (typeof duration === 'function') {\n mergedOnClose = duration;\n } else {\n mergedDuration = duration;\n mergedOnClose = onClose;\n }\n const mergedConfig = Object.assign(Object.assign({\n onClose: mergedOnClose,\n duration: mergedDuration\n }, config), {\n type\n });\n return open(mergedConfig);\n };\n clone[type] = typeOpen;\n });\n return clone;\n }, []);\n // ============================== Return ===============================\n return [wrapAPI, /*#__PURE__*/React.createElement(Holder, Object.assign({\n key: \"message-holder\"\n }, messageConfig, {\n ref: holderRef\n }))];\n}\nexport default function useMessage(messageConfig) {\n return useInternalMessage(messageConfig);\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nexport default function usePatchElement() {\n const [elements, setElements] = React.useState([]);\n const patchElement = React.useCallback(element => {\n // append a new element to elements (and create a new ref)\n setElements(originElements => [].concat(_toConsumableArray(originElements), [element]));\n // return a function that removes the new element out of elements (and create a new ref)\n // it works a little like useEffect\n return () => {\n setElements(originElements => originElements.filter(ele => ele !== element));\n };\n }, []);\n return [elements, patchElement];\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n };\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\n\n// ========================== Render ==========================\n\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 ? void 0 : _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","// ================== Collapse Motion ==================\nconst getCollapsedHeight = () => ({\n height: 0,\n opacity: 0\n});\nconst getRealHeight = node => {\n const {\n scrollHeight\n } = node;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\nconst getCurrentHeight = node => ({\n height: node ? node.offsetHeight : 0\n});\nconst skipOpacityTransition = (_, event) => (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\nconst initCollapseMotion = function () {\n let rootCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant';\n return {\n motionName: `${rootCls}-motion-collapse`,\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n };\n};\nconst SelectPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'];\nconst getTransitionName = (rootPrefixCls, motion, transitionName) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { getTransitionName };\nexport default initCollapseMotion;","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof Element) {\n if (element.offsetParent) {\n return true;\n }\n if (element.getBBox) {\n var _getBBox = element.getBBox(),\n width = _getBBox.width,\n height = _getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n }\n return false;\n});","import { genComponentStyleHook } from '../../theme/internal';\nconst genWaveStyle = token => {\n const {\n componentCls,\n colorPrimary\n } = token;\n return {\n [componentCls]: {\n position: 'absolute',\n background: 'transparent',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n color: `var(--wave-color, ${colorPrimary})`,\n boxShadow: `0 0 0 0 currentcolor`,\n opacity: 0.2,\n // =================== Motion ===================\n '&.wave-motion-appear': {\n transition: [`box-shadow 0.4s ${token.motionEaseOutCirc}`, `opacity 2s ${token.motionEaseOutCirc}`].join(','),\n '&-active': {\n boxShadow: `0 0 0 6px currentcolor`,\n opacity: 0\n },\n '&.wave-quick': {\n transition: [`box-shadow 0.3s ${token.motionEaseInOut}`, `opacity 0.35s ${token.motionEaseInOut}`].join(',')\n }\n }\n }\n };\n};\nexport default genComponentStyleHook('Wave', token => [genWaveStyle(token)]);","export function isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport function isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nexport function getTargetWaveColor(node) {\n const {\n borderTopColor,\n borderColor,\n backgroundColor\n } = getComputedStyle(node);\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n if (isValidWaveColor(backgroundColor)) {\n return backgroundColor;\n }\n return null;\n}","export const TARGET_CLS = 'ant-wave-target';","\"use client\";\n\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { render, unmount } from \"rc-util/es/React/render\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getTargetWaveColor } from './util';\nimport { TARGET_CLS } from './interface';\nfunction validateNum(value) {\n return Number.isNaN(value) ? 0 : value;\n}\nconst WaveEffect = props => {\n const {\n className,\n target,\n component\n } = props;\n const divRef = React.useRef(null);\n const [color, setWaveColor] = React.useState(null);\n const [borderRadius, setBorderRadius] = React.useState([]);\n const [left, setLeft] = React.useState(0);\n const [top, setTop] = React.useState(0);\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [enabled, setEnabled] = React.useState(false);\n const waveStyle = {\n left,\n top,\n width,\n height,\n borderRadius: borderRadius.map(radius => `${radius}px`).join(' ')\n };\n if (color) {\n waveStyle['--wave-color'] = color;\n }\n function syncPos() {\n const nodeStyle = getComputedStyle(target);\n // Get wave color from target\n setWaveColor(getTargetWaveColor(target));\n const isStatic = nodeStyle.position === 'static';\n // Rect\n const {\n borderLeftWidth,\n borderTopWidth\n } = nodeStyle;\n setLeft(isStatic ? target.offsetLeft : validateNum(-parseFloat(borderLeftWidth)));\n setTop(isStatic ? target.offsetTop : validateNum(-parseFloat(borderTopWidth)));\n setWidth(target.offsetWidth);\n setHeight(target.offsetHeight);\n // Get border radius\n const {\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius\n } = nodeStyle;\n setBorderRadius([borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius].map(radius => validateNum(parseFloat(radius))));\n }\n React.useEffect(() => {\n if (target) {\n // We need delay to check position here\n // since UI may change after click\n const id = raf(() => {\n syncPos();\n setEnabled(true);\n });\n // Add resize observer to follow size\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(syncPos);\n resizeObserver.observe(target);\n }\n return () => {\n raf.cancel(id);\n resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }\n }, []);\n if (!enabled) {\n return null;\n }\n const isSmallComponent = (component === 'Checkbox' || component === 'Radio') && (target === null || target === void 0 ? void 0 : target.classList.contains(TARGET_CLS));\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: true,\n motionAppear: true,\n motionName: \"wave-motion\",\n motionDeadline: 5000,\n onAppearEnd: (_, event) => {\n var _a;\n if (event.deadline || event.propertyName === 'opacity') {\n const holder = (_a = divRef.current) === null || _a === void 0 ? void 0 : _a.parentElement;\n unmount(holder).then(() => {\n holder === null || holder === void 0 ? void 0 : holder.remove();\n });\n }\n return false;\n }\n }, _ref => {\n let {\n className: motionClassName\n } = _ref;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: divRef,\n className: classNames(className, {\n 'wave-quick': isSmallComponent\n }, motionClassName),\n style: waveStyle\n });\n });\n};\nconst showWaveEffect = (target, info) => {\n var _a;\n const {\n component\n } = info;\n // Skip for unchecked checkbox\n if (component === 'Checkbox' && !((_a = target.querySelector('input')) === null || _a === void 0 ? void 0 : _a.checked)) {\n return;\n }\n // Create holder\n const holder = document.createElement('div');\n holder.style.position = 'absolute';\n holder.style.left = '0px';\n holder.style.top = '0px';\n target === null || target === void 0 ? void 0 : target.insertBefore(holder, target === null || target === void 0 ? void 0 : target.firstChild);\n render( /*#__PURE__*/React.createElement(WaveEffect, Object.assign({}, info, {\n target: target\n })), holder);\n};\nexport default showWaveEffect;","import * as React from 'react';\nimport { useEvent } from 'rc-util';\nimport raf from \"rc-util/es/raf\";\nimport showWaveEffect from './WaveEffect';\nimport { ConfigContext } from '../../config-provider';\nimport useToken from '../../theme/useToken';\nimport { TARGET_CLS } from './interface';\nexport default function useWave(nodeRef, className, component) {\n const {\n wave\n } = React.useContext(ConfigContext);\n const [, token, hashId] = useToken();\n const showWave = useEvent(event => {\n const node = nodeRef.current;\n if ((wave === null || wave === void 0 ? void 0 : wave.disabled) || !node) {\n return;\n }\n const targetNode = node.querySelector(`.${TARGET_CLS}`) || node;\n const {\n showEffect\n } = wave || {};\n // Customize wave effect\n (showEffect || showWaveEffect)(targetNode, {\n className,\n token,\n component,\n event,\n hashId\n });\n });\n const rafId = React.useRef();\n // Merge trigger event into one for each frame\n const showDebounceWave = event => {\n raf.cancel(rafId.current);\n rafId.current = raf(() => {\n showWave(event);\n });\n };\n return showDebounceWave;\n}","import classNames from 'classnames';\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport React, { useContext, useRef } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nimport useWave from './useWave';\nconst Wave = props => {\n const {\n children,\n disabled,\n component\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const containerRef = useRef(null);\n // ============================== Style ===============================\n const prefixCls = getPrefixCls('wave');\n const [, hashId] = useStyle(prefixCls);\n // =============================== Wave ===============================\n const showWave = useWave(containerRef, classNames(prefixCls, hashId), component);\n // ============================== Effect ==============================\n React.useEffect(() => {\n const node = containerRef.current;\n if (!node || node.nodeType !== 1 || disabled) {\n return;\n }\n // Click handler\n const onClick = e => {\n // Fix radio button click twice\n if (!isVisible(e.target) ||\n // No need wave\n !node.getAttribute || node.getAttribute('disabled') || node.disabled || node.className.includes('disabled') || node.className.includes('-leave')) {\n return;\n }\n showWave(e);\n };\n // Bind events\n node.addEventListener('click', onClick, true);\n return () => {\n node.removeEventListener('click', onClick, true);\n };\n }, [disabled]);\n // ============================== Render ==============================\n if (! /*#__PURE__*/React.isValidElement(children)) {\n return children !== null && children !== void 0 ? children : null;\n }\n const ref = supportRef(children) ? composeRef(children.ref, containerRef) : containerRef;\n return cloneElement(children, {\n ref\n });\n};\nif (process.env.NODE_ENV !== 'production') {\n Wave.displayName = 'Wave';\n}\nexport default Wave;","import React from 'react';\nimport SizeContext from '../SizeContext';\nconst useSize = customSize => {\n const size = React.useContext(SizeContext);\n const mergedSize = React.useMemo(() => {\n if (!customSize) {\n return size;\n }\n if (typeof customSize === 'string') {\n return customSize !== null && customSize !== void 0 ? customSize : size;\n }\n if (customSize instanceof Function) {\n return customSize(size);\n }\n return size;\n }, [customSize, size]);\n return mergedSize;\n};\nexport default useSize;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport useStyle from './style';\nexport const SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport const useCompactItemContext = (prefixCls, direction) => {\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const compactItemClassnames = React.useMemo(() => {\n if (!compactItemContext) {\n return '';\n }\n const {\n compactDirection,\n isFirstItem,\n isLastItem\n } = compactItemContext;\n const separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames(`${prefixCls}-compact${separator}item`, {\n [`${prefixCls}-compact${separator}first-item`]: isFirstItem,\n [`${prefixCls}-compact${separator}last-item`]: isLastItem,\n [`${prefixCls}-compact${separator}item-rtl`]: direction === 'rtl'\n });\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames\n };\n};\nexport const NoCompactStyle = _ref => {\n let {\n children\n } = _ref;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nconst CompactItem = _a => {\n var {\n children\n } = _a,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nconst Compact = props => {\n const {\n getPrefixCls,\n direction: directionConfig\n } = React.useContext(ConfigContext);\n const {\n size,\n direction,\n block,\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n children\n } = props,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"rootClassName\", \"children\"]);\n const mergedSize = useSize(ctx => size !== null && size !== void 0 ? size : ctx);\n const prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const clx = classNames(prefixCls, hashId, {\n [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-vertical`]: direction === 'vertical'\n }, className, rootClassName);\n const compactItemContext = React.useContext(SpaceCompactItemContext);\n const childNodes = toArray(children);\n const nodes = React.useMemo(() => childNodes.map((child, i) => {\n const key = child && child.key || `${prefixCls}-item-${i}`;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: mergedSize,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n }), [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nexport const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nconst ButtonGroup = props => {\n const {\n getPrefixCls,\n direction\n } = React.useContext(ConfigContext);\n const {\n prefixCls: customizePrefixCls,\n size,\n className\n } = props,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n const [,, hashId] = useToken();\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n case 'middle':\n default:\n // Do nothing\n }\n\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Button.Group');\n process.env.NODE_ENV !== \"production\" ? warning(!size || ['large', 'small', 'middle'].includes(size), 'usage', 'Invalid prop `size`.') : void 0;\n }\n const classes = classNames(prefixCls, {\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","\"use client\";\n\nimport React from 'react';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nexport const isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type\n };\n}\nexport function isString(str) {\n return typeof str === 'string';\n}\nexport function isUnBorderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\nfunction splitCNCharsBySpace(child, needInserted) {\n if (child === null || child === undefined) {\n return;\n }\n const SPACE = needInserted ? ' ' : '';\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (isString(child)) {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nexport function spaceChildren(children, needInserted) {\n let isPrevChildPure = false;\n const childList = [];\n React.Children.forEach(children, child => {\n const type = typeof child;\n const isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n const lastIndex = childList.length - 1;\n const lastChild = childList[lastIndex];\n childList[lastIndex] = `${lastChild}${child}`;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n return React.Children.map(childList, child => splitCNCharsBySpace(child, needInserted));\n}\nconst ButtonTypes = ['default', 'primary', 'dashed', 'link', 'text'];\nconst ButtonShapes = ['default', 'circle', 'round'];\nconst ButtonHTMLTypes = ['submit', 'button', 'reset'];","\"use client\";\n\nimport React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nconst IconWrapper = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n className,\n style,\n children,\n prefixCls\n } = props;\n const iconWrapperCls = classNames(`${prefixCls}-icon`, className);\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: ref,\n className: iconWrapperCls,\n style: style\n }, children);\n});\nexport default IconWrapper;","\"use client\";\n\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport React, { forwardRef } from 'react';\nimport IconWrapper from './IconWrapper';\nconst InnerLoadingIcon = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n prefixCls,\n className,\n style,\n iconClassName\n } = _ref;\n const mergedIconCls = classNames(`${prefixCls}-loading-icon`, className);\n return /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: mergedIconCls,\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: iconClassName\n }));\n});\nconst getCollapsedWidth = () => ({\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n});\nconst getRealWidth = node => ({\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n});\nconst LoadingIcon = props => {\n const {\n prefixCls,\n loading,\n existIcon,\n className,\n style\n } = props;\n const visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: style\n });\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: `${prefixCls}-loading-icon-motion`,\n motionLeave: visible,\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, (_ref2, ref) => {\n let {\n className: motionCls,\n style: motionStyle\n } = _ref2;\n return /*#__PURE__*/React.createElement(InnerLoadingIcon, {\n prefixCls: prefixCls,\n className: className,\n style: Object.assign(Object.assign({}, style), motionStyle),\n ref: ref,\n iconClassName: motionCls\n });\n });\n};\nexport default LoadingIcon;","const genButtonBorderStyle = (buttonTypeCls, borderColor) => ({\n // Border\n [`> span, > ${buttonTypeCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }\n },\n '&:not(:first-child)': {\n [`&, & > ${buttonTypeCls}`]: {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n }\n }\n }\n});\nconst genGroupStyle = token => {\n const {\n componentCls,\n fontSize,\n lineWidth,\n groupBorderColor,\n colorErrorHover\n } = token;\n return {\n [`${componentCls}-group`]: [{\n position: 'relative',\n display: 'inline-flex',\n // Border\n [`> span, > ${componentCls}`]: {\n '&:not(:last-child)': {\n [`&, & > ${componentCls}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n '&:not(:first-child)': {\n marginInlineStart: -lineWidth,\n [`&, & > ${componentCls}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n },\n [componentCls]: {\n position: 'relative',\n zIndex: 1,\n [`&:hover,\n &:focus,\n &:active`]: {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n },\n [`${componentCls}-icon-only`]: {\n fontSize\n }\n },\n // Border Color\n genButtonBorderStyle(`${componentCls}-primary`, groupBorderColor), genButtonBorderStyle(`${componentCls}-danger`, colorErrorHover)]\n };\n};\nexport default genGroupStyle;","import { genFocusStyle } from '../../style';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\n// ============================== Shared ==============================\nconst genSharedButtonStyle = token => {\n const {\n componentCls,\n iconCls,\n fontWeight\n } = token;\n return {\n [componentCls]: {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n border: `${token.lineWidth}px ${token.lineType} transparent`,\n cursor: 'pointer',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n userSelect: 'none',\n touchAction: 'manipulation',\n lineHeight: token.lineHeight,\n color: token.colorText,\n '&:disabled > *': {\n pointerEvents: 'none'\n },\n '> span': {\n display: 'inline-block'\n },\n [`${componentCls}-icon`]: {\n lineHeight: 0\n },\n // Leave a space between icon and text.\n [`> ${iconCls} + span, > span + ${iconCls}`]: {\n marginInlineStart: token.marginXS\n },\n [`&:not(${componentCls}-icon-only) > ${componentCls}-icon`]: {\n [`&${componentCls}-loading-icon, &:not(:last-child)`]: {\n marginInlineEnd: token.marginXS\n }\n },\n '> a': {\n color: 'currentColor'\n },\n '&:not(:disabled)': Object.assign({}, genFocusStyle(token)),\n [`&${componentCls}-two-chinese-chars::first-letter`]: {\n letterSpacing: '0.34em'\n },\n [`&${componentCls}-two-chinese-chars > *:not(${iconCls})`]: {\n marginInlineEnd: '-0.34em',\n letterSpacing: '0.34em'\n },\n // make `btn-icon-only` not too narrow\n [`&-icon-only${componentCls}-compact-item`]: {\n flex: 'none'\n },\n // Special styles for Primary Button\n [`&-compact-item${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: token.lineWidth,\n height: `calc(100% + ${token.lineWidth * 2}px)`,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n },\n // Special styles for Primary Button\n '&-compact-vertical-item': {\n [`&${componentCls}-primary`]: {\n [`&:not([disabled]) + ${componentCls}-compact-vertical-item${componentCls}-primary:not([disabled])`]: {\n position: 'relative',\n '&:before': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: `calc(100% + ${token.lineWidth * 2}px)`,\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryHover,\n content: '\"\"'\n }\n }\n }\n }\n }\n };\n};\nconst genHoverActiveButtonStyle = (btnCls, hoverStyle, activeStyle) => ({\n [`&:not(:disabled):not(${btnCls}-disabled)`]: {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n});\n// ============================== Shape ===============================\nconst genCircleButtonStyle = token => ({\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n});\nconst genRoundButtonStyle = token => ({\n borderRadius: token.controlHeight,\n paddingInlineStart: token.controlHeight / 2,\n paddingInlineEnd: token.controlHeight / 2\n});\n// =============================== Type ===============================\nconst genDisabledStyle = token => ({\n cursor: 'not-allowed',\n borderColor: token.borderColorDisabled,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n});\nconst genGhostButtonStyle = (btnCls, background, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) => ({\n [`&${btnCls}-background-ghost`]: Object.assign(Object.assign({\n color: textColor || undefined,\n backgroundColor: background,\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(btnCls, Object.assign({\n backgroundColor: background\n }, hoverStyle), Object.assign({\n backgroundColor: background\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n })\n});\nconst genSolidDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: Object.assign({}, genDisabledStyle(token))\n});\nconst genSolidButtonStyle = token => Object.assign({}, genSolidDisabledButtonStyle(token));\nconst genPureDisabledButtonStyle = token => ({\n [`&:disabled, &${token.componentCls}-disabled`]: {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n});\n// Type: Default\nconst genDefaultButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n backgroundColor: token.defaultBg,\n borderColor: token.defaultBorderColor,\n color: token.defaultColor,\n boxShadow: token.defaultShadow\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.defaultGhostColor, token.defaultGhostBorderColor, token.colorTextDisabled, token.colorBorder)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder)), genSolidDisabledButtonStyle(token))\n});\n// Type: Primary\nconst genPrimaryButtonStyle = token => Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, genSolidButtonStyle(token)), {\n color: token.primaryColor,\n backgroundColor: token.colorPrimary,\n boxShadow: token.primaryShadow\n}), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n}, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n})), genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n}, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n})), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign(Object.assign({\n backgroundColor: token.colorError,\n boxShadow: token.dangerShadow,\n color: token.dangerColor\n }, genHoverActiveButtonStyle(token.componentCls, {\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genSolidDisabledButtonStyle(token))\n});\n// Type: Dashed\nconst genDashedButtonStyle = token => Object.assign(Object.assign({}, genDefaultButtonStyle(token)), {\n borderStyle: 'dashed'\n});\n// Type: Link\nconst genLinkButtonStyle = token => Object.assign(Object.assign(Object.assign({\n color: token.colorLink\n}, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorLinkHover,\n backgroundColor: token.linkHoverBg\n}, {\n color: token.colorLinkActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover\n }, {\n color: token.colorErrorActive\n })), genPureDisabledButtonStyle(token))\n});\n// Type: Text\nconst genTextButtonStyle = token => Object.assign(Object.assign(Object.assign({}, genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorText,\n backgroundColor: token.textHoverBg\n}, {\n color: token.colorText,\n backgroundColor: token.colorBgTextActive\n})), genPureDisabledButtonStyle(token)), {\n [`&${token.componentCls}-dangerous`]: Object.assign(Object.assign({\n color: token.colorError\n }, genPureDisabledButtonStyle(token)), genHoverActiveButtonStyle(token.componentCls, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))\n});\nconst genTypeButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-default`]: genDefaultButtonStyle(token),\n [`${componentCls}-primary`]: genPrimaryButtonStyle(token),\n [`${componentCls}-dashed`]: genDashedButtonStyle(token),\n [`${componentCls}-link`]: genLinkButtonStyle(token),\n [`${componentCls}-text`]: genTextButtonStyle(token),\n [`${componentCls}-ghost`]: genGhostButtonStyle(token.componentCls, token.ghostBg, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)\n };\n};\n// =============================== Size ===============================\nconst genSizeButtonStyle = function (token) {\n let sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const {\n componentCls,\n controlHeight,\n fontSize,\n lineHeight,\n lineWidth,\n borderRadius,\n buttonPaddingHorizontal,\n iconCls\n } = token;\n const paddingVertical = Math.max(0, (controlHeight - fontSize * lineHeight) / 2 - lineWidth);\n const iconOnlyCls = `${componentCls}-icon-only`;\n return [\n // Size\n {\n [`${componentCls}${sizePrefixCls}`]: {\n fontSize,\n height: controlHeight,\n padding: `${paddingVertical}px ${buttonPaddingHorizontal}px`,\n borderRadius,\n [`&${iconOnlyCls}`]: {\n width: controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n [`&${componentCls}-round`]: {\n width: 'auto'\n },\n [iconCls]: {\n fontSize: token.buttonIconOnlyFontSize\n }\n },\n // Loading\n [`&${componentCls}-loading`]: {\n opacity: token.opacityLoading,\n cursor: 'default'\n },\n [`${componentCls}-loading-icon`]: {\n transition: `width ${token.motionDurationSlow} ${token.motionEaseInOut}, opacity ${token.motionDurationSlow} ${token.motionEaseInOut}`\n }\n }\n },\n // Shape - patch prefixCls again to override solid border radius style\n {\n [`${componentCls}${componentCls}-circle${sizePrefixCls}`]: genCircleButtonStyle(token)\n }, {\n [`${componentCls}${componentCls}-round${sizePrefixCls}`]: genRoundButtonStyle(token)\n }];\n};\nconst genSizeBaseButtonStyle = token => genSizeButtonStyle(mergeToken(token, {\n fontSize: token.contentFontSize\n}));\nconst genSizeSmallButtonStyle = token => {\n const smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n fontSize: token.contentFontSizeSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: token.paddingInlineSM,\n borderRadius: token.borderRadiusSM,\n buttonIconOnlyFontSize: token.onlyIconSizeSM\n });\n return genSizeButtonStyle(smallToken, `${token.componentCls}-sm`);\n};\nconst genSizeLargeButtonStyle = token => {\n const largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.contentFontSizeLG,\n buttonPaddingHorizontal: token.paddingInlineLG,\n borderRadius: token.borderRadiusLG,\n buttonIconOnlyFontSize: token.onlyIconSizeLG\n });\n return genSizeButtonStyle(largeToken, `${token.componentCls}-lg`);\n};\nconst genBlockButtonStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: {\n [`&${componentCls}-block`]: {\n width: '100%'\n }\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareToken = token => {\n const {\n paddingInline,\n onlyIconSize\n } = token;\n const buttonToken = mergeToken(token, {\n buttonPaddingHorizontal: paddingInline,\n buttonIconOnlyFontSize: onlyIconSize\n });\n return buttonToken;\n};\nexport const prepareComponentToken = token => ({\n fontWeight: 400,\n defaultShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlTmpOutline}`,\n primaryShadow: `0 ${token.controlOutlineWidth}px 0 ${token.controlOutline}`,\n dangerShadow: `0 ${token.controlOutlineWidth}px 0 ${token.colorErrorOutline}`,\n primaryColor: token.colorTextLightSolid,\n dangerColor: token.colorTextLightSolid,\n borderColorDisabled: token.colorBorder,\n defaultGhostColor: token.colorBgContainer,\n ghostBg: 'transparent',\n defaultGhostBorderColor: token.colorBgContainer,\n paddingInline: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineLG: token.paddingContentHorizontal - token.lineWidth,\n paddingInlineSM: 8 - token.lineWidth,\n onlyIconSize: token.fontSizeLG,\n onlyIconSizeSM: token.fontSizeLG - 2,\n onlyIconSizeLG: token.fontSizeLG + 2,\n groupBorderColor: token.colorPrimaryHover,\n linkHoverBg: 'transparent',\n textHoverBg: token.colorBgTextHover,\n defaultColor: token.colorText,\n defaultBg: token.colorBgContainer,\n defaultBorderColor: token.colorBorder,\n defaultBorderColorDisabled: token.colorBorder,\n contentFontSize: token.fontSize,\n contentFontSizeSM: token.fontSize,\n contentFontSizeLG: token.fontSizeLG\n});\nexport default genComponentStyleHook('Button', token => {\n const buttonToken = prepareToken(token);\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeSmallButtonStyle(buttonToken), genSizeBaseButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Group (type, ghost, danger, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken)];\n}, prepareComponentToken);","// handle border collapse\nfunction compactItemBorder(token, parentCls, options) {\n const {\n focusElCls,\n focus,\n borderElCls\n } = options;\n const childCombinator = borderElCls ? '> *' : '';\n const hoverEffects = ['hover', focus ? 'focus' : null, 'active'].filter(Boolean).map(n => `&:${n} ${childCombinator}`).join(',');\n return {\n [`&-item:not(${parentCls}-last-item)`]: {\n marginInlineEnd: -token.lineWidth\n },\n '&-item': Object.assign(Object.assign({\n [hoverEffects]: {\n zIndex: 2\n }\n }, focusElCls ? {\n [`&${focusElCls}`]: {\n zIndex: 2\n }\n } : {}), {\n [`&[disabled] ${childCombinator}`]: {\n zIndex: 0\n }\n })\n };\n}\n// handle border-radius\nfunction compactItemBorderRadius(prefixCls, parentCls, options) {\n const {\n borderElCls\n } = options;\n const childCombinator = borderElCls ? `> ${borderElCls}` : '';\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item) ${childCombinator}`]: {\n borderRadius: 0\n },\n [`&-item:not(${parentCls}-last-item)${parentCls}-first-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }\n },\n [`&-item:not(${parentCls}-first-item)${parentCls}-last-item`]: {\n [`& ${childCombinator}, &${prefixCls}-sm ${childCombinator}, &${prefixCls}-lg ${childCombinator}`]: {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }\n }\n };\n}\nexport function genCompactItemStyle(token) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n focus: true\n };\n const {\n componentCls\n } = token;\n const compactCls = `${componentCls}-compact`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemBorder(token, compactCls, options)), compactItemBorderRadius(componentCls, compactCls, options))\n };\n}","function compactItemVerticalBorder(token, parentCls) {\n return {\n // border collapse\n [`&-item:not(${parentCls}-last-item)`]: {\n marginBottom: -token.lineWidth\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls, parentCls) {\n return {\n [`&-item:not(${parentCls}-first-item):not(${parentCls}-last-item)`]: {\n borderRadius: 0\n },\n [`&-item${parentCls}-first-item:not(${parentCls}-last-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }\n },\n [`&-item${parentCls}-last-item:not(${parentCls}-first-item)`]: {\n [`&, &${prefixCls}-sm, &${prefixCls}-lg`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n };\n}\nexport function genCompactItemVerticalStyle(token) {\n const compactCls = `${token.componentCls}-compact-vertical`;\n return {\n [compactCls]: Object.assign(Object.assign({}, compactItemVerticalBorder(token, compactCls)), compactItemBorderVerticalRadius(token.componentCls, compactCls))\n };\n}","// Style as inline component\nimport { prepareComponentToken, prepareToken } from '.';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\nimport { genSubStyleComponent } from '../../theme/internal';\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Button', 'compact'], token => {\n const buttonToken = prepareToken(token);\n return [\n // Space Compact\n genCompactItemStyle(buttonToken), genCompactItemVerticalStyle(buttonToken)];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport React, { Children, createRef, forwardRef, useContext, useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport { devUseWarning } from '../_util/warning';\nimport Wave from '../_util/wave';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useSize from '../config-provider/hooks/useSize';\nimport { useCompactItemContext } from '../space/Compact';\nimport Group, { GroupSizeContext } from './button-group';\nimport { isTwoCNChar, isUnBorderedButtonType, spaceChildren } from './buttonHelpers';\nimport IconWrapper from './IconWrapper';\nimport LoadingIcon from './LoadingIcon';\nimport useStyle from './style';\nimport CompactCmp from './style/compactCmp';\nfunction getLoadingConfig(loading) {\n if (typeof loading === 'object' && loading) {\n const delay = loading === null || loading === void 0 ? void 0 : loading.delay;\n const isDelay = !Number.isNaN(delay) && typeof delay === 'number';\n return {\n loading: false,\n delay: isDelay ? delay : 0\n };\n }\n return {\n loading: !!loading,\n delay: 0\n };\n}\nconst InternalButton = (props, ref) => {\n var _a, _b;\n const {\n loading = false,\n prefixCls: customizePrefixCls,\n type = 'default',\n danger,\n shape = 'default',\n size: customizeSize,\n styles,\n disabled: customDisabled,\n className,\n rootClassName,\n children,\n icon,\n ghost = false,\n block = false,\n // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.\n htmlType = 'button',\n classNames: customClassNames,\n style: customStyle = {}\n } = props,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"styles\", \"disabled\", \"className\", \"rootClassName\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\", \"classNames\", \"style\"]);\n const {\n getPrefixCls,\n autoInsertSpaceInButton,\n direction,\n button\n } = useContext(ConfigContext);\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const groupSize = useContext(GroupSizeContext);\n const loadingOrDelay = useMemo(() => getLoadingConfig(loading), [loading]);\n const [innerLoading, setLoading] = useState(loadingOrDelay.loading);\n const [hasTwoCNChar, setHasTwoCNChar] = useState(false);\n const internalRef = /*#__PURE__*/createRef();\n const buttonRef = composeRef(ref, internalRef);\n const needInserted = Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n useEffect(() => {\n let delayTimer = null;\n if (loadingOrDelay.delay > 0) {\n delayTimer = setTimeout(() => {\n delayTimer = null;\n setLoading(true);\n }, loadingOrDelay.delay);\n } else {\n setLoading(loadingOrDelay.loading);\n }\n function cleanupTimer() {\n if (delayTimer) {\n clearTimeout(delayTimer);\n delayTimer = null;\n }\n }\n return cleanupTimer;\n }, [loadingOrDelay]);\n useEffect(() => {\n // FIXME: for HOC usage like \n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n const buttonText = buttonRef.current.textContent;\n if (needInserted && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }, [buttonRef]);\n const handleClick = e => {\n const {\n onClick\n } = props;\n // FIXME: https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Button');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'breaking', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonType(type)), 'usage', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n }\n const autoInsertSpace = autoInsertSpaceInButton !== false;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n const sizeFullName = useSize(ctxSize => {\n var _a, _b;\n return (_b = (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : groupSize) !== null && _b !== void 0 ? _b : ctxSize;\n });\n const sizeCls = sizeFullName ? sizeClassNameMap[sizeFullName] || '' : '';\n const iconType = innerLoading ? 'loading' : icon;\n const linkButtonRestProps = omit(rest, ['navigate']);\n const classes = classNames(prefixCls, hashId, {\n [`${prefixCls}-${shape}`]: shape !== 'default' && shape,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: !children && children !== 0 && !!iconType,\n [`${prefixCls}-background-ghost`]: ghost && !isUnBorderedButtonType(type),\n [`${prefixCls}-loading`]: innerLoading,\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace && !innerLoading,\n [`${prefixCls}-block`]: block,\n [`${prefixCls}-dangerous`]: !!danger,\n [`${prefixCls}-rtl`]: direction === 'rtl'\n }, compactItemClassnames, className, rootClassName, button === null || button === void 0 ? void 0 : button.className);\n const fullStyle = Object.assign(Object.assign({}, button === null || button === void 0 ? void 0 : button.style), customStyle);\n const iconClasses = classNames(customClassNames === null || customClassNames === void 0 ? void 0 : customClassNames.icon, (_a = button === null || button === void 0 ? void 0 : button.classNames) === null || _a === void 0 ? void 0 : _a.icon);\n const iconStyle = Object.assign(Object.assign({}, (styles === null || styles === void 0 ? void 0 : styles.icon) || {}), ((_b = button === null || button === void 0 ? void 0 : button.styles) === null || _b === void 0 ? void 0 : _b.icon) || {});\n const iconNode = icon && !innerLoading ? /*#__PURE__*/React.createElement(IconWrapper, {\n prefixCls: prefixCls,\n className: iconClasses,\n style: iconStyle\n }, icon) : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n const kids = children || children === 0 ? spaceChildren(children, needInserted && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", Object.assign({}, linkButtonRestProps, {\n className: classNames(classes, {\n [`${prefixCls}-disabled`]: mergedDisabled\n }),\n style: fullStyle,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids));\n }\n let buttonNode = /*#__PURE__*/React.createElement(\"button\", Object.assign({}, rest, {\n type: htmlType,\n className: classes,\n style: fullStyle,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids, compactItemClassnames && /*#__PURE__*/React.createElement(CompactCmp, {\n key: \"compact\",\n prefixCls: prefixCls\n }));\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n component: \"Button\",\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nconst Button = /*#__PURE__*/forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","\"use client\";\n\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/buttonHelpers';\nfunction isThenable(thing) {\n return !!(thing && thing.then);\n}\nconst ActionButton = props => {\n const {\n type,\n children,\n prefixCls,\n buttonProps,\n close,\n autoFocus,\n emitEvent,\n isSilent,\n quitOnNullishReturnValue,\n actionFn\n } = props;\n const clickedRef = React.useRef(false);\n const buttonRef = React.useRef(null);\n const [loading, setLoading] = useState(false);\n const onInternalClose = function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n };\n React.useEffect(() => {\n let timeoutId = null;\n if (autoFocus) {\n timeoutId = setTimeout(() => {\n var _a;\n (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n });\n }\n return () => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, []);\n const handlePromiseOnOk = returnValueOfOnOk => {\n if (!isThenable(returnValueOfOnOk)) {\n return;\n }\n setLoading(true);\n returnValueOfOnOk.then(function () {\n setLoading(false, true);\n onInternalClose.apply(void 0, arguments);\n clickedRef.current = false;\n }, e => {\n // See: https://github.com/ant-design/ant-design/issues/6183\n setLoading(false, true);\n clickedRef.current = false;\n // Do not throw if is `await` mode\n if (isSilent === null || isSilent === void 0 ? void 0 : isSilent()) {\n return;\n }\n return Promise.reject(e);\n });\n };\n const onClick = e => {\n if (clickedRef.current) {\n return;\n }\n clickedRef.current = true;\n if (!actionFn) {\n onInternalClose();\n return;\n }\n let returnValueOfOnOk;\n if (emitEvent) {\n returnValueOfOnOk = actionFn(e);\n if (quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n clickedRef.current = false;\n onInternalClose(e);\n return;\n }\n } else if (actionFn.length) {\n returnValueOfOnOk = actionFn(close);\n // https://github.com/ant-design/ant-design/issues/23358\n clickedRef.current = false;\n } else {\n returnValueOfOnOk = actionFn();\n if (!returnValueOfOnOk) {\n onInternalClose();\n return;\n }\n }\n handlePromiseOnOk(returnValueOfOnOk);\n };\n return /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(type), {\n onClick: onClick,\n loading: loading,\n prefixCls: prefixCls\n }, buttonProps, {\n ref: buttonRef\n }), children);\n};\nexport default ActionButton;","import React from 'react';\nexport const ModalContext = /*#__PURE__*/React.createContext({});\nexport const {\n Provider: ModalContextProvider\n} = ModalContext;","\"use client\";\n\nimport React, { useContext } from 'react';\nimport ActionButton from '../../_util/ActionButton';\nimport { ModalContext } from '../context';\nconst ConfirmCancelBtn = () => {\n const {\n autoFocusButton,\n cancelButtonProps,\n cancelTextLocale,\n isSilent,\n mergedOkCancel,\n rootPrefixCls,\n close,\n onCancel,\n onConfirm\n } = useContext(ModalContext);\n return mergedOkCancel ? /*#__PURE__*/React.createElement(ActionButton, {\n isSilent: isSilent,\n actionFn: onCancel,\n close: function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(false);\n },\n autoFocus: autoFocusButton === 'cancel',\n buttonProps: cancelButtonProps,\n prefixCls: `${rootPrefixCls}-btn`\n }, cancelTextLocale) : null;\n};\nexport default ConfirmCancelBtn;","\"use client\";\n\nimport React, { useContext } from 'react';\nimport ActionButton from '../../_util/ActionButton';\nimport { ModalContext } from '../context';\nconst ConfirmOkBtn = () => {\n const {\n autoFocusButton,\n close,\n isSilent,\n okButtonProps,\n rootPrefixCls,\n okTextLocale,\n okType,\n onConfirm,\n onOk\n } = useContext(ModalContext);\n return /*#__PURE__*/React.createElement(ActionButton, {\n isSilent: isSilent,\n type: okType || 'primary',\n actionFn: onOk,\n close: function () {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(true);\n },\n autoFocus: autoFocusButton === 'ok',\n buttonProps: okButtonProps,\n prefixCls: `${rootPrefixCls}-btn`\n }, okTextLocale);\n};\nexport default ConfirmOkBtn;","import * as React from 'react';\nvar OrderContext = /*#__PURE__*/React.createContext(null);\nexport default OrderContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport OrderContext from \"./Context\";\nvar EMPTY_LIST = [];\n\n/**\n * Will add `div` to document. Nest call will keep order\n * @param render Render DOM in document\n */\nexport default function useDom(render, debug) {\n var _React$useState = React.useState(function () {\n if (!canUseDom()) {\n return null;\n }\n var defaultEle = document.createElement('div');\n if (process.env.NODE_ENV !== 'production' && debug) {\n defaultEle.setAttribute('data-debug', debug);\n }\n return defaultEle;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n ele = _React$useState2[0];\n\n // ========================== Order ==========================\n var appendedRef = React.useRef(false);\n var queueCreate = React.useContext(OrderContext);\n var _React$useState3 = React.useState(EMPTY_LIST),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n queue = _React$useState4[0],\n setQueue = _React$useState4[1];\n var mergedQueueCreate = queueCreate || (appendedRef.current ? undefined : function (appendFn) {\n setQueue(function (origin) {\n var newQueue = [appendFn].concat(_toConsumableArray(origin));\n return newQueue;\n });\n });\n\n // =========================== DOM ===========================\n function append() {\n if (!ele.parentElement) {\n document.body.appendChild(ele);\n }\n appendedRef.current = true;\n }\n function cleanup() {\n var _ele$parentElement;\n (_ele$parentElement = ele.parentElement) === null || _ele$parentElement === void 0 ? void 0 : _ele$parentElement.removeChild(ele);\n appendedRef.current = false;\n }\n useLayoutEffect(function () {\n if (render) {\n if (queueCreate) {\n queueCreate(append);\n } else {\n append();\n }\n } else {\n cleanup();\n }\n return cleanup;\n }, [render]);\n useLayoutEffect(function () {\n if (queue.length) {\n queue.forEach(function (appendFn) {\n return appendFn();\n });\n setQueue(EMPTY_LIST);\n }\n }, [queue]);\n return [ele, mergedQueueCreate];\n}","/* eslint-disable no-param-reassign */\n\nvar cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getTargetScrollBarSize } from \"rc-util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nvar UNIQUE_ID = \"rc-util-locker-\".concat(Date.now());\nvar uuid = 0;\nexport default function useScrollLocker(lock) {\n var mergedLock = !!lock;\n var _React$useState = React.useState(function () {\n uuid += 1;\n return \"\".concat(UNIQUE_ID, \"_\").concat(uuid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n useLayoutEffect(function () {\n if (mergedLock) {\n var scrollbarSize = getTargetScrollBarSize(document.body).width;\n var isOverflow = isBodyOverflowing();\n updateCSS(\"\\nhtml body {\\n overflow-y: hidden;\\n \".concat(isOverflow ? \"width: calc(100% - \".concat(scrollbarSize, \"px);\") : '', \"\\n}\"), id);\n } else {\n removeCSS(id);\n }\n return function () {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","export var inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n return inline;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport warning from \"rc-util/es/warning\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport OrderContext from \"./Context\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nimport { inlineMock } from \"./mock\";\nvar getPortalContainer = function getPortalContainer(getContainer) {\n if (getContainer === false) {\n return false;\n }\n if (!canUseDom() || !getContainer) {\n return null;\n }\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n return getContainer;\n};\nvar Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var open = props.open,\n autoLock = props.autoLock,\n getContainer = props.getContainer,\n debug = props.debug,\n _props$autoDestroy = props.autoDestroy,\n autoDestroy = _props$autoDestroy === void 0 ? true : _props$autoDestroy,\n children = props.children;\n var _React$useState = React.useState(open),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n shouldRender = _React$useState2[0],\n setShouldRender = _React$useState2[1];\n var mergedRender = shouldRender || open;\n\n // ========================= Warning =========================\n if (process.env.NODE_ENV !== 'production') {\n warning(canUseDom() || !open, \"Portal only work in client side. Please call 'useEffect' to show Portal instead default render in SSR.\");\n }\n\n // ====================== Should Render ======================\n React.useEffect(function () {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]);\n\n // ======================== Container ========================\n var _React$useState3 = React.useState(function () {\n return getPortalContainer(getContainer);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerContainer = _React$useState4[0],\n setInnerContainer = _React$useState4[1];\n React.useEffect(function () {\n var customizeContainer = getPortalContainer(getContainer);\n\n // Tell component that we check this in effect which is safe to be `null`\n setInnerContainer(customizeContainer !== null && customizeContainer !== void 0 ? customizeContainer : null);\n });\n var _useDom = useDom(mergedRender && !innerContainer, debug),\n _useDom2 = _slicedToArray(_useDom, 2),\n defaultContainer = _useDom2[0],\n queueCreate = _useDom2[1];\n var mergedContainer = innerContainer !== null && innerContainer !== void 0 ? innerContainer : defaultContainer;\n\n // ========================= Locker ==========================\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body));\n\n // =========================== Ref ===========================\n var childRef = null;\n if (children && supportRef(children) && ref) {\n var _ref = children;\n childRef = _ref.ref;\n }\n var mergedRef = useComposeRef(childRef, ref);\n\n // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n }\n\n // Render inline\n var renderInline = mergedContainer === false || inlineMock();\n var reffedChildren = children;\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\nexport default Portal;","import * as React from 'react';\nexport var RefContext = /*#__PURE__*/React.createContext({});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n var fullClone = _objectSpread({}, React);\n return fullClone.useId;\n}\nvar uuid = 0;\n\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nvar useOriginId = getUseId();\nexport default useOriginId ?\n// Use React `useId`\nfunction useId(id) {\n var reactId = useOriginId();\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n return reactId;\n} :\n// Use compatible of `useId`\nfunction useCompatId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState('ssr-id'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }, []);\n\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n\n // Return react native id or inner id\n return innerId;\n};","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n var motionName = transitionName;\n if (!motionName && animationName) {\n motionName = \"\".concat(prefixCls, \"-\").concat(animationName);\n }\n return motionName;\n}\n\n// =============================== Offset ===============================\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\nexport function offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import * as React from 'react';\nexport default /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, _ref2) {\n var shouldUpdate = _ref2.shouldUpdate;\n return !shouldUpdate;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport classNames from 'classnames';\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport React, { useRef } from 'react';\nimport { RefContext } from \"../../context\";\nimport MemoChildren from \"./MemoChildren\";\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nvar Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n title = props.title,\n ariaId = props.ariaId,\n footer = props.footer,\n closable = props.closable,\n closeIcon = props.closeIcon,\n onClose = props.onClose,\n children = props.children,\n bodyStyle = props.bodyStyle,\n bodyProps = props.bodyProps,\n modalRender = props.modalRender,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n holderRef = props.holderRef,\n visible = props.visible,\n forceRender = props.forceRender,\n width = props.width,\n height = props.height,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n\n // ================================= Refs =================================\n var _React$useContext = React.useContext(RefContext),\n panelRef = _React$useContext.panel;\n var mergedRef = useComposeRef(holderRef, panelRef);\n var sentinelStartRef = useRef();\n var sentinelEndRef = useRef();\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _sentinelStartRef$cur;\n (_sentinelStartRef$cur = sentinelStartRef.current) === null || _sentinelStartRef$cur === void 0 ? void 0 : _sentinelStartRef$cur.focus();\n },\n changeActive: function changeActive(next) {\n var _document = document,\n activeElement = _document.activeElement;\n if (next && activeElement === sentinelEndRef.current) {\n sentinelStartRef.current.focus();\n } else if (!next && activeElement === sentinelStartRef.current) {\n sentinelEndRef.current.focus();\n }\n }\n };\n });\n\n // ================================ Style =================================\n var contentStyle = {};\n if (width !== undefined) {\n contentStyle.width = width;\n }\n if (height !== undefined) {\n contentStyle.height = height;\n }\n // ================================ Render ================================\n var footerNode;\n if (footer) {\n footerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-footer\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.footer),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.footer)\n }, footer);\n }\n var headerNode;\n if (title) {\n headerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-header\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.header),\n style: _objectSpread({}, modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.header)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: ariaId\n }, title));\n }\n var closer;\n if (closable) {\n closer = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onClose,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefixCls, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }));\n }\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.content),\n style: modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.content\n }, closer, headerNode, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-body\"), modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.body),\n style: _objectSpread(_objectSpread({}, bodyStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.body)\n }, bodyProps), children), footerNode);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"dialog-element\",\n role: \"dialog\",\n \"aria-labelledby\": title ? ariaId : null,\n \"aria-modal\": \"true\",\n ref: mergedRef,\n style: _objectSpread(_objectSpread({}, style), contentStyle),\n className: classNames(prefixCls, className),\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(MemoChildren, {\n shouldUpdate: visible || forceRender\n }, modalRender ? modalRender(content) : content), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Panel.displayName = 'Panel';\n}\nexport default Panel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { offset } from \"../../util\";\nimport Panel from \"./Panel\";\nvar Content = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n title = props.title,\n style = props.style,\n className = props.className,\n visible = props.visible,\n forceRender = props.forceRender,\n destroyOnClose = props.destroyOnClose,\n motionName = props.motionName,\n ariaId = props.ariaId,\n onVisibleChanged = props.onVisibleChanged,\n mousePosition = props.mousePosition;\n var dialogRef = useRef();\n\n // ============================= Style ==============================\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n transformOrigin = _React$useState2[0],\n setTransformOrigin = _React$useState2[1];\n var contentStyle = {};\n if (transformOrigin) {\n contentStyle.transformOrigin = transformOrigin;\n }\n function onPrepare() {\n var elementOffset = offset(dialogRef.current);\n setTransformOrigin(mousePosition ? \"\".concat(mousePosition.x - elementOffset.left, \"px \").concat(mousePosition.y - elementOffset.top, \"px\") : '');\n }\n\n // ============================= Render =============================\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n onVisibleChanged: onVisibleChanged,\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n forceRender: forceRender,\n motionName: motionName,\n removeOnLeave: destroyOnClose,\n ref: dialogRef\n }, function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(Panel, _extends({}, props, {\n ref: ref,\n title: title,\n ariaId: ariaId,\n prefixCls: prefixCls,\n holderRef: motionRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle),\n className: classNames(className, motionClassName)\n }));\n });\n});\nContent.displayName = 'Content';\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n visible = props.visible,\n maskProps = props.maskProps,\n motionName = props.motionName,\n className = props.className;\n return /*#__PURE__*/React.createElement(CSSMotion, {\n key: \"mask\",\n visible: visible,\n motionName: motionName,\n leavedClassName: \"\".concat(prefixCls, \"-mask-hidden\")\n }, function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n style: _objectSpread(_objectSpread({}, motionStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionClassName, className)\n }, maskProps));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport contains from \"rc-util/es/Dom/contains\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport { getMotionName } from \"../util\";\nimport Content from \"./Content\";\nimport Mask from \"./Mask\";\nimport { warning } from 'rc-util';\nexport default function Dialog(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dialog' : _props$prefixCls,\n zIndex = props.zIndex,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? false : _props$visible,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n wrapStyle = props.wrapStyle,\n wrapClassName = props.wrapClassName,\n wrapProps = props.wrapProps,\n onClose = props.onClose,\n afterOpenChange = props.afterOpenChange,\n afterClose = props.afterClose,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? true : _props$closable,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n maskStyle = props.maskStyle,\n maskProps = props.maskProps,\n rootClassName = props.rootClassName,\n modalClassNames = props.classNames,\n modalStyles = props.styles;\n if (process.env.NODE_ENV !== 'production') {\n [\"wrapStyle\", \"bodyStyle\", \"maskStyle\"].forEach(function (prop) {\n // (prop in props) && console.error(`Warning: ${prop} is deprecated, please use styles instead.`)\n warning(!(prop in props), \"\".concat(prop, \" is deprecated, please use styles instead.\"));\n });\n if (\"wrapClassName\" in props) {\n warning(false, \"wrapClassName is deprecated, please use classNames instead.\");\n }\n }\n var lastOutSideActiveElementRef = useRef();\n var wrapperRef = useRef();\n var contentRef = useRef();\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n\n // ========================== Init ==========================\n var ariaId = useId();\n function saveLastOutSideActiveElementRef() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n lastOutSideActiveElementRef.current = document.activeElement;\n }\n }\n function focusDialogContent() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n var _contentRef$current;\n (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.focus();\n }\n }\n\n // ========================= Events =========================\n function onDialogVisibleChanged(newVisible) {\n // Try to focus\n if (newVisible) {\n focusDialogContent();\n } else {\n // Clean up scroll bar & focus back\n setAnimatedVisible(false);\n if (mask && lastOutSideActiveElementRef.current && focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.current.focus({\n preventScroll: true\n });\n } catch (e) {\n // Do nothing\n }\n lastOutSideActiveElementRef.current = null;\n }\n\n // Trigger afterClose only when change visible from true to false\n if (animatedVisible) {\n afterClose === null || afterClose === void 0 ? void 0 : afterClose();\n }\n }\n afterOpenChange === null || afterOpenChange === void 0 ? void 0 : afterOpenChange(newVisible);\n }\n function onInternalClose(e) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n\n // >>> Content\n var contentClickRef = useRef(false);\n var contentTimeoutRef = useRef();\n\n // We need record content click incase content popup out of dialog\n var onContentMouseDown = function onContentMouseDown() {\n clearTimeout(contentTimeoutRef.current);\n contentClickRef.current = true;\n };\n var onContentMouseUp = function onContentMouseUp() {\n contentTimeoutRef.current = setTimeout(function () {\n contentClickRef.current = false;\n });\n };\n\n // >>> Wrapper\n // Close only when element not on dialog\n var onWrapperClick = null;\n if (maskClosable) {\n onWrapperClick = function onWrapperClick(e) {\n if (contentClickRef.current) {\n contentClickRef.current = false;\n } else if (wrapperRef.current === e.target) {\n onInternalClose(e);\n }\n };\n }\n function onWrapperKeyDown(e) {\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n }\n\n // keep focus inside dialog\n if (visible) {\n if (e.keyCode === KeyCode.TAB) {\n contentRef.current.changeActive(!e.shiftKey);\n }\n }\n }\n\n // ========================= Effect =========================\n useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n saveLastOutSideActiveElementRef();\n }\n }, [visible]);\n\n // Remove direct should also check the scroll bar update\n useEffect(function () {\n return function () {\n clearTimeout(contentTimeoutRef.current);\n };\n }, []);\n\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-root\"), rootClassName)\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n visible: mask && visible,\n motionName: getMotionName(prefixCls, maskTransitionName, maskAnimation),\n style: _objectSpread(_objectSpread({\n zIndex: zIndex\n }, maskStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.mask),\n maskProps: maskProps,\n className: modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.mask\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n tabIndex: -1,\n onKeyDown: onWrapperKeyDown,\n className: classNames(\"\".concat(prefixCls, \"-wrap\"), wrapClassName, modalClassNames === null || modalClassNames === void 0 ? void 0 : modalClassNames.wrapper),\n ref: wrapperRef,\n onClick: onWrapperClick,\n style: _objectSpread(_objectSpread(_objectSpread({\n zIndex: zIndex\n }, wrapStyle), modalStyles === null || modalStyles === void 0 ? void 0 : modalStyles.wrapper), {}, {\n display: !animatedVisible ? 'none' : null\n })\n }, wrapProps), /*#__PURE__*/React.createElement(Content, _extends({}, props, {\n onMouseDown: onContentMouseDown,\n onMouseUp: onContentMouseUp,\n ref: contentRef,\n closable: closable,\n ariaId: ariaId,\n prefixCls: prefixCls,\n visible: visible && animatedVisible,\n onClose: onInternalClose,\n onVisibleChanged: onDialogVisibleChanged,\n motionName: getMotionName(prefixCls, transitionName, animation)\n }))));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport Portal from '@rc-component/portal';\nimport * as React from 'react';\nimport { RefContext } from \"./context\";\nimport Dialog from \"./Dialog\";\n// fix issue #10656\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\nvar DialogWrap = function DialogWrap(props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n _props$destroyOnClose = props.destroyOnClose,\n destroyOnClose = _props$destroyOnClose === void 0 ? false : _props$destroyOnClose,\n _afterClose = props.afterClose,\n panelRef = props.panelRef;\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n var refContext = React.useMemo(function () {\n return {\n panel: panelRef\n };\n }, [panelRef]);\n React.useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n }, [visible]);\n\n // Destroy on close will remove wrapped div\n if (!forceRender && destroyOnClose && !animatedVisible) {\n return null;\n }\n return /*#__PURE__*/React.createElement(RefContext.Provider, {\n value: refContext\n }, /*#__PURE__*/React.createElement(Portal, {\n open: visible || forceRender || animatedVisible,\n autoDestroy: false,\n getContainer: getContainer,\n autoLock: visible || animatedVisible\n }, /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n destroyOnClose: destroyOnClose,\n afterClose: function afterClose() {\n _afterClose === null || _afterClose === void 0 ? void 0 : _afterClose();\n setAnimatedVisible(false);\n }\n }))));\n};\nDialogWrap.displayName = 'Dialog';\nexport default DialogWrap;","\"use client\";\n\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport React from 'react';\nfunction useInnerClosable(closable, closeIcon, defaultClosable) {\n if (typeof closable === 'boolean') {\n return closable;\n }\n if (closeIcon === undefined) {\n return !!defaultClosable;\n }\n return closeIcon !== false && closeIcon !== null;\n}\nexport default function useClosable(closable, closeIcon, customCloseIconRender) {\n let defaultCloseIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : /*#__PURE__*/React.createElement(CloseOutlined, null);\n let defaultClosable = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const mergedClosable = useInnerClosable(closable, closeIcon, defaultClosable);\n if (!mergedClosable) {\n return [false, null];\n }\n const mergedCloseIcon = typeof closeIcon === 'boolean' || closeIcon === undefined || closeIcon === null ? defaultCloseIcon : closeIcon;\n return [true, customCloseIconRender ? customCloseIconRender(mergedCloseIcon) : mergedCloseIcon];\n}","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nexport const canUseDocElement = () => canUseDom() && window.document.documentElement;\nexport { isStyleSupport };","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n}\nexport function isFormInstance(form) {\n return form && !!form._init;\n}","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n var len = args.length;\n\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return template;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors || []);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k] || []);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\n\nfunction getValue(value, path) {\n var v = value;\n\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n\n v = v[path[i]];\n }\n\n return v;\n}\n\nfunction complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\nvar required$1 = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\n// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nvar getUrlRegex = (function () {\n if (urlReg) {\n return urlReg;\n }\n\n var word = '[a-fA-F\\\\d:]';\n\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\" + word + \")|(?<=\" + word + \")(?=\\\\s|$))\" : '';\n };\n\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6 = (\"\\n(?:\\n(?:\" + v6seg + \":){7}(?:\" + v6seg + \"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\\n(?:\" + v6seg + \":){6}(?:\" + v4 + \"|:\" + v6seg + \"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\\n(?:\" + v6seg + \":){5}(?::\" + v4 + \"|(?::\" + v6seg + \"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\\n(?:\" + v6seg + \":){4}(?:(?::\" + v6seg + \"){0,1}:\" + v4 + \"|(?::\" + v6seg + \"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\\n(?:\" + v6seg + \":){3}(?:(?::\" + v6seg + \"){0,2}:\" + v4 + \"|(?::\" + v6seg + \"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){2}(?:(?::\" + v6seg + \"){0,3}:\" + v4 + \"|(?::\" + v6seg + \"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){1}(?:(?::\" + v6seg + \"){0,4}:\" + v4 + \"|(?::\" + v6seg + \"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\\n(?::(?:(?::\" + v6seg + \"){0,5}:\" + v4 + \"|(?::\" + v6seg + \"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\\n\").replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n\n var v46Exact = new RegExp(\"(?:^\" + v4 + \"$)|(?:^\" + v6 + \"$)\");\n var v4exact = new RegExp(\"^\" + v4 + \"$\");\n var v6exact = new RegExp(\"^\" + v6 + \"$\");\n\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\" + b(options) + v4 + b(options) + \")|(?:\" + b(options) + v6 + b(options) + \")\", 'g');\n };\n\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\" + b(options) + v4 + b(options), 'g');\n };\n\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\" + b(options) + v6 + b(options), 'g');\n };\n\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\" + protocol + \"|www\\\\.)\" + auth + \"(?:localhost|\" + ipv4 + \"|\" + ipv6 + \"|\" + host + domain + tld + \")\" + port + path;\n urlReg = new RegExp(\"(?:^\" + regex + \"$)\", 'i');\n return urlReg;\n});\n\n/* eslint max-len:0 */\n\nvar pattern$2 = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern$2.hex);\n }\n};\n\nvar type$1 = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required$1(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\n\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\n\nvar ENUM$1 = 'enum';\n\nvar enumerable$1 = function enumerable(rule, value, source, errors, options) {\n rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];\n\n if (rule[ENUM$1].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', ')));\n }\n};\n\nvar pattern$1 = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\n\nvar rules = {\n required: required$1,\n whitespace: whitespace,\n type: type$1,\n range: range,\n \"enum\": enumerable$1,\n pattern: pattern$1\n};\n\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar _boolean = function _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar ENUM = 'enum';\n\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n};\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nvar Schema = /*#__PURE__*/function () {\n // ========================= Static =========================\n // ======================== Instance ========================\n function Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n }\n\n var _proto = Schema.prototype;\n\n _proto.define = function define(rules) {\n var _this = this;\n\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n };\n\n _proto.messages = function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n };\n\n _proto.validate = function validate(source_, o, oc) {\n var _this2 = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n\n return Promise.resolve(source);\n }\n\n function complete(results) {\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n } // Fill validator. Skip if nothing need to validate\n\n\n rule.validator = _this2.getValidationMethod(rule);\n\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullField(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key,\n fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errorList = Array.isArray(e) ? e : [e];\n\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n } // Fill error info\n\n\n var filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(filledErrors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, filledErrors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error == null ? void 0 : console.error(error); // rethrow to report error\n\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n\n cb(error.message);\n }\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n };\n\n _proto.getType = function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n };\n\n _proto.getValidationMethod = function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || undefined;\n };\n\n return Schema;\n}();\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport { Schema as default };\n//# sourceMappingURL=index.js.map\n","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from \"./messages\";\nimport { merge } from \"rc-util/es/utils/set\";\n\n// Remove incorrect original ts define\nvar AsyncValidator = RawAsyncValidator;\n\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n delete cloneRule.ruleIndex;\n\n // https://github.com/ant-design/ant-design/issues/40497#issuecomment-1422282378\n AsyncValidator.warning = function () {\n return void 0;\n };\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n }\n\n // We should special handle array validate\n subRuleField = null;\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = merge(defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 10;\n _context2.next = 13;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n case 13:\n _context2.next = 18;\n break;\n case 15:\n _context2.prev = 15;\n _context2.t0 = _context2[\"catch\"](10);\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n case 18:\n if (!(!result.length && subRuleField)) {\n _context2.next = 23;\n break;\n }\n _context2.next = 21;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n case 21:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n case 23:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n case 26:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[10, 15]]);\n }));\n return _validateRule.apply(this, arguments);\n}\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.');\n\n // Fill rule with context\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n });\n\n // Replace validator if needed\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false;\n\n // Wrap callback only accept when promise not provided\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n };\n\n // Get promise\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n if (w1) {\n return 1;\n }\n return -1;\n });\n\n // Do validate rules\n var summaryPromise;\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n case 5:\n errors = _context.sent;\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n case 9:\n i += 1;\n _context.next = 1;\n break;\n case 12:\n /* eslint-enable */\n\n resolve([]);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n }\n\n // Internal catch error to avoid console error log.\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n return errors;\n }));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n count += 1;\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport getValue from \"rc-util/es/utils/get\";\nimport setValue from \"rc-util/es/utils/set\";\nimport { toArray } from \"./typeUtil\";\nexport { getValue, setValue };\n\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\n\n/**\n * Check if `namePathList` includes `namePath`.\n * @param namePathList A list of `InternalNamePath[]`\n * @param namePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function containsNamePath(namePathList, namePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(namePath, path, partialMatch);\n });\n}\n\n/**\n * Check if `namePath` is super set or equal of `subNamePath`.\n * @param namePath A list of `InternalNamePath[]`\n * @param subNamePath Compare `InternalNamePath`\n * @param partialMatch True will make `[a, b]` match `[a, b, c]`\n */\nexport function matchNamePath(namePath, subNamePath) {\n var partialMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (!namePath || !subNamePath) {\n return false;\n }\n if (!partialMatch && namePath.length !== subNamePath.length) {\n return false;\n }\n return subNamePath.every(function (nameUnit, i) {\n return namePath[i] === nameUnit;\n });\n}\n\n// Like `shallowEqual`, but we not check the data which may cause re-render\n\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n if (!source && target || source && !target) {\n return false;\n }\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n return event;\n}\n\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport isEqual from \"rc-util/es/isEqual\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport { toArray } from \"./utils/typeUtil\";\nimport { validateRules } from \"./utils/validateUtil\";\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from \"./utils/valueUtil\";\nvar EMPTY_ERRORS = [];\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n return prevValue !== nextValue;\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style\n// We use Class instead of Hooks here since it will cost much code by using Hooks.\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n var _super = _createSuper(Field);\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n _classCallCheck(this, Field);\n _this = _super.call(this, props);\n\n // Register on init\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n resetCount: 0\n });\n _defineProperty(_assertThisInitialized(_this), \"cancelRegisterFunc\", null);\n _defineProperty(_assertThisInitialized(_this), \"mounted\", false);\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n _defineProperty(_assertThisInitialized(_this), \"touched\", false);\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n _defineProperty(_assertThisInitialized(_this), \"dirty\", false);\n _defineProperty(_assertThisInitialized(_this), \"validatePromise\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"prevValidating\", void 0);\n _defineProperty(_assertThisInitialized(_this), \"errors\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"warnings\", EMPTY_ERRORS);\n _defineProperty(_assertThisInitialized(_this), \"cancelRegister\", function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n _this.cancelRegisterFunc = null;\n });\n // ================================== Utils ==================================\n _defineProperty(_assertThisInitialized(_this), \"getNamePath\", function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n });\n _defineProperty(_assertThisInitialized(_this), \"getRules\", function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n return rule;\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"refresh\", function () {\n if (!_this.mounted) return;\n\n /**\n * Clean up current node.\n */\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n });\n // Event should only trigger when meta changed\n _defineProperty(_assertThisInitialized(_this), \"metaCache\", null);\n _defineProperty(_assertThisInitialized(_this), \"triggerMetaEvent\", function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n if (onMetaChange) {\n var _meta = _objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n });\n if (!isEqual(_this.metaCache, _meta)) {\n onMetaChange(_meta);\n }\n _this.metaCache = _meta;\n } else {\n _this.metaCache = null;\n }\n });\n // ========================= Field Entity Interfaces =========================\n // Trigger by store update. Check if need update the component\n _defineProperty(_assertThisInitialized(_this), \"onStoreChange\", function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n var namePath = _this.getNamePath();\n var prevValue = _this.getValue(prevStore);\n var curValue = _this.getValue(store);\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath);\n\n // `setFieldsValue` is a quick access to update related status\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n }\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = undefined;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n onReset === null || onReset === void 0 ? void 0 : onReset();\n _this.refresh();\n return;\n }\n break;\n\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'setField':\n {\n var data = info.data;\n if (namePathMatch) {\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n _this.dirty = true;\n _this.triggerMetaEvent();\n _this.reRender();\n return;\n } else if ('value' in data && containsNamePath(namePathList, namePath, true)) {\n // Contains path with value should also check\n _this.reRender();\n return;\n }\n\n // Handle update by `setField` with `shouldUpdate`\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n return;\n }\n break;\n }\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example \n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n if (shouldUpdate === true) {\n _this.reRender();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"validateRules\", function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n var currentValue = _this.getValue();\n var _ref2 = options || {},\n triggerName = _ref2.triggerName,\n _ref2$validateOnly = _ref2.validateOnly,\n validateOnly = _ref2$validateOnly === void 0 ? false : _ref2$validateOnly;\n\n // Force change to async to avoid rule OOD under renderProps field\n var rootPromise = Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var _this$props5, _this$props5$validate, validateFirst, messageVariables, validateDebounce, filteredRules, promise;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (_this.mounted) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 2:\n _this$props5 = _this.props, _this$props5$validate = _this$props5.validateFirst, validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate, messageVariables = _this$props5.messageVariables, validateDebounce = _this$props5.validateDebounce; // Start validate\n filteredRules = _this.getRules();\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n return rule;\n }).filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n if (!validateTrigger) {\n return true;\n }\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n // Wait for debounce. Skip if no `triggerName` since its from `validateFields / submit`\n if (!(validateDebounce && triggerName)) {\n _context.next = 10;\n break;\n }\n _context.next = 8;\n return new Promise(function (resolve) {\n setTimeout(resolve, validateDebounce);\n });\n case 8:\n if (!(_this.validatePromise !== rootPromise)) {\n _context.next = 10;\n break;\n }\n return _context.abrupt(\"return\", []);\n case 10:\n promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n _this.validatePromise = null;\n\n // Get errors & warnings\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref4) {\n var warningOnly = _ref4.rule.warningOnly,\n _ref4$errors = _ref4.errors,\n errors = _ref4$errors === void 0 ? EMPTY_ERRORS : _ref4$errors;\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n _this.triggerMetaEvent();\n _this.reRender();\n }\n });\n return _context.abrupt(\"return\", promise);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n if (validateOnly) {\n return rootPromise;\n }\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n\n // Force trigger re-render since we need sync renderProps with new meta\n _this.reRender();\n return rootPromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldValidating\", function () {\n return !!_this.validatePromise;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldTouched\", function () {\n return _this.touched;\n });\n _defineProperty(_assertThisInitialized(_this), \"isFieldDirty\", function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n }\n\n // Form set initialValue\n var fieldContext = _this.props.fieldContext;\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n return false;\n });\n _defineProperty(_assertThisInitialized(_this), \"getErrors\", function () {\n return _this.errors;\n });\n _defineProperty(_assertThisInitialized(_this), \"getWarnings\", function () {\n return _this.warnings;\n });\n _defineProperty(_assertThisInitialized(_this), \"isListField\", function () {\n return _this.props.isListField;\n });\n _defineProperty(_assertThisInitialized(_this), \"isList\", function () {\n return _this.props.isList;\n });\n _defineProperty(_assertThisInitialized(_this), \"isPreserve\", function () {\n return _this.props.preserve;\n });\n // ============================= Child Component =============================\n _defineProperty(_assertThisInitialized(_this), \"getMeta\", function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath(),\n validated: _this.validatePromise === null\n };\n return meta;\n });\n // Only return validate child node. If invalidate, will do nothing about field.\n _defineProperty(_assertThisInitialized(_this), \"getOnlyChild\", function (children) {\n // Support render props\n if (typeof children === 'function') {\n var _meta2 = _this.getMeta();\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), _meta2, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n }\n\n // Filed element only\n var childList = toChildrenArray(children);\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n return {\n child: childList[0],\n isFunction: false\n };\n });\n // ============================== Field Control ==============================\n _defineProperty(_assertThisInitialized(_this), \"getValue\", function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n var namePath = _this.getNamePath();\n return getValue(store || getFieldsValue(true), namePath);\n });\n _defineProperty(_assertThisInitialized(_this), \"getControlled\", function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n var namePath = _this.getNamePath();\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n var value = _this.getValue();\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var originTriggerFunc = childProps[trigger];\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value));\n\n // Add trigger\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n _this.triggerMetaEvent();\n var newValue;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n };\n\n // Add validateTrigger\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n }\n\n // Always use latest rules\n var rules = _this.props.rules;\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n });\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n initEntityValue(_assertThisInitialized(_this));\n }\n return _this;\n }\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true;\n\n // Register on init\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n this.cancelRegisterFunc = registerField(this);\n }\n\n // One more render for component in case fields not ready\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction;\n\n // Not need to `cloneElement` since user can handle this in render function self\n var returnChildNode;\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n return Field;\n}(React.Component);\n_defineProperty(Field, \"contextType\", FieldContext);\n_defineProperty(Field, \"defaultProps\", {\n trigger: 'onChange',\n valuePropName: 'value'\n});\nfunction WrapperField(_ref6) {\n var name = _ref6.name,\n restProps = _objectWithoutProperties(_ref6, _excluded);\n var fieldContext = React.useContext(FieldContext);\n var listContext = React.useContext(ListContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n }\n\n // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath,\n isListField: !!listContext\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\nexport default WrapperField;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from \"./FieldContext\";\nimport Field from \"./Field\";\nimport { move as _move, getNamePath } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nfunction List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger,\n isListField = _ref.isListField;\n var context = React.useContext(FieldContext);\n var wrapperListContext = React.useContext(ListContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]);\n\n // List context\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]);\n\n // User should not pass `children` as other type.\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n if (source === 'internal') {\n return false;\n }\n return prevValue !== nextValue;\n };\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true,\n isListField: isListField !== null && isListField !== void 0 ? isListField : !!wrapperListContext\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n if (indexSet.size <= 0) {\n return;\n }\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n });\n\n // Trigger store change\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n var newValue = getNewValue();\n\n // Do not handle out of range\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n keyManager.keys = _move(keyManager.keys, from, to);\n\n // Trigger store change\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n if (!Array.isArray(listValue)) {\n listValue = [];\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n}\nexport default List;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n if (count > 0) {\n return;\n }\n if (hasError) {\n reject(results);\n }\n resolve(results);\n });\n });\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n })\n // Magic split\n .join(SPLIT);\n}\n\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n _defineProperty(this, \"kvs\", new Map());\n }\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n }\n\n // Since we only use this in test, let simply realize this\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n return NameMap;\n}();\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar _excluded = [\"name\"];\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from \"./FieldContext\";\nimport { allPromiseFinish } from \"./utils/asyncUtil\";\nimport { merge } from \"rc-util/es/utils/set\";\nimport { defaultValidateMessages } from \"./utils/messages\";\nimport NameMap from \"./utils/NameMap\";\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue } from \"./utils/valueUtil\";\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n _classCallCheck(this, FormStore);\n _defineProperty(this, \"formHooked\", false);\n _defineProperty(this, \"forceRootUpdate\", void 0);\n _defineProperty(this, \"subscribable\", true);\n _defineProperty(this, \"store\", {});\n _defineProperty(this, \"fieldEntities\", []);\n _defineProperty(this, \"initialValues\", {});\n _defineProperty(this, \"callbacks\", {});\n _defineProperty(this, \"validateMessages\", null);\n _defineProperty(this, \"preserve\", null);\n _defineProperty(this, \"lastValidatePromise\", null);\n _defineProperty(this, \"getForm\", function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n });\n // ======================== Internal Hooks ========================\n _defineProperty(this, \"getInternalHooks\", function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n });\n _defineProperty(this, \"useSubscribe\", function (subscribable) {\n _this.subscribable = subscribable;\n });\n /**\n * Record prev Form unmount fieldEntities which config preserve false.\n * This need to be refill with initialValues instead of store value.\n */\n _defineProperty(this, \"prevWithoutPreserves\", null);\n /**\n * First time `setInitialValues` should update store with initial value\n */\n _defineProperty(this, \"setInitialValues\", function (initialValues, init) {\n _this.initialValues = initialValues || {};\n if (init) {\n var _this$prevWithoutPres;\n var nextStore = merge(initialValues, _this.store);\n\n // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 ? void 0 : _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n _this.updateStore(nextStore);\n }\n });\n _defineProperty(this, \"destroyForm\", function () {\n var prevWithoutPreserves = new NameMap();\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n _this.prevWithoutPreserves = prevWithoutPreserves;\n });\n _defineProperty(this, \"getInitialValue\", function (namePath) {\n var initValue = getValue(_this.initialValues, namePath);\n\n // Not cloneDeep when without `namePath`\n return namePath.length ? merge(initValue) : initValue;\n });\n _defineProperty(this, \"setCallbacks\", function (callbacks) {\n _this.callbacks = callbacks;\n });\n _defineProperty(this, \"setValidateMessages\", function (validateMessages) {\n _this.validateMessages = validateMessages;\n });\n _defineProperty(this, \"setPreserve\", function (preserve) {\n _this.preserve = preserve;\n });\n // ============================= Watch ============================\n _defineProperty(this, \"watchList\", []);\n _defineProperty(this, \"registerWatch\", function (callback) {\n _this.watchList.push(callback);\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n });\n _defineProperty(this, \"notifyWatch\", function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n var allValues = _this.getFieldsValue(true);\n _this.watchList.forEach(function (callback) {\n callback(values, allValues, namePath);\n });\n }\n });\n // ========================== Dev Warning =========================\n _defineProperty(this, \"timeoutId\", null);\n _defineProperty(this, \"warningUnhooked\", function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n });\n // ============================ Store =============================\n _defineProperty(this, \"updateStore\", function (nextStore) {\n _this.store = nextStore;\n });\n // ============================ Fields ============================\n /**\n * Get registered field entities.\n * @param pure Only return field which has a `name`. Default: false\n */\n _defineProperty(this, \"getFieldEntities\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!pure) {\n return _this.fieldEntities;\n }\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n });\n _defineProperty(this, \"getFieldsMap\", function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n return cache;\n });\n _defineProperty(this, \"getFieldEntitiesForNamePathList\", function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n var cache = _this.getFieldsMap(true);\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n });\n _defineProperty(this, \"getFieldsValue\", function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n // Fill args\n var mergedNameList;\n var mergedFilterFunc;\n var mergedStrict;\n if (nameList === true || Array.isArray(nameList)) {\n mergedNameList = nameList;\n mergedFilterFunc = filterFunc;\n } else if (nameList && _typeof(nameList) === 'object') {\n mergedStrict = nameList.strict;\n mergedFilterFunc = nameList.filter;\n }\n if (mergedNameList === true && !mergedFilterFunc) {\n return _this.store;\n }\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(mergedNameList) ? mergedNameList : null);\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _isListField, _ref3;\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n\n // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n if (mergedStrict) {\n var _isList, _ref2;\n if ((_isList = (_ref2 = entity).isList) !== null && _isList !== void 0 && _isList.call(_ref2)) {\n return;\n }\n } else if (!mergedNameList && (_isListField = (_ref3 = entity).isListField) !== null && _isListField !== void 0 && _isListField.call(_ref3)) {\n return;\n }\n if (!mergedFilterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n if (mergedFilterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n });\n _defineProperty(this, \"getFieldValue\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n });\n _defineProperty(this, \"getFieldsError\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n });\n _defineProperty(this, \"getFieldError\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.errors;\n });\n _defineProperty(this, \"getFieldWarning\", function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.warnings;\n });\n _defineProperty(this, \"isFieldsTouched\", function () {\n _this.warningUnhooked();\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n var fieldEntities = _this.getFieldEntities(true);\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n };\n\n // ===== Will get fully compare when not config namePathList =====\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n }\n\n // Generate a nest tree for validate\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath();\n\n // Find matched entity and put into list\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n });\n\n // Check if NameMap value is touched\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n var namePathListEntities = map.map(function (_ref4) {\n var value = _ref4.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n });\n _defineProperty(this, \"isFieldTouched\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsTouched([name]);\n });\n _defineProperty(this, \"isFieldsValidating\", function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntities();\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n });\n _defineProperty(this, \"isFieldValidating\", function (name) {\n _this.warningUnhooked();\n return _this.isFieldsValidating([name]);\n });\n /**\n * Reset Field with field `initialValue` prop.\n * Can pass `entities` or `namePathList` or just nothing.\n */\n _defineProperty(this, \"resetWithFieldInitialValue\", function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n var fieldEntities = _this.getFieldEntities(true);\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath();\n\n // Record only if has `initialValue`\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n });\n\n // Reset\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n var formInitialValue = _this.getInitialValue(namePath);\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath);\n // Set `initialValue`\n if (!info.skipExist || originValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n var requiredFieldEntities;\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n if (records) {\n var _requiredFieldEntitie;\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n resetWithFields(requiredFieldEntities);\n });\n _defineProperty(this, \"resetFields\", function (nameList) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (!nameList) {\n _this.updateStore(merge(_this.initialValues));\n _this.resetWithFieldInitialValue();\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n _this.notifyWatch();\n return;\n }\n\n // Reset by `nameList`\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"setFields\", function (fields) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n data = _objectWithoutProperties(fieldData, _excluded);\n var namePath = getNamePath(name);\n namePathList.push(namePath);\n\n // Value\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n _this.notifyWatch(namePathList);\n });\n _defineProperty(this, \"getFields\", function () {\n var entities = _this.getFieldEntities(true);\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n });\n // =========================== Observer ===========================\n /**\n * This only trigger when a field is on constructor to avoid we get initialValue too late\n */\n _defineProperty(this, \"initEntityValue\", function (entity) {\n var initialValue = entity.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n });\n _defineProperty(this, \"isMergedPreserve\", function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n });\n _defineProperty(this, \"registerField\", function (entity) {\n _this.fieldEntities.push(entity);\n var namePath = entity.getNamePath();\n _this.notifyWatch([namePath]);\n\n // Set initial values\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n }\n\n // un-register field callback\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n\n // Clean up store value if not preserve\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (\n // Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));\n\n // Notify that field is unmount\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n });\n\n // Dependencies update\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n _this.notifyWatch([namePath]);\n };\n });\n _defineProperty(this, \"dispatch\", function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n _this.updateValue(namePath, value);\n break;\n }\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n break;\n }\n default:\n // Currently we don't have other action. Do nothing.\n }\n });\n _defineProperty(this, \"notifyObservers\", function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n _this.getFieldEntities().forEach(function (_ref5) {\n var onStoreChange = _ref5.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n });\n /**\n * Notify dependencies children with parent update\n * We need delay to trigger validate in case Field is under render props\n */\n _defineProperty(this, \"triggerDependenciesUpdate\", function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n return childrenFields;\n });\n _defineProperty(this, \"updateValue\", function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.updateStore(setValue(_this.store, namePath, value));\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n _this.notifyWatch([namePath]);\n\n // Dependencies update\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);\n\n // trigger callback function\n var onValuesChange = _this.callbacks.onValuesChange;\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n });\n // Let all child Field get update.\n _defineProperty(this, \"setFieldsValue\", function (store) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (store) {\n var nextStore = merge(_this.store, store);\n _this.updateStore(nextStore);\n }\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n _this.notifyWatch();\n });\n _defineProperty(this, \"setFieldValue\", function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n });\n _defineProperty(this, \"getDependencyChildrenFields\", function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n fillChildren(rootNamePath);\n return childrenFields;\n });\n _defineProperty(this, \"triggerOnFieldsChange\", function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n if (onFieldsChange) {\n var fields = _this.getFields();\n\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref6) {\n var name = _ref6.name,\n errors = _ref6.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n var changedFields = fields.filter(function (_ref7) {\n var fieldName = _ref7.name;\n return containsNamePath(namePathList, fieldName);\n });\n if (changedFields.length) {\n onFieldsChange(changedFields, fields);\n }\n }\n });\n // =========================== Validate ===========================\n _defineProperty(this, \"validateFields\", function (arg1, arg2) {\n var _options;\n _this.warningUnhooked();\n var nameList;\n var options;\n if (Array.isArray(arg1) || typeof arg1 === 'string' || typeof arg2 === 'string') {\n nameList = arg1;\n options = arg2;\n } else {\n options = arg1;\n }\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : [];\n\n // Collect result in promise list\n var promiseList = [];\n\n // We temp save the path which need trigger for `onFieldsChange`\n var TMP_SPLIT = String(Date.now());\n var validateNamePathList = new Set();\n var recursive = (_options = options) === null || _options === void 0 ? void 0 : _options.recursive;\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n\n // Skip if without rule\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n var fieldNamePath = field.getNamePath();\n validateNamePathList.add(fieldNamePath.join(TMP_SPLIT));\n\n // Add field validate rule in to promise list\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath, recursive)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options));\n\n // Wrap promise with field\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref8) {\n var warningOnly = _ref8.rule.warningOnly,\n errors = _ref8.errors;\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise;\n\n // Notify fields with rule that validate has finished and need update\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref9) {\n var name = _ref9.name;\n return name;\n });\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n });\n\n // Do not throw in console\n returnPromise.catch(function (e) {\n return e;\n });\n\n // `validating` changed. Trigger `onFieldsChange`\n var triggerNamePathList = namePathList.filter(function (namePath) {\n return validateNamePathList.has(namePath.join(TMP_SPLIT));\n });\n _this.triggerOnFieldsChange(triggerNamePathList);\n return returnPromise;\n });\n // ============================ Submit ============================\n _defineProperty(this, \"submit\", function () {\n _this.warningUnhooked();\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n });\n this.forceRootUpdate = forceRootUpdate;\n});\nfunction useForm(form) {\n var formRef = React.useRef();\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n return [formRef.current];\n}\nexport default useForm;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"];\nimport * as React from 'react';\nimport useForm from \"./useForm\";\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport FormContext from \"./FormContext\";\nimport { isSimilar } from \"./utils/valueUtil\";\nimport ListContext from \"./ListContext\";\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var formContext = React.useContext(FormContext);\n\n // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n var _getInternalHooks = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _getInternalHooks.useSubscribe,\n setInitialValues = _getInternalHooks.setInitialValues,\n setCallbacks = _getInternalHooks.setCallbacks,\n setValidateMessages = _getInternalHooks.setValidateMessages,\n setPreserve = _getInternalHooks.setPreserve,\n destroyForm = _getInternalHooks.destroyForm;\n\n // Pass ref with form instance\n React.useImperativeHandle(ref, function () {\n return formInstance;\n });\n\n // Register form into Context\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]);\n\n // Pass props to store\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve);\n\n // Set initial value, init store value when first mount\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n if (!mountRef.current) {\n mountRef.current = true;\n }\n React.useEffect(function () {\n return destroyForm;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n\n // Prepare children by `children` type\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n if (childrenRenderProps) {\n var _values = formInstance.getFieldsValue(true);\n childrenNode = children(_values, formInstance);\n } else {\n childrenNode = children;\n }\n\n // Not use subscribe when using render props\n useSubscribe(!childrenRenderProps);\n\n // Listen if fields provided. We use ref to save prev data here to avoid additional render\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode));\n if (Component === false) {\n return wrapperNode;\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 ? void 0 : _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport warning from \"rc-util/es/warning\";\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport FieldContext, { HOOK_MARK } from \"./FieldContext\";\nimport { isFormInstance } from \"./utils/typeUtil\";\nimport { getNamePath, getValue } from \"./utils/valueUtil\";\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\nvar useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath) {\n var fullyStr = namePath.join('__RC_FIELD_FORM_SPLIT__');\n var nameStrRef = useRef(fullyStr);\n warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');\n} : function () {};\nfunction useWatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _args$ = args[0],\n dependencies = _args$ === void 0 ? [] : _args$,\n _args$2 = args[1],\n _form = _args$2 === void 0 ? {} : _args$2;\n var options = isFormInstance(_form) ? {\n form: _form\n } : _form;\n var form = options.form;\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init;\n\n // Warning if not exist form instance\n if (process.env.NODE_ENV !== 'production') {\n warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useWatchWarning(namePath);\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n var cancelRegister = registerWatch(function (values, allValues) {\n var newValue = getValue(options.preserve ? allValues : values, namePathRef.current);\n var nextValueStr = stringify(newValue);\n\n // Compare stringify in case it's nest object\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n });\n\n // TODO: We can improve this perf in future\n var initialValue = getValue(options.preserve ? getFieldsValue(true) : getFieldsValue(), namePathRef.current);\n\n // React 18 has the bug that will queue update twice even the value is not changed\n // ref: https://github.com/facebook/react/issues/27213\n if (value !== initialValue) {\n setValue(initialValue);\n }\n return cancelRegister;\n },\n // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isValidForm]);\n return value;\n}\nexport default useWatch;","import * as React from 'react';\nimport Field from \"./Field\";\nimport List from \"./List\";\nimport useForm from \"./useForm\";\nimport FieldForm from \"./Form\";\nimport { FormProvider } from \"./FormContext\";\nimport FieldContext from \"./FieldContext\";\nimport ListContext from \"./ListContext\";\nimport useWatch from \"./useWatch\";\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","\"use client\";\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: () => {}\n});\nexport const NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport const FormProvider = props => {\n const providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));\n};\nexport const FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport const FormItemInputContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n FormItemInputContext.displayName = 'FormItemInputContext';\n}\nexport const NoFormStyle = _ref => {\n let {\n children,\n status,\n override\n } = _ref;\n const formItemInputContext = useContext(FormItemInputContext);\n const newFormItemInputContext = useMemo(() => {\n const newContext = Object.assign({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};","import { useEvent } from 'rc-util';\nimport * as React from 'react';\nfunction voidFunc() {}\nconst WatermarkContext = /*#__PURE__*/React.createContext({\n add: voidFunc,\n remove: voidFunc\n});\nexport function usePanelRef(panelSelector) {\n const watermark = React.useContext(WatermarkContext);\n const panelEleRef = React.useRef();\n const panelRef = useEvent(ele => {\n if (ele) {\n const innerContentEle = panelSelector ? ele.querySelector(panelSelector) : ele;\n watermark.add(innerContentEle);\n panelEleRef.current = innerContentEle;\n } else {\n watermark.remove(panelEleRef.current);\n }\n });\n return panelRef;\n}\nexport default WatermarkContext;","\"use client\";\n\nimport React, { useContext } from 'react';\nimport Button from '../../button';\nimport { ModalContext } from '../context';\nconst NormalCancelBtn = () => {\n const {\n cancelButtonProps,\n cancelTextLocale,\n onCancel\n } = useContext(ModalContext);\n return /*#__PURE__*/React.createElement(Button, Object.assign({\n onClick: onCancel\n }, cancelButtonProps), cancelTextLocale);\n};\nexport default NormalCancelBtn;","\"use client\";\n\nimport React, { useContext } from 'react';\nimport Button from '../../button';\nimport { convertLegacyProps } from '../../button/buttonHelpers';\nimport { ModalContext } from '../context';\nconst NormalOkBtn = () => {\n const {\n confirmLoading,\n okButtonProps,\n okType,\n okTextLocale,\n onOk\n } = useContext(ModalContext);\n return /*#__PURE__*/React.createElement(Button, Object.assign({}, convertLegacyProps(okType), {\n loading: confirmLoading,\n onClick: onOk\n }, okButtonProps), okTextLocale);\n};\nexport default NormalOkBtn;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport { DisabledContextProvider } from '../config-provider/DisabledContext';\nimport { useLocale } from '../locale';\nimport NormalCancelBtn from './components/NormalCancelBtn';\nimport NormalOkBtn from './components/NormalOkBtn';\nimport { ModalContextProvider } from './context';\nimport { getConfirmLocale } from './locale';\nexport function renderCloseIcon(prefixCls, closeIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: `${prefixCls}-close-x`\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }));\n}\nexport const Footer = props => {\n const {\n okText,\n okType = 'primary',\n cancelText,\n confirmLoading,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n footer\n } = props;\n const [locale] = useLocale('Modal', getConfirmLocale());\n // ================== Locale Text ==================\n const okTextLocale = okText || (locale === null || locale === void 0 ? void 0 : locale.okText);\n const cancelTextLocale = cancelText || (locale === null || locale === void 0 ? void 0 : locale.cancelText);\n // ================= Context Value =================\n const btnCtxValue = {\n confirmLoading,\n okButtonProps,\n cancelButtonProps,\n okTextLocale,\n cancelTextLocale,\n okType,\n onOk,\n onCancel\n };\n const btnCtxValueMemo = React.useMemo(() => btnCtxValue, _toConsumableArray(Object.values(btnCtxValue)));\n let footerNode;\n if (typeof footer === 'function' || typeof footer === 'undefined') {\n footerNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NormalCancelBtn, null), /*#__PURE__*/React.createElement(NormalOkBtn, null));\n if (typeof footer === 'function') {\n footerNode = footer(footerNode, {\n OkBtn: NormalOkBtn,\n CancelBtn: NormalCancelBtn\n });\n }\n footerNode = /*#__PURE__*/React.createElement(ModalContextProvider, {\n value: btnCtxValueMemo\n }, footerNode);\n } else {\n footerNode = footer;\n }\n return /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: false\n }, footerNode);\n};","const initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: Object.assign(Object.assign({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: Object.assign(Object.assign({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const fadeIn = new Keyframes('antFadeIn', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\nexport const fadeOut = new Keyframes('antFadeOut', {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n});\nexport const initFadeMotion = function (token) {\n let sameLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-fade`;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return [initMotion(motionCls, fadeIn, fadeOut, token.motionDurationMid, sameLevel), {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: 'linear'\n },\n [`${sameLevelPrefix}${motionCls}-leave`]: {\n animationTimingFunction: 'linear'\n }\n }];\n};","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport const zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport const zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport const zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport const zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport const zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport const zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport const zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport const zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport const zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nconst zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport const initZoomMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = zoomMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationFast : token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","\"use client\";\n\nimport { genFocusStyle, resetComponent } from '../../style';\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nfunction box(position) {\n return {\n position,\n inset: 0\n };\n}\nexport const genModalMaskStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n return [{\n [`${componentCls}-root`]: {\n [`${componentCls}${antCls}-zoom-enter, ${componentCls}${antCls}-zoom-appear`]: {\n // reset scale avoid mousePosition bug\n transform: 'none',\n opacity: 0,\n animationDuration: token.motionDurationSlow,\n // https://github.com/ant-design/ant-design/issues/11777\n userSelect: 'none'\n },\n // https://github.com/ant-design/ant-design/issues/37329\n // https://github.com/ant-design/ant-design/issues/40272\n [`${componentCls}${antCls}-zoom-leave ${componentCls}-content`]: {\n pointerEvents: 'none'\n },\n [`${componentCls}-mask`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n height: '100%',\n backgroundColor: token.colorBgMask,\n pointerEvents: 'none',\n [`${componentCls}-hidden`]: {\n display: 'none'\n }\n }),\n [`${componentCls}-wrap`]: Object.assign(Object.assign({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch',\n // Note: Firefox not support `:has` yet\n [`&:has(${componentCls}${antCls}-zoom-enter), &:has(${componentCls}${antCls}-zoom-appear)`]: {\n pointerEvents: 'none'\n }\n })\n }\n }, {\n [`${componentCls}-root`]: initFadeMotion(token)\n }];\n};\nconst genModalStyle = token => {\n const {\n componentCls\n } = token;\n return [\n // ======================== Root =========================\n {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-centered`]: {\n textAlign: 'center',\n '&::before': {\n display: 'inline-block',\n width: 0,\n height: '100%',\n verticalAlign: 'middle',\n content: '\"\"'\n },\n [componentCls]: {\n top: 0,\n display: 'inline-block',\n paddingBottom: 0,\n textAlign: 'start',\n verticalAlign: 'middle'\n }\n },\n [`@media (max-width: ${token.screenSMMax})`]: {\n [componentCls]: {\n maxWidth: 'calc(100vw - 16px)',\n margin: `${token.marginXS} auto`\n },\n [`${componentCls}-centered`]: {\n [componentCls]: {\n flex: 1\n }\n }\n }\n }\n },\n // ======================== Modal ========================\n {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n pointerEvents: 'none',\n position: 'relative',\n top: 100,\n width: 'auto',\n maxWidth: `calc(100vw - ${token.margin * 2}px)`,\n margin: '0 auto',\n paddingBottom: token.paddingLG,\n [`${componentCls}-title`]: {\n margin: 0,\n color: token.titleColor,\n fontWeight: token.fontWeightStrong,\n fontSize: token.titleFontSize,\n lineHeight: token.titleLineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-content`]: {\n position: 'relative',\n backgroundColor: token.contentBg,\n backgroundClip: 'padding-box',\n border: 0,\n borderRadius: token.borderRadiusLG,\n boxShadow: token.boxShadow,\n pointerEvents: 'auto',\n padding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`\n },\n [`${componentCls}-close`]: Object.assign({\n position: 'absolute',\n top: (token.modalHeaderHeight - token.modalCloseBtnSize) / 2,\n insetInlineEnd: (token.modalHeaderHeight - token.modalCloseBtnSize) / 2,\n zIndex: token.zIndexPopupBase + 10,\n padding: 0,\n color: token.modalCloseIconColor,\n fontWeight: token.fontWeightStrong,\n lineHeight: 1,\n textDecoration: 'none',\n background: 'transparent',\n borderRadius: token.borderRadiusSM,\n width: token.modalCloseBtnSize,\n height: token.modalCloseBtnSize,\n border: 0,\n outline: 0,\n cursor: 'pointer',\n transition: `color ${token.motionDurationMid}, background-color ${token.motionDurationMid}`,\n '&-x': {\n display: 'flex',\n fontSize: token.fontSizeLG,\n fontStyle: 'normal',\n lineHeight: `${token.modalCloseBtnSize}px`,\n justifyContent: 'center',\n textTransform: 'none',\n textRendering: 'auto'\n },\n '&:hover': {\n color: token.modalIconHoverColor,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n textDecoration: 'none'\n },\n '&:active': {\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContentHover\n }\n }, genFocusStyle(token)),\n [`${componentCls}-header`]: {\n color: token.colorText,\n background: token.headerBg,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n marginBottom: token.marginXS\n },\n [`${componentCls}-body`]: {\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-footer`]: {\n textAlign: 'end',\n background: token.footerBg,\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn:not(${token.antCls}-dropdown-trigger)`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n },\n [`${componentCls}-open`]: {\n overflow: 'hidden'\n }\n })\n },\n // ======================== Pure =========================\n {\n [`${componentCls}-pure-panel`]: {\n top: 'auto',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n [`${componentCls}-content,\n ${componentCls}-body,\n ${componentCls}-confirm-body-wrapper`]: {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto'\n },\n [`${componentCls}-confirm-body`]: {\n marginBottom: 'auto'\n }\n }\n }];\n};\nconst genWireframeStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n return {\n [componentCls]: {\n [`${componentCls}-content`]: {\n padding: 0\n },\n [`${componentCls}-header`]: {\n padding: token.modalHeaderPadding,\n borderBottom: `${token.modalHeaderBorderWidth}px ${token.modalHeaderBorderStyle} ${token.modalHeaderBorderColorSplit}`,\n marginBottom: 0\n },\n [`${componentCls}-body`]: {\n padding: token.modalBodyPadding\n },\n [`${componentCls}-footer`]: {\n padding: `${token.modalFooterPaddingVertical}px ${token.modalFooterPaddingHorizontal}px`,\n borderTop: `${token.modalFooterBorderWidth}px ${token.modalFooterBorderStyle} ${token.modalFooterBorderColorSplit}`,\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`,\n marginTop: 0\n }\n },\n [confirmComponentCls]: {\n [`${antCls}-modal-body`]: {\n padding: `${token.padding * 2}px ${token.padding * 2}px ${token.paddingLG}px`\n },\n [`${confirmComponentCls}-body > ${token.iconCls}`]: {\n marginInlineEnd: token.margin\n },\n [`${confirmComponentCls}-btns`]: {\n marginTop: token.marginLG\n }\n }\n };\n};\nconst genRTLStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl',\n [`${componentCls}-confirm-body`]: {\n direction: 'rtl'\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport const prepareToken = token => {\n const headerPaddingVertical = token.padding;\n const headerFontSize = token.fontSizeHeading5;\n const headerLineHeight = token.lineHeightHeading5;\n const modalToken = mergeToken(token, {\n modalBodyPadding: token.paddingLG,\n modalHeaderPadding: `${headerPaddingVertical}px ${token.paddingLG}px`,\n modalHeaderBorderWidth: token.lineWidth,\n modalHeaderBorderStyle: token.lineType,\n modalHeaderBorderColorSplit: token.colorSplit,\n modalHeaderHeight: headerLineHeight * headerFontSize + headerPaddingVertical * 2,\n modalFooterBorderColorSplit: token.colorSplit,\n modalFooterBorderStyle: token.lineType,\n modalFooterPaddingVertical: token.paddingXS,\n modalFooterPaddingHorizontal: token.padding,\n modalFooterBorderWidth: token.lineWidth,\n modalIconHoverColor: token.colorIconHover,\n modalCloseIconColor: token.colorIcon,\n modalCloseBtnSize: token.fontSize * token.lineHeight,\n modalConfirmIconSize: token.fontSize * token.lineHeight\n });\n return modalToken;\n};\nexport const prepareComponentToken = token => ({\n footerBg: 'transparent',\n headerBg: token.colorBgElevated,\n titleLineHeight: token.lineHeightHeading5,\n titleFontSize: token.fontSizeHeading5,\n contentBg: token.colorBgElevated,\n titleColor: token.colorTextHeading\n});\nexport default genComponentStyleHook('Modal', token => {\n const modalToken = prepareToken(token);\n return [genModalStyle(modalToken), genRTLStyle(modalToken), genModalMaskStyle(modalToken), token.wireframe && genWireframeStyle(modalToken), initZoomMotion(modalToken, 'zoom')];\n}, prepareComponentToken);","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport Dialog from 'rc-dialog';\nimport useClosable from '../_util/hooks/useClosable';\nimport { getTransitionName } from '../_util/motion';\nimport { canUseDocElement } from '../_util/styleChecker';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport { NoFormStyle } from '../form/context';\nimport { NoCompactStyle } from '../space/Compact';\nimport { usePanelRef } from '../watermark/context';\nimport { Footer, renderCloseIcon } from './shared';\nimport useStyle from './style';\nlet mousePosition;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => {\n mousePosition = null;\n }, 100);\n};\n// 只有点击事件支持从鼠标位置动画展开\nif (canUseDocElement()) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\nconst Modal = props => {\n var _a;\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n direction,\n modal\n } = React.useContext(ConfigContext);\n const handleCancel = e => {\n const {\n onCancel\n } = props;\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(e);\n };\n const handleOk = e => {\n const {\n onOk\n } = props;\n onOk === null || onOk === void 0 ? void 0 : onOk(e);\n };\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Modal');\n [['visible', 'open'], ['bodyStyle', 'styles.body'], ['maskStyle', 'styles.mask']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n }\n const {\n prefixCls: customizePrefixCls,\n className,\n rootClassName,\n open,\n wrapClassName,\n centered,\n getContainer,\n closeIcon,\n closable,\n focusTriggerAfterClose = true,\n style,\n // Deprecated\n visible,\n width = 520,\n footer,\n classNames: modalClassNames,\n styles: modalStyles\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"rootClassName\", \"open\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\", \"closable\", \"focusTriggerAfterClose\", \"style\", \"visible\", \"width\", \"footer\", \"classNames\", \"styles\"]);\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n // Style\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const wrapClassNameExtended = classNames(wrapClassName, {\n [`${prefixCls}-centered`]: !!centered,\n [`${prefixCls}-wrap-rtl`]: direction === 'rtl'\n });\n const dialogFooter = footer !== null && /*#__PURE__*/React.createElement(Footer, Object.assign({}, props, {\n onOk: handleOk,\n onCancel: handleCancel\n }));\n const [mergedClosable, mergedCloseIcon] = useClosable(closable, closeIcon, icon => renderCloseIcon(prefixCls, icon), /*#__PURE__*/React.createElement(CloseOutlined, {\n className: `${prefixCls}-close-icon`\n }), true);\n // ============================ Refs ============================\n // Select `ant-modal-content` by `panelRef`\n const panelRef = usePanelRef(`.${prefixCls}-content`);\n // =========================== Render ===========================\n return wrapSSR( /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n status: true,\n override: true\n }, /*#__PURE__*/React.createElement(Dialog, Object.assign({\n width: width\n }, restProps, {\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls: prefixCls,\n rootClassName: classNames(hashId, rootClassName),\n footer: dialogFooter,\n visible: open !== null && open !== void 0 ? open : visible,\n mousePosition: (_a = restProps.mousePosition) !== null && _a !== void 0 ? _a : mousePosition,\n onClose: handleCancel,\n closable: mergedClosable,\n closeIcon: mergedCloseIcon,\n focusTriggerAfterClose: focusTriggerAfterClose,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n className: classNames(hashId, className, modal === null || modal === void 0 ? void 0 : modal.className),\n style: Object.assign(Object.assign({}, modal === null || modal === void 0 ? void 0 : modal.style), style),\n classNames: Object.assign(Object.assign({\n wrapper: wrapClassNameExtended\n }, modal === null || modal === void 0 ? void 0 : modal.classNames), modalClassNames),\n styles: Object.assign(Object.assign({}, modal === null || modal === void 0 ? void 0 : modal.styles), modalStyles),\n panelRef: panelRef\n })))));\n};\nexport default Modal;","\"use client\";\n\n// Style as confirm component\nimport { prepareComponentToken, prepareToken } from '.';\nimport { clearFix } from '../../style';\nimport { genSubStyleComponent } from '../../theme/internal';\n// ============================= Confirm ==============================\nconst genModalConfirmStyle = token => {\n const {\n componentCls,\n titleFontSize,\n titleLineHeight,\n modalConfirmIconSize,\n fontSize,\n lineHeight\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n const titleHeight = Math.round(titleFontSize * titleLineHeight);\n const contentHeight = Math.round(fontSize * lineHeight);\n return {\n [confirmComponentCls]: {\n '&-rtl': {\n direction: 'rtl'\n },\n [`${token.antCls}-modal-header`]: {\n display: 'none'\n },\n [`${confirmComponentCls}-body-wrapper`]: Object.assign({}, clearFix()),\n // ====================== Body ======================\n [`${confirmComponentCls}-body`]: {\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'start',\n [`> ${token.iconCls}`]: {\n flex: 'none',\n fontSize: modalConfirmIconSize,\n marginInlineEnd: token.marginSM,\n marginTop: (contentHeight - modalConfirmIconSize) / 2\n },\n [`&-has-title > ${token.iconCls}`]: {\n marginTop: (titleHeight - modalConfirmIconSize) / 2\n }\n },\n [`${confirmComponentCls}-paragraph`]: {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto',\n rowGap: token.marginXS,\n maxWidth: `calc(100% - ${token.modalConfirmIconSize + token.marginSM}px)`\n },\n [`${confirmComponentCls}-title`]: {\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: titleFontSize,\n lineHeight: titleLineHeight\n },\n [`${confirmComponentCls}-content`]: {\n color: token.colorText,\n fontSize,\n lineHeight\n },\n // ===================== Footer =====================\n [`${confirmComponentCls}-btns`]: {\n textAlign: 'end',\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n }\n },\n [`${confirmComponentCls}-error ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorError\n },\n [`${confirmComponentCls}-warning ${confirmComponentCls}-body > ${token.iconCls},\n ${confirmComponentCls}-confirm ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorWarning\n },\n [`${confirmComponentCls}-info ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorInfo\n },\n [`${confirmComponentCls}-success ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorSuccess\n }\n };\n};\n// ============================== Export ==============================\nexport default genSubStyleComponent(['Modal', 'confirm'], token => {\n const modalToken = prepareToken(token);\n return [genModalConfirmStyle(modalToken)];\n}, prepareComponentToken, {\n // confirm is weak than modal since no conflict here\n order: -1000\n});","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport classNames from 'classnames';\nimport { getTransitionName } from '../_util/motion';\nimport { devUseWarning } from '../_util/warning';\nimport ConfigProvider from '../config-provider';\nimport { useLocale } from '../locale';\nimport CancelBtn from './components/ConfirmCancelBtn';\nimport OkBtn from './components/ConfirmOkBtn';\nimport { ModalContextProvider } from './context';\nimport Dialog from './Modal';\nimport ConfirmCmp from './style/confirmCmp';\nexport function ConfirmContent(props) {\n const {\n prefixCls,\n icon,\n okText,\n cancelText,\n confirmPrefixCls,\n type,\n okCancel,\n footer,\n // Legacy for static function usage\n locale: staticLocale\n } = props,\n resetProps = __rest(props, [\"prefixCls\", \"icon\", \"okText\", \"cancelText\", \"confirmPrefixCls\", \"type\", \"okCancel\", \"footer\", \"locale\"]);\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Modal');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'breaking', `\\`icon\\` is using ReactNode instead of string naming in v4. Please check \\`${icon}\\` at https://ant.design/components/icon`) : void 0;\n }\n // Icon\n let mergedIcon = icon;\n // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n if (!icon && icon !== null) {\n switch (type) {\n case 'info':\n mergedIcon = /*#__PURE__*/React.createElement(InfoCircleFilled, null);\n break;\n case 'success':\n mergedIcon = /*#__PURE__*/React.createElement(CheckCircleFilled, null);\n break;\n case 'error':\n mergedIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n break;\n default:\n mergedIcon = /*#__PURE__*/React.createElement(ExclamationCircleFilled, null);\n }\n }\n // 默认为 true,保持向下兼容\n const mergedOkCancel = okCancel !== null && okCancel !== void 0 ? okCancel : type === 'confirm';\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const [locale] = useLocale('Modal');\n const mergedLocale = staticLocale || locale;\n // ================== Locale Text ==================\n const okTextLocale = okText || (mergedOkCancel ? mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.okText : mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.justOkText);\n const cancelTextLocale = cancelText || (mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.cancelText);\n // ================= Context Value =================\n const btnCtxValue = Object.assign({\n autoFocusButton,\n cancelTextLocale,\n okTextLocale,\n mergedOkCancel\n }, resetProps);\n const btnCtxValueMemo = React.useMemo(() => btnCtxValue, _toConsumableArray(Object.values(btnCtxValue)));\n // ====================== Footer Origin Node ======================\n const footerOriginNode = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CancelBtn, null), /*#__PURE__*/React.createElement(OkBtn, null));\n const hasTitle = props.title !== undefined && props.title !== null;\n const bodyCls = `${confirmPrefixCls}-body`;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-body-wrapper`\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(bodyCls, {\n [`${bodyCls}-has-title`]: hasTitle\n })\n }, mergedIcon, /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-paragraph`\n }, hasTitle && /*#__PURE__*/React.createElement(\"span\", {\n className: `${confirmPrefixCls}-title`\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-content`\n }, props.content))), footer === undefined || typeof footer === 'function' ? /*#__PURE__*/React.createElement(ModalContextProvider, {\n value: btnCtxValueMemo\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: `${confirmPrefixCls}-btns`\n }, typeof footer === 'function' ? footer(footerOriginNode, {\n OkBtn,\n CancelBtn\n }) : footerOriginNode)) : footer, /*#__PURE__*/React.createElement(ConfirmCmp, {\n prefixCls: prefixCls\n }));\n}\nconst ConfirmDialog = props => {\n const {\n close,\n zIndex,\n afterClose,\n open,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n direction,\n prefixCls,\n wrapClassName,\n rootPrefixCls,\n iconPrefixCls,\n theme,\n bodyStyle,\n closable = false,\n closeIcon,\n modalRender,\n focusTriggerAfterClose,\n onConfirm\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Modal');\n [['visible', 'open'], ['bodyStyle', 'styles.body'], ['maskStyle', 'styles.mask']].forEach(_ref => {\n let [deprecatedName, newName] = _ref;\n warning.deprecated(!(deprecatedName in props), deprecatedName, newName);\n });\n }\n const confirmPrefixCls = `${prefixCls}-confirm`;\n const width = props.width || 416;\n const style = props.style || {};\n const mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const classString = classNames(confirmPrefixCls, `${confirmPrefixCls}-${props.type}`, {\n [`${confirmPrefixCls}-rtl`]: direction === 'rtl'\n }, props.className);\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n direction: direction,\n theme: theme\n }, /*#__PURE__*/React.createElement(Dialog, {\n prefixCls: prefixCls,\n className: classString,\n wrapClassName: classNames({\n [`${confirmPrefixCls}-centered`]: !!props.centered\n }, wrapClassName),\n onCancel: () => {\n close === null || close === void 0 ? void 0 : close({\n triggerCancel: true\n });\n onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(false);\n },\n open: open,\n title: \"\",\n footer: null,\n transitionName: getTransitionName(rootPrefixCls || '', 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls || '', 'fade', props.maskTransitionName),\n mask: mask,\n maskClosable: maskClosable,\n style: style,\n styles: {\n body: bodyStyle,\n mask: maskStyle\n },\n width: width,\n zIndex: zIndex,\n afterClose: afterClose,\n keyboard: keyboard,\n centered: centered,\n getContainer: getContainer,\n closable: closable,\n closeIcon: closeIcon,\n modalRender: modalRender,\n focusTriggerAfterClose: focusTriggerAfterClose\n }, /*#__PURE__*/React.createElement(ConfirmContent, Object.assign({}, props, {\n confirmPrefixCls: confirmPrefixCls\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n ConfirmDialog.displayName = 'ConfirmDialog';\n}\nexport default ConfirmDialog;","const destroyFns = [];\nexport default destroyFns;","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { render as reactRender, unmount as reactUnmount } from \"rc-util/es/React/render\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { globalConfig, warnContext } from '../config-provider';\nimport ConfirmDialog from './ConfirmDialog';\nimport destroyFns from './destroyFns';\nimport { getConfirmLocale } from './locale';\nlet defaultRootPrefixCls = '';\nfunction getRootPrefixCls() {\n return defaultRootPrefixCls;\n}\nexport default function confirm(config) {\n // Warning if exist theme\n if (process.env.NODE_ENV !== 'production') {\n warnContext('Modal');\n }\n const container = document.createDocumentFragment();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n let currentConfig = Object.assign(Object.assign({}, config), {\n close,\n open: true\n });\n let timeoutId;\n function destroy() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel.apply(config, [() => {}].concat(_toConsumableArray(args.slice(1))));\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n reactUnmount(container);\n }\n function render(_a) {\n var {\n okText,\n cancelText,\n prefixCls: customizePrefixCls,\n getContainer\n } = _a,\n props = __rest(_a, [\"okText\", \"cancelText\", \"prefixCls\", \"getContainer\"]);\n clearTimeout(timeoutId);\n /**\n * https://github.com/ant-design/ant-design/issues/23623\n *\n * Sync render blocks React event. Let's make this async.\n */\n timeoutId = setTimeout(() => {\n const runtimeLocale = getConfirmLocale();\n const {\n getPrefixCls,\n getIconPrefixCls,\n getTheme\n } = globalConfig();\n // because Modal.config \b set rootPrefixCls, which is different from other components\n const rootPrefixCls = getPrefixCls(undefined, getRootPrefixCls());\n const prefixCls = customizePrefixCls || `${rootPrefixCls}-modal`;\n const iconPrefixCls = getIconPrefixCls();\n const theme = getTheme();\n let mergedGetContainer = getContainer;\n if (mergedGetContainer === false) {\n mergedGetContainer = undefined;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Modal', 'Static method not support `getContainer` to be `false` since it do not have context env.') : void 0;\n }\n }\n reactRender( /*#__PURE__*/React.createElement(ConfirmDialog, Object.assign({}, props, {\n getContainer: mergedGetContainer,\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n okText: okText,\n locale: runtimeLocale,\n theme: theme,\n cancelText: cancelText || runtimeLocale.cancelText\n })), container);\n });\n }\n function close() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n currentConfig = Object.assign(Object.assign({}, currentConfig), {\n open: false,\n afterClose: () => {\n if (typeof config.afterClose === 'function') {\n config.afterClose();\n }\n destroy.apply(this, args);\n }\n });\n // Legacy support\n if (currentConfig.visible) {\n delete currentConfig.visible;\n }\n render(currentConfig);\n }\n function update(configUpdate) {\n if (typeof configUpdate === 'function') {\n currentConfig = configUpdate(currentConfig);\n } else {\n currentConfig = Object.assign(Object.assign({}, currentConfig), configUpdate);\n }\n render(currentConfig);\n }\n render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update\n };\n}\nexport function withWarn(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'warning'\n });\n}\nexport function withInfo(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'info'\n });\n}\nexport function withSuccess(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'success'\n });\n}\nexport function withError(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'error'\n });\n}\nexport function withConfirm(props) {\n return Object.assign(Object.assign({}, props), {\n type: 'confirm'\n });\n}\nexport function modalGlobalConfig(_ref) {\n let {\n rootPrefixCls\n } = _ref;\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Modal', 'Modal.config is deprecated. Please use ConfigProvider.config instead.') : void 0;\n defaultRootPrefixCls = rootPrefixCls;\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport defaultLocale from '../../locale/en_US';\nimport useLocale from '../../locale/useLocale';\nimport ConfirmDialog from '../ConfirmDialog';\nconst HookModal = (_a, ref) => {\n var _b;\n var {\n afterClose: hookAfterClose,\n config\n } = _a,\n restProps = __rest(_a, [\"afterClose\", \"config\"]);\n const [open, setOpen] = React.useState(true);\n const [innerConfig, setInnerConfig] = React.useState(config);\n const {\n direction,\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls('modal');\n const rootPrefixCls = getPrefixCls();\n const afterClose = () => {\n var _a;\n hookAfterClose();\n (_a = innerConfig.afterClose) === null || _a === void 0 ? void 0 : _a.call(innerConfig);\n };\n const close = function () {\n setOpen(false);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (innerConfig.onCancel && triggerCancel) {\n innerConfig.onCancel.apply(innerConfig, [() => {}].concat(_toConsumableArray(args.slice(1))));\n }\n };\n React.useImperativeHandle(ref, () => ({\n destroy: close,\n update: newConfig => {\n setInnerConfig(originConfig => Object.assign(Object.assign({}, originConfig), newConfig));\n }\n }));\n const mergedOkCancel = (_b = innerConfig.okCancel) !== null && _b !== void 0 ? _b : innerConfig.type === 'confirm';\n const [contextLocale] = useLocale('Modal', defaultLocale.Modal);\n return /*#__PURE__*/React.createElement(ConfirmDialog, Object.assign({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls\n }, innerConfig, {\n close: close,\n open: open,\n afterClose: afterClose,\n okText: innerConfig.okText || (mergedOkCancel ? contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.okText : contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.justOkText),\n direction: innerConfig.direction || direction,\n cancelText: innerConfig.cancelText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.cancelText)\n }, restProps));\n};\nexport default /*#__PURE__*/React.forwardRef(HookModal);","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport usePatchElement from '../../_util/hooks/usePatchElement';\nimport { withConfirm, withError, withInfo, withSuccess, withWarn } from '../confirm';\nimport destroyFns from '../destroyFns';\nimport HookModal from './HookModal';\nlet uuid = 0;\nconst ElementsHolder = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef((_props, ref) => {\n const [elements, patchElement] = usePatchElement();\n React.useImperativeHandle(ref, () => ({\n patchElement\n }), []);\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return /*#__PURE__*/React.createElement(React.Fragment, null, elements);\n}));\nfunction useModal() {\n const holderRef = React.useRef(null);\n // ========================== Effect ==========================\n const [actionQueue, setActionQueue] = React.useState([]);\n React.useEffect(() => {\n if (actionQueue.length) {\n const cloneQueue = _toConsumableArray(actionQueue);\n cloneQueue.forEach(action => {\n action();\n });\n setActionQueue([]);\n }\n }, [actionQueue]);\n // =========================== Hook ===========================\n const getConfirmFunc = React.useCallback(withFunc => function hookConfirm(config) {\n var _a;\n uuid += 1;\n const modalRef = /*#__PURE__*/React.createRef();\n // Proxy to promise with `onClose`\n let resolvePromise;\n const promise = new Promise(resolve => {\n resolvePromise = resolve;\n });\n let silent = false;\n let closeFunc;\n const modal = /*#__PURE__*/React.createElement(HookModal, {\n key: `modal-${uuid}`,\n config: withFunc(config),\n ref: modalRef,\n afterClose: () => {\n closeFunc === null || closeFunc === void 0 ? void 0 : closeFunc();\n },\n isSilent: () => silent,\n onConfirm: confirmed => {\n resolvePromise(confirmed);\n }\n });\n closeFunc = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.patchElement(modal);\n if (closeFunc) {\n destroyFns.push(closeFunc);\n }\n const instance = {\n destroy: () => {\n function destroyAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n if (modalRef.current) {\n destroyAction();\n } else {\n setActionQueue(prev => [].concat(_toConsumableArray(prev), [destroyAction]));\n }\n },\n update: newConfig => {\n function updateAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.update(newConfig);\n }\n if (modalRef.current) {\n updateAction();\n } else {\n setActionQueue(prev => [].concat(_toConsumableArray(prev), [updateAction]));\n }\n },\n then: resolve => {\n silent = true;\n return promise.then(resolve);\n }\n };\n return instance;\n }, []);\n const fns = React.useMemo(() => ({\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n }), []);\n return [fns, /*#__PURE__*/React.createElement(ElementsHolder, {\n key: \"modal-holder\",\n ref: holderRef\n })];\n}\nexport default useModal;","\"use client\";\n\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport ConfigProvider, { ConfigContext } from '../config-provider';\nexport function withPureRenderTheme(Component) {\n return function PureRenderThemeComponent(props) {\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n theme: {\n token: {\n motion: false,\n zIndexPopupBase: 0\n }\n }\n }, /*#__PURE__*/React.createElement(Component, Object.assign({}, props)));\n };\n}\n/* istanbul ignore next */\nexport default function genPurePanel(Component, defaultPrefixCls, getDropdownCls, postProps) {\n function PurePanel(props) {\n const {\n prefixCls: customizePrefixCls,\n style\n } = props;\n const holderRef = React.useRef(null);\n const [popupHeight, setPopupHeight] = React.useState(0);\n const [popupWidth, setPopupWidth] = React.useState(0);\n const [open, setOpen] = useMergedState(false, {\n value: props.open\n });\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const prefixCls = getPrefixCls(defaultPrefixCls || 'select', customizePrefixCls);\n React.useEffect(() => {\n // We do not care about ssr\n setOpen(true);\n if (typeof ResizeObserver !== 'undefined') {\n const resizeObserver = new ResizeObserver(entries => {\n const element = entries[0].target;\n setPopupHeight(element.offsetHeight + 8);\n setPopupWidth(element.offsetWidth);\n });\n const interval = setInterval(() => {\n var _a;\n const dropdownCls = getDropdownCls ? `.${getDropdownCls(prefixCls)}` : `.${prefixCls}-dropdown`;\n const popup = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(dropdownCls);\n if (popup) {\n clearInterval(interval);\n resizeObserver.observe(popup);\n }\n }, 10);\n return () => {\n clearInterval(interval);\n resizeObserver.disconnect();\n };\n }\n }, []);\n let mergedProps = Object.assign(Object.assign({}, props), {\n style: Object.assign(Object.assign({}, style), {\n margin: 0\n }),\n open,\n visible: open,\n getPopupContainer: () => holderRef.current\n });\n if (postProps) {\n mergedProps = postProps(mergedProps);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: holderRef,\n style: {\n paddingBottom: popupHeight,\n position: 'relative',\n minWidth: popupWidth\n }\n }, /*#__PURE__*/React.createElement(Component, Object.assign({}, mergedProps)));\n }\n return withPureRenderTheme(PurePanel);\n}","\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport { render } from \"rc-util/es/React/render\";\nimport ConfigProvider, { globalConfig, warnContext } from '../config-provider';\nimport PurePanel from './PurePanel';\nimport useMessage, { useInternalMessage } from './useMessage';\nimport { wrapPromiseFn } from './util';\nlet message = null;\nlet act = callback => callback();\nlet taskQueue = [];\nlet defaultGlobalConfig = {};\nfunction getGlobalContext() {\n const {\n prefixCls: globalPrefixCls,\n getContainer: globalGetContainer,\n duration,\n rtl,\n maxCount,\n top\n } = defaultGlobalConfig;\n const mergedPrefixCls = globalPrefixCls !== null && globalPrefixCls !== void 0 ? globalPrefixCls : globalConfig().getPrefixCls('message');\n const mergedContainer = (globalGetContainer === null || globalGetContainer === void 0 ? void 0 : globalGetContainer()) || document.body;\n return {\n prefixCls: mergedPrefixCls,\n getContainer: () => mergedContainer,\n duration,\n rtl,\n maxCount,\n top\n };\n}\nconst GlobalHolder = /*#__PURE__*/React.forwardRef((_, ref) => {\n const [messageConfig, setMessageConfig] = React.useState(getGlobalContext);\n const [api, holder] = useInternalMessage(messageConfig);\n const global = globalConfig();\n const rootPrefixCls = global.getRootPrefixCls();\n const rootIconPrefixCls = global.getIconPrefixCls();\n const theme = global.getTheme();\n const sync = () => {\n setMessageConfig(getGlobalContext);\n };\n React.useEffect(sync, []);\n React.useImperativeHandle(ref, () => {\n const instance = Object.assign({}, api);\n Object.keys(instance).forEach(method => {\n instance[method] = function () {\n sync();\n return api[method].apply(api, arguments);\n };\n });\n return {\n instance,\n sync\n };\n });\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: rootIconPrefixCls,\n theme: theme\n }, holder);\n});\nfunction flushNotice() {\n if (!message) {\n const holderFragment = document.createDocumentFragment();\n const newMessage = {\n fragment: holderFragment\n };\n message = newMessage;\n // Delay render to avoid sync issue\n act(() => {\n render( /*#__PURE__*/React.createElement(GlobalHolder, {\n ref: node => {\n const {\n instance,\n sync\n } = node || {};\n // React 18 test env will throw if call immediately in ref\n Promise.resolve().then(() => {\n if (!newMessage.instance && instance) {\n newMessage.instance = instance;\n newMessage.sync = sync;\n flushNotice();\n }\n });\n }\n }), holderFragment);\n });\n return;\n }\n // Notification not ready\n if (!message.instance) {\n return;\n }\n // >>> Execute task\n taskQueue.forEach(task => {\n const {\n type,\n skipped\n } = task;\n // Only `skipped` when user call notice but cancel it immediately\n // and instance not ready\n if (!skipped) {\n switch (type) {\n case 'open':\n {\n act(() => {\n const closeFn = message.instance.open(Object.assign(Object.assign({}, defaultGlobalConfig), task.config));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n break;\n }\n case 'destroy':\n act(() => {\n message === null || message === void 0 ? void 0 : message.instance.destroy(task.key);\n });\n break;\n // Other type open\n default:\n {\n act(() => {\n var _message$instance;\n const closeFn = (_message$instance = message.instance)[type].apply(_message$instance, _toConsumableArray(task.args));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n }\n }\n }\n });\n // Clean up\n taskQueue = [];\n}\n// ==============================================================================\n// == Export ==\n// ==============================================================================\nfunction setMessageGlobalConfig(config) {\n defaultGlobalConfig = Object.assign(Object.assign({}, defaultGlobalConfig), config);\n // Trigger sync for it\n act(() => {\n var _a;\n (_a = message === null || message === void 0 ? void 0 : message.sync) === null || _a === void 0 ? void 0 : _a.call(message);\n });\n}\nfunction open(config) {\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type: 'open',\n config,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction typeOpen(type, args) {\n // Warning if exist theme\n if (process.env.NODE_ENV !== 'production') {\n warnContext('message');\n }\n const result = wrapPromiseFn(resolve => {\n let closeFn;\n const task = {\n type,\n args,\n resolve,\n setCloseFn: fn => {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return () => {\n if (closeFn) {\n act(() => {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction destroy(key) {\n taskQueue.push({\n type: 'destroy',\n key\n });\n flushNotice();\n}\nconst methods = ['success', 'info', 'warning', 'error', 'loading'];\nconst baseStaticMethods = {\n open,\n destroy,\n config: setMessageGlobalConfig,\n useMessage,\n _InternalPanelDoNotUseOrYouWillBeFired: PurePanel\n};\nconst staticMethods = baseStaticMethods;\nmethods.forEach(type => {\n staticMethods[type] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return typeOpen(type, args);\n };\n});\n// ==============================================================================\n// == Test ==\n// ==============================================================================\nconst noop = () => {};\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actWrapper = noop;\nif (process.env.NODE_ENV === 'test') {\n actWrapper = wrapper => {\n act = wrapper;\n };\n}\n/** @internal Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport let actDestroy = noop;\nif (process.env.NODE_ENV === 'test') {\n actDestroy = () => {\n message = null;\n };\n}\nexport default staticMethods;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/jsx-no-useless-fragment */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Panel } from 'rc-dialog';\nimport { withPureRenderTheme } from '../_util/PurePanel';\nimport { ConfigContext } from '../config-provider';\nimport { ConfirmContent } from './ConfirmDialog';\nimport { Footer, renderCloseIcon } from './shared';\nimport useStyle from './style';\nconst PurePanel = props => {\n const {\n prefixCls: customizePrefixCls,\n className,\n closeIcon,\n closable,\n type,\n title,\n children\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"closeIcon\", \"closable\", \"type\", \"title\", \"children\"]);\n const {\n getPrefixCls\n } = React.useContext(ConfigContext);\n const rootPrefixCls = getPrefixCls();\n const prefixCls = customizePrefixCls || getPrefixCls('modal');\n const [, hashId] = useStyle(prefixCls);\n const confirmPrefixCls = `${prefixCls}-confirm`;\n // Choose target props by confirm mark\n let additionalProps = {};\n if (type) {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : false,\n title: '',\n footer: '',\n children: /*#__PURE__*/React.createElement(ConfirmContent, Object.assign({}, props, {\n prefixCls: prefixCls,\n confirmPrefixCls: confirmPrefixCls,\n rootPrefixCls: rootPrefixCls,\n content: children\n }))\n };\n } else {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : true,\n title,\n footer: props.footer === undefined ? /*#__PURE__*/React.createElement(Footer, Object.assign({}, props)) : props.footer,\n children\n };\n }\n return /*#__PURE__*/React.createElement(Panel, Object.assign({\n prefixCls: prefixCls,\n className: classNames(hashId, `${prefixCls}-pure-panel`, type && confirmPrefixCls, type && `${confirmPrefixCls}-${type}`, className)\n }, restProps, {\n closeIcon: renderCloseIcon(prefixCls, closeIcon),\n closable: closable\n }, additionalProps));\n};\nexport default withPureRenderTheme(PurePanel);","\"use client\";\n\nimport confirm, { modalGlobalConfig, withConfirm, withError, withInfo, withSuccess, withWarn } from './confirm';\nimport destroyFns from './destroyFns';\nimport OriginModal from './Modal';\nimport PurePanel from './PurePanel';\nimport useModal from './useModal';\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\nconst Modal = OriginModal;\nModal.useModal = useModal;\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\nModal.warning = modalWarn;\nModal.warn = modalWarn;\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\nModal.config = modalGlobalConfig;\nModal._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Modal.displayName = 'Modal';\n}\nexport default Modal;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","import { getComponentValue } from \"@latticexyz/recs\";\nimport { ClientComponents } from \"./createClientComponents\";\nimport { SetupNetworkResult } from \"./setupNetwork\";\nimport { singletonEntity, encodeEntity } from \"@latticexyz/store-sync/recs\";\nimport { message } from 'antd';\n\nlet wait = false;\n\nexport type SystemCalls = ReturnType;\n\nexport function createSystemCalls(\n { worldContract, waitForTransaction }: SetupNetworkResult,\n ClientComponents\n) {\n const { Counter, Player, LootList1, LootList2, BoxList, BattleList } = ClientComponents;\n const increment = async () => {\n const tx = await worldContract.write.increment();\n await waitForTransaction(tx);\n return getComponentValue(Counter, singletonEntity);\n };\n\n const move = async (steps: any) => {\n if (wait) return\n wait = true\n console.log('move', new Date().getTime());\n try {\n const tx = await worldContract.write.move([steps]);\n await waitForTransaction(tx);\n console.log('move success', new Date().getTime(), tx);\n wait = false\n } catch (error) {\n console.log('move', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n \n // return getComponentValue(Player, singletonEntity);\n };\n\n const getPosition = async (address) => {\n const tx = await worldContract.read.getPosition([address]);\n const result = await waitForTransaction(tx);\n await waitForTransaction(tx);\n };\n\n const joinBattlefield = async () => {\n console.log('joinBattlefield', new Date().getTime());\n try {\n const tx = await worldContract.write.joinBattlefield();\n await waitForTransaction(tx);\n console.log('joinBattlefield success', new Date().getTime(), tx);\n return tx\n } catch (error) {\n console.log('joinBattlefield', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const transfer = async (addr: any, transferData: any) => {\n console.log('transfer', new Date().getTime());\n try {\n const tx = await worldContract.write.transfer([addr, ...transferData]);\n await waitForTransaction(tx);\n console.log('transfer success', new Date().getTime(), tx);\n } catch (error) {\n console.log('transfer', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const battleInvitation = async (addr: any, steps: any) => {\n if (wait) return\n wait = true\n console.log('battleInvitation', new Date().getTime());\n try {\n const tx = await worldContract.write.battleInvitation([addr, steps]);\n await waitForTransaction(tx);\n console.log('battleInvitation success', new Date().getTime(), tx);\n wait = false\n return tx\n } catch (error) {\n console.log('battleInvitation', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const confirmBattle = async (buffHash: any, battleId: any) => {\n if (wait) return\n wait = true\n console.log('confirmBattle', new Date().getTime());\n try {\n const tx = await worldContract.write.confirmBattle([buffHash, battleId]);\n await waitForTransaction(tx);\n console.log('confirmBattle success', new Date().getTime(), tx);\n wait = false\n return {\n type: 'success',\n data: getComponentValue(BattleList, encodeEntity({ battleId: \"uint256\" }, { battleId: battleId}))\n }\n } catch (error) {\n console.log('confirmBattle', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n return {\n type: 'error',\n msg: error.cause.reason || error.cause.details || error.cause\n }\n }\n \n }\n\n const revealBattle = async (battleId: any, action: any, arg: any, nonce: any) => {\n if (wait) return\n wait = true\n console.log('revealBattle', new Date().getTime());\n try {\n const tx = await worldContract.write.revealBattle([battleId, action, arg, nonce]);\n await waitForTransaction(tx);\n console.log('revealBattle success', new Date().getTime(), tx);\n wait = false\n return {\n type: 'success',\n data: getComponentValue(BattleList, encodeEntity({ battleId: \"uint256\" }, { battleId: battleId}))\n }\n } catch (error) {\n console.log('revealBattle', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n return {\n type: 'error',\n msg: error.cause.reason || error.cause.details || error.cause\n }\n }\n }\n\n const selectBothNFT = async (userTokenId: any, lootTokenId: any, address: any) => {\n console.log('selectBothNFT', new Date().getTime());\n try {\n const tx = await worldContract.write.selectBothNFT([userTokenId, lootTokenId]);\n await waitForTransaction(tx);\n console.log('selectBothNFT success', new Date().getTime(), tx);\n return {\n playerData: getComponentValue(Player, encodeEntity({ addr: \"address\" }, { addr: address})),\n lootData: getComponentValue(LootList1, encodeEntity({ addr: \"address\" }, { addr: address})),\n }\n } catch (error) {\n console.log('selectUserNft', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const selectUserNft = async (tokenId: any, address: any) => {\n console.log('selectUserNft', new Date().getTime());\n try {\n const tx = await worldContract.write.selectUserNft([tokenId]);\n await waitForTransaction(tx);\n console.log('selectUserNft success', new Date().getTime(), tx);\n return getComponentValue(Player, encodeEntity({ addr: \"address\" }, { addr: address}));\n } catch (error) {\n console.log('selectUserNft', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const selectLootNFT = async (tokenId: any, address: any) => {\n console.log('selectLootNFT', new Date().getTime());\n try {\n const tx = await worldContract.write.selectLootNFT([tokenId]);\n await waitForTransaction(tx);\n console.log('selectLootNFT success', new Date().getTime(), tx);\n let LootList1Data = getComponentValue(LootList1, encodeEntity({ addr: \"address\" }, { addr: address}));\n // let LootList2Data = getComponentValue(LootList2, encodeEntity({ addr: \"address\" }, { addr: address}));\n return LootList1Data\n } catch (error) {\n console.log('selectLootNFT', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const openBox = async (boxId: any) => {\n if (wait) return\n wait = true\n console.log('openBox', new Date().getTime());\n try {\n const tx = await worldContract.write.openBox([boxId]);\n await waitForTransaction(tx);\n console.log('openBox success', new Date().getTime(), tx);\n wait = false\n } catch (error) {\n console.log('openBox', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const revealBox = async (boxId: any) => {\n if (wait) return\n wait = true\n console.log('revealBox', new Date().getTime());\n try {\n const tx = await worldContract.write.revealBox([boxId]);\n await waitForTransaction(tx);\n console.log('revealBox success', new Date().getTime(), tx);\n wait = false\n return getComponentValue(BoxList, encodeEntity({ boxId: \"uint256\" }, { boxId: boxId}));\n } catch (error) {\n console.log('revealBox', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const getCollections = async (boxId: any, oreAmount: any, treasureAmount: any) => {\n if (wait) return\n wait = true\n try {\n const tx = await worldContract.write.getCollections([boxId, oreAmount, treasureAmount]);\n await waitForTransaction(tx);\n wait = false\n } catch (error) {\n console.log('getCollections', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const CreateBox = async (x: any, y: any) => {\n try {\n const tx = await worldContract.write.CreateBox([x, y]);\n await waitForTransaction(tx);\n } catch (error) {\n console.log('CreateBox', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const setInfo = async (name: any, url: any) => {\n console.log('setInfo', new Date().getTime());\n try {\n const tx = await worldContract.write.setInfo([name, url]);\n await waitForTransaction(tx);\n console.log('setInfo success', new Date().getTime(), tx);\n return tx\n } catch (error) {\n console.log('setInfo', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const initUserInfo = async () => {\n if (wait) return\n wait = true\n console.log('initUserInfo', new Date().getTime());\n try {\n const tx = await worldContract.write.initUserInfo();\n await waitForTransaction(tx);\n console.log('initUserInfo success', new Date().getTime(), tx);\n wait = false\n return tx\n } catch (error) {\n console.log('initUserInfo', error);\n message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const forceEnd = async (battleId: any) => {\n if (wait) return\n wait = true\n console.log('forceEnd', new Date().getTime());\n try {\n const tx = await worldContract.write.forceEnd([battleId]);\n await waitForTransaction(tx);\n console.log('forceEnd success', new Date().getTime(), tx);\n wait = false\n return getComponentValue(BattleList, encodeEntity({ battleId: \"uint256\" }, { battleId: battleId}))\n } catch (error) {\n console.log('forceEnd', error);\n // message.error(error.cause.reason || error.cause.details);\n wait = false\n }\n }\n\n const unlockUserLocation = async () => {\n console.log('unlockUserLocation', new Date().getTime());\n try {\n const tx = await worldContract.write.unlockUserLocation();\n await waitForTransaction(tx);\n console.log('unlockUserLocation success', new Date().getTime(), tx);\n return tx\n } catch (error) {\n console.log('unlockUserLocation', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const submitGem = async () => {\n try {\n const tx = await worldContract.write.submitGem();\n await waitForTransaction(tx);\n return tx\n } catch (error) {\n console.log('submitGem', error);\n message.error(error.cause.reason || error.cause.details);\n }\n }\n\n const getBattlePlayerHp = async (battleId: any, addr: any) => {\n const data = await worldContract.read.getBattlePlayerHp([battleId, addr]);\n return data\n }\n return {\n increment,\n move,\n getPosition,\n joinBattlefield,\n transfer,\n battleInvitation,\n confirmBattle,\n selectUserNft,\n selectLootNFT,\n revealBattle,\n openBox,\n getCollections,\n revealBox,\n CreateBox,\n getBattlePlayerHp,\n setInfo,\n initUserInfo,\n selectBothNFT,\n forceEnd,\n unlockUserLocation,\n submitGem\n };\n}\n","/**\n * @license\n * Copyright 2009 The Closure Library Authors\n * Copyright 2020 Daniel Wirtz / The long.js Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// WebAssembly optimizations to do native i64 multiplication and divide\nvar wasm = null;\ntry {\n wasm = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 13, 2, 96, 0, 1, 127, 96, 4, 127, 127, 127, 127, 1, 127, 3, 7, 6, 0, 1, 1, 1, 1, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 50, 6, 3, 109, 117, 108, 0, 1, 5, 100, 105, 118, 95, 115, 0, 2, 5, 100, 105, 118, 95, 117, 0, 3, 5, 114, 101, 109, 95, 115, 0, 4, 5, 114, 101, 109, 95, 117, 0, 5, 8, 103, 101, 116, 95, 104, 105, 103, 104, 0, 0, 10, 191, 1, 6, 4, 0, 35, 0, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 126, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 127, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 128, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 129, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11, 36, 1, 1, 126, 32, 0, 173, 32, 1, 173, 66, 32, 134, 132, 32, 2, 173, 32, 3, 173, 66, 32, 134, 132, 130, 34, 4, 66, 32, 135, 167, 36, 0, 32, 4, 167, 11\n ])), {}).exports;\n} catch (e) {\n // no wasm support :(\n}\n\n/**\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\n * See the from* functions below for more convenient ways of constructing Longs.\n * @exports Long\n * @class A Long class for representing a 64 bit two's-complement integer value.\n * @param {number} low The low (signed) 32 bits of the long\n * @param {number} high The high (signed) 32 bits of the long\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @constructor\n */\nfunction Long(low, high, unsigned) {\n\n /**\n * The low 32 bits as a signed value.\n * @type {number}\n */\n this.low = low | 0;\n\n /**\n * The high 32 bits as a signed value.\n * @type {number}\n */\n this.high = high | 0;\n\n /**\n * Whether unsigned or not.\n * @type {boolean}\n */\n this.unsigned = !!unsigned;\n}\n\n// The internal representation of a long is the two given signed, 32-bit values.\n// We use 32-bit pieces because these are the size of integers on which\n// Javascript performs bit-operations. For operations like addition and\n// multiplication, we split each number into 16 bit pieces, which can easily be\n// multiplied within Javascript's floating-point representation without overflow\n// or change in sign.\n//\n// In the algorithms below, we frequently reduce the negative case to the\n// positive case by negating the input(s) and then post-processing the result.\n// Note that we must ALWAYS check specially whether those values are MIN_VALUE\n// (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\n// a positive number, it overflows back into a negative). Not handling this\n// case would often result in infinite recursion.\n//\n// Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\n// methods on which they depend.\n\n/**\n * An indicator used to reliably determine if an object is a Long or not.\n * @type {boolean}\n * @const\n * @private\n */\nLong.prototype.__isLong__;\n\nObject.defineProperty(Long.prototype, \"__isLong__\", { value: true });\n\n/**\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n * @inner\n */\nfunction isLong(obj) {\n return (obj && obj[\"__isLong__\"]) === true;\n}\n\n/**\n * @function\n * @param {*} value number\n * @returns {number}\n * @inner\n */\nfunction ctz32(value) {\n var c = Math.clz32(value & -value);\n return value ? 31 - c : c;\n}\n\n/**\n * Tests if the specified object is a Long.\n * @function\n * @param {*} obj Object\n * @returns {boolean}\n */\nLong.isLong = isLong;\n\n/**\n * A cache of the Long representations of small integer values.\n * @type {!Object}\n * @inner\n */\nvar INT_CACHE = {};\n\n/**\n * A cache of the Long representations of small unsigned integer values.\n * @type {!Object}\n * @inner\n */\nvar UINT_CACHE = {};\n\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromInt(value, unsigned) {\n var obj, cachedObj, cache;\n if (unsigned) {\n value >>>= 0;\n if (cache = (0 <= value && value < 256)) {\n cachedObj = UINT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, 0, true);\n if (cache)\n UINT_CACHE[value] = obj;\n return obj;\n } else {\n value |= 0;\n if (cache = (-128 <= value && value < 128)) {\n cachedObj = INT_CACHE[value];\n if (cachedObj)\n return cachedObj;\n }\n obj = fromBits(value, value < 0 ? -1 : 0, false);\n if (cache)\n INT_CACHE[value] = obj;\n return obj;\n }\n}\n\n/**\n * Returns a Long representing the given 32 bit integer value.\n * @function\n * @param {number} value The 32 bit integer in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\nLong.fromInt = fromInt;\n\n/**\n * @param {number} value\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromNumber(value, unsigned) {\n if (isNaN(value))\n return unsigned ? UZERO : ZERO;\n if (unsigned) {\n if (value < 0)\n return UZERO;\n if (value >= TWO_PWR_64_DBL)\n return MAX_UNSIGNED_VALUE;\n } else {\n if (value <= -TWO_PWR_63_DBL)\n return MIN_VALUE;\n if (value + 1 >= TWO_PWR_63_DBL)\n return MAX_VALUE;\n }\n if (value < 0)\n return fromNumber(-value, unsigned).neg();\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\n}\n\n/**\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\n * @function\n * @param {number} value The number in question\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\nLong.fromNumber = fromNumber;\n\n/**\n * @param {number} lowBits\n * @param {number} highBits\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromBits(lowBits, highBits, unsigned) {\n return new Long(lowBits, highBits, unsigned);\n}\n\n/**\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\n * assumed to use 32 bits.\n * @function\n * @param {number} lowBits The low 32 bits\n * @param {number} highBits The high 32 bits\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long} The corresponding Long value\n */\nLong.fromBits = fromBits;\n\n/**\n * @function\n * @param {number} base\n * @param {number} exponent\n * @returns {number}\n * @inner\n */\nvar pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\n\n/**\n * @param {string} str\n * @param {(boolean|number)=} unsigned\n * @param {number=} radix\n * @returns {!Long}\n * @inner\n */\nfunction fromString(str, unsigned, radix) {\n if (str.length === 0)\n throw Error('empty string');\n if (typeof unsigned === 'number') {\n // For goog.math.long compatibility\n radix = unsigned;\n unsigned = false;\n } else {\n unsigned = !!unsigned;\n }\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\n return unsigned ? UZERO : ZERO;\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n\n var p;\n if ((p = str.indexOf('-')) > 0)\n throw Error('interior hyphen');\n else if (p === 0) {\n return fromString(str.substring(1), unsigned, radix).neg();\n }\n\n // Do several (8) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 8));\n\n var result = ZERO;\n for (var i = 0; i < str.length; i += 8) {\n var size = Math.min(8, str.length - i),\n value = parseInt(str.substring(i, i + size), radix);\n if (size < 8) {\n var power = fromNumber(pow_dbl(radix, size));\n result = result.mul(power).add(fromNumber(value));\n } else {\n result = result.mul(radixToPower);\n result = result.add(fromNumber(value));\n }\n }\n result.unsigned = unsigned;\n return result;\n}\n\n/**\n * Returns a Long representation of the given string, written using the specified radix.\n * @function\n * @param {string} str The textual representation of the Long\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to signed\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\n * @returns {!Long} The corresponding Long value\n */\nLong.fromString = fromString;\n\n/**\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\n * @param {boolean=} unsigned\n * @returns {!Long}\n * @inner\n */\nfunction fromValue(val, unsigned) {\n if (typeof val === 'number')\n return fromNumber(val, unsigned);\n if (typeof val === 'string')\n return fromString(val, unsigned);\n // Throws for non-objects, converts non-instanceof Long:\n return fromBits(val.low, val.high, typeof unsigned === 'boolean' ? unsigned : val.unsigned);\n}\n\n/**\n * Converts the specified value to a Long using the appropriate from* function for its type.\n * @function\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {!Long}\n */\nLong.fromValue = fromValue;\n\n// NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\n// no runtime penalty for these.\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_16_DBL = 1 << 16;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_24_DBL = 1 << 24;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\n\n/**\n * @type {number}\n * @const\n * @inner\n */\nvar TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\n\n/**\n * @type {!Long}\n * @const\n * @inner\n */\nvar TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\n\n/**\n * @type {!Long}\n * @inner\n */\nvar ZERO = fromInt(0);\n\n/**\n * Signed zero.\n * @type {!Long}\n */\nLong.ZERO = ZERO;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar UZERO = fromInt(0, true);\n\n/**\n * Unsigned zero.\n * @type {!Long}\n */\nLong.UZERO = UZERO;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar ONE = fromInt(1);\n\n/**\n * Signed one.\n * @type {!Long}\n */\nLong.ONE = ONE;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar UONE = fromInt(1, true);\n\n/**\n * Unsigned one.\n * @type {!Long}\n */\nLong.UONE = UONE;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar NEG_ONE = fromInt(-1);\n\n/**\n * Signed negative one.\n * @type {!Long}\n */\nLong.NEG_ONE = NEG_ONE;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);\n\n/**\n * Maximum signed value.\n * @type {!Long}\n */\nLong.MAX_VALUE = MAX_VALUE;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);\n\n/**\n * Maximum unsigned value.\n * @type {!Long}\n */\nLong.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\n\n/**\n * @type {!Long}\n * @inner\n */\nvar MIN_VALUE = fromBits(0, 0x80000000 | 0, false);\n\n/**\n * Minimum signed value.\n * @type {!Long}\n */\nLong.MIN_VALUE = MIN_VALUE;\n\n/**\n * @alias Long.prototype\n * @inner\n */\nvar LongPrototype = Long.prototype;\n\n/**\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\n * @this {!Long}\n * @returns {number}\n */\nLongPrototype.toInt = function toInt() {\n return this.unsigned ? this.low >>> 0 : this.low;\n};\n\n/**\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\n * @this {!Long}\n * @returns {number}\n */\nLongPrototype.toNumber = function toNumber() {\n if (this.unsigned)\n return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0);\n return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\n};\n\n/**\n * Converts the Long to a string written in the specified radix.\n * @this {!Long}\n * @param {number=} radix Radix (2-36), defaults to 10\n * @returns {string}\n * @override\n * @throws {RangeError} If `radix` is out of range\n */\nLongPrototype.toString = function toString(radix) {\n radix = radix || 10;\n if (radix < 2 || 36 < radix)\n throw RangeError('radix');\n if (this.isZero())\n return '0';\n if (this.isNegative()) { // Unsigned Longs are never negative\n if (this.eq(MIN_VALUE)) {\n // We need to change the Long value before it can be negated, so we remove\n // the bottom-most digit in this base and then recurse to do the rest.\n var radixLong = fromNumber(radix),\n div = this.div(radixLong),\n rem1 = div.mul(radixLong).sub(this);\n return div.toString(radix) + rem1.toInt().toString(radix);\n } else\n return '-' + this.neg().toString(radix);\n }\n\n // Do several (6) digits each time through the loop, so as to\n // minimize the calls to the very expensive emulated div.\n var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\n rem = this;\n var result = '';\n while (true) {\n var remDiv = rem.div(radixToPower),\n intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\n digits = intval.toString(radix);\n rem = remDiv;\n if (rem.isZero())\n return digits + result;\n else {\n while (digits.length < 6)\n digits = '0' + digits;\n result = '' + digits + result;\n }\n }\n};\n\n/**\n * Gets the high 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed high bits\n */\nLongPrototype.getHighBits = function getHighBits() {\n return this.high;\n};\n\n/**\n * Gets the high 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned high bits\n */\nLongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\n return this.high >>> 0;\n};\n\n/**\n * Gets the low 32 bits as a signed integer.\n * @this {!Long}\n * @returns {number} Signed low bits\n */\nLongPrototype.getLowBits = function getLowBits() {\n return this.low;\n};\n\n/**\n * Gets the low 32 bits as an unsigned integer.\n * @this {!Long}\n * @returns {number} Unsigned low bits\n */\nLongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\n return this.low >>> 0;\n};\n\n/**\n * Gets the number of bits needed to represent the absolute value of this Long.\n * @this {!Long}\n * @returns {number}\n */\nLongPrototype.getNumBitsAbs = function getNumBitsAbs() {\n if (this.isNegative()) // Unsigned Longs are never negative\n return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\n var val = this.high != 0 ? this.high : this.low;\n for (var bit = 31; bit > 0; bit--)\n if ((val & (1 << bit)) != 0)\n break;\n return this.high != 0 ? bit + 33 : bit + 1;\n};\n\n/**\n * Tests if this Long's value equals zero.\n * @this {!Long}\n * @returns {boolean}\n */\nLongPrototype.isZero = function isZero() {\n return this.high === 0 && this.low === 0;\n};\n\n/**\n * Tests if this Long's value equals zero. This is an alias of {@link Long#isZero}.\n * @returns {boolean}\n */\nLongPrototype.eqz = LongPrototype.isZero;\n\n/**\n * Tests if this Long's value is negative.\n * @this {!Long}\n * @returns {boolean}\n */\nLongPrototype.isNegative = function isNegative() {\n return !this.unsigned && this.high < 0;\n};\n\n/**\n * Tests if this Long's value is positive or zero.\n * @this {!Long}\n * @returns {boolean}\n */\nLongPrototype.isPositive = function isPositive() {\n return this.unsigned || this.high >= 0;\n};\n\n/**\n * Tests if this Long's value is odd.\n * @this {!Long}\n * @returns {boolean}\n */\nLongPrototype.isOdd = function isOdd() {\n return (this.low & 1) === 1;\n};\n\n/**\n * Tests if this Long's value is even.\n * @this {!Long}\n * @returns {boolean}\n */\nLongPrototype.isEven = function isEven() {\n return (this.low & 1) === 0;\n};\n\n/**\n * Tests if this Long's value equals the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.equals = function equals(other) {\n if (!isLong(other))\n other = fromValue(other);\n if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1)\n return false;\n return this.high === other.high && this.low === other.low;\n};\n\n/**\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.eq = LongPrototype.equals;\n\n/**\n * Tests if this Long's value differs from the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.notEquals = function notEquals(other) {\n return !this.eq(/* validates */ other);\n};\n\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.neq = LongPrototype.notEquals;\n\n/**\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.ne = LongPrototype.notEquals;\n\n/**\n * Tests if this Long's value is less than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.lessThan = function lessThan(other) {\n return this.comp(/* validates */ other) < 0;\n};\n\n/**\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.lt = LongPrototype.lessThan;\n\n/**\n * Tests if this Long's value is less than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\n return this.comp(/* validates */ other) <= 0;\n};\n\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.lte = LongPrototype.lessThanOrEqual;\n\n/**\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.le = LongPrototype.lessThanOrEqual;\n\n/**\n * Tests if this Long's value is greater than the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.greaterThan = function greaterThan(other) {\n return this.comp(/* validates */ other) > 0;\n};\n\n/**\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.gt = LongPrototype.greaterThan;\n\n/**\n * Tests if this Long's value is greater than or equal the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\n return this.comp(/* validates */ other) >= 0;\n};\n\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.gte = LongPrototype.greaterThanOrEqual;\n\n/**\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {boolean}\n */\nLongPrototype.ge = LongPrototype.greaterThanOrEqual;\n\n/**\n * Compares this Long's value with the specified's.\n * @this {!Long}\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\nLongPrototype.compare = function compare(other) {\n if (!isLong(other))\n other = fromValue(other);\n if (this.eq(other))\n return 0;\n var thisNeg = this.isNegative(),\n otherNeg = other.isNegative();\n if (thisNeg && !otherNeg)\n return -1;\n if (!thisNeg && otherNeg)\n return 1;\n // At this point the sign bits are the same\n if (!this.unsigned)\n return this.sub(other).isNegative() ? -1 : 1;\n // Both are positive if at least one is unsigned\n return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1;\n};\n\n/**\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\n * @function\n * @param {!Long|number|string} other Other value\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\n * if the given one is greater\n */\nLongPrototype.comp = LongPrototype.compare;\n\n/**\n * Negates this Long's value.\n * @this {!Long}\n * @returns {!Long} Negated Long\n */\nLongPrototype.negate = function negate() {\n if (!this.unsigned && this.eq(MIN_VALUE))\n return MIN_VALUE;\n return this.not().add(ONE);\n};\n\n/**\n * Negates this Long's value. This is an alias of {@link Long#negate}.\n * @function\n * @returns {!Long} Negated Long\n */\nLongPrototype.neg = LongPrototype.negate;\n\n/**\n * Returns the sum of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} addend Addend\n * @returns {!Long} Sum\n */\nLongPrototype.add = function add(addend) {\n if (!isLong(addend))\n addend = fromValue(addend);\n\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\n\n var a48 = this.high >>> 16;\n var a32 = this.high & 0xFFFF;\n var a16 = this.low >>> 16;\n var a00 = this.low & 0xFFFF;\n\n var b48 = addend.high >>> 16;\n var b32 = addend.high & 0xFFFF;\n var b16 = addend.low >>> 16;\n var b00 = addend.low & 0xFFFF;\n\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 + b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 + b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 + b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 + b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\n};\n\n/**\n * Returns the difference of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\nLongPrototype.subtract = function subtract(subtrahend) {\n if (!isLong(subtrahend))\n subtrahend = fromValue(subtrahend);\n return this.add(subtrahend.neg());\n};\n\n/**\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\n * @function\n * @param {!Long|number|string} subtrahend Subtrahend\n * @returns {!Long} Difference\n */\nLongPrototype.sub = LongPrototype.subtract;\n\n/**\n * Returns the product of this and the specified Long.\n * @this {!Long}\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\nLongPrototype.multiply = function multiply(multiplier) {\n if (this.isZero())\n return this;\n if (!isLong(multiplier))\n multiplier = fromValue(multiplier);\n\n // use wasm support if present\n if (wasm) {\n var low = wasm[\"mul\"](this.low,\n this.high,\n multiplier.low,\n multiplier.high);\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n\n if (multiplier.isZero())\n return this.unsigned ? UZERO : ZERO;\n if (this.eq(MIN_VALUE))\n return multiplier.isOdd() ? MIN_VALUE : ZERO;\n if (multiplier.eq(MIN_VALUE))\n return this.isOdd() ? MIN_VALUE : ZERO;\n\n if (this.isNegative()) {\n if (multiplier.isNegative())\n return this.neg().mul(multiplier.neg());\n else\n return this.neg().mul(multiplier).neg();\n } else if (multiplier.isNegative())\n return this.mul(multiplier.neg()).neg();\n\n // If both longs are small, use float multiplication\n if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24))\n return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\n\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\n // We can skip products that would overflow.\n\n var a48 = this.high >>> 16;\n var a32 = this.high & 0xFFFF;\n var a16 = this.low >>> 16;\n var a00 = this.low & 0xFFFF;\n\n var b48 = multiplier.high >>> 16;\n var b32 = multiplier.high & 0xFFFF;\n var b16 = multiplier.low >>> 16;\n var b00 = multiplier.low & 0xFFFF;\n\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\n c00 += a00 * b00;\n c16 += c00 >>> 16;\n c00 &= 0xFFFF;\n c16 += a16 * b00;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c16 += a00 * b16;\n c32 += c16 >>> 16;\n c16 &= 0xFFFF;\n c32 += a32 * b00;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a16 * b16;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c32 += a00 * b32;\n c48 += c32 >>> 16;\n c32 &= 0xFFFF;\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n c48 &= 0xFFFF;\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\n};\n\n/**\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\n * @function\n * @param {!Long|number|string} multiplier Multiplier\n * @returns {!Long} Product\n */\nLongPrototype.mul = LongPrototype.multiply;\n\n/**\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\n * unsigned if this Long is unsigned.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\nLongPrototype.divide = function divide(divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n if (divisor.isZero())\n throw Error('division by zero');\n\n // use wasm support if present\n if (wasm) {\n // guard against signed division overflow: the largest\n // negative number / -1 would be 1 larger than the largest\n // positive number, due to two's complement.\n if (!this.unsigned &&\n this.high === -0x80000000 &&\n divisor.low === -1 && divisor.high === -1) {\n // be consistent with non-wasm code path\n return this;\n }\n var low = (this.unsigned ? wasm[\"div_u\"] : wasm[\"div_s\"])(\n this.low,\n this.high,\n divisor.low,\n divisor.high\n );\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n\n if (this.isZero())\n return this.unsigned ? UZERO : ZERO;\n var approx, rem, res;\n if (!this.unsigned) {\n // This section is only relevant for signed longs and is derived from the\n // closure library as a whole.\n if (this.eq(MIN_VALUE)) {\n if (divisor.eq(ONE) || divisor.eq(NEG_ONE))\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\n else if (divisor.eq(MIN_VALUE))\n return ONE;\n else {\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\n var halfThis = this.shr(1);\n approx = halfThis.div(divisor).shl(1);\n if (approx.eq(ZERO)) {\n return divisor.isNegative() ? ONE : NEG_ONE;\n } else {\n rem = this.sub(divisor.mul(approx));\n res = approx.add(rem.div(divisor));\n return res;\n }\n }\n } else if (divisor.eq(MIN_VALUE))\n return this.unsigned ? UZERO : ZERO;\n if (this.isNegative()) {\n if (divisor.isNegative())\n return this.neg().div(divisor.neg());\n return this.neg().div(divisor).neg();\n } else if (divisor.isNegative())\n return this.div(divisor.neg()).neg();\n res = ZERO;\n } else {\n // The algorithm below has not been made for unsigned longs. It's therefore\n // required to take special care of the MSB prior to running it.\n if (!divisor.unsigned)\n divisor = divisor.toUnsigned();\n if (divisor.gt(this))\n return UZERO;\n if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\n return UONE;\n res = UZERO;\n }\n\n // Repeat the following until the remainder is less than other: find a\n // floating-point that approximates remainder / other *from below*, add this\n // into the result, and subtract it from the remainder. It is critical that\n // the approximate value is less than or equal to the real value so that the\n // remainder never becomes negative.\n rem = this;\n while (rem.gte(divisor)) {\n // Approximate the result of division. This may be a little greater or\n // smaller than the actual value.\n approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\n\n // We will tweak the approximate result by changing it in the 48-th digit or\n // the smallest non-fractional digit, whichever is larger.\n var log2 = Math.ceil(Math.log(approx) / Math.LN2),\n delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48),\n\n // Decrease the approximation until it is smaller than the remainder. Note\n // that if it is too large, the product overflows and is negative.\n approxRes = fromNumber(approx),\n approxRem = approxRes.mul(divisor);\n while (approxRem.isNegative() || approxRem.gt(rem)) {\n approx -= delta;\n approxRes = fromNumber(approx, this.unsigned);\n approxRem = approxRes.mul(divisor);\n }\n\n // We know the answer can't be zero... and actually, zero would cause\n // infinite recursion since we would make no progress.\n if (approxRes.isZero())\n approxRes = ONE;\n\n res = res.add(approxRes);\n rem = rem.sub(approxRem);\n }\n return res;\n};\n\n/**\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Quotient\n */\nLongPrototype.div = LongPrototype.divide;\n\n/**\n * Returns this Long modulo the specified.\n * @this {!Long}\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\nLongPrototype.modulo = function modulo(divisor) {\n if (!isLong(divisor))\n divisor = fromValue(divisor);\n\n // use wasm support if present\n if (wasm) {\n var low = (this.unsigned ? wasm[\"rem_u\"] : wasm[\"rem_s\"])(\n this.low,\n this.high,\n divisor.low,\n divisor.high\n );\n return fromBits(low, wasm[\"get_high\"](), this.unsigned);\n }\n\n return this.sub(this.div(divisor).mul(divisor));\n};\n\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\nLongPrototype.mod = LongPrototype.modulo;\n\n/**\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\n * @function\n * @param {!Long|number|string} divisor Divisor\n * @returns {!Long} Remainder\n */\nLongPrototype.rem = LongPrototype.modulo;\n\n/**\n * Returns the bitwise NOT of this Long.\n * @this {!Long}\n * @returns {!Long}\n */\nLongPrototype.not = function not() {\n return fromBits(~this.low, ~this.high, this.unsigned);\n};\n\n/**\n * Returns count leading zeros of this Long.\n * @this {!Long}\n * @returns {!number}\n */\nLongPrototype.countLeadingZeros = function countLeadingZeros() {\n return this.high ? Math.clz32(this.high) : Math.clz32(this.low) + 32;\n};\n\n/**\n * Returns count leading zeros. This is an alias of {@link Long#countLeadingZeros}.\n * @function\n * @param {!Long}\n * @returns {!number}\n */\nLongPrototype.clz = LongPrototype.countLeadingZeros;\n\n/**\n * Returns count trailing zeros of this Long.\n * @this {!Long}\n * @returns {!number}\n */\nLongPrototype.countTrailingZeros = function countTrailingZeros() {\n return this.low ? ctz32(this.low) : ctz32(this.high) + 32;\n};\n\n/**\n * Returns count trailing zeros. This is an alias of {@link Long#countTrailingZeros}.\n * @function\n * @param {!Long}\n * @returns {!number}\n */\nLongPrototype.ctz = LongPrototype.countTrailingZeros;\n\n/**\n * Returns the bitwise AND of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nLongPrototype.and = function and(other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\n};\n\n/**\n * Returns the bitwise OR of this Long and the specified.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nLongPrototype.or = function or(other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\n};\n\n/**\n * Returns the bitwise XOR of this Long and the given one.\n * @this {!Long}\n * @param {!Long|number|string} other Other Long\n * @returns {!Long}\n */\nLongPrototype.xor = function xor(other) {\n if (!isLong(other))\n other = fromValue(other);\n return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\n};\n\n/**\n * Returns this Long with bits shifted to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shiftLeft = function shiftLeft(numBits) {\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n else if (numBits < 32)\n return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned);\n else\n return fromBits(0, this.low << (numBits - 32), this.unsigned);\n};\n\n/**\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shl = LongPrototype.shiftLeft;\n\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shiftRight = function shiftRight(numBits) {\n if (isLong(numBits))\n numBits = numBits.toInt();\n if ((numBits &= 63) === 0)\n return this;\n else if (numBits < 32)\n return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned);\n else\n return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned);\n};\n\n/**\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shr = LongPrototype.shiftRight;\n\n/**\n * Returns this Long with bits logically shifted to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits < 32) return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >>> numBits, this.unsigned);\n if (numBits === 32) return fromBits(this.high, 0, this.unsigned);\n return fromBits(this.high >>> (numBits - 32), 0, this.unsigned);\n};\n\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shru = LongPrototype.shiftRightUnsigned;\n\n/**\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Shifted Long\n */\nLongPrototype.shr_u = LongPrototype.shiftRightUnsigned;\n\n/**\n * Returns this Long with bits rotated to the left by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nLongPrototype.rotateLeft = function rotateLeft(numBits) {\n var b;\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.low << numBits) | (this.high >>> b)), ((this.high << numBits) | (this.low >>> b)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.high << numBits) | (this.low >>> b)), ((this.low << numBits) | (this.high >>> b)), this.unsigned);\n}\n/**\n * Returns this Long with bits rotated to the left by the given amount. This is an alias of {@link Long#rotateLeft}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nLongPrototype.rotl = LongPrototype.rotateLeft;\n\n/**\n * Returns this Long with bits rotated to the right by the given amount.\n * @this {!Long}\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nLongPrototype.rotateRight = function rotateRight(numBits) {\n var b;\n if (isLong(numBits)) numBits = numBits.toInt();\n if ((numBits &= 63) === 0) return this;\n if (numBits === 32) return fromBits(this.high, this.low, this.unsigned);\n if (numBits < 32) {\n b = (32 - numBits);\n return fromBits(((this.high << b) | (this.low >>> numBits)), ((this.low << b) | (this.high >>> numBits)), this.unsigned);\n }\n numBits -= 32;\n b = (32 - numBits);\n return fromBits(((this.low << b) | (this.high >>> numBits)), ((this.high << b) | (this.low >>> numBits)), this.unsigned);\n}\n/**\n * Returns this Long with bits rotated to the right by the given amount. This is an alias of {@link Long#rotateRight}.\n * @function\n * @param {number|!Long} numBits Number of bits\n * @returns {!Long} Rotated Long\n */\nLongPrototype.rotr = LongPrototype.rotateRight;\n\n/**\n * Converts this Long to signed.\n * @this {!Long}\n * @returns {!Long} Signed long\n */\nLongPrototype.toSigned = function toSigned() {\n if (!this.unsigned)\n return this;\n return fromBits(this.low, this.high, false);\n};\n\n/**\n * Converts this Long to unsigned.\n * @this {!Long}\n * @returns {!Long} Unsigned long\n */\nLongPrototype.toUnsigned = function toUnsigned() {\n if (this.unsigned)\n return this;\n return fromBits(this.low, this.high, true);\n};\n\n/**\n * Converts this Long to its byte representation.\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @this {!Long}\n * @returns {!Array.} Byte representation\n */\nLongPrototype.toBytes = function toBytes(le) {\n return le ? this.toBytesLE() : this.toBytesBE();\n};\n\n/**\n * Converts this Long to its little endian byte representation.\n * @this {!Long}\n * @returns {!Array.} Little endian byte representation\n */\nLongPrototype.toBytesLE = function toBytesLE() {\n var hi = this.high,\n lo = this.low;\n return [\n lo & 0xff,\n lo >>> 8 & 0xff,\n lo >>> 16 & 0xff,\n lo >>> 24,\n hi & 0xff,\n hi >>> 8 & 0xff,\n hi >>> 16 & 0xff,\n hi >>> 24\n ];\n};\n\n/**\n * Converts this Long to its big endian byte representation.\n * @this {!Long}\n * @returns {!Array.} Big endian byte representation\n */\nLongPrototype.toBytesBE = function toBytesBE() {\n var hi = this.high,\n lo = this.low;\n return [\n hi >>> 24,\n hi >>> 16 & 0xff,\n hi >>> 8 & 0xff,\n hi & 0xff,\n lo >>> 24,\n lo >>> 16 & 0xff,\n lo >>> 8 & 0xff,\n lo & 0xff\n ];\n};\n\n/**\n * Creates a Long from its byte representation.\n * @param {!Array.} bytes Byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @param {boolean=} le Whether little or big endian, defaults to big endian\n * @returns {Long} The corresponding Long value\n */\nLong.fromBytes = function fromBytes(bytes, unsigned, le) {\n return le ? Long.fromBytesLE(bytes, unsigned) : Long.fromBytesBE(bytes, unsigned);\n};\n\n/**\n * Creates a Long from its little endian byte representation.\n * @param {!Array.} bytes Little endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nLong.fromBytesLE = function fromBytesLE(bytes, unsigned) {\n return new Long(\n bytes[0] |\n bytes[1] << 8 |\n bytes[2] << 16 |\n bytes[3] << 24,\n bytes[4] |\n bytes[5] << 8 |\n bytes[6] << 16 |\n bytes[7] << 24,\n unsigned\n );\n};\n\n/**\n * Creates a Long from its big endian byte representation.\n * @param {!Array.} bytes Big endian byte representation\n * @param {boolean=} unsigned Whether unsigned or not, defaults to signed\n * @returns {Long} The corresponding Long value\n */\nLong.fromBytesBE = function fromBytesBE(bytes, unsigned) {\n return new Long(\n bytes[4] << 24 |\n bytes[5] << 16 |\n bytes[6] << 8 |\n bytes[7],\n bytes[0] << 24 |\n bytes[1] << 16 |\n bytes[2] << 8 |\n bytes[3],\n unsigned\n );\n};\n\nexport default Long;\n","\"use strict\";\r\nmodule.exports = asPromise;\r\n\r\n/**\r\n * Callback as used by {@link util.asPromise}.\r\n * @typedef asPromiseCallback\r\n * @type {function}\r\n * @param {Error|null} error Error, if any\r\n * @param {...*} params Additional arguments\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Returns a promise from a node-style callback function.\r\n * @memberof util\r\n * @param {asPromiseCallback} fn Function to call\r\n * @param {*} ctx Function context\r\n * @param {...*} params Function arguments\r\n * @returns {Promise<*>} Promisified function\r\n */\r\nfunction asPromise(fn, ctx/*, varargs */) {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0,\r\n index = 2,\r\n pending = true;\r\n while (index < arguments.length)\r\n params[offset++] = arguments[index++];\r\n return new Promise(function executor(resolve, reject) {\r\n params[offset] = function callback(err/*, varargs */) {\r\n if (pending) {\r\n pending = false;\r\n if (err)\r\n reject(err);\r\n else {\r\n var params = new Array(arguments.length - 1),\r\n offset = 0;\r\n while (offset < params.length)\r\n params[offset++] = arguments[offset];\r\n resolve.apply(null, params);\r\n }\r\n }\r\n };\r\n try {\r\n fn.apply(ctx || null, params);\r\n } catch (err) {\r\n if (pending) {\r\n pending = false;\r\n reject(err);\r\n }\r\n }\r\n });\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal base64 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar base64 = exports;\r\n\r\n/**\r\n * Calculates the byte length of a base64 encoded string.\r\n * @param {string} string Base64 encoded string\r\n * @returns {number} Byte length\r\n */\r\nbase64.length = function length(string) {\r\n var p = string.length;\r\n if (!p)\r\n return 0;\r\n var n = 0;\r\n while (--p % 4 > 1 && string.charAt(p) === \"=\")\r\n ++n;\r\n return Math.ceil(string.length * 3) / 4 - n;\r\n};\r\n\r\n// Base64 encoding table\r\nvar b64 = new Array(64);\r\n\r\n// Base64 decoding table\r\nvar s64 = new Array(123);\r\n\r\n// 65..90, 97..122, 48..57, 43, 47\r\nfor (var i = 0; i < 64;)\r\n s64[b64[i] = i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i - 59 | 43] = i++;\r\n\r\n/**\r\n * Encodes a buffer to a base64 encoded string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} Base64 encoded string\r\n */\r\nbase64.encode = function encode(buffer, start, end) {\r\n var parts = null,\r\n chunk = [];\r\n var i = 0, // output index\r\n j = 0, // goto index\r\n t; // temporary\r\n while (start < end) {\r\n var b = buffer[start++];\r\n switch (j) {\r\n case 0:\r\n chunk[i++] = b64[b >> 2];\r\n t = (b & 3) << 4;\r\n j = 1;\r\n break;\r\n case 1:\r\n chunk[i++] = b64[t | b >> 4];\r\n t = (b & 15) << 2;\r\n j = 2;\r\n break;\r\n case 2:\r\n chunk[i++] = b64[t | b >> 6];\r\n chunk[i++] = b64[b & 63];\r\n j = 0;\r\n break;\r\n }\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (j) {\r\n chunk[i++] = b64[t];\r\n chunk[i++] = 61;\r\n if (j === 1)\r\n chunk[i++] = 61;\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\nvar invalidEncoding = \"invalid encoding\";\r\n\r\n/**\r\n * Decodes a base64 encoded string to a buffer.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Number of bytes written\r\n * @throws {Error} If encoding is invalid\r\n */\r\nbase64.decode = function decode(string, buffer, offset) {\r\n var start = offset;\r\n var j = 0, // goto index\r\n t; // temporary\r\n for (var i = 0; i < string.length;) {\r\n var c = string.charCodeAt(i++);\r\n if (c === 61 && j > 1)\r\n break;\r\n if ((c = s64[c]) === undefined)\r\n throw Error(invalidEncoding);\r\n switch (j) {\r\n case 0:\r\n t = c;\r\n j = 1;\r\n break;\r\n case 1:\r\n buffer[offset++] = t << 2 | (c & 48) >> 4;\r\n t = c;\r\n j = 2;\r\n break;\r\n case 2:\r\n buffer[offset++] = (t & 15) << 4 | (c & 60) >> 2;\r\n t = c;\r\n j = 3;\r\n break;\r\n case 3:\r\n buffer[offset++] = (t & 3) << 6 | c;\r\n j = 0;\r\n break;\r\n }\r\n }\r\n if (j === 1)\r\n throw Error(invalidEncoding);\r\n return offset - start;\r\n};\r\n\r\n/**\r\n * Tests if the specified string appears to be base64 encoded.\r\n * @param {string} string String to test\r\n * @returns {boolean} `true` if probably base64 encoded, otherwise false\r\n */\r\nbase64.test = function test(string) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(string);\r\n};\r\n","\"use strict\";\r\nmodule.exports = EventEmitter;\r\n\r\n/**\r\n * Constructs a new event emitter instance.\r\n * @classdesc A minimal event emitter.\r\n * @memberof util\r\n * @constructor\r\n */\r\nfunction EventEmitter() {\r\n\r\n /**\r\n * Registered listeners.\r\n * @type {Object.}\r\n * @private\r\n */\r\n this._listeners = {};\r\n}\r\n\r\n/**\r\n * Registers an event listener.\r\n * @param {string} evt Event name\r\n * @param {function} fn Listener\r\n * @param {*} [ctx] Listener context\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.on = function on(evt, fn, ctx) {\r\n (this._listeners[evt] || (this._listeners[evt] = [])).push({\r\n fn : fn,\r\n ctx : ctx || this\r\n });\r\n return this;\r\n};\r\n\r\n/**\r\n * Removes an event listener or any matching listeners if arguments are omitted.\r\n * @param {string} [evt] Event name. Removes all listeners if omitted.\r\n * @param {function} [fn] Listener to remove. Removes all listeners of `evt` if omitted.\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.off = function off(evt, fn) {\r\n if (evt === undefined)\r\n this._listeners = {};\r\n else {\r\n if (fn === undefined)\r\n this._listeners[evt] = [];\r\n else {\r\n var listeners = this._listeners[evt];\r\n for (var i = 0; i < listeners.length;)\r\n if (listeners[i].fn === fn)\r\n listeners.splice(i, 1);\r\n else\r\n ++i;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emits an event by calling its listeners with the specified arguments.\r\n * @param {string} evt Event name\r\n * @param {...*} args Arguments\r\n * @returns {util.EventEmitter} `this`\r\n */\r\nEventEmitter.prototype.emit = function emit(evt) {\r\n var listeners = this._listeners[evt];\r\n if (listeners) {\r\n var args = [],\r\n i = 1;\r\n for (; i < arguments.length;)\r\n args.push(arguments[i++]);\r\n for (i = 0; i < listeners.length;)\r\n listeners[i].fn.apply(listeners[i++].ctx, args);\r\n }\r\n return this;\r\n};\r\n","\"use strict\";\r\n\r\nmodule.exports = factory(factory);\r\n\r\n/**\r\n * Reads / writes floats / doubles from / to buffers.\r\n * @name util.float\r\n * @namespace\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using little endian byte order.\r\n * @name util.float.writeFloatLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 32 bit float to a buffer using big endian byte order.\r\n * @name util.float.writeFloatBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using little endian byte order.\r\n * @name util.float.readFloatLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 32 bit float from a buffer using big endian byte order.\r\n * @name util.float.readFloatBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using little endian byte order.\r\n * @name util.float.writeDoubleLE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Writes a 64 bit double to a buffer using big endian byte order.\r\n * @name util.float.writeDoubleBE\r\n * @function\r\n * @param {number} val Value to write\r\n * @param {Uint8Array} buf Target buffer\r\n * @param {number} pos Target buffer offset\r\n * @returns {undefined}\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using little endian byte order.\r\n * @name util.float.readDoubleLE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n/**\r\n * Reads a 64 bit double from a buffer using big endian byte order.\r\n * @name util.float.readDoubleBE\r\n * @function\r\n * @param {Uint8Array} buf Source buffer\r\n * @param {number} pos Source buffer offset\r\n * @returns {number} Value read\r\n */\r\n\r\n// Factory function for the purpose of node-based testing in modified global environments\r\nfunction factory(exports) {\r\n\r\n // float: typed array\r\n if (typeof Float32Array !== \"undefined\") (function() {\r\n\r\n var f32 = new Float32Array([ -0 ]),\r\n f8b = new Uint8Array(f32.buffer),\r\n le = f8b[3] === 128;\r\n\r\n function writeFloat_f32_cpy(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n }\r\n\r\n function writeFloat_f32_rev(val, buf, pos) {\r\n f32[0] = val;\r\n buf[pos ] = f8b[3];\r\n buf[pos + 1] = f8b[2];\r\n buf[pos + 2] = f8b[1];\r\n buf[pos + 3] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeFloatLE = le ? writeFloat_f32_cpy : writeFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.writeFloatBE = le ? writeFloat_f32_rev : writeFloat_f32_cpy;\r\n\r\n function readFloat_f32_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n function readFloat_f32_rev(buf, pos) {\r\n f8b[3] = buf[pos ];\r\n f8b[2] = buf[pos + 1];\r\n f8b[1] = buf[pos + 2];\r\n f8b[0] = buf[pos + 3];\r\n return f32[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readFloatLE = le ? readFloat_f32_cpy : readFloat_f32_rev;\r\n /* istanbul ignore next */\r\n exports.readFloatBE = le ? readFloat_f32_rev : readFloat_f32_cpy;\r\n\r\n // float: ieee754\r\n })(); else (function() {\r\n\r\n function writeFloat_ieee754(writeUint, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0)\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos);\r\n else if (isNaN(val))\r\n writeUint(2143289344, buf, pos);\r\n else if (val > 3.4028234663852886e+38) // +-Infinity\r\n writeUint((sign << 31 | 2139095040) >>> 0, buf, pos);\r\n else if (val < 1.1754943508222875e-38) // denormal\r\n writeUint((sign << 31 | Math.round(val / 1.401298464324817e-45)) >>> 0, buf, pos);\r\n else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2),\r\n mantissa = Math.round(val * Math.pow(2, -exponent) * 8388608) & 8388607;\r\n writeUint((sign << 31 | exponent + 127 << 23 | mantissa) >>> 0, buf, pos);\r\n }\r\n }\r\n\r\n exports.writeFloatLE = writeFloat_ieee754.bind(null, writeUintLE);\r\n exports.writeFloatBE = writeFloat_ieee754.bind(null, writeUintBE);\r\n\r\n function readFloat_ieee754(readUint, buf, pos) {\r\n var uint = readUint(buf, pos),\r\n sign = (uint >> 31) * 2 + 1,\r\n exponent = uint >>> 23 & 255,\r\n mantissa = uint & 8388607;\r\n return exponent === 255\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 1.401298464324817e-45 * mantissa\r\n : sign * Math.pow(2, exponent - 150) * (mantissa + 8388608);\r\n }\r\n\r\n exports.readFloatLE = readFloat_ieee754.bind(null, readUintLE);\r\n exports.readFloatBE = readFloat_ieee754.bind(null, readUintBE);\r\n\r\n })();\r\n\r\n // double: typed array\r\n if (typeof Float64Array !== \"undefined\") (function() {\r\n\r\n var f64 = new Float64Array([-0]),\r\n f8b = new Uint8Array(f64.buffer),\r\n le = f8b[7] === 128;\r\n\r\n function writeDouble_f64_cpy(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[0];\r\n buf[pos + 1] = f8b[1];\r\n buf[pos + 2] = f8b[2];\r\n buf[pos + 3] = f8b[3];\r\n buf[pos + 4] = f8b[4];\r\n buf[pos + 5] = f8b[5];\r\n buf[pos + 6] = f8b[6];\r\n buf[pos + 7] = f8b[7];\r\n }\r\n\r\n function writeDouble_f64_rev(val, buf, pos) {\r\n f64[0] = val;\r\n buf[pos ] = f8b[7];\r\n buf[pos + 1] = f8b[6];\r\n buf[pos + 2] = f8b[5];\r\n buf[pos + 3] = f8b[4];\r\n buf[pos + 4] = f8b[3];\r\n buf[pos + 5] = f8b[2];\r\n buf[pos + 6] = f8b[1];\r\n buf[pos + 7] = f8b[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.writeDoubleLE = le ? writeDouble_f64_cpy : writeDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.writeDoubleBE = le ? writeDouble_f64_rev : writeDouble_f64_cpy;\r\n\r\n function readDouble_f64_cpy(buf, pos) {\r\n f8b[0] = buf[pos ];\r\n f8b[1] = buf[pos + 1];\r\n f8b[2] = buf[pos + 2];\r\n f8b[3] = buf[pos + 3];\r\n f8b[4] = buf[pos + 4];\r\n f8b[5] = buf[pos + 5];\r\n f8b[6] = buf[pos + 6];\r\n f8b[7] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n function readDouble_f64_rev(buf, pos) {\r\n f8b[7] = buf[pos ];\r\n f8b[6] = buf[pos + 1];\r\n f8b[5] = buf[pos + 2];\r\n f8b[4] = buf[pos + 3];\r\n f8b[3] = buf[pos + 4];\r\n f8b[2] = buf[pos + 5];\r\n f8b[1] = buf[pos + 6];\r\n f8b[0] = buf[pos + 7];\r\n return f64[0];\r\n }\r\n\r\n /* istanbul ignore next */\r\n exports.readDoubleLE = le ? readDouble_f64_cpy : readDouble_f64_rev;\r\n /* istanbul ignore next */\r\n exports.readDoubleBE = le ? readDouble_f64_rev : readDouble_f64_cpy;\r\n\r\n // double: ieee754\r\n })(); else (function() {\r\n\r\n function writeDouble_ieee754(writeUint, off0, off1, val, buf, pos) {\r\n var sign = val < 0 ? 1 : 0;\r\n if (sign)\r\n val = -val;\r\n if (val === 0) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(1 / val > 0 ? /* positive */ 0 : /* negative 0 */ 2147483648, buf, pos + off1);\r\n } else if (isNaN(val)) {\r\n writeUint(0, buf, pos + off0);\r\n writeUint(2146959360, buf, pos + off1);\r\n } else if (val > 1.7976931348623157e+308) { // +-Infinity\r\n writeUint(0, buf, pos + off0);\r\n writeUint((sign << 31 | 2146435072) >>> 0, buf, pos + off1);\r\n } else {\r\n var mantissa;\r\n if (val < 2.2250738585072014e-308) { // denormal\r\n mantissa = val / 5e-324;\r\n writeUint(mantissa >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | mantissa / 4294967296) >>> 0, buf, pos + off1);\r\n } else {\r\n var exponent = Math.floor(Math.log(val) / Math.LN2);\r\n if (exponent === 1024)\r\n exponent = 1023;\r\n mantissa = val * Math.pow(2, -exponent);\r\n writeUint(mantissa * 4503599627370496 >>> 0, buf, pos + off0);\r\n writeUint((sign << 31 | exponent + 1023 << 20 | mantissa * 1048576 & 1048575) >>> 0, buf, pos + off1);\r\n }\r\n }\r\n }\r\n\r\n exports.writeDoubleLE = writeDouble_ieee754.bind(null, writeUintLE, 0, 4);\r\n exports.writeDoubleBE = writeDouble_ieee754.bind(null, writeUintBE, 4, 0);\r\n\r\n function readDouble_ieee754(readUint, off0, off1, buf, pos) {\r\n var lo = readUint(buf, pos + off0),\r\n hi = readUint(buf, pos + off1);\r\n var sign = (hi >> 31) * 2 + 1,\r\n exponent = hi >>> 20 & 2047,\r\n mantissa = 4294967296 * (hi & 1048575) + lo;\r\n return exponent === 2047\r\n ? mantissa\r\n ? NaN\r\n : sign * Infinity\r\n : exponent === 0 // denormal\r\n ? sign * 5e-324 * mantissa\r\n : sign * Math.pow(2, exponent - 1075) * (mantissa + 4503599627370496);\r\n }\r\n\r\n exports.readDoubleLE = readDouble_ieee754.bind(null, readUintLE, 0, 4);\r\n exports.readDoubleBE = readDouble_ieee754.bind(null, readUintBE, 4, 0);\r\n\r\n })();\r\n\r\n return exports;\r\n}\r\n\r\n// uint helpers\r\n\r\nfunction writeUintLE(val, buf, pos) {\r\n buf[pos ] = val & 255;\r\n buf[pos + 1] = val >>> 8 & 255;\r\n buf[pos + 2] = val >>> 16 & 255;\r\n buf[pos + 3] = val >>> 24;\r\n}\r\n\r\nfunction writeUintBE(val, buf, pos) {\r\n buf[pos ] = val >>> 24;\r\n buf[pos + 1] = val >>> 16 & 255;\r\n buf[pos + 2] = val >>> 8 & 255;\r\n buf[pos + 3] = val & 255;\r\n}\r\n\r\nfunction readUintLE(buf, pos) {\r\n return (buf[pos ]\r\n | buf[pos + 1] << 8\r\n | buf[pos + 2] << 16\r\n | buf[pos + 3] << 24) >>> 0;\r\n}\r\n\r\nfunction readUintBE(buf, pos) {\r\n return (buf[pos ] << 24\r\n | buf[pos + 1] << 16\r\n | buf[pos + 2] << 8\r\n | buf[pos + 3]) >>> 0;\r\n}\r\n","\"use strict\";\r\nmodule.exports = inquire;\r\n\r\n/**\r\n * Requires a module only if available.\r\n * @memberof util\r\n * @param {string} moduleName Module to require\r\n * @returns {?Object} Required module if available and not empty, otherwise `null`\r\n */\r\nfunction inquire(moduleName) {\r\n try {\r\n var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval\r\n if (mod && (mod.length || Object.keys(mod).length))\r\n return mod;\r\n } catch (e) {} // eslint-disable-line no-empty\r\n return null;\r\n}\r\n","\"use strict\";\r\n\r\n/**\r\n * A minimal UTF8 implementation for number arrays.\r\n * @memberof util\r\n * @namespace\r\n */\r\nvar utf8 = exports;\r\n\r\n/**\r\n * Calculates the UTF8 byte length of a string.\r\n * @param {string} string String\r\n * @returns {number} Byte length\r\n */\r\nutf8.length = function utf8_length(string) {\r\n var len = 0,\r\n c = 0;\r\n for (var i = 0; i < string.length; ++i) {\r\n c = string.charCodeAt(i);\r\n if (c < 128)\r\n len += 1;\r\n else if (c < 2048)\r\n len += 2;\r\n else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {\r\n ++i;\r\n len += 4;\r\n } else\r\n len += 3;\r\n }\r\n return len;\r\n};\r\n\r\n/**\r\n * Reads UTF8 bytes as a string.\r\n * @param {Uint8Array} buffer Source buffer\r\n * @param {number} start Source start\r\n * @param {number} end Source end\r\n * @returns {string} String read\r\n */\r\nutf8.read = function utf8_read(buffer, start, end) {\r\n var len = end - start;\r\n if (len < 1)\r\n return \"\";\r\n var parts = null,\r\n chunk = [],\r\n i = 0, // char offset\r\n t; // temporary\r\n while (start < end) {\r\n t = buffer[start++];\r\n if (t < 128)\r\n chunk[i++] = t;\r\n else if (t > 191 && t < 224)\r\n chunk[i++] = (t & 31) << 6 | buffer[start++] & 63;\r\n else if (t > 239 && t < 365) {\r\n t = ((t & 7) << 18 | (buffer[start++] & 63) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63) - 0x10000;\r\n chunk[i++] = 0xD800 + (t >> 10);\r\n chunk[i++] = 0xDC00 + (t & 1023);\r\n } else\r\n chunk[i++] = (t & 15) << 12 | (buffer[start++] & 63) << 6 | buffer[start++] & 63;\r\n if (i > 8191) {\r\n (parts || (parts = [])).push(String.fromCharCode.apply(String, chunk));\r\n i = 0;\r\n }\r\n }\r\n if (parts) {\r\n if (i)\r\n parts.push(String.fromCharCode.apply(String, chunk.slice(0, i)));\r\n return parts.join(\"\");\r\n }\r\n return String.fromCharCode.apply(String, chunk.slice(0, i));\r\n};\r\n\r\n/**\r\n * Writes a string as UTF8 bytes.\r\n * @param {string} string Source string\r\n * @param {Uint8Array} buffer Destination buffer\r\n * @param {number} offset Destination offset\r\n * @returns {number} Bytes written\r\n */\r\nutf8.write = function utf8_write(string, buffer, offset) {\r\n var start = offset,\r\n c1, // character 1\r\n c2; // character 2\r\n for (var i = 0; i < string.length; ++i) {\r\n c1 = string.charCodeAt(i);\r\n if (c1 < 128) {\r\n buffer[offset++] = c1;\r\n } else if (c1 < 2048) {\r\n buffer[offset++] = c1 >> 6 | 192;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {\r\n c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);\r\n ++i;\r\n buffer[offset++] = c1 >> 18 | 240;\r\n buffer[offset++] = c1 >> 12 & 63 | 128;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n } else {\r\n buffer[offset++] = c1 >> 12 | 224;\r\n buffer[offset++] = c1 >> 6 & 63 | 128;\r\n buffer[offset++] = c1 & 63 | 128;\r\n }\r\n }\r\n return offset - start;\r\n};\r\n","\"use strict\";\r\nmodule.exports = pool;\r\n\r\n/**\r\n * An allocator as used by {@link util.pool}.\r\n * @typedef PoolAllocator\r\n * @type {function}\r\n * @param {number} size Buffer size\r\n * @returns {Uint8Array} Buffer\r\n */\r\n\r\n/**\r\n * A slicer as used by {@link util.pool}.\r\n * @typedef PoolSlicer\r\n * @type {function}\r\n * @param {number} start Start offset\r\n * @param {number} end End offset\r\n * @returns {Uint8Array} Buffer slice\r\n * @this {Uint8Array}\r\n */\r\n\r\n/**\r\n * A general purpose buffer pool.\r\n * @memberof util\r\n * @function\r\n * @param {PoolAllocator} alloc Allocator\r\n * @param {PoolSlicer} slice Slicer\r\n * @param {number} [size=8192] Slab size\r\n * @returns {PoolAllocator} Pooled allocator\r\n */\r\nfunction pool(alloc, slice, size) {\r\n var SIZE = size || 8192;\r\n var MAX = SIZE >>> 1;\r\n var slab = null;\r\n var offset = SIZE;\r\n return function pool_alloc(size) {\r\n if (size < 1 || size > MAX)\r\n return alloc(size);\r\n if (offset + size > SIZE) {\r\n slab = alloc(SIZE);\r\n offset = 0;\r\n }\r\n var buf = slice.call(slab, offset, offset += size);\r\n if (offset & 7) // align to 32 bit\r\n offset = (offset | 7) + 1;\r\n return buf;\r\n };\r\n}\r\n","\"use strict\";\nmodule.exports = LongBits;\n\nvar util = require(\"../util/minimal\");\n\n/**\n * Constructs new long bits.\n * @classdesc Helper class for working with the low and high bits of a 64 bit value.\n * @memberof util\n * @constructor\n * @param {number} lo Low 32 bits, unsigned\n * @param {number} hi High 32 bits, unsigned\n */\nfunction LongBits(lo, hi) {\n\n // note that the casts below are theoretically unnecessary as of today, but older statically\n // generated converter code might still call the ctor with signed 32bits. kept for compat.\n\n /**\n * Low bits.\n * @type {number}\n */\n this.lo = lo >>> 0;\n\n /**\n * High bits.\n * @type {number}\n */\n this.hi = hi >>> 0;\n}\n\n/**\n * Zero bits.\n * @memberof util.LongBits\n * @type {util.LongBits}\n */\nvar zero = LongBits.zero = new LongBits(0, 0);\n\nzero.toNumber = function() { return 0; };\nzero.zzEncode = zero.zzDecode = function() { return this; };\nzero.length = function() { return 1; };\n\n/**\n * Zero hash.\n * @memberof util.LongBits\n * @type {string}\n */\nvar zeroHash = LongBits.zeroHash = \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n\n/**\n * Constructs new long bits from the specified number.\n * @param {number} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.fromNumber = function fromNumber(value) {\n if (value === 0)\n return zero;\n var sign = value < 0;\n if (sign)\n value = -value;\n var lo = value >>> 0,\n hi = (value - lo) / 4294967296 >>> 0;\n if (sign) {\n hi = ~hi >>> 0;\n lo = ~lo >>> 0;\n if (++lo > 4294967295) {\n lo = 0;\n if (++hi > 4294967295)\n hi = 0;\n }\n }\n return new LongBits(lo, hi);\n};\n\n/**\n * Constructs new long bits from a number, long or string.\n * @param {Long|number|string} value Value\n * @returns {util.LongBits} Instance\n */\nLongBits.from = function from(value) {\n if (typeof value === \"number\")\n return LongBits.fromNumber(value);\n if (util.isString(value)) {\n /* istanbul ignore else */\n if (util.Long)\n value = util.Long.fromString(value);\n else\n return LongBits.fromNumber(parseInt(value, 10));\n }\n return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;\n};\n\n/**\n * Converts this long bits to a possibly unsafe JavaScript number.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {number} Possibly unsafe number\n */\nLongBits.prototype.toNumber = function toNumber(unsigned) {\n if (!unsigned && this.hi >>> 31) {\n var lo = ~this.lo + 1 >>> 0,\n hi = ~this.hi >>> 0;\n if (!lo)\n hi = hi + 1 >>> 0;\n return -(lo + hi * 4294967296);\n }\n return this.lo + this.hi * 4294967296;\n};\n\n/**\n * Converts this long bits to a long.\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long} Long\n */\nLongBits.prototype.toLong = function toLong(unsigned) {\n return util.Long\n ? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))\n /* istanbul ignore next */\n : { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };\n};\n\nvar charCodeAt = String.prototype.charCodeAt;\n\n/**\n * Constructs new long bits from the specified 8 characters long hash.\n * @param {string} hash Hash\n * @returns {util.LongBits} Bits\n */\nLongBits.fromHash = function fromHash(hash) {\n if (hash === zeroHash)\n return zero;\n return new LongBits(\n ( charCodeAt.call(hash, 0)\n | charCodeAt.call(hash, 1) << 8\n | charCodeAt.call(hash, 2) << 16\n | charCodeAt.call(hash, 3) << 24) >>> 0\n ,\n ( charCodeAt.call(hash, 4)\n | charCodeAt.call(hash, 5) << 8\n | charCodeAt.call(hash, 6) << 16\n | charCodeAt.call(hash, 7) << 24) >>> 0\n );\n};\n\n/**\n * Converts this long bits to a 8 characters long hash.\n * @returns {string} Hash\n */\nLongBits.prototype.toHash = function toHash() {\n return String.fromCharCode(\n this.lo & 255,\n this.lo >>> 8 & 255,\n this.lo >>> 16 & 255,\n this.lo >>> 24 ,\n this.hi & 255,\n this.hi >>> 8 & 255,\n this.hi >>> 16 & 255,\n this.hi >>> 24\n );\n};\n\n/**\n * Zig-zag encodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzEncode = function zzEncode() {\n var mask = this.hi >> 31;\n this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;\n this.lo = ( this.lo << 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Zig-zag decodes this long bits.\n * @returns {util.LongBits} `this`\n */\nLongBits.prototype.zzDecode = function zzDecode() {\n var mask = -(this.lo & 1);\n this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;\n this.hi = ( this.hi >>> 1 ^ mask) >>> 0;\n return this;\n};\n\n/**\n * Calculates the length of this longbits when encoded as a varint.\n * @returns {number} Length\n */\nLongBits.prototype.length = function length() {\n var part0 = this.lo,\n part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,\n part2 = this.hi >>> 24;\n return part2 === 0\n ? part1 === 0\n ? part0 < 16384\n ? part0 < 128 ? 1 : 2\n : part0 < 2097152 ? 3 : 4\n : part1 < 16384\n ? part1 < 128 ? 5 : 6\n : part1 < 2097152 ? 7 : 8\n : part2 < 128 ? 9 : 10;\n};\n","\"use strict\";\nvar util = exports;\n\n// used to return a Promise where callback is omitted\nutil.asPromise = require(\"@protobufjs/aspromise\");\n\n// converts to / from base64 encoded strings\nutil.base64 = require(\"@protobufjs/base64\");\n\n// base class of rpc.Service\nutil.EventEmitter = require(\"@protobufjs/eventemitter\");\n\n// float handling accross browsers\nutil.float = require(\"@protobufjs/float\");\n\n// requires modules optionally and hides the call from bundlers\nutil.inquire = require(\"@protobufjs/inquire\");\n\n// converts to / from utf8 encoded strings\nutil.utf8 = require(\"@protobufjs/utf8\");\n\n// provides a node-like buffer pool in the browser\nutil.pool = require(\"@protobufjs/pool\");\n\n// utility to work with the low and high bits of a 64 bit value\nutil.LongBits = require(\"./longbits\");\n\n/**\n * Whether running within node or not.\n * @memberof util\n * @type {boolean}\n */\nutil.isNode = Boolean(typeof global !== \"undefined\"\n && global\n && global.process\n && global.process.versions\n && global.process.versions.node);\n\n/**\n * Global object reference.\n * @memberof util\n * @type {Object}\n */\nutil.global = util.isNode && global\n || typeof window !== \"undefined\" && window\n || typeof self !== \"undefined\" && self\n || this; // eslint-disable-line no-invalid-this\n\n/**\n * An immuable empty array.\n * @memberof util\n * @type {Array.<*>}\n * @const\n */\nutil.emptyArray = Object.freeze ? Object.freeze([]) : /* istanbul ignore next */ []; // used on prototypes\n\n/**\n * An immutable empty object.\n * @type {Object}\n * @const\n */\nutil.emptyObject = Object.freeze ? Object.freeze({}) : /* istanbul ignore next */ {}; // used on prototypes\n\n/**\n * Tests if the specified value is an integer.\n * @function\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is an integer\n */\nutil.isInteger = Number.isInteger || /* istanbul ignore next */ function isInteger(value) {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n};\n\n/**\n * Tests if the specified value is a string.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a string\n */\nutil.isString = function isString(value) {\n return typeof value === \"string\" || value instanceof String;\n};\n\n/**\n * Tests if the specified value is a non-null object.\n * @param {*} value Value to test\n * @returns {boolean} `true` if the value is a non-null object\n */\nutil.isObject = function isObject(value) {\n return value && typeof value === \"object\";\n};\n\n/**\n * Checks if a property on a message is considered to be present.\n * This is an alias of {@link util.isSet}.\n * @function\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isset =\n\n/**\n * Checks if a property on a message is considered to be present.\n * @param {Object} obj Plain object or message instance\n * @param {string} prop Property name\n * @returns {boolean} `true` if considered to be present, otherwise `false`\n */\nutil.isSet = function isSet(obj, prop) {\n var value = obj[prop];\n if (value != null && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins\n return typeof value !== \"object\" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;\n return false;\n};\n\n/**\n * Any compatible Buffer instance.\n * This is a minimal stand-alone definition of a Buffer instance. The actual type is that exported by node's typings.\n * @interface Buffer\n * @extends Uint8Array\n */\n\n/**\n * Node's Buffer class if available.\n * @type {Constructor}\n */\nutil.Buffer = (function() {\n try {\n var Buffer = util.inquire(\"buffer\").Buffer;\n // refuse to use non-node buffers if not explicitly assigned (perf reasons):\n return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;\n } catch (e) {\n /* istanbul ignore next */\n return null;\n }\n})();\n\n// Internal alias of or polyfull for Buffer.from.\nutil._Buffer_from = null;\n\n// Internal alias of or polyfill for Buffer.allocUnsafe.\nutil._Buffer_allocUnsafe = null;\n\n/**\n * Creates a new buffer of whatever type supported by the environment.\n * @param {number|number[]} [sizeOrArray=0] Buffer size or number array\n * @returns {Uint8Array|Buffer} Buffer\n */\nutil.newBuffer = function newBuffer(sizeOrArray) {\n /* istanbul ignore next */\n return typeof sizeOrArray === \"number\"\n ? util.Buffer\n ? util._Buffer_allocUnsafe(sizeOrArray)\n : new util.Array(sizeOrArray)\n : util.Buffer\n ? util._Buffer_from(sizeOrArray)\n : typeof Uint8Array === \"undefined\"\n ? sizeOrArray\n : new Uint8Array(sizeOrArray);\n};\n\n/**\n * Array implementation used in the browser. `Uint8Array` if supported, otherwise `Array`.\n * @type {Constructor}\n */\nutil.Array = typeof Uint8Array !== \"undefined\" ? Uint8Array /* istanbul ignore next */ : Array;\n\n/**\n * Any compatible Long instance.\n * This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.\n * @interface Long\n * @property {number} low Low bits\n * @property {number} high High bits\n * @property {boolean} unsigned Whether unsigned or not\n */\n\n/**\n * Long.js's Long class if available.\n * @type {Constructor}\n */\nutil.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long\n || /* istanbul ignore next */ util.global.Long\n || util.inquire(\"long\");\n\n/**\n * Regular expression used to verify 2 bit (`bool`) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key2Re = /^true|false|0|1$/;\n\n/**\n * Regular expression used to verify 32 bit (`int32` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key32Re = /^-?(?:0|[1-9][0-9]*)$/;\n\n/**\n * Regular expression used to verify 64 bit (`int64` etc.) map keys.\n * @type {RegExp}\n * @const\n */\nutil.key64Re = /^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;\n\n/**\n * Converts a number or long to an 8 characters long hash string.\n * @param {Long|number} value Value to convert\n * @returns {string} Hash\n */\nutil.longToHash = function longToHash(value) {\n return value\n ? util.LongBits.from(value).toHash()\n : util.LongBits.zeroHash;\n};\n\n/**\n * Converts an 8 characters long hash string to a long or number.\n * @param {string} hash Hash\n * @param {boolean} [unsigned=false] Whether unsigned or not\n * @returns {Long|number} Original value\n */\nutil.longFromHash = function longFromHash(hash, unsigned) {\n var bits = util.LongBits.fromHash(hash);\n if (util.Long)\n return util.Long.fromBits(bits.lo, bits.hi, unsigned);\n return bits.toNumber(Boolean(unsigned));\n};\n\n/**\n * Merges the properties of the source object into the destination object.\n * @memberof util\n * @param {Object.} dst Destination object\n * @param {Object.} src Source object\n * @param {boolean} [ifNotSet=false] Merges only if the key is not already set\n * @returns {Object.} Destination object\n */\nfunction merge(dst, src, ifNotSet) { // used by converters\n for (var keys = Object.keys(src), i = 0; i < keys.length; ++i)\n if (dst[keys[i]] === undefined || !ifNotSet)\n dst[keys[i]] = src[keys[i]];\n return dst;\n}\n\nutil.merge = merge;\n\n/**\n * Converts the first character of a string to lower case.\n * @param {string} str String to convert\n * @returns {string} Converted string\n */\nutil.lcFirst = function lcFirst(str) {\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\n/**\n * Creates a custom error constructor.\n * @memberof util\n * @param {string} name Error name\n * @returns {Constructor} Custom error constructor\n */\nfunction newError(name) {\n\n function CustomError(message, properties) {\n\n if (!(this instanceof CustomError))\n return new CustomError(message, properties);\n\n // Error.call(this, message);\n // ^ just returns a new error instance because the ctor can be called as a function\n\n Object.defineProperty(this, \"message\", { get: function() { return message; } });\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) // node\n Error.captureStackTrace(this, CustomError);\n else\n Object.defineProperty(this, \"stack\", { value: new Error().stack || \"\" });\n\n if (properties)\n merge(this, properties);\n }\n\n CustomError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: CustomError,\n writable: true,\n enumerable: false,\n configurable: true,\n },\n name: {\n get: function get() { return name; },\n set: undefined,\n enumerable: false,\n // configurable: false would accurately preserve the behavior of\n // the original, but I'm guessing that was not intentional.\n // For an actual error subclass, this property would\n // be configurable.\n configurable: true,\n },\n toString: {\n value: function value() { return this.name + \": \" + this.message; },\n writable: true,\n enumerable: false,\n configurable: true,\n },\n });\n\n return CustomError;\n}\n\nutil.newError = newError;\n\n/**\n * Constructs a new protocol error.\n * @classdesc Error subclass indicating a protocol specifc error.\n * @memberof util\n * @extends Error\n * @template T extends Message\n * @constructor\n * @param {string} message Error message\n * @param {Object.} [properties] Additional properties\n * @example\n * try {\n * MyMessage.decode(someBuffer); // throws if required fields are missing\n * } catch (e) {\n * if (e instanceof ProtocolError && e.instance)\n * console.log(\"decoded so far: \" + JSON.stringify(e.instance));\n * }\n */\nutil.ProtocolError = newError(\"ProtocolError\");\n\n/**\n * So far decoded message instance.\n * @name util.ProtocolError#instance\n * @type {Message}\n */\n\n/**\n * A OneOf getter as returned by {@link util.oneOfGetter}.\n * @typedef OneOfGetter\n * @type {function}\n * @returns {string|undefined} Set field name, if any\n */\n\n/**\n * Builds a getter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfGetter} Unbound getter\n */\nutil.oneOfGetter = function getOneOf(fieldNames) {\n var fieldMap = {};\n for (var i = 0; i < fieldNames.length; ++i)\n fieldMap[fieldNames[i]] = 1;\n\n /**\n * @returns {string|undefined} Set field name, if any\n * @this Object\n * @ignore\n */\n return function() { // eslint-disable-line consistent-return\n for (var keys = Object.keys(this), i = keys.length - 1; i > -1; --i)\n if (fieldMap[keys[i]] === 1 && this[keys[i]] !== undefined && this[keys[i]] !== null)\n return keys[i];\n };\n};\n\n/**\n * A OneOf setter as returned by {@link util.oneOfSetter}.\n * @typedef OneOfSetter\n * @type {function}\n * @param {string|undefined} value Field name\n * @returns {undefined}\n */\n\n/**\n * Builds a setter for a oneof's present field name.\n * @param {string[]} fieldNames Field names\n * @returns {OneOfSetter} Unbound setter\n */\nutil.oneOfSetter = function setOneOf(fieldNames) {\n\n /**\n * @param {string} name Field name\n * @returns {undefined}\n * @this Object\n * @ignore\n */\n return function(name) {\n for (var i = 0; i < fieldNames.length; ++i)\n if (fieldNames[i] !== name)\n delete this[fieldNames[i]];\n };\n};\n\n/**\n * Default conversion options used for {@link Message#toJSON} implementations.\n *\n * These options are close to proto3's JSON mapping with the exception that internal types like Any are handled just like messages. More precisely:\n *\n * - Longs become strings\n * - Enums become string keys\n * - Bytes become base64 encoded strings\n * - (Sub-)Messages become plain objects\n * - Maps become plain objects with all string keys\n * - Repeated fields become arrays\n * - NaN and Infinity for float and double fields become strings\n *\n * @type {IConversionOptions}\n * @see https://developers.google.com/protocol-buffers/docs/proto3?hl=en#json\n */\nutil.toJSONOptions = {\n longs: String,\n enums: String,\n bytes: String,\n json: true\n};\n\n// Sets up buffer utility according to the environment (called in index-minimal)\nutil._configure = function() {\n var Buffer = util.Buffer;\n /* istanbul ignore if */\n if (!Buffer) {\n util._Buffer_from = util._Buffer_allocUnsafe = null;\n return;\n }\n // because node 4.x buffers are incompatible & immutable\n // see: https://github.com/dcodeIO/protobuf.js/pull/665\n util._Buffer_from = Buffer.from !== Uint8Array.from && Buffer.from ||\n /* istanbul ignore next */\n function Buffer_from(value, encoding) {\n return new Buffer(value, encoding);\n };\n util._Buffer_allocUnsafe = Buffer.allocUnsafe ||\n /* istanbul ignore next */\n function Buffer_allocUnsafe(size) {\n return new Buffer(size);\n };\n};\n","\"use strict\";\nmodule.exports = Writer;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferWriter; // cyclic\n\nvar LongBits = util.LongBits,\n base64 = util.base64,\n utf8 = util.utf8;\n\n/**\n * Constructs a new writer operation instance.\n * @classdesc Scheduled writer operation.\n * @constructor\n * @param {function(*, Uint8Array, number)} fn Function to call\n * @param {number} len Value byte length\n * @param {*} val Value to write\n * @ignore\n */\nfunction Op(fn, len, val) {\n\n /**\n * Function to call.\n * @type {function(Uint8Array, number, *)}\n */\n this.fn = fn;\n\n /**\n * Value byte length.\n * @type {number}\n */\n this.len = len;\n\n /**\n * Next operation.\n * @type {Writer.Op|undefined}\n */\n this.next = undefined;\n\n /**\n * Value to write.\n * @type {*}\n */\n this.val = val; // type varies\n}\n\n/* istanbul ignore next */\nfunction noop() {} // eslint-disable-line no-empty-function\n\n/**\n * Constructs a new writer state instance.\n * @classdesc Copied writer state.\n * @memberof Writer\n * @constructor\n * @param {Writer} writer Writer to copy state from\n * @ignore\n */\nfunction State(writer) {\n\n /**\n * Current head.\n * @type {Writer.Op}\n */\n this.head = writer.head;\n\n /**\n * Current tail.\n * @type {Writer.Op}\n */\n this.tail = writer.tail;\n\n /**\n * Current buffer length.\n * @type {number}\n */\n this.len = writer.len;\n\n /**\n * Next state.\n * @type {State|null}\n */\n this.next = writer.states;\n}\n\n/**\n * Constructs a new writer instance.\n * @classdesc Wire format writer using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n */\nfunction Writer() {\n\n /**\n * Current length.\n * @type {number}\n */\n this.len = 0;\n\n /**\n * Operations head.\n * @type {Object}\n */\n this.head = new Op(noop, 0, 0);\n\n /**\n * Operations tail\n * @type {Object}\n */\n this.tail = this.head;\n\n /**\n * Linked forked states.\n * @type {Object|null}\n */\n this.states = null;\n\n // When a value is written, the writer calculates its byte length and puts it into a linked\n // list of operations to perform when finish() is called. This both allows us to allocate\n // buffers of the exact required size and reduces the amount of work we have to do compared\n // to first calculating over objects and then encoding over objects. In our case, the encoding\n // part is just a linked list walk calling operations with already prepared values.\n}\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup() {\n return (Writer.create = function create_buffer() {\n return new BufferWriter();\n })();\n }\n /* istanbul ignore next */\n : function create_array() {\n return new Writer();\n };\n};\n\n/**\n * Creates a new writer.\n * @function\n * @returns {BufferWriter|Writer} A {@link BufferWriter} when Buffers are supported, otherwise a {@link Writer}\n */\nWriter.create = create();\n\n/**\n * Allocates a buffer of the specified size.\n * @param {number} size Buffer size\n * @returns {Uint8Array} Buffer\n */\nWriter.alloc = function alloc(size) {\n return new util.Array(size);\n};\n\n// Use Uint8Array buffer pool in the browser, just like node does with buffers\n/* istanbul ignore else */\nif (util.Array !== Array)\n Writer.alloc = util.pool(Writer.alloc, util.Array.prototype.subarray);\n\n/**\n * Pushes a new operation to the queue.\n * @param {function(Uint8Array, number, *)} fn Function to call\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @returns {Writer} `this`\n * @private\n */\nWriter.prototype._push = function push(fn, len, val) {\n this.tail = this.tail.next = new Op(fn, len, val);\n this.len += len;\n return this;\n};\n\nfunction writeByte(val, buf, pos) {\n buf[pos] = val & 255;\n}\n\nfunction writeVarint32(val, buf, pos) {\n while (val > 127) {\n buf[pos++] = val & 127 | 128;\n val >>>= 7;\n }\n buf[pos] = val;\n}\n\n/**\n * Constructs a new varint writer operation instance.\n * @classdesc Scheduled varint writer operation.\n * @extends Op\n * @constructor\n * @param {number} len Value byte length\n * @param {number} val Value to write\n * @ignore\n */\nfunction VarintOp(len, val) {\n this.len = len;\n this.next = undefined;\n this.val = val;\n}\n\nVarintOp.prototype = Object.create(Op.prototype);\nVarintOp.prototype.fn = writeVarint32;\n\n/**\n * Writes an unsigned 32 bit value as a varint.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.uint32 = function write_uint32(value) {\n // here, the call to this.push has been inlined and a varint specific Op subclass is used.\n // uint32 is by far the most frequently used operation and benefits significantly from this.\n this.len += (this.tail = this.tail.next = new VarintOp(\n (value = value >>> 0)\n < 128 ? 1\n : value < 16384 ? 2\n : value < 2097152 ? 3\n : value < 268435456 ? 4\n : 5,\n value)).len;\n return this;\n};\n\n/**\n * Writes a signed 32 bit value as a varint.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.int32 = function write_int32(value) {\n return value < 0\n ? this._push(writeVarint64, 10, LongBits.fromNumber(value)) // 10 bytes per spec\n : this.uint32(value);\n};\n\n/**\n * Writes a 32 bit value as a varint, zig-zag encoded.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sint32 = function write_sint32(value) {\n return this.uint32((value << 1 ^ value >> 31) >>> 0);\n};\n\nfunction writeVarint64(val, buf, pos) {\n while (val.hi) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = (val.lo >>> 7 | val.hi << 25) >>> 0;\n val.hi >>>= 7;\n }\n while (val.lo > 127) {\n buf[pos++] = val.lo & 127 | 128;\n val.lo = val.lo >>> 7;\n }\n buf[pos++] = val.lo;\n}\n\n/**\n * Writes an unsigned 64 bit value as a varint.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.uint64 = function write_uint64(value) {\n var bits = LongBits.from(value);\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a signed 64 bit value as a varint.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.int64 = Writer.prototype.uint64;\n\n/**\n * Writes a signed 64 bit value as a varint, zig-zag encoded.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sint64 = function write_sint64(value) {\n var bits = LongBits.from(value).zzEncode();\n return this._push(writeVarint64, bits.length(), bits);\n};\n\n/**\n * Writes a boolish value as a varint.\n * @param {boolean} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bool = function write_bool(value) {\n return this._push(writeByte, 1, value ? 1 : 0);\n};\n\nfunction writeFixed32(val, buf, pos) {\n buf[pos ] = val & 255;\n buf[pos + 1] = val >>> 8 & 255;\n buf[pos + 2] = val >>> 16 & 255;\n buf[pos + 3] = val >>> 24;\n}\n\n/**\n * Writes an unsigned 32 bit value as fixed 32 bits.\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.fixed32 = function write_fixed32(value) {\n return this._push(writeFixed32, 4, value >>> 0);\n};\n\n/**\n * Writes a signed 32 bit value as fixed 32 bits.\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.sfixed32 = Writer.prototype.fixed32;\n\n/**\n * Writes an unsigned 64 bit value as fixed 64 bits.\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.fixed64 = function write_fixed64(value) {\n var bits = LongBits.from(value);\n return this._push(writeFixed32, 4, bits.lo)._push(writeFixed32, 4, bits.hi);\n};\n\n/**\n * Writes a signed 64 bit value as fixed 64 bits.\n * @function\n * @param {Long|number|string} value Value to write\n * @returns {Writer} `this`\n * @throws {TypeError} If `value` is a string and no long library is present.\n */\nWriter.prototype.sfixed64 = Writer.prototype.fixed64;\n\n/**\n * Writes a float (32 bit).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.float = function write_float(value) {\n return this._push(util.float.writeFloatLE, 4, value);\n};\n\n/**\n * Writes a double (64 bit float).\n * @function\n * @param {number} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.double = function write_double(value) {\n return this._push(util.float.writeDoubleLE, 8, value);\n};\n\nvar writeBytes = util.Array.prototype.set\n ? function writeBytes_set(val, buf, pos) {\n buf.set(val, pos); // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytes_for(val, buf, pos) {\n for (var i = 0; i < val.length; ++i)\n buf[pos + i] = val[i];\n };\n\n/**\n * Writes a sequence of bytes.\n * @param {Uint8Array|string} value Buffer or base64 encoded string to write\n * @returns {Writer} `this`\n */\nWriter.prototype.bytes = function write_bytes(value) {\n var len = value.length >>> 0;\n if (!len)\n return this._push(writeByte, 1, 0);\n if (util.isString(value)) {\n var buf = Writer.alloc(len = base64.length(value));\n base64.decode(value, buf, 0);\n value = buf;\n }\n return this.uint32(len)._push(writeBytes, len, value);\n};\n\n/**\n * Writes a string.\n * @param {string} value Value to write\n * @returns {Writer} `this`\n */\nWriter.prototype.string = function write_string(value) {\n var len = utf8.length(value);\n return len\n ? this.uint32(len)._push(utf8.write, len, value)\n : this._push(writeByte, 1, 0);\n};\n\n/**\n * Forks this writer's state by pushing it to a stack.\n * Calling {@link Writer#reset|reset} or {@link Writer#ldelim|ldelim} resets the writer to the previous state.\n * @returns {Writer} `this`\n */\nWriter.prototype.fork = function fork() {\n this.states = new State(this);\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n return this;\n};\n\n/**\n * Resets this instance to the last state.\n * @returns {Writer} `this`\n */\nWriter.prototype.reset = function reset() {\n if (this.states) {\n this.head = this.states.head;\n this.tail = this.states.tail;\n this.len = this.states.len;\n this.states = this.states.next;\n } else {\n this.head = this.tail = new Op(noop, 0, 0);\n this.len = 0;\n }\n return this;\n};\n\n/**\n * Resets to the last state and appends the fork state's current write length as a varint followed by its operations.\n * @returns {Writer} `this`\n */\nWriter.prototype.ldelim = function ldelim() {\n var head = this.head,\n tail = this.tail,\n len = this.len;\n this.reset().uint32(len);\n if (len) {\n this.tail.next = head.next; // skip noop\n this.tail = tail;\n this.len += len;\n }\n return this;\n};\n\n/**\n * Finishes the write operation.\n * @returns {Uint8Array} Finished buffer\n */\nWriter.prototype.finish = function finish() {\n var head = this.head.next, // skip noop\n buf = this.constructor.alloc(this.len),\n pos = 0;\n while (head) {\n head.fn(head.val, buf, pos);\n pos += head.len;\n head = head.next;\n }\n // this.head = this.tail = null;\n return buf;\n};\n\nWriter._configure = function(BufferWriter_) {\n BufferWriter = BufferWriter_;\n Writer.create = create();\n BufferWriter._configure();\n};\n","\"use strict\";\nmodule.exports = BufferWriter;\n\n// extends Writer\nvar Writer = require(\"./writer\");\n(BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer writer instance.\n * @classdesc Wire format writer using node buffers.\n * @extends Writer\n * @constructor\n */\nfunction BufferWriter() {\n Writer.call(this);\n}\n\nBufferWriter._configure = function () {\n /**\n * Allocates a buffer of the specified size.\n * @function\n * @param {number} size Buffer size\n * @returns {Buffer} Buffer\n */\n BufferWriter.alloc = util._Buffer_allocUnsafe;\n\n BufferWriter.writeBytesBuffer = util.Buffer && util.Buffer.prototype instanceof Uint8Array && util.Buffer.prototype.set.name === \"set\"\n ? function writeBytesBuffer_set(val, buf, pos) {\n buf.set(val, pos); // faster than copy (requires node >= 4 where Buffers extend Uint8Array and set is properly inherited)\n // also works for plain array values\n }\n /* istanbul ignore next */\n : function writeBytesBuffer_copy(val, buf, pos) {\n if (val.copy) // Buffer values\n val.copy(buf, pos, 0, val.length);\n else for (var i = 0; i < val.length;) // plain array values\n buf[pos++] = val[i++];\n };\n};\n\n\n/**\n * @override\n */\nBufferWriter.prototype.bytes = function write_bytes_buffer(value) {\n if (util.isString(value))\n value = util._Buffer_from(value, \"base64\");\n var len = value.length >>> 0;\n this.uint32(len);\n if (len)\n this._push(BufferWriter.writeBytesBuffer, len, value);\n return this;\n};\n\nfunction writeStringBuffer(val, buf, pos) {\n if (val.length < 40) // plain js is faster for short strings (probably due to redundant assertions)\n util.utf8.write(val, buf, pos);\n else if (buf.utf8Write)\n buf.utf8Write(val, pos);\n else\n buf.write(val, pos);\n}\n\n/**\n * @override\n */\nBufferWriter.prototype.string = function write_string_buffer(value) {\n var len = util.Buffer.byteLength(value);\n this.uint32(len);\n if (len)\n this._push(writeStringBuffer, len, value);\n return this;\n};\n\n\n/**\n * Finishes the write operation.\n * @name BufferWriter#finish\n * @function\n * @returns {Buffer} Finished buffer\n */\n\nBufferWriter._configure();\n","\"use strict\";\nmodule.exports = Reader;\n\nvar util = require(\"./util/minimal\");\n\nvar BufferReader; // cyclic\n\nvar LongBits = util.LongBits,\n utf8 = util.utf8;\n\n/* istanbul ignore next */\nfunction indexOutOfRange(reader, writeLength) {\n return RangeError(\"index out of range: \" + reader.pos + \" + \" + (writeLength || 1) + \" > \" + reader.len);\n}\n\n/**\n * Constructs a new reader instance using the specified buffer.\n * @classdesc Wire format reader using `Uint8Array` if available, otherwise `Array`.\n * @constructor\n * @param {Uint8Array} buffer Buffer to read from\n */\nfunction Reader(buffer) {\n\n /**\n * Read buffer.\n * @type {Uint8Array}\n */\n this.buf = buffer;\n\n /**\n * Read buffer position.\n * @type {number}\n */\n this.pos = 0;\n\n /**\n * Read buffer length.\n * @type {number}\n */\n this.len = buffer.length;\n}\n\nvar create_array = typeof Uint8Array !== \"undefined\"\n ? function create_typed_array(buffer) {\n if (buffer instanceof Uint8Array || Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n }\n /* istanbul ignore next */\n : function create_array(buffer) {\n if (Array.isArray(buffer))\n return new Reader(buffer);\n throw Error(\"illegal buffer\");\n };\n\nvar create = function create() {\n return util.Buffer\n ? function create_buffer_setup(buffer) {\n return (Reader.create = function create_buffer(buffer) {\n return util.Buffer.isBuffer(buffer)\n ? new BufferReader(buffer)\n /* istanbul ignore next */\n : create_array(buffer);\n })(buffer);\n }\n /* istanbul ignore next */\n : create_array;\n};\n\n/**\n * Creates a new reader using the specified buffer.\n * @function\n * @param {Uint8Array|Buffer} buffer Buffer to read from\n * @returns {Reader|BufferReader} A {@link BufferReader} if `buffer` is a Buffer, otherwise a {@link Reader}\n * @throws {Error} If `buffer` is not a valid buffer\n */\nReader.create = create();\n\nReader.prototype._slice = util.Array.prototype.subarray || /* istanbul ignore next */ util.Array.prototype.slice;\n\n/**\n * Reads a varint as an unsigned 32 bit value.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.uint32 = (function read_uint32_setup() {\n var value = 4294967295; // optimizer type-hint, tends to deopt otherwise (?!)\n return function read_uint32() {\n value = ( this.buf[this.pos] & 127 ) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 7) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 14) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 127) << 21) >>> 0; if (this.buf[this.pos++] < 128) return value;\n value = (value | (this.buf[this.pos] & 15) << 28) >>> 0; if (this.buf[this.pos++] < 128) return value;\n\n /* istanbul ignore if */\n if ((this.pos += 5) > this.len) {\n this.pos = this.len;\n throw indexOutOfRange(this, 10);\n }\n return value;\n };\n})();\n\n/**\n * Reads a varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.int32 = function read_int32() {\n return this.uint32() | 0;\n};\n\n/**\n * Reads a zig-zag encoded varint as a signed 32 bit value.\n * @returns {number} Value read\n */\nReader.prototype.sint32 = function read_sint32() {\n var value = this.uint32();\n return value >>> 1 ^ -(value & 1) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readLongVarint() {\n // tends to deopt with local vars for octet etc.\n var bits = new LongBits(0, 0);\n var i = 0;\n if (this.len - this.pos > 4) { // fast route (lo)\n for (; i < 4; ++i) {\n // 1st..4th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 5th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << 28) >>> 0;\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) >> 4) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n i = 0;\n } else {\n for (; i < 3; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 1st..3th\n bits.lo = (bits.lo | (this.buf[this.pos] & 127) << i * 7) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n // 4th\n bits.lo = (bits.lo | (this.buf[this.pos++] & 127) << i * 7) >>> 0;\n return bits;\n }\n if (this.len - this.pos > 4) { // fast route (hi)\n for (; i < 5; ++i) {\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n } else {\n for (; i < 5; ++i) {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n // 6th..10th\n bits.hi = (bits.hi | (this.buf[this.pos] & 127) << i * 7 + 3) >>> 0;\n if (this.buf[this.pos++] < 128)\n return bits;\n }\n }\n /* istanbul ignore next */\n throw Error(\"invalid varint encoding\");\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads a varint as a signed 64 bit value.\n * @name Reader#int64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as an unsigned 64 bit value.\n * @name Reader#uint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a zig-zag encoded varint as a signed 64 bit value.\n * @name Reader#sint64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a varint as a boolean.\n * @returns {boolean} Value read\n */\nReader.prototype.bool = function read_bool() {\n return this.uint32() !== 0;\n};\n\nfunction readFixed32_end(buf, end) { // note that this uses `end`, not `pos`\n return (buf[end - 4]\n | buf[end - 3] << 8\n | buf[end - 2] << 16\n | buf[end - 1] << 24) >>> 0;\n}\n\n/**\n * Reads fixed 32 bits as an unsigned 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.fixed32 = function read_fixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4);\n};\n\n/**\n * Reads fixed 32 bits as a signed 32 bit integer.\n * @returns {number} Value read\n */\nReader.prototype.sfixed32 = function read_sfixed32() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n return readFixed32_end(this.buf, this.pos += 4) | 0;\n};\n\n/* eslint-disable no-invalid-this */\n\nfunction readFixed64(/* this: Reader */) {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 8);\n\n return new LongBits(readFixed32_end(this.buf, this.pos += 4), readFixed32_end(this.buf, this.pos += 4));\n}\n\n/* eslint-enable no-invalid-this */\n\n/**\n * Reads fixed 64 bits.\n * @name Reader#fixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads zig-zag encoded fixed 64 bits.\n * @name Reader#sfixed64\n * @function\n * @returns {Long} Value read\n */\n\n/**\n * Reads a float (32 bit) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.float = function read_float() {\n\n /* istanbul ignore if */\n if (this.pos + 4 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readFloatLE(this.buf, this.pos);\n this.pos += 4;\n return value;\n};\n\n/**\n * Reads a double (64 bit float) as a number.\n * @function\n * @returns {number} Value read\n */\nReader.prototype.double = function read_double() {\n\n /* istanbul ignore if */\n if (this.pos + 8 > this.len)\n throw indexOutOfRange(this, 4);\n\n var value = util.float.readDoubleLE(this.buf, this.pos);\n this.pos += 8;\n return value;\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @returns {Uint8Array} Value read\n */\nReader.prototype.bytes = function read_bytes() {\n var length = this.uint32(),\n start = this.pos,\n end = this.pos + length;\n\n /* istanbul ignore if */\n if (end > this.len)\n throw indexOutOfRange(this, length);\n\n this.pos += length;\n if (Array.isArray(this.buf)) // plain array\n return this.buf.slice(start, end);\n\n if (start === end) { // fix for IE 10/Win8 and others' subarray returning array of size 1\n var nativeBuffer = util.Buffer;\n return nativeBuffer\n ? nativeBuffer.alloc(0)\n : new this.buf.constructor(0);\n }\n return this._slice.call(this.buf, start, end);\n};\n\n/**\n * Reads a string preceeded by its byte length as a varint.\n * @returns {string} Value read\n */\nReader.prototype.string = function read_string() {\n var bytes = this.bytes();\n return utf8.read(bytes, 0, bytes.length);\n};\n\n/**\n * Skips the specified number of bytes if specified, otherwise skips a varint.\n * @param {number} [length] Length if known, otherwise a varint is assumed\n * @returns {Reader} `this`\n */\nReader.prototype.skip = function skip(length) {\n if (typeof length === \"number\") {\n /* istanbul ignore if */\n if (this.pos + length > this.len)\n throw indexOutOfRange(this, length);\n this.pos += length;\n } else {\n do {\n /* istanbul ignore if */\n if (this.pos >= this.len)\n throw indexOutOfRange(this);\n } while (this.buf[this.pos++] & 128);\n }\n return this;\n};\n\n/**\n * Skips the next element of the specified wire type.\n * @param {number} wireType Wire type received\n * @returns {Reader} `this`\n */\nReader.prototype.skipType = function(wireType) {\n switch (wireType) {\n case 0:\n this.skip();\n break;\n case 1:\n this.skip(8);\n break;\n case 2:\n this.skip(this.uint32());\n break;\n case 3:\n while ((wireType = this.uint32() & 7) !== 4) {\n this.skipType(wireType);\n }\n break;\n case 5:\n this.skip(4);\n break;\n\n /* istanbul ignore next */\n default:\n throw Error(\"invalid wire type \" + wireType + \" at offset \" + this.pos);\n }\n return this;\n};\n\nReader._configure = function(BufferReader_) {\n BufferReader = BufferReader_;\n Reader.create = create();\n BufferReader._configure();\n\n var fn = util.Long ? \"toLong\" : /* istanbul ignore next */ \"toNumber\";\n util.merge(Reader.prototype, {\n\n int64: function read_int64() {\n return readLongVarint.call(this)[fn](false);\n },\n\n uint64: function read_uint64() {\n return readLongVarint.call(this)[fn](true);\n },\n\n sint64: function read_sint64() {\n return readLongVarint.call(this).zzDecode()[fn](false);\n },\n\n fixed64: function read_fixed64() {\n return readFixed64.call(this)[fn](true);\n },\n\n sfixed64: function read_sfixed64() {\n return readFixed64.call(this)[fn](false);\n }\n\n });\n};\n","\"use strict\";\nmodule.exports = BufferReader;\n\n// extends Reader\nvar Reader = require(\"./reader\");\n(BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;\n\nvar util = require(\"./util/minimal\");\n\n/**\n * Constructs a new buffer reader instance.\n * @classdesc Wire format reader using node buffers.\n * @extends Reader\n * @constructor\n * @param {Buffer} buffer Buffer to read from\n */\nfunction BufferReader(buffer) {\n Reader.call(this, buffer);\n\n /**\n * Read buffer.\n * @name BufferReader#buf\n * @type {Buffer}\n */\n}\n\nBufferReader._configure = function () {\n /* istanbul ignore else */\n if (util.Buffer)\n BufferReader.prototype._slice = util.Buffer.prototype.slice;\n};\n\n\n/**\n * @override\n */\nBufferReader.prototype.string = function read_string_buffer() {\n var len = this.uint32(); // modifies pos\n return this.buf.utf8Slice\n ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))\n : this.buf.toString(\"utf-8\", this.pos, this.pos = Math.min(this.pos + len, this.len));\n};\n\n/**\n * Reads a sequence of bytes preceeded by its length as a varint.\n * @name BufferReader#bytes\n * @function\n * @returns {Buffer} Value read\n */\n\nBufferReader._configure();\n","\"use strict\";\nmodule.exports = Service;\n\nvar util = require(\"../util/minimal\");\n\n// Extends EventEmitter\n(Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;\n\n/**\n * A service method callback as used by {@link rpc.ServiceMethod|ServiceMethod}.\n *\n * Differs from {@link RPCImplCallback} in that it is an actual callback of a service method which may not return `response = null`.\n * @typedef rpc.ServiceMethodCallback\n * @template TRes extends Message\n * @type {function}\n * @param {Error|null} error Error, if any\n * @param {TRes} [response] Response message\n * @returns {undefined}\n */\n\n/**\n * A service method part of a {@link rpc.Service} as created by {@link Service.create}.\n * @typedef rpc.ServiceMethod\n * @template TReq extends Message\n * @template TRes extends Message\n * @type {function}\n * @param {TReq|Properties} request Request message or plain object\n * @param {rpc.ServiceMethodCallback} [callback] Node-style callback called with the error, if any, and the response message\n * @returns {Promise>} Promise if `callback` has been omitted, otherwise `undefined`\n */\n\n/**\n * Constructs a new RPC service instance.\n * @classdesc An RPC service as returned by {@link Service#create}.\n * @exports rpc.Service\n * @extends util.EventEmitter\n * @constructor\n * @param {RPCImpl} rpcImpl RPC implementation\n * @param {boolean} [requestDelimited=false] Whether requests are length-delimited\n * @param {boolean} [responseDelimited=false] Whether responses are length-delimited\n */\nfunction Service(rpcImpl, requestDelimited, responseDelimited) {\n\n if (typeof rpcImpl !== \"function\")\n throw TypeError(\"rpcImpl must be a function\");\n\n util.EventEmitter.call(this);\n\n /**\n * RPC implementation. Becomes `null` once the service is ended.\n * @type {RPCImpl|null}\n */\n this.rpcImpl = rpcImpl;\n\n /**\n * Whether requests are length-delimited.\n * @type {boolean}\n */\n this.requestDelimited = Boolean(requestDelimited);\n\n /**\n * Whether responses are length-delimited.\n * @type {boolean}\n */\n this.responseDelimited = Boolean(responseDelimited);\n}\n\n/**\n * Calls a service method through {@link rpc.Service#rpcImpl|rpcImpl}.\n * @param {Method|rpc.ServiceMethod} method Reflected or static method\n * @param {Constructor} requestCtor Request constructor\n * @param {Constructor} responseCtor Response constructor\n * @param {TReq|Properties} request Request message or plain object\n * @param {rpc.ServiceMethodCallback} callback Service callback\n * @returns {undefined}\n * @template TReq extends Message\n * @template TRes extends Message\n */\nService.prototype.rpcCall = function rpcCall(method, requestCtor, responseCtor, request, callback) {\n\n if (!request)\n throw TypeError(\"request must be specified\");\n\n var self = this;\n if (!callback)\n return util.asPromise(rpcCall, self, method, requestCtor, responseCtor, request);\n\n if (!self.rpcImpl) {\n setTimeout(function() { callback(Error(\"already ended\")); }, 0);\n return undefined;\n }\n\n try {\n return self.rpcImpl(\n method,\n requestCtor[self.requestDelimited ? \"encodeDelimited\" : \"encode\"](request).finish(),\n function rpcCallback(err, response) {\n\n if (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n\n if (response === null) {\n self.end(/* endedByRPC */ true);\n return undefined;\n }\n\n if (!(response instanceof responseCtor)) {\n try {\n response = responseCtor[self.responseDelimited ? \"decodeDelimited\" : \"decode\"](response);\n } catch (err) {\n self.emit(\"error\", err, method);\n return callback(err);\n }\n }\n\n self.emit(\"data\", response, method);\n return callback(null, response);\n }\n );\n } catch (err) {\n self.emit(\"error\", err, method);\n setTimeout(function() { callback(err); }, 0);\n return undefined;\n }\n};\n\n/**\n * Ends this service and emits the `end` event.\n * @param {boolean} [endedByRPC=false] Whether the service has been ended by the RPC implementation.\n * @returns {rpc.Service} `this`\n */\nService.prototype.end = function end(endedByRPC) {\n if (this.rpcImpl) {\n if (!endedByRPC) // signal end to rpcImpl\n this.rpcImpl(null, null, null);\n this.rpcImpl = null;\n this.emit(\"end\").off();\n }\n return this;\n};\n","\"use strict\";\n\n/**\n * Streaming RPC helpers.\n * @namespace\n */\nvar rpc = exports;\n\n/**\n * RPC implementation passed to {@link Service#create} performing a service request on network level, i.e. by utilizing http requests or websockets.\n * @typedef RPCImpl\n * @type {function}\n * @param {Method|rpc.ServiceMethod,Message<{}>>} method Reflected or static method being called\n * @param {Uint8Array} requestData Request data\n * @param {RPCImplCallback} callback Callback function\n * @returns {undefined}\n * @example\n * function rpcImpl(method, requestData, callback) {\n * if (protobuf.util.lcFirst(method.name) !== \"myMethod\") // compatible with static code\n * throw Error(\"no such method\");\n * asynchronouslyObtainAResponse(requestData, function(err, responseData) {\n * callback(err, responseData);\n * });\n * }\n */\n\n/**\n * Node-style callback as used by {@link RPCImpl}.\n * @typedef RPCImplCallback\n * @type {function}\n * @param {Error|null} error Error, if any, otherwise `null`\n * @param {Uint8Array|null} [response] Response data or `null` to signal end of stream, if there hasn't been an error\n * @returns {undefined}\n */\n\nrpc.Service = require(\"./rpc/service\");\n","\"use strict\";\nmodule.exports = {};\n\n/**\n * Named roots.\n * This is where pbjs stores generated structures (the option `-r, --root` specifies a name).\n * Can also be used manually to make roots available across modules.\n * @name roots\n * @type {Object.}\n * @example\n * // pbjs -r myroot -o compiled.js ...\n *\n * // in another module:\n * require(\"./compiled.js\");\n *\n * // in any subsequent module:\n * var root = protobuf.roots[\"myroot\"];\n */\n","\"use strict\";\nvar protobuf = exports;\n\n/**\n * Build type, one of `\"full\"`, `\"light\"` or `\"minimal\"`.\n * @name build\n * @type {string}\n * @const\n */\nprotobuf.build = \"minimal\";\n\n// Serialization\nprotobuf.Writer = require(\"./writer\");\nprotobuf.BufferWriter = require(\"./writer_buffer\");\nprotobuf.Reader = require(\"./reader\");\nprotobuf.BufferReader = require(\"./reader_buffer\");\n\n// Utility\nprotobuf.util = require(\"./util/minimal\");\nprotobuf.rpc = require(\"./rpc\");\nprotobuf.roots = require(\"./roots\");\nprotobuf.configure = configure;\n\n/* istanbul ignore next */\n/**\n * Reconfigures the library according to the environment.\n * @returns {undefined}\n */\nfunction configure() {\n protobuf.util._configure();\n protobuf.Writer._configure(protobuf.BufferWriter);\n protobuf.Reader._configure(protobuf.BufferReader);\n}\n\n// Set up buffer utility according to the environment\nconfigure();\n","// minimal library entry point.\n\n\"use strict\";\nmodule.exports = require(\"./src/index-minimal\");\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Metadata = void 0;\nexports.Metadata = function Metadata(init) {\n const data = new Map();\n const metadata = {\n set(key, value) {\n key = normalizeKey(key);\n if (Array.isArray(value)) {\n if (value.length === 0) {\n data.delete(key);\n }\n else {\n for (const item of value) {\n validate(key, item);\n }\n data.set(key, key.endsWith('-bin') ? value : [value.join(', ')]);\n }\n }\n else {\n validate(key, value);\n data.set(key, [value]);\n }\n return metadata;\n },\n append(key, value) {\n key = normalizeKey(key);\n validate(key, value);\n let values = data.get(key);\n if (values == null) {\n values = [];\n data.set(key, values);\n }\n values.push(value);\n if (!key.endsWith('-bin')) {\n data.set(key, [values.join(', ')]);\n }\n return metadata;\n },\n delete(key) {\n key = normalizeKey(key);\n data.delete(key);\n },\n get(key) {\n var _a;\n key = normalizeKey(key);\n return (_a = data.get(key)) === null || _a === void 0 ? void 0 : _a[0];\n },\n getAll(key) {\n var _a;\n key = normalizeKey(key);\n return ((_a = data.get(key)) !== null && _a !== void 0 ? _a : []);\n },\n has(key) {\n key = normalizeKey(key);\n return data.has(key);\n },\n [Symbol.iterator]() {\n return data[Symbol.iterator]();\n },\n };\n if (init != null) {\n const entries = isIterable(init) ? init : Object.entries(init);\n for (const [key, value] of entries) {\n metadata.set(key, value);\n }\n }\n return metadata;\n};\nfunction normalizeKey(key) {\n return key.toLowerCase();\n}\nfunction validate(key, value) {\n if (!/^[0-9a-z_.-]+$/.test(key)) {\n throw new Error(`Metadata key '${key}' contains illegal characters`);\n }\n if (key.endsWith('-bin')) {\n if (!(value instanceof Uint8Array)) {\n throw new Error(`Metadata key '${key}' ends with '-bin', thus it must have binary value`);\n }\n }\n else {\n if (typeof value !== 'string') {\n throw new Error(`Metadata key '${key}' doesn't end with '-bin', thus it must have string value`);\n }\n if (!/^[ -~]*$/.test(value)) {\n throw new Error(`Metadata value '${value}' of key '${key}' contains illegal characters`);\n }\n }\n}\nfunction isIterable(value) {\n return Symbol.iterator in value;\n}\n//# sourceMappingURL=Metadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Status = void 0;\n/**\n * gRPC status code.\n *\n * See https://grpc.github.io/grpc/core/md_doc_statuscodes.html.\n */\nvar Status;\n(function (Status) {\n /**\n * Not an error; returned on success.\n */\n Status[Status[\"OK\"] = 0] = \"OK\";\n /**\n * The operation was cancelled, typically by the caller.\n */\n Status[Status[\"CANCELLED\"] = 1] = \"CANCELLED\";\n /**\n * Unknown error.\n *\n * For example, this error may be returned when a `Status` value received from\n * another address space belongs to an error space that is not known in this\n * address space.\n *\n * Also errors raised by APIs that do not return enough error information may\n * be converted to this error.\n */\n Status[Status[\"UNKNOWN\"] = 2] = \"UNKNOWN\";\n /**\n * The client specified an invalid argument.\n *\n * Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`\n * indicates arguments that are problematic regardless of the state of the\n * system (e.g., a malformed file name).\n */\n Status[Status[\"INVALID_ARGUMENT\"] = 3] = \"INVALID_ARGUMENT\";\n /**\n * The deadline expired before the operation could complete.\n *\n * For operations that change the state of the system, this error may be\n * returned even if the operation has completed successfully.\n *\n * For example, a successful response from a server could have been delayed\n * long enough for the deadline to expire.\n */\n Status[Status[\"DEADLINE_EXCEEDED\"] = 4] = \"DEADLINE_EXCEEDED\";\n /**\n * Some requested entity (e.g., file or directory) was not found.\n *\n * Note to server developers: if a request is denied for an entire class of\n * users, such as gradual feature rollout or undocumented allowlist,\n * `NOT_FOUND` may be used. If a request is denied for some users within a\n * class of users, such as user-based access control, `PERMISSION_DENIED` must\n * be used.\n */\n Status[Status[\"NOT_FOUND\"] = 5] = \"NOT_FOUND\";\n /**\n * The entity that a client attempted to create (e.g., file or directory)\n * already exists.\n */\n Status[Status[\"ALREADY_EXISTS\"] = 6] = \"ALREADY_EXISTS\";\n /**\n * The caller does not have permission to execute the specified operation.\n *\n * `PERMISSION_DENIED` must not be used for rejections caused by exhausting\n * some resource (use `RESOURCE_EXHAUSTED` instead for those errors).\n * `PERMISSION_DENIED` must not be used if the caller can not be identified\n * (use `UNAUTHENTICATED` instead for those errors).\n *\n * This error code does not imply the request is valid or the requested entity\n * exists or satisfies other pre-conditions.\n */\n Status[Status[\"PERMISSION_DENIED\"] = 7] = \"PERMISSION_DENIED\";\n /**\n * Some resource has been exhausted, perhaps a per-user quota, or perhaps the\n * entire file system is out of space.\n */\n Status[Status[\"RESOURCE_EXHAUSTED\"] = 8] = \"RESOURCE_EXHAUSTED\";\n /**\n * The operation was rejected because the system is not in a state required\n * for the operation's execution.\n *\n * For example, the directory to be deleted is non-empty, an rmdir operation\n * is applied to a non-directory, etc.\n *\n * Service implementors can use the following guidelines to decide between\n * `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n *\n * (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n * (b) Use `ABORTED` if the client should retry at a higher level (e.g.,\n * when a client-specified test-and-set fails, indicating the client\n * should restart a read-modify-write sequence).\n * (c) Use `FAILED_PRECONDITION` if the client should not retry until the\n * system state has been explicitly fixed. E.g., if an \"rmdir\" fails\n * because the directory is non-empty, `FAILED_PRECONDITION` should be\n * returned since the client should not retry unless the files are\n * deleted from the directory.\n */\n Status[Status[\"FAILED_PRECONDITION\"] = 9] = \"FAILED_PRECONDITION\";\n /**\n * The operation was aborted, typically due to a concurrency issue such as a\n * sequencer check failure or transaction abort.\n *\n * See the guidelines above for deciding between `FAILED_PRECONDITION`,\n * `ABORTED`, and `UNAVAILABLE`.\n */\n Status[Status[\"ABORTED\"] = 10] = \"ABORTED\";\n /**\n * The operation was attempted past the valid range.\n *\n * E.g., seeking or reading past end-of-file.\n *\n * Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed\n * if the system state changes. For example, a 32-bit file system will\n * generate `INVALID_ARGUMENT` if asked to read at an offset that is not in\n * the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read\n * from an offset past the current file size.\n *\n * There is a fair bit of overlap between `FAILED_PRECONDITION` and\n * `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error)\n * when it applies so that callers who are iterating through a space can\n * easily look for an `OUT_OF_RANGE` error to detect when they are done.\n */\n Status[Status[\"OUT_OF_RANGE\"] = 11] = \"OUT_OF_RANGE\";\n /**\n * The operation is not implemented or is not supported/enabled in this\n * service.\n */\n Status[Status[\"UNIMPLEMENTED\"] = 12] = \"UNIMPLEMENTED\";\n /**\n * Internal errors.\n *\n * This means that some invariants expected by the underlying system have been\n * broken. This error code is reserved for serious errors.\n */\n Status[Status[\"INTERNAL\"] = 13] = \"INTERNAL\";\n /**\n * The service is currently unavailable.\n *\n * This is most likely a transient condition, which can be corrected by\n * retrying with a backoff.\n *\n * Note that it is not always safe to retry non-idempotent operations.\n */\n Status[Status[\"UNAVAILABLE\"] = 14] = \"UNAVAILABLE\";\n /**\n * Unrecoverable data loss or corruption.\n */\n Status[Status[\"DATA_LOSS\"] = 15] = \"DATA_LOSS\";\n /**\n * The request does not have valid authentication credentials for the\n * operation.\n */\n Status[Status[\"UNAUTHENTICATED\"] = 16] = \"UNAUTHENTICATED\";\n})(Status = exports.Status || (exports.Status = {}));\n//# sourceMappingURL=Status.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=MethodDescriptor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CallOptions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ClientMiddleware.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.composeClientMiddleware = void 0;\nfunction composeClientMiddleware(middleware1, middleware2) {\n return (call, options) => {\n return middleware2(Object.assign(Object.assign({}, call), { next: (request, options2) => {\n return middleware1(Object.assign(Object.assign({}, call), { request }), options2);\n } }), options);\n };\n}\nexports.composeClientMiddleware = composeClientMiddleware;\n//# sourceMappingURL=composeClientMiddleware.js.map","\"use strict\";\nexports.__esModule = undefined;\nexports.__esModule = true;\n\n// Misc helpers\n\nvar objectSetPrototypeOfIsDefined = typeof Object.setPrototypeOf === \"function\";\nvar objectGetPrototypeOfIsDefined = typeof Object.getPrototypeOf === \"function\";\nvar objectDefinePropertyIsDefined = typeof Object.defineProperty === \"function\";\nvar objectCreateIsDefined = typeof Object.create === \"function\";\nvar objectHasOwnPropertyIsDefined =\n typeof Object.prototype.hasOwnProperty === \"function\";\n\nvar setPrototypeOf = function setPrototypeOf(target, prototype) {\n if (objectSetPrototypeOfIsDefined) {\n Object.setPrototypeOf(target, prototype);\n } else {\n target.__proto__ = prototype;\n }\n};\nexports.setPrototypeOf = setPrototypeOf;\n\nvar getPrototypeOf = function getPrototypeOf(target) {\n if (objectGetPrototypeOfIsDefined) {\n return Object.getPrototypeOf(target);\n } else {\n return target.__proto__ || target.prototype;\n }\n};\nexports.getPrototypeOf = getPrototypeOf;\n\n// Object.defineProperty exists in IE8, but the implementation is buggy, so we\n// need to test if the call fails, and, if so, set a flag to use the shim, as if\n// the function were not defined. When this error is caught the first time, the\n// function is called again recursively, after the flag is set, so the desired\n// effect is achieved anyway.\nvar ie8ObjectDefinePropertyBug = false;\nvar defineProperty = function defineProperty(target, name, propertyDescriptor) {\n if (objectDefinePropertyIsDefined && !ie8ObjectDefinePropertyBug) {\n try {\n Object.defineProperty(target, name, propertyDescriptor);\n } catch (e) {\n ie8ObjectDefinePropertyBug = true;\n defineProperty(target, name, propertyDescriptor);\n }\n } else {\n target[name] = propertyDescriptor.value;\n }\n};\nexports.defineProperty = defineProperty;\n\nvar hasOwnProperty = function hasOwnProperty(target, name) {\n if (objectHasOwnPropertyIsDefined) {\n return target.hasOwnProperty(target, name);\n } else {\n return target[name] === undefined;\n }\n};\nexports.hasOwnProperty = hasOwnProperty;\n\nvar objectCreate = function objectCreate(prototype, propertyDescriptors) {\n if (objectCreateIsDefined) {\n return Object.create(prototype, propertyDescriptors);\n } else {\n var F = function F() {};\n F.prototype = prototype;\n var result = new F();\n if (typeof propertyDescriptors === \"undefined\") {\n return result;\n }\n if (typeof propertyDescriptors === \"null\") {\n throw new Error(\"PropertyDescriptors must not be null.\");\n }\n if (typeof propertyDescriptors === \"object\") {\n for (var key in propertyDescriptors) {\n if (hasOwnProperty(propertyDescriptors, key)) {\n result[key] = propertyDescriptors[key].value;\n }\n }\n }\n\n return result;\n }\n};\nexports.objectCreate = objectCreate;\n","\"use strict\";\nexports.__esModule = undefined;\nexports.__esModule = true;\n\nvar helpers = require(\"./helpers\");\nvar setPrototypeOf = helpers.setPrototypeOf;\nvar getPrototypeOf = helpers.getPrototypeOf;\nvar defineProperty = helpers.defineProperty;\nvar objectCreate = helpers.objectCreate;\n\n// Small test for IE6-8, which checks if the environment prints errors \"nicely\"\n// If not, a toString() method to be added to the error objects with formatting\n// like in more modern browsers\nvar uglyErrorPrinting = new Error().toString() === \"[object Error]\";\n\n// For compatibility\nvar extendableErrorName = \"\";\n\nfunction ExtendableError(message) {\n // Get the constructor\n var originalConstructor = this.constructor;\n // Get the constructor name from the non-standard name property. If undefined\n // (on old IEs), it uses the string representation of the function to extract\n // the name. This should work in all cases, except for directly instantiated\n // ExtendableError objects, for which the name of the ExtendableError class /\n // function is used\n var constructorName =\n originalConstructor.name ||\n (function () {\n var constructorNameMatch = originalConstructor\n .toString()\n .match(/^function\\s*([^\\s(]+)/);\n return constructorNameMatch === null\n ? extendableErrorName\n ? extendableErrorName\n : \"Error\"\n : constructorNameMatch[1];\n })();\n // If the constructor name is \"Error\", ...\n var constructorNameIsError = constructorName === \"Error\";\n // change it to the name of the ExtendableError class / function\n var name = constructorNameIsError ? extendableErrorName : constructorName;\n\n // Obtain a new Error instance. This also sets the message property already.\n var instance = Error.apply(this, arguments);\n\n // Set the prototype of this to the prototype of instance\n setPrototypeOf(instance, getPrototypeOf(this));\n\n // On old IEs, the instance will not extend our subclasses this way. The fix is to use this from the function call instead.\n if (\n !(instance instanceof originalConstructor) ||\n !(instance instanceof ExtendableError)\n ) {\n var instance = this;\n Error.apply(this, arguments);\n defineProperty(instance, \"message\", {\n configurable: true,\n enumerable: false,\n value: message,\n writable: true,\n });\n }\n\n // define the name property\n defineProperty(instance, \"name\", {\n configurable: true,\n enumerable: false,\n value: name,\n writable: true,\n });\n\n // Use Error.captureStackTrace on V8 to capture the proper stack trace excluding any of our error classes\n if (Error.captureStackTrace) {\n // prettier-ignore\n Error.captureStackTrace(\n instance,\n constructorNameIsError ? ExtendableError : originalConstructor\n );\n }\n // instance.stack can still be undefined, in which case the best solution is to create a new Error object and get it from there\n if (instance.stack === undefined) {\n var err = new Error(message);\n err.name = instance.name;\n instance.stack = err.stack;\n }\n\n // If the environment does not have a proper string representation (IE), provide an alternative toString()\n if (uglyErrorPrinting) {\n defineProperty(instance, \"toString\", {\n configurable: true,\n enumerable: false,\n value: function toString() {\n return (\n (this.name || \"Error\") +\n (typeof this.message === \"undefined\" ? \"\" : \": \" + this.message)\n );\n },\n writable: true,\n });\n }\n\n // We're done!\n return instance;\n}\n\n// Get the name of the ExtendableError function or use the string literal\nextendableErrorName = ExtendableError.name || \"ExtendableError\";\n\n// Set the prototype of ExtendableError to an Error object\nExtendableError.prototype = objectCreate(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\n\n// Export\nexports.ExtendableError = ExtendableError;\nexports[\"default\"] = exports.ExtendableError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ClientError = void 0;\nconst ts_error_1 = require(\"ts-error\");\nconst Status_1 = require(\"../Status\");\n/**\n * Represents gRPC errors returned from client calls.\n */\nclass ClientError extends ts_error_1.ExtendableError {\n constructor(path, code, details) {\n super(`${path} ${Status_1.Status[code]}: ${details}`);\n this.path = path;\n this.code = code;\n this.details = details;\n this.name = 'ClientError';\n Object.defineProperty(this, '@@nice-grpc', {\n value: true,\n });\n Object.defineProperty(this, '@@nice-grpc:ClientError', {\n value: true,\n });\n }\n static [Symbol.hasInstance](instance) {\n // allow instances of ClientError from different versions of nice-grpc\n // to work with `instanceof ClientError`\n if (this !== ClientError) {\n return this.prototype.isPrototypeOf(instance);\n }\n return (typeof instance === 'object' &&\n instance !== null &&\n (instance.constructor === ClientError ||\n instance['@@nice-grpc:ClientError'] === true ||\n (instance.name === 'ClientError' && instance['@@nice-grpc'] === true)));\n }\n}\nexports.ClientError = ClientError;\n//# sourceMappingURL=ClientError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CallContext.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=ServerMiddleware.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.composeServerMiddleware = void 0;\nfunction composeServerMiddleware(middleware1, middleware2) {\n return (call, context) => {\n return middleware1(Object.assign(Object.assign({}, call), { next: (request, context1) => {\n return middleware2(Object.assign(Object.assign({}, call), { request }), context1);\n } }), context);\n };\n}\nexports.composeServerMiddleware = composeServerMiddleware;\n//# sourceMappingURL=composeServerMiddleware.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServerError = void 0;\nconst ts_error_1 = require(\"ts-error\");\nconst Status_1 = require(\"../Status\");\n/**\n * Service implementations may throw this error to report gRPC errors to\n * clients.\n */\nclass ServerError extends ts_error_1.ExtendableError {\n constructor(code, details) {\n super(`${Status_1.Status[code]}: ${details}`);\n this.code = code;\n this.details = details;\n this.name = 'ServerError';\n Object.defineProperty(this, '@@nice-grpc', {\n value: true,\n });\n Object.defineProperty(this, '@@nice-grpc:ServerError', {\n value: true,\n });\n }\n static [Symbol.hasInstance](instance) {\n // allow instances of ServerError from different versions of nice-grpc\n // to work with `instanceof ServerError`\n if (this !== ServerError) {\n return this.prototype.isPrototypeOf(instance);\n }\n return (typeof instance === 'object' &&\n instance !== null &&\n (instance.constructor === ServerError ||\n instance['@@nice-grpc:ServerError'] === true ||\n (instance.name === 'ServerError' && instance['@@nice-grpc'] === true)));\n }\n}\nexports.ServerError = ServerError;\n//# sourceMappingURL=ServerError.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./Metadata\"), exports);\n__exportStar(require(\"./Status\"), exports);\n__exportStar(require(\"./MethodDescriptor\"), exports);\n__exportStar(require(\"./client/CallOptions\"), exports);\n__exportStar(require(\"./client/ClientMiddleware\"), exports);\n__exportStar(require(\"./client/composeClientMiddleware\"), exports);\n__exportStar(require(\"./client/ClientError\"), exports);\n__exportStar(require(\"./server/CallContext\"), exports);\n__exportStar(require(\"./server/ServerMiddleware\"), exports);\n__exportStar(require(\"./server/composeServerMiddleware\"), exports);\n__exportStar(require(\"./server/ServerError\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isGrpcWebServiceDefinition = exports.fromGrpcWebServiceDefinition = void 0;\nfunction fromGrpcWebServiceDefinition(definition) {\n const result = {};\n for (const [key, value] of Object.entries(definition)) {\n if (key === 'serviceName') {\n continue;\n }\n const method = value;\n result[uncapitalize(key)] = {\n path: `/${definition.serviceName}/${key}`,\n requestStream: method.requestStream,\n responseStream: method.responseStream,\n requestDeserialize: method.requestType.deserializeBinary,\n requestSerialize: (value) => value.serializeBinary(),\n responseDeserialize: method.responseType.deserializeBinary,\n responseSerialize: (value) => value.serializeBinary(),\n options: {},\n };\n }\n return result;\n}\nexports.fromGrpcWebServiceDefinition = fromGrpcWebServiceDefinition;\nfunction isGrpcWebServiceDefinition(definition) {\n return 'prototype' in definition;\n}\nexports.isGrpcWebServiceDefinition = isGrpcWebServiceDefinition;\nfunction uncapitalize(value) {\n if (value.length === 0) {\n return value;\n }\n return value[0].toLowerCase() + value.slice(1);\n}\n//# sourceMappingURL=grpc-web.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isTsProtoServiceDefinition = exports.fromTsProtoServiceDefinition = void 0;\nfunction fromTsProtoServiceDefinition(definition) {\n const result = {};\n for (const [key, method] of Object.entries(definition.methods)) {\n const requestEncode = method.requestType.encode;\n const requestFromPartial = method.requestType.fromPartial;\n const responseEncode = method.responseType.encode;\n const responseFromPartial = method.responseType.fromPartial;\n result[key] = {\n path: `/${definition.fullName}/${method.name}`,\n requestStream: method.requestStream,\n responseStream: method.responseStream,\n requestDeserialize: method.requestType.decode,\n requestSerialize: requestFromPartial != null\n ? value => requestEncode(requestFromPartial(value)).finish()\n : value => requestEncode(value).finish(),\n responseDeserialize: method.responseType.decode,\n responseSerialize: responseFromPartial != null\n ? value => responseEncode(responseFromPartial(value)).finish()\n : value => responseEncode(value).finish(),\n options: method.options,\n };\n }\n return result;\n}\nexports.fromTsProtoServiceDefinition = fromTsProtoServiceDefinition;\nfunction isTsProtoServiceDefinition(definition) {\n return ('name' in definition && 'fullName' in definition && 'methods' in definition);\n}\nexports.isTsProtoServiceDefinition = isTsProtoServiceDefinition;\n//# sourceMappingURL=ts-proto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toGrpcWebMethodDefinition = exports.normalizeServiceDefinition = void 0;\nconst grpc_web_1 = require(\"./grpc-web\");\nconst ts_proto_1 = require(\"./ts-proto\");\n/** @internal */\nfunction normalizeServiceDefinition(definition) {\n if ((0, grpc_web_1.isGrpcWebServiceDefinition)(definition)) {\n return (0, grpc_web_1.fromGrpcWebServiceDefinition)(definition);\n }\n else if ((0, ts_proto_1.isTsProtoServiceDefinition)(definition)) {\n return (0, ts_proto_1.fromTsProtoServiceDefinition)(definition);\n }\n else {\n return definition;\n }\n}\nexports.normalizeServiceDefinition = normalizeServiceDefinition;\n/** @internal */\nfunction toGrpcWebMethodDefinition(definition) {\n const [, serviceName, methodName] = definition.path.split('/');\n return {\n service: {\n serviceName,\n },\n methodName,\n requestStream: definition.requestStream,\n responseStream: definition.responseStream,\n requestType: class {\n constructor() {\n throw new Error('Unexpected instantiation');\n }\n static deserializeBinary(bytes) {\n return definition.requestDeserialize(bytes);\n }\n },\n responseType: class {\n constructor() {\n throw new Error('Unexpected instantiation');\n }\n static deserializeBinary(bytes) {\n return definition.responseDeserialize(bytes);\n }\n },\n };\n}\nexports.toGrpcWebMethodDefinition = toGrpcWebMethodDefinition;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChannel = void 0;\nfunction createChannel(address, transport) {\n return { address, transport };\n}\nexports.createChannel = createChannel;\n//# sourceMappingURL=channel.js.map","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(this,(function(){return e={418:function(e,t){!function(e,t){for(var r in t)e[r]=t[r]}(t,function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(3),o=function(){function e(e,t){void 0===e&&(e={}),void 0===t&&(t={splitValues:!1});var r,o=this;this.headersMap={},e&&(\"undefined\"!=typeof Headers&&e instanceof Headers?n.getHeaderKeys(e).forEach((function(r){n.getHeaderValues(e,r).forEach((function(e){t.splitValues?o.append(r,n.splitHeaderValue(e)):o.append(r,e)}))})):\"object\"==typeof(r=e)&&\"object\"==typeof r.headersMap&&\"function\"==typeof r.forEach?e.forEach((function(e,t){o.append(e,t)})):\"undefined\"!=typeof Map&&e instanceof Map?e.forEach((function(e,t){o.append(t,e)})):\"string\"==typeof e?this.appendFromString(e):\"object\"==typeof e&&Object.getOwnPropertyNames(e).forEach((function(t){var r=e[t];Array.isArray(r)?r.forEach((function(e){o.append(t,e)})):o.append(t,r)})))}return e.prototype.appendFromString=function(e){for(var t=e.split(\"\\r\\n\"),r=0;r0){var s=n.substring(0,o).trim(),i=n.substring(o+1).trim();this.append(s,i)}}},e.prototype.delete=function(e,t){var r=n.normalizeName(e);if(void 0===t)delete this.headersMap[r];else{var o=this.headersMap[r];if(o){var s=o.indexOf(t);s>=0&&o.splice(s,1),0===o.length&&delete this.headersMap[r]}}},e.prototype.append=function(e,t){var r=this,o=n.normalizeName(e);Array.isArray(this.headersMap[o])||(this.headersMap[o]=[]),Array.isArray(t)?t.forEach((function(e){r.headersMap[o].push(n.normalizeValue(e))})):this.headersMap[o].push(n.normalizeValue(t))},e.prototype.set=function(e,t){var r=n.normalizeName(e);if(Array.isArray(t)){var o=[];t.forEach((function(e){o.push(n.normalizeValue(e))})),this.headersMap[r]=o}else this.headersMap[r]=[n.normalizeValue(t)]},e.prototype.has=function(e,t){var r=this.headersMap[n.normalizeName(e)];if(!Array.isArray(r))return!1;if(void 0!==t){var o=n.normalizeValue(t);return r.indexOf(o)>=0}return!0},e.prototype.get=function(e){var t=this.headersMap[n.normalizeName(e)];return void 0!==t?t.concat():[]},e.prototype.forEach=function(e){var t=this;Object.getOwnPropertyNames(this.headersMap).forEach((function(r){e(r,t.headersMap[r])}),this)},e.prototype.toHeaders=function(){if(\"undefined\"!=typeof Headers){var e=new Headers;return this.forEach((function(t,r){r.forEach((function(r){e.append(t,r)}))})),e}throw new Error(\"Headers class is not defined\")},e}();t.BrowserHeaders=o},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(0);t.BrowserHeaders=n.BrowserHeaders},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.iterateHeaders=function(e,t){for(var r=e[Symbol.iterator](),n=r.next();!n.done;)t(n.value[0]),n=r.next()},t.iterateHeadersKeys=function(e,t){for(var r=e.keys(),n=r.next();!n.done;)t(n.value),n=r.next()}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(2);t.normalizeName=function(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()},t.normalizeValue=function(e){return\"string\"!=typeof e&&(e=String(e)),e},t.getHeaderValues=function(e,t){var r=e;if(r instanceof Headers&&r.getAll)return r.getAll(t);var n=r.get(t);return n&&\"string\"==typeof n?[n]:n},t.getHeaderKeys=function(e){var t=e,r={},o=[];return t.keys?n.iterateHeadersKeys(t,(function(e){r[e]||(r[e]=!0,o.push(e))})):t.forEach?t.forEach((function(e,t){r[t]||(r[t]=!0,o.push(t))})):n.iterateHeaders(t,(function(e){var t=e[0];r[t]||(r[t]=!0,o.push(t))})),o},t.splitHeaderValue=function(e){var t=[];return e.split(\", \").forEach((function(e){e.split(\",\").forEach((function(e){t.push(e)}))})),t}}]))},617:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ChunkParser=t.ChunkType=t.encodeASCII=t.decodeASCII=void 0;var n,o=r(65);function s(e){return 9===(t=e)||10===t||13===t||e>=32&&e<=126;var t}function i(e){for(var t=0;t!==e.length;++t)if(!s(e[t]))throw new Error(\"Metadata is not valid (printable) ASCII\");return String.fromCharCode.apply(String,Array.prototype.slice.call(e))}function a(e){return 128==(128&e.getUint8(0))}function u(e){return e.getUint32(1,!1)}function d(e,t,r){return e.byteLength-t>=r}function c(e,t,r){if(e.slice)return e.slice(t,r);var n=e.length;void 0!==r&&(n=r);for(var o=new Uint8Array(n-t),s=0,i=t;i=0?r:s.httpStatusToCode(t);this.props.debug&&i.debug(\"onHeaders.code\",n);var o=e.get(\"grpc-message\")||[];if(this.props.debug&&i.debug(\"onHeaders.gRPCMessage\",o),this.rawOnHeaders(e),n!==s.Code.OK){var a=this.decodeGRPCStatus(o[0]);this.rawOnError(n,a,e)}}},e.prototype.onTransportChunk=function(e){var t=this;if(this.closed)this.props.debug&&i.debug(\"grpc.onChunk received after request was closed - ignoring\");else{var r=[];try{r=this.parser.parse(e)}catch(e){return this.props.debug&&i.debug(\"onChunk.parsing error\",e,e.message),void this.rawOnError(s.Code.Internal,\"parsing error: \"+e.message)}r.forEach((function(e){if(e.chunkType===o.ChunkType.MESSAGE){var r=t.methodDefinition.responseType.deserializeBinary(e.data);t.rawOnMessage(r)}else e.chunkType===o.ChunkType.TRAILERS&&(t.responseHeaders?(t.responseTrailers=new n.Metadata(e.trailers),t.props.debug&&i.debug(\"onChunk.trailers\",t.responseTrailers)):(t.responseHeaders=new n.Metadata(e.trailers),t.rawOnHeaders(t.responseHeaders)))}))}},e.prototype.onTransportEnd=function(){if(this.props.debug&&i.debug(\"grpc.onEnd\"),this.closed)this.props.debug&&i.debug(\"grpc.onEnd received after request was closed - ignoring\");else if(void 0!==this.responseTrailers){var e=c(this.responseTrailers);if(null!==e){var t=this.responseTrailers.get(\"grpc-message\"),r=this.decodeGRPCStatus(t[0]);this.rawOnEnd(e,r,this.responseTrailers)}else this.rawOnError(s.Code.Internal,\"Response closed without grpc-status (Trailers provided)\")}else{if(void 0===this.responseHeaders)return void this.rawOnError(s.Code.Unknown,\"Response closed without headers\");var n=c(this.responseHeaders),o=this.responseHeaders.get(\"grpc-message\");if(this.props.debug&&i.debug(\"grpc.headers only response \",n,o),null===n)return void this.rawOnEnd(s.Code.Unknown,\"Response closed without grpc-status (Headers only)\",this.responseHeaders);var a=this.decodeGRPCStatus(o[0]);this.rawOnEnd(n,a,this.responseHeaders)}},e.prototype.decodeGRPCStatus=function(e){if(!e)return\"\";try{return decodeURIComponent(e)}catch(t){return e}},e.prototype.rawOnEnd=function(e,t,r){var n=this;this.props.debug&&i.debug(\"rawOnEnd\",e,t,r),this.completed||(this.completed=!0,this.onEndCallbacks.forEach((function(o){if(!n.closed)try{o(e,t,r)}catch(e){setTimeout((function(){throw e}),0)}})))},e.prototype.rawOnHeaders=function(e){this.props.debug&&i.debug(\"rawOnHeaders\",e),this.completed||this.onHeadersCallbacks.forEach((function(t){try{t(e)}catch(e){setTimeout((function(){throw e}),0)}}))},e.prototype.rawOnError=function(e,t,r){var o=this;void 0===r&&(r=new n.Metadata),this.props.debug&&i.debug(\"rawOnError\",e,t),this.completed||(this.completed=!0,this.onEndCallbacks.forEach((function(n){if(!o.closed)try{n(e,t,r)}catch(e){setTimeout((function(){throw e}),0)}})))},e.prototype.rawOnMessage=function(e){var t=this;this.props.debug&&i.debug(\"rawOnMessage\",e.toObject()),this.completed||this.closed||this.onMessageCallbacks.forEach((function(r){if(!t.closed)try{r(e)}catch(e){setTimeout((function(){throw e}),0)}}))},e.prototype.onHeaders=function(e){this.onHeadersCallbacks.push(e)},e.prototype.onMessage=function(e){this.onMessageCallbacks.push(e)},e.prototype.onEnd=function(e){this.onEndCallbacks.push(e)},e.prototype.start=function(e){if(this.started)throw new Error(\"Client already started - cannot .start()\");this.started=!0;var t=new n.Metadata(e||{});t.set(\"content-type\",\"application/grpc-web+proto\"),t.set(\"x-grpc-web\",\"1\"),this.transport.start(t)},e.prototype.send=function(e){if(!this.started)throw new Error(\"Client not started - .start() must be called before .send()\");if(this.closed)throw new Error(\"Client already closed - cannot .send()\");if(this.finishedSending)throw new Error(\"Client already finished sending - cannot .send()\");if(!this.methodDefinition.requestStream&&this.sentFirstMessage)throw new Error(\"Message already sent for non-client-streaming method - cannot .send()\");this.sentFirstMessage=!0;var t=u.frameRequest(e);this.transport.sendMessage(t)},e.prototype.finishSend=function(){if(!this.started)throw new Error(\"Client not started - .finishSend() must be called before .close()\");if(this.closed)throw new Error(\"Client already closed - cannot .send()\");if(this.finishedSending)throw new Error(\"Client already finished sending - cannot .finishSend()\");this.finishedSending=!0,this.transport.finishSend()},e.prototype.close=function(){if(!this.started)throw new Error(\"Client not started - .start() must be called before .close()\");if(this.closed)throw new Error(\"Client already closed - cannot .close()\");this.closed=!0,this.props.debug&&i.debug(\"request.abort aborting request\"),this.transport.cancel()},e}();function c(e){var t=e.get(\"grpc-status\")||[];if(t.length>0)try{var r=t[0];return parseInt(r,10)}catch(e){return null}return null}},346:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.debug=void 0,t.debug=function(){for(var e=[],t=0;t=55296&&r<=56319){var n=e.charCodeAt(t+1);n>=56320&&n<=57343&&(r=65536+(r-55296<<10)+(n-56320))}return r}function p(e){for(var t=new Uint8Array(e.length),r=0,n=0;n {\n if (signal.aborted) {\n reject(new AbortError());\n return;\n }\n let removeAbortListener;\n let finished = false;\n function finish() {\n if (!finished) {\n finished = true;\n if (removeAbortListener != null) {\n removeAbortListener();\n }\n }\n }\n const callback = executor(value => {\n resolve(value);\n finish();\n }, reason => {\n reject(reason);\n finish();\n });\n if (!finished) {\n const listener = () => {\n const callbackResult = callback();\n if (callbackResult == null) {\n reject(new AbortError());\n }\n else {\n callbackResult.then(() => {\n reject(new AbortError());\n }, reason => {\n reject(reason);\n });\n }\n finish();\n };\n signal.addEventListener('abort', listener);\n removeAbortListener = () => {\n signal.removeEventListener('abort', listener);\n };\n }\n });\n}\n//# sourceMappingURL=execute.js.map","import { execute } from './execute';\n/**\n * Wrap a promise to reject with `AbortError` once `signal` is aborted.\n *\n * Useful to wrap non-abortable promises.\n * Note that underlying process will NOT be aborted.\n */\nexport function abortable(signal, promise) {\n if (signal.aborted) {\n // prevent unhandled rejection\n const noop = () => { };\n promise.then(noop, noop);\n }\n return execute(signal, (resolve, reject) => {\n promise.then(resolve, reject);\n return () => { };\n });\n}\n//# sourceMappingURL=abortable.js.map","import { execute } from './execute';\n/**\n * Returns a promise that fulfills after delay and rejects with\n * `AbortError` once `signal` is aborted.\n *\n * The delay time is specified as a `Date` object or as an integer denoting\n * milliseconds to wait.\n *\n * Example:\n *\n * // Make requests repeatedly with a delay between consecutive requests\n * while (true) {\n * await makeRequest(signal, params);\n * await delay(signal, 1000);\n * }\n *\n * Example:\n *\n * // Make requests repeatedly with a fixed interval\n * import {addMilliseconds} from 'date-fns';\n *\n * let date = new Date();\n *\n * while (true) {\n * await makeRequest(signal, params);\n *\n * date = addMilliseconds(date, 1000);\n * await delay(signal, date);\n * }\n */\nexport function delay(signal, dueTime) {\n return execute(signal, resolve => {\n const ms = typeof dueTime === 'number' ? dueTime : dueTime.getTime() - Date.now();\n const timer = setTimeout(resolve, ms);\n return () => {\n clearTimeout(timer);\n };\n });\n}\n//# sourceMappingURL=delay.js.map","import { execute } from './execute';\n/**\n * Return a promise that never fulfills and only rejects with `AbortError` once\n * `signal` is aborted.\n */\nexport function forever(signal) {\n return execute(signal, () => () => { });\n}\n//# sourceMappingURL=forever.js.map","import { execute } from './execute';\n/**\n * Returns a promise that fulfills when an event of specific type is emitted\n * from given event target and rejects with `AbortError` once `signal` is\n * aborted.\n *\n * Example:\n *\n * // Create a WebSocket and wait for connection\n * const webSocket = new WebSocket(url);\n *\n * const openEvent = await race(signal, signal => [\n * waitForEvent(signal, webSocket, 'open'),\n * waitForEvent(signal, webSocket, 'close').then(\n * event => {\n * throw new Error(`Failed to connect to ${url}: ${event.reason}`);\n * },\n * ),\n * ]);\n */\nexport function waitForEvent(signal, target, eventName, options) {\n return execute(signal, resolve => {\n let unlisten;\n let finished = false;\n const handler = (...args) => {\n resolve(args.length > 1 ? args : args[0]);\n finished = true;\n if (unlisten != null) {\n unlisten();\n }\n };\n unlisten = listen(target, eventName, handler, options);\n if (finished) {\n unlisten();\n }\n return () => {\n finished = true;\n if (unlisten != null) {\n unlisten();\n }\n };\n });\n}\nfunction listen(target, eventName, handler, options) {\n if (isEventTarget(target)) {\n target.addEventListener(eventName, handler, options);\n return () => target.removeEventListener(eventName, handler, options);\n }\n if (isJQueryStyleEventEmitter(target)) {\n target.on(eventName, handler);\n return () => target.off(eventName, handler);\n }\n if (isNodeStyleEventEmitter(target)) {\n target.addListener(eventName, handler);\n return () => target.removeListener(eventName, handler);\n }\n throw new Error('Invalid event target');\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return (isFunction(sourceObj.addListener) && isFunction(sourceObj.removeListener));\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return isFunction(sourceObj.on) && isFunction(sourceObj.off);\n}\nfunction isEventTarget(sourceObj) {\n return (isFunction(sourceObj.addEventListener) &&\n isFunction(sourceObj.removeEventListener));\n}\nconst isFunction = (obj) => typeof obj === 'function';\n//# sourceMappingURL=waitForEvent.js.map","import { AbortError, isAbortError } from './AbortError';\nexport function all(signal, executor) {\n return new Promise((resolve, reject) => {\n if (signal.aborted) {\n reject(new AbortError());\n return;\n }\n const innerAbortController = new AbortController();\n const promises = executor(innerAbortController.signal);\n if (promises.length === 0) {\n resolve([]);\n return;\n }\n const abortListener = () => {\n innerAbortController.abort();\n };\n signal.addEventListener('abort', abortListener);\n let rejection;\n const results = new Array(promises.length);\n let settledCount = 0;\n function settled() {\n settledCount += 1;\n if (settledCount === promises.length) {\n signal.removeEventListener('abort', abortListener);\n if (rejection != null) {\n reject(rejection.reason);\n }\n else {\n resolve(results);\n }\n }\n }\n for (const [i, promise] of promises.entries()) {\n promise.then(value => {\n results[i] = value;\n settled();\n }, reason => {\n innerAbortController.abort();\n if (rejection == null ||\n (!isAbortError(reason) && isAbortError(rejection.reason))) {\n rejection = { reason };\n }\n settled();\n });\n }\n });\n}\n//# sourceMappingURL=all.js.map","import { AbortError, isAbortError } from './AbortError';\n/**\n * Abortable version of `Promise.race`.\n *\n * Creates new inner `AbortSignal` and passes it to `executor`. That signal is\n * aborted when `signal` is aborted or any of the promises returned from\n * `executor` are fulfilled or rejected.\n *\n * Returns a promise that fulfills or rejects when any of the promises returned\n * from `executor` are fulfilled or rejected, and rejects with `AbortError` when\n * `signal` is aborted.\n *\n * The promises returned from `executor` must be abortable, i.e. once\n * `innerSignal` is aborted, they must reject with `AbortError` either\n * immediately, or after doing any async cleanup.\n *\n * Example:\n *\n * const result = await race(signal, signal => [\n * delay(signal, 1000).then(() => ({status: 'timeout'})),\n * makeRequest(signal, params).then(value => ({status: 'success', value})),\n * ]);\n *\n * if (result.status === 'timeout') {\n * // request timed out\n * } else {\n * const response = result.value;\n * }\n */\nexport function race(signal, executor) {\n return new Promise((resolve, reject) => {\n if (signal.aborted) {\n reject(new AbortError());\n return;\n }\n const innerAbortController = new AbortController();\n const promises = executor(innerAbortController.signal);\n const abortListener = () => {\n innerAbortController.abort();\n };\n signal.addEventListener('abort', abortListener);\n let settledCount = 0;\n function settled(result) {\n innerAbortController.abort();\n settledCount += 1;\n if (settledCount === promises.length) {\n signal.removeEventListener('abort', abortListener);\n if (result.status === 'fulfilled') {\n resolve(result.value);\n }\n else {\n reject(result.reason);\n }\n }\n }\n let result;\n for (const promise of promises) {\n promise.then(value => {\n if (result == null) {\n result = { status: 'fulfilled', value };\n }\n settled(result);\n }, reason => {\n if (result == null ||\n (!isAbortError(reason) &&\n (result.status === 'fulfilled' || isAbortError(result.reason)))) {\n result = { status: 'rejected', reason };\n }\n settled(result);\n });\n }\n });\n}\n//# sourceMappingURL=race.js.map","import { delay } from './delay';\nimport { rethrowAbortError } from './AbortError';\n/**\n * Retry function with exponential backoff.\n *\n * The function receives AbortSignal, attempt number starting with 0, and reset\n * function that sets attempt number to -1 so that the next attempt will be\n * made without delay.\n */\nexport async function retry(signal, fn, options = {}) {\n const { baseMs = 1000, maxDelayMs = 30000, onError, maxAttempts = Infinity, } = options;\n let attempt = 0;\n const reset = () => {\n attempt = -1;\n };\n while (true) {\n try {\n return await fn(signal, attempt, reset);\n }\n catch (error) {\n rethrowAbortError(error);\n if (attempt >= maxAttempts) {\n throw error;\n }\n let delayMs;\n if (attempt === -1) {\n delayMs = 0;\n }\n else {\n // https://aws.amazon.com/ru/blogs/architecture/exponential-backoff-and-jitter/\n const backoff = Math.min(maxDelayMs, Math.pow(2, attempt) * baseMs);\n delayMs = Math.round((backoff * (1 + Math.random())) / 2);\n }\n if (onError) {\n onError(error, attempt, delayMs);\n }\n if (delayMs !== 0) {\n await delay(signal, delayMs);\n }\n attempt += 1;\n }\n }\n}\n//# sourceMappingURL=retry.js.map","import { AbortError, catchAbortError, isAbortError } from './AbortError';\n/**\n * Run an abortable function with `fork` and `defer` effects attached to it.\n *\n * `spawn` allows to write Go-style coroutines.\n *\n * Example:\n *\n * // Connect to a database, then start a server, then block until abort.\n * // On abort, gracefully shutdown the server, and once done, disconnect\n * // from the database.\n * spawn(signal, async (signal, {defer}) => {\n * const db = await connectToDb();\n *\n * defer(async () => {\n * await db.close();\n * });\n *\n * const server = await startServer(db);\n *\n * defer(async () => {\n * await server.close();\n * });\n *\n * await forever(signal);\n * });\n *\n * Example:\n *\n * // Connect to a database, then start an infinite polling loop.\n * // On abort, disconnect from the database.\n * spawn(signal, async (signal, {defer}) => {\n * const db = await connectToDb();\n *\n * defer(async () => {\n * await db.close();\n * });\n *\n * while (true) {\n * await poll(signal, db);\n * await delay(signal, 5000);\n * }\n * });\n *\n * Example:\n *\n * // Acquire a lock and execute a function.\n * // Extend the lock while the function is running.\n * // Once the function finishes or the signal is aborted, stop extending\n * // the lock and release it.\n * import Redlock = require('redlock');\n *\n * const lockTtl = 30_000;\n *\n * function withLock(\n * signal: AbortSignal,\n * redlock: Redlock,\n * key: string,\n * fn: (signal: AbortSignal) => Promise,\n * ): Promise {\n * return spawn(signal, async (signal, {fork, defer}) => {\n * const lock = await redlock.lock(key, lockTtl);\n *\n * defer(() => lock.unlock());\n * ​\n * fork(async signal => {\n * while (true) {\n * await delay(signal, lockTtl / 10);\n * await lock.extend(lockTtl);\n * }\n * });\n *\n * return await fn(signal);\n * });\n * }\n *\n * const redlock = new Redlock([redis], {\n * retryCount: -1,\n * });\n *\n * await withLock(signal, redlock, 'the-lock-key', async signal => {\n * // ...\n * });\n */\nexport function spawn(signal, fn) {\n if (signal.aborted) {\n return Promise.reject(new AbortError());\n }\n const deferredFunctions = [];\n /**\n * Aborted when spawned function finishes\n * or one of forked functions throws\n * or parent signal aborted.\n */\n const spawnAbortController = new AbortController();\n const spawnSignal = spawnAbortController.signal;\n const abortSpawn = () => {\n spawnAbortController.abort();\n };\n signal.addEventListener('abort', abortSpawn);\n const removeAbortListener = () => {\n signal.removeEventListener('abort', abortSpawn);\n };\n const tasks = new Set();\n const abortTasks = () => {\n for (const task of tasks) {\n task.abort();\n }\n };\n spawnSignal.addEventListener('abort', abortTasks);\n const removeSpawnAbortListener = () => {\n spawnSignal.removeEventListener('abort', abortTasks);\n };\n let promise = new Promise((resolve, reject) => {\n let result;\n let failure;\n fork(signal => fn(signal, {\n defer(fn) {\n deferredFunctions.push(fn);\n },\n fork,\n }))\n .join()\n .then(value => {\n spawnAbortController.abort();\n result = { value };\n }, error => {\n spawnAbortController.abort();\n if (!isAbortError(error) || failure == null) {\n failure = { error };\n }\n });\n function fork(forkFn) {\n if (spawnSignal.aborted) {\n // return already aborted task\n return {\n abort() { },\n async join() {\n throw new AbortError();\n },\n };\n }\n const taskAbortController = new AbortController();\n const taskSignal = taskAbortController.signal;\n const taskPromise = forkFn(taskSignal);\n const task = {\n abort() {\n taskAbortController.abort();\n },\n join: () => taskPromise,\n };\n tasks.add(task);\n taskPromise\n .catch(catchAbortError)\n .catch(error => {\n failure = { error };\n // error in forked function\n spawnAbortController.abort();\n })\n .finally(() => {\n tasks.delete(task);\n if (tasks.size === 0) {\n if (failure != null) {\n reject(failure.error);\n }\n else {\n resolve(result.value);\n }\n }\n });\n return task;\n }\n });\n promise = promise.finally(() => {\n removeAbortListener();\n removeSpawnAbortListener();\n let deferPromise = Promise.resolve();\n for (let i = deferredFunctions.length - 1; i >= 0; i--) {\n deferPromise = deferPromise.finally(deferredFunctions[i]);\n }\n return deferPromise;\n });\n return promise;\n}\n//# sourceMappingURL=spawn.js.map","import { catchAbortError } from './AbortError';\n/**\n * Invokes an abortable function with implicitly created `AbortSignal`.\n *\n * Returns a function that aborts that signal and waits until passed function\n * finishes.\n *\n * Any error other than `AbortError` thrown from passed function will result in\n * unhandled promise rejection.\n *\n * Example:\n *\n * const stop = run(async signal => {\n * try {\n * while (true) {\n * await delay(signal, 1000);\n * console.log('tick');\n * }\n * } finally {\n * await doCleanup();\n * }\n * });\n *\n * // abort and wait until cleanup is done\n * await stop();\n */\nexport function run(fn) {\n const abortController = new AbortController();\n const promise = fn(abortController.signal).catch(catchAbortError);\n return () => {\n abortController.abort();\n return promise;\n };\n}\n//# sourceMappingURL=run.js.map","import { isAbortError, catchAbortError } from './AbortError';\nimport { delay } from './delay';\nimport { execute } from './execute';\n/**\n * Proactively retry a function with exponential backoff.\n *\n * Also known as hedging.\n *\n * The function will be called multiple times in parallel until it succeeds, in\n * which case all the other calls will be aborted.\n */\nexport function proactiveRetry(signal, fn, options = {}) {\n const { baseMs = 1000, onError, maxAttempts = Infinity } = options;\n return execute(signal, (resolve, reject) => {\n const innerAbortController = new AbortController();\n let attemptsExhausted = false;\n const promises = new Map();\n function handleFulfilled(value) {\n innerAbortController.abort();\n promises.clear();\n resolve(value);\n }\n function handleRejected(err, attempt) {\n promises.delete(attempt);\n if (attemptsExhausted && promises.size === 0) {\n reject(err);\n return;\n }\n if (isAbortError(err)) {\n return;\n }\n if (onError) {\n try {\n onError(err, attempt);\n }\n catch (err) {\n innerAbortController.abort();\n promises.clear();\n reject(err);\n }\n }\n }\n async function makeAttempts(signal) {\n for (let attempt = 0;; attempt++) {\n const promise = fn(signal, attempt);\n promises.set(attempt, promise);\n promise.then(handleFulfilled, err => handleRejected(err, attempt));\n if (attempt + 1 >= maxAttempts) {\n break;\n }\n // https://aws.amazon.com/ru/blogs/architecture/exponential-backoff-and-jitter/\n const backoff = Math.pow(2, attempt) * baseMs;\n const delayMs = Math.round((backoff * (1 + Math.random())) / 2);\n await delay(signal, delayMs);\n }\n attemptsExhausted = true;\n }\n makeAttempts(innerAbortController.signal).catch(catchAbortError);\n return () => {\n innerAbortController.abort();\n };\n });\n}\n//# sourceMappingURL=proactiveRetry.js.map","\"use strict\";\n// borrowed from IxJS\n// https://github.com/ReactiveX/IxJS/blob/v4.5.1/src/asynciterable/asyncsink.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AsyncSink = void 0;\nconst ARRAY_VALUE = 'value';\nconst ARRAY_ERROR = 'error';\nclass AsyncSink {\n constructor() {\n this._ended = false;\n this._values = [];\n this._resolvers = [];\n }\n [Symbol.asyncIterator]() {\n return this;\n }\n write(value) {\n this._push({ type: ARRAY_VALUE, value });\n }\n error(error) {\n this._push({ type: ARRAY_ERROR, error });\n }\n _push(item) {\n if (this._ended) {\n throw new Error('AsyncSink already ended');\n }\n if (this._resolvers.length > 0) {\n const { resolve, reject } = this._resolvers.shift();\n if (item.type === ARRAY_ERROR) {\n reject(item.error);\n }\n else {\n resolve({ done: false, value: item.value });\n }\n }\n else {\n this._values.push(item);\n }\n }\n next() {\n if (this._values.length > 0) {\n const { type, value, error } = this._values.shift();\n if (type === ARRAY_ERROR) {\n return Promise.reject(error);\n }\n else {\n return Promise.resolve({ done: false, value });\n }\n }\n if (this._ended) {\n return Promise.resolve({ done: true });\n }\n return new Promise((resolve, reject) => {\n this._resolvers.push({ resolve, reject });\n });\n }\n end() {\n while (this._resolvers.length > 0) {\n this._resolvers.shift().resolve({ done: true });\n }\n this._ended = true;\n }\n}\nexports.AsyncSink = AsyncSink;\n//# sourceMappingURL=AsyncSink.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsyncIterable = void 0;\n/** @internal */\nfunction isAsyncIterable(value) {\n return value != null && Symbol.asyncIterator in value;\n}\nexports.isAsyncIterable = isAsyncIterable;\n//# sourceMappingURL=isAsyncIterable.js.map","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.5';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasatob = typeof atob === 'function';\n var _hasbtoa = typeof btoa === 'function';\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = _hasbtoa ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = _hasatob ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertMetadataFromGrpcWeb = exports.convertMetadataToGrpcWeb = void 0;\nconst grpc_web_1 = require(\"@improbable-eng/grpc-web\");\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst js_base64_1 = require(\"js-base64\");\nfunction convertMetadataToGrpcWeb(metadata) {\n const grpcMetadata = new grpc_web_1.grpc.Metadata();\n for (const [key, values] of metadata) {\n for (const value of values) {\n grpcMetadata.append(key, typeof value === 'string' ? value : js_base64_1.Base64.fromUint8Array(value));\n }\n }\n return grpcMetadata;\n}\nexports.convertMetadataToGrpcWeb = convertMetadataToGrpcWeb;\nfunction convertMetadataFromGrpcWeb(grpcMetadata) {\n const metadata = (0, nice_grpc_common_1.Metadata)();\n for (const [key, values] of Object.entries(grpcMetadata.headersMap)) {\n if (key.endsWith('-bin')) {\n for (const value of values) {\n for (const item of value.split(/,\\s?/)) {\n metadata.append(key, js_base64_1.Base64.toUint8Array(item));\n }\n }\n }\n else {\n metadata.set(key, values);\n }\n }\n return metadata;\n}\nexports.convertMetadataFromGrpcWeb = convertMetadataFromGrpcWeb;\n//# sourceMappingURL=convertMetadata.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBidiStreamingMethod = void 0;\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst grpc_web_1 = require(\"@improbable-eng/grpc-web\");\nconst abort_controller_x_1 = require(\"abort-controller-x\");\nconst AsyncSink_1 = require(\"../utils/AsyncSink\");\nconst service_definitions_1 = require(\"../service-definitions\");\nconst isAsyncIterable_1 = require(\"../utils/isAsyncIterable\");\nconst convertMetadata_1 = require(\"../utils/convertMetadata\");\n/** @internal */\nfunction createBidiStreamingMethod(definition, channel, middleware, defaultOptions) {\n const grpcMethodDefinition = (0, service_definitions_1.toGrpcWebMethodDefinition)(definition);\n const methodDescriptor = {\n path: definition.path,\n requestStream: definition.requestStream,\n responseStream: definition.responseStream,\n options: definition.options,\n };\n async function* bidiStreamingMethod(request, options) {\n if (!(0, isAsyncIterable_1.isAsyncIterable)(request)) {\n throw new Error('A middleware passed invalid request to next(): expected a single message for bidirectional streaming method');\n }\n const { metadata = (0, nice_grpc_common_1.Metadata)(), signal = new AbortController().signal, onHeader, onTrailer, } = options;\n const pipeAbortController = new AbortController();\n const sink = new AsyncSink_1.AsyncSink();\n const client = grpc_web_1.grpc.client(grpcMethodDefinition, {\n host: channel.address,\n transport: channel.transport,\n });\n client.onHeaders(headers => {\n onHeader === null || onHeader === void 0 ? void 0 : onHeader((0, convertMetadata_1.convertMetadataFromGrpcWeb)(headers));\n });\n client.onMessage(message => {\n sink.write(message);\n });\n client.onEnd((code, message, trailers) => {\n onTrailer === null || onTrailer === void 0 ? void 0 : onTrailer((0, convertMetadata_1.convertMetadataFromGrpcWeb)(trailers));\n if (code === grpc_web_1.grpc.Code.OK) {\n sink.end();\n }\n else {\n sink.error(new nice_grpc_common_1.ClientError(definition.path, +code, message));\n }\n });\n client.start((0, convertMetadata_1.convertMetadataToGrpcWeb)(metadata));\n let pipeError;\n pipeRequest(pipeAbortController.signal, request, client, definition).then(() => {\n client.finishSend();\n }, err => {\n if (!(0, abort_controller_x_1.isAbortError)(err)) {\n pipeError = err;\n client.close();\n sink.end();\n }\n });\n const abortListener = () => {\n sink.error(new abort_controller_x_1.AbortError());\n pipeAbortController.abort();\n client.close();\n };\n signal.addEventListener('abort', abortListener);\n try {\n yield* sink;\n }\n finally {\n pipeAbortController.abort();\n signal.removeEventListener('abort', abortListener);\n (0, abort_controller_x_1.throwIfAborted)(signal);\n if (pipeError) {\n throw pipeError;\n }\n }\n }\n const method = middleware == null\n ? bidiStreamingMethod\n : (request, options) => middleware({\n method: methodDescriptor,\n requestStream: true,\n request,\n responseStream: true,\n next: bidiStreamingMethod,\n }, options);\n return (request, options) => {\n const iterable = method(request, {\n ...defaultOptions,\n ...options,\n });\n const iterator = iterable[Symbol.asyncIterator]();\n return {\n [Symbol.asyncIterator]() {\n return {\n async next() {\n const result = await iterator.next();\n if (result.done && result.value != null) {\n return await iterator.throw(new Error('A middleware returned a message, but expected to return void for bidirectional streaming method'));\n }\n return result;\n },\n return() {\n return iterator.return();\n },\n throw(err) {\n return iterator.throw(err);\n },\n };\n },\n };\n };\n}\nexports.createBidiStreamingMethod = createBidiStreamingMethod;\nasync function pipeRequest(signal, request, client, definition) {\n for await (const item of request) {\n (0, abort_controller_x_1.throwIfAborted)(signal);\n client.send({\n serializeBinary: () => definition.requestSerialize(item),\n });\n }\n}\n//# sourceMappingURL=createBidiStreamingMethod.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createClientStreamingMethod = void 0;\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst grpc_web_1 = require(\"@improbable-eng/grpc-web\");\nconst abort_controller_x_1 = require(\"abort-controller-x\");\nconst service_definitions_1 = require(\"../service-definitions\");\nconst isAsyncIterable_1 = require(\"../utils/isAsyncIterable\");\nconst convertMetadata_1 = require(\"../utils/convertMetadata\");\n/** @internal */\nfunction createClientStreamingMethod(definition, channel, middleware, defaultOptions) {\n const grpcMethodDefinition = (0, service_definitions_1.toGrpcWebMethodDefinition)(definition);\n const methodDescriptor = {\n path: definition.path,\n requestStream: definition.requestStream,\n responseStream: definition.responseStream,\n options: definition.options,\n };\n async function* clientStreamingMethod(request, options) {\n if (!(0, isAsyncIterable_1.isAsyncIterable)(request)) {\n throw new Error('A middleware passed invalid request to next(): expected a single message for client streaming method');\n }\n const { metadata = (0, nice_grpc_common_1.Metadata)(), signal = new AbortController().signal, onHeader, onTrailer, } = options;\n return await (0, abort_controller_x_1.execute)(signal, (resolve, reject) => {\n const pipeAbortController = new AbortController();\n let response;\n const client = grpc_web_1.grpc.client(grpcMethodDefinition, {\n host: channel.address,\n transport: channel.transport,\n });\n client.onHeaders(headers => {\n onHeader === null || onHeader === void 0 ? void 0 : onHeader((0, convertMetadata_1.convertMetadataFromGrpcWeb)(headers));\n });\n client.onMessage(message => {\n response = message;\n });\n client.onEnd((code, message, trailers) => {\n onTrailer === null || onTrailer === void 0 ? void 0 : onTrailer((0, convertMetadata_1.convertMetadataFromGrpcWeb)(trailers));\n pipeAbortController.abort();\n if (code === grpc_web_1.grpc.Code.OK) {\n resolve(response);\n }\n else {\n reject(new nice_grpc_common_1.ClientError(definition.path, +code, message));\n }\n });\n client.start((0, convertMetadata_1.convertMetadataToGrpcWeb)(metadata));\n pipeRequest(pipeAbortController.signal, request, client, definition).then(() => {\n client.finishSend();\n }, err => {\n if (!(0, abort_controller_x_1.isAbortError)(err)) {\n reject(err);\n client.close();\n }\n });\n return () => {\n pipeAbortController.abort();\n client.close();\n };\n });\n }\n const method = middleware == null\n ? clientStreamingMethod\n : (request, options) => middleware({\n method: methodDescriptor,\n requestStream: true,\n request,\n responseStream: false,\n next: clientStreamingMethod,\n }, options);\n return async (request, options) => {\n const iterable = method(request, {\n ...defaultOptions,\n ...options,\n });\n const iterator = iterable[Symbol.asyncIterator]();\n let result = await iterator.next();\n while (true) {\n if (!result.done) {\n result = await iterator.throw(new Error('A middleware yielded a message, but expected to only return a message for client streaming method'));\n continue;\n }\n if (result.value == null) {\n result = await iterator.throw(new Error('A middleware returned void, but expected to return a message for client streaming method'));\n continue;\n }\n return result.value;\n }\n };\n}\nexports.createClientStreamingMethod = createClientStreamingMethod;\nasync function pipeRequest(signal, request, client, definition) {\n for await (const item of request) {\n (0, abort_controller_x_1.throwIfAborted)(signal);\n client.send({\n serializeBinary: () => definition.requestSerialize(item),\n });\n }\n}\n//# sourceMappingURL=createClientStreamingMethod.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createServerStreamingMethod = void 0;\nconst grpc_web_1 = require(\"@improbable-eng/grpc-web\");\nconst abort_controller_x_1 = require(\"abort-controller-x\");\nconst AsyncSink_1 = require(\"../utils/AsyncSink\");\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst service_definitions_1 = require(\"../service-definitions\");\nconst convertMetadata_1 = require(\"../utils/convertMetadata\");\nconst isAsyncIterable_1 = require(\"../utils/isAsyncIterable\");\n/** @internal */\nfunction createServerStreamingMethod(definition, channel, middleware, defaultOptions) {\n const grpcMethodDefinition = (0, service_definitions_1.toGrpcWebMethodDefinition)(definition);\n const methodDescriptor = {\n path: definition.path,\n requestStream: definition.requestStream,\n responseStream: definition.responseStream,\n options: definition.options,\n };\n async function* serverStreamingMethod(request, options) {\n if ((0, isAsyncIterable_1.isAsyncIterable)(request)) {\n throw new Error('A middleware passed invalid request to next(): expected a single message for server streaming method');\n }\n const { metadata = (0, nice_grpc_common_1.Metadata)(), signal = new AbortController().signal, onHeader, onTrailer, } = options;\n const sink = new AsyncSink_1.AsyncSink();\n const client = grpc_web_1.grpc.client(grpcMethodDefinition, {\n host: channel.address,\n transport: channel.transport,\n });\n client.onHeaders(headers => {\n onHeader === null || onHeader === void 0 ? void 0 : onHeader((0, convertMetadata_1.convertMetadataFromGrpcWeb)(headers));\n });\n client.onMessage(message => {\n sink.write(message);\n });\n client.onEnd((code, message, trailers) => {\n onTrailer === null || onTrailer === void 0 ? void 0 : onTrailer((0, convertMetadata_1.convertMetadataFromGrpcWeb)(trailers));\n if (code === grpc_web_1.grpc.Code.OK) {\n sink.end();\n }\n else {\n sink.error(new nice_grpc_common_1.ClientError(definition.path, +code, message));\n }\n });\n client.start((0, convertMetadata_1.convertMetadataToGrpcWeb)(metadata));\n client.send({\n serializeBinary: () => definition.requestSerialize(request),\n });\n client.finishSend();\n const abortListener = () => {\n sink.error(new abort_controller_x_1.AbortError());\n client.close();\n };\n signal.addEventListener('abort', abortListener);\n try {\n yield* sink;\n }\n finally {\n signal.removeEventListener('abort', abortListener);\n (0, abort_controller_x_1.throwIfAborted)(signal);\n }\n }\n const method = middleware == null\n ? serverStreamingMethod\n : (request, options) => middleware({\n method: methodDescriptor,\n requestStream: false,\n request,\n responseStream: true,\n next: serverStreamingMethod,\n }, options);\n return (request, options) => {\n const iterable = method(request, {\n ...defaultOptions,\n ...options,\n });\n const iterator = iterable[Symbol.asyncIterator]();\n return {\n [Symbol.asyncIterator]() {\n return {\n async next() {\n const result = await iterator.next();\n if (result.done && result.value != null) {\n return await iterator.throw(new Error('A middleware returned a message, but expected to return void for server streaming method'));\n }\n return result;\n },\n return() {\n return iterator.return();\n },\n throw(err) {\n return iterator.throw(err);\n },\n };\n },\n };\n };\n}\nexports.createServerStreamingMethod = createServerStreamingMethod;\n//# sourceMappingURL=createServerStreamingMethod.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createUnaryMethod = void 0;\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst grpc_web_1 = require(\"@improbable-eng/grpc-web\");\nconst abort_controller_x_1 = require(\"abort-controller-x\");\nconst service_definitions_1 = require(\"../service-definitions\");\nconst isAsyncIterable_1 = require(\"../utils/isAsyncIterable\");\nconst convertMetadata_1 = require(\"../utils/convertMetadata\");\n/** @internal */\nfunction createUnaryMethod(definition, channel, middleware, defaultOptions) {\n const grpcMethodDefinition = (0, service_definitions_1.toGrpcWebMethodDefinition)(definition);\n const methodDescriptor = {\n path: definition.path,\n requestStream: definition.requestStream,\n responseStream: definition.responseStream,\n options: definition.options,\n };\n async function* unaryMethod(request, options) {\n if ((0, isAsyncIterable_1.isAsyncIterable)(request)) {\n throw new Error('A middleware passed invalid request to next(): expected a single message for unary method');\n }\n const { metadata = (0, nice_grpc_common_1.Metadata)(), signal = new AbortController().signal, onHeader, onTrailer, } = options;\n return await (0, abort_controller_x_1.execute)(signal, (resolve, reject) => {\n let response;\n const client = grpc_web_1.grpc.client(grpcMethodDefinition, {\n host: channel.address,\n transport: channel.transport,\n });\n client.onHeaders(headers => {\n onHeader === null || onHeader === void 0 ? void 0 : onHeader((0, convertMetadata_1.convertMetadataFromGrpcWeb)(headers));\n });\n client.onMessage(message => {\n response = message;\n });\n client.onEnd((code, message, trailers) => {\n onTrailer === null || onTrailer === void 0 ? void 0 : onTrailer((0, convertMetadata_1.convertMetadataFromGrpcWeb)(trailers));\n if (code === grpc_web_1.grpc.Code.OK) {\n resolve(response);\n }\n else {\n reject(new nice_grpc_common_1.ClientError(definition.path, +code, message));\n }\n });\n client.start((0, convertMetadata_1.convertMetadataToGrpcWeb)(metadata));\n client.send({\n serializeBinary: () => definition.requestSerialize(request),\n });\n client.finishSend();\n return () => {\n client.close();\n };\n });\n }\n const method = middleware == null\n ? unaryMethod\n : (request, options) => middleware({\n method: methodDescriptor,\n requestStream: false,\n request,\n responseStream: false,\n next: unaryMethod,\n }, options);\n return async (request, options) => {\n const iterable = method(request, {\n ...defaultOptions,\n ...options,\n });\n const iterator = iterable[Symbol.asyncIterator]();\n let result = await iterator.next();\n while (true) {\n if (!result.done) {\n result = await iterator.throw(new Error('A middleware yielded a message, but expected to only return a message for unary method'));\n continue;\n }\n if (result.value == null) {\n result = await iterator.throw(new Error('A middleware returned void, but expected to return a message for unary method'));\n continue;\n }\n return result.value;\n }\n };\n}\nexports.createUnaryMethod = createUnaryMethod;\n//# sourceMappingURL=createUnaryMethod.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createClient = exports.createClientFactory = void 0;\nconst nice_grpc_common_1 = require(\"nice-grpc-common\");\nconst service_definitions_1 = require(\"../service-definitions\");\nconst createBidiStreamingMethod_1 = require(\"./createBidiStreamingMethod\");\nconst createClientStreamingMethod_1 = require(\"./createClientStreamingMethod\");\nconst createServerStreamingMethod_1 = require(\"./createServerStreamingMethod\");\nconst createUnaryMethod_1 = require(\"./createUnaryMethod\");\nfunction createClientFactory() {\n return createClientFactoryWithMiddleware();\n}\nexports.createClientFactory = createClientFactory;\nfunction createClient(definition, channel, defaultCallOptions) {\n return createClientFactory().create(definition, channel, defaultCallOptions);\n}\nexports.createClient = createClient;\nfunction createClientFactoryWithMiddleware(middleware) {\n return {\n use(newMiddleware) {\n return createClientFactoryWithMiddleware(middleware == null\n ? newMiddleware\n : (0, nice_grpc_common_1.composeClientMiddleware)(middleware, newMiddleware));\n },\n create(definition, channel, defaultCallOptions = {}) {\n const client = {};\n const methodEntries = Object.entries((0, service_definitions_1.normalizeServiceDefinition)(definition));\n for (const [methodName, methodDefinition] of methodEntries) {\n const defaultOptions = {\n ...defaultCallOptions['*'],\n ...defaultCallOptions[methodName],\n };\n if (!methodDefinition.requestStream) {\n if (!methodDefinition.responseStream) {\n client[methodName] = (0, createUnaryMethod_1.createUnaryMethod)(methodDefinition, channel, middleware, defaultOptions);\n }\n else {\n client[methodName] = (0, createServerStreamingMethod_1.createServerStreamingMethod)(methodDefinition, channel, middleware, defaultOptions);\n }\n }\n else {\n if (!methodDefinition.responseStream) {\n client[methodName] = (0, createClientStreamingMethod_1.createClientStreamingMethod)(methodDefinition, channel, middleware, defaultOptions);\n }\n else {\n client[methodName] = (0, createBidiStreamingMethod_1.createBidiStreamingMethod)(methodDefinition, channel, middleware, defaultOptions);\n }\n }\n }\n return client;\n },\n };\n}\n//# sourceMappingURL=ClientFactory.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=Client.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Status = exports.Metadata = exports.composeClientMiddleware = exports.ClientError = void 0;\nvar nice_grpc_common_1 = require(\"nice-grpc-common\");\nObject.defineProperty(exports, \"ClientError\", { enumerable: true, get: function () { return nice_grpc_common_1.ClientError; } });\nObject.defineProperty(exports, \"composeClientMiddleware\", { enumerable: true, get: function () { return nice_grpc_common_1.composeClientMiddleware; } });\nObject.defineProperty(exports, \"Metadata\", { enumerable: true, get: function () { return nice_grpc_common_1.Metadata; } });\nObject.defineProperty(exports, \"Status\", { enumerable: true, get: function () { return nice_grpc_common_1.Status; } });\n__exportStar(require(\"./service-definitions\"), exports);\n__exportStar(require(\"./client/channel\"), exports);\n__exportStar(require(\"./client/ClientFactory\"), exports);\n__exportStar(require(\"./client/Client\"), exports);\n//# sourceMappingURL=index.js.map","// protobuf/ts/faucet/faucet.ts\nimport Long from \"long\";\nimport _m0 from \"protobufjs/minimal.js\";\nvar protobufPackage = \"faucet\";\nfunction createBaseLinkedTwitterPair() {\n return { username: \"\", address: \"\" };\n}\nvar LinkedTwitterPair = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterPair();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return LinkedTwitterPair.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseLinkedTwitterPair();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n }\n};\nfunction createBaseFaucetStore() {\n return { addressToUsername: {}, usernameToAddress: {}, latestDrip: {}, totalDripCount: 0 };\n}\nvar FaucetStore = {\n encode(message, writer = _m0.Writer.create()) {\n Object.entries(message.addressToUsername).forEach(([key, value]) => {\n FaucetStore_AddressToUsernameEntry.encode({ key, value }, writer.uint32(10).fork()).ldelim();\n });\n Object.entries(message.usernameToAddress).forEach(([key, value]) => {\n FaucetStore_UsernameToAddressEntry.encode({ key, value }, writer.uint32(18).fork()).ldelim();\n });\n Object.entries(message.latestDrip).forEach(([key, value]) => {\n FaucetStore_LatestDripEntry.encode({ key, value }, writer.uint32(26).fork()).ldelim();\n });\n if (message.totalDripCount !== 0) {\n writer.uint32(33).double(message.totalDripCount);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n const entry1 = FaucetStore_AddressToUsernameEntry.decode(reader, reader.uint32());\n if (entry1.value !== void 0) {\n message.addressToUsername[entry1.key] = entry1.value;\n }\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n const entry2 = FaucetStore_UsernameToAddressEntry.decode(reader, reader.uint32());\n if (entry2.value !== void 0) {\n message.usernameToAddress[entry2.key] = entry2.value;\n }\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n const entry3 = FaucetStore_LatestDripEntry.decode(reader, reader.uint32());\n if (entry3.value !== void 0) {\n message.latestDrip[entry3.key] = entry3.value;\n }\n continue;\n case 4:\n if (tag != 33) {\n break;\n }\n message.totalDripCount = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return FaucetStore.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseFaucetStore();\n message.addressToUsername = Object.entries(object.addressToUsername ?? {}).reduce(\n (acc, [key, value]) => {\n if (value !== void 0) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.usernameToAddress = Object.entries(object.usernameToAddress ?? {}).reduce(\n (acc, [key, value]) => {\n if (value !== void 0) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.latestDrip = Object.entries(object.latestDrip ?? {}).reduce(\n (acc, [key, value]) => {\n if (value !== void 0) {\n acc[key] = Number(value);\n }\n return acc;\n },\n {}\n );\n message.totalDripCount = object.totalDripCount ?? 0;\n return message;\n }\n};\nfunction createBaseFaucetStore_AddressToUsernameEntry() {\n return { key: \"\", value: \"\" };\n}\nvar FaucetStore_AddressToUsernameEntry = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return FaucetStore_AddressToUsernameEntry.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n }\n};\nfunction createBaseFaucetStore_UsernameToAddressEntry() {\n return { key: \"\", value: \"\" };\n}\nvar FaucetStore_UsernameToAddressEntry = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return FaucetStore_UsernameToAddressEntry.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n }\n};\nfunction createBaseFaucetStore_LatestDripEntry() {\n return { key: \"\", value: 0 };\n}\nvar FaucetStore_LatestDripEntry = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== 0) {\n writer.uint32(16).int64(message.value);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_LatestDripEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 16) {\n break;\n }\n message.value = longToNumber(reader.int64());\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return FaucetStore_LatestDripEntry.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseFaucetStore_LatestDripEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? 0;\n return message;\n }\n};\nfunction createBaseDripRequest() {\n return { username: \"\", address: \"\" };\n}\nvar DripRequest = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseDripRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return DripRequest.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseDripRequest();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n }\n};\nfunction createBaseDripDevRequest() {\n return { address: \"\" };\n}\nvar DripDevRequest = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseDripDevRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return DripDevRequest.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseDripDevRequest();\n message.address = object.address ?? \"\";\n return message;\n }\n};\nfunction createBaseDripResponse() {\n return { dripTxHash: \"\", ecsTxHash: \"\" };\n}\nvar DripResponse = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.dripTxHash !== \"\") {\n writer.uint32(10).string(message.dripTxHash);\n }\n if (message.ecsTxHash !== \"\") {\n writer.uint32(18).string(message.ecsTxHash);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.dripTxHash = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.ecsTxHash = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return DripResponse.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseDripResponse();\n message.dripTxHash = object.dripTxHash ?? \"\";\n message.ecsTxHash = object.ecsTxHash ?? \"\";\n return message;\n }\n};\nfunction createBaseTimeUntilDripResponse() {\n return { timeUntilDripMinutes: 0, timeUntilDripSeconds: 0 };\n}\nvar TimeUntilDripResponse = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.timeUntilDripMinutes !== 0) {\n writer.uint32(9).double(message.timeUntilDripMinutes);\n }\n if (message.timeUntilDripSeconds !== 0) {\n writer.uint32(17).double(message.timeUntilDripSeconds);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseTimeUntilDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 9) {\n break;\n }\n message.timeUntilDripMinutes = reader.double();\n continue;\n case 2:\n if (tag != 17) {\n break;\n }\n message.timeUntilDripSeconds = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return TimeUntilDripResponse.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseTimeUntilDripResponse();\n message.timeUntilDripMinutes = object.timeUntilDripMinutes ?? 0;\n message.timeUntilDripSeconds = object.timeUntilDripSeconds ?? 0;\n return message;\n }\n};\nfunction createBaseGetLinkedTwittersRequest() {\n return {};\n}\nvar GetLinkedTwittersRequest = {\n encode(_, writer = _m0.Writer.create()) {\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return GetLinkedTwittersRequest.fromPartial(base ?? {});\n },\n fromPartial(_) {\n const message = createBaseGetLinkedTwittersRequest();\n return message;\n }\n};\nfunction createBaseGetLinkedTwittersResponse() {\n return { linkedTwitters: [] };\n}\nvar GetLinkedTwittersResponse = {\n encode(message, writer = _m0.Writer.create()) {\n for (const v of message.linkedTwitters) {\n LinkedTwitterPair.encode(v, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.linkedTwitters.push(LinkedTwitterPair.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return GetLinkedTwittersResponse.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseGetLinkedTwittersResponse();\n message.linkedTwitters = object.linkedTwitters?.map((e) => LinkedTwitterPair.fromPartial(e)) || [];\n return message;\n }\n};\nfunction createBaseLinkedTwitterForAddressRequest() {\n return { address: \"\" };\n}\nvar LinkedTwitterForAddressRequest = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return LinkedTwitterForAddressRequest.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseLinkedTwitterForAddressRequest();\n message.address = object.address ?? \"\";\n return message;\n }\n};\nfunction createBaseLinkedTwitterForAddressResponse() {\n return { username: \"\" };\n}\nvar LinkedTwitterForAddressResponse = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return LinkedTwitterForAddressResponse.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseLinkedTwitterForAddressResponse();\n message.username = object.username ?? \"\";\n return message;\n }\n};\nfunction createBaseLinkedAddressForTwitterRequest() {\n return { username: \"\" };\n}\nvar LinkedAddressForTwitterRequest = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return LinkedAddressForTwitterRequest.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseLinkedAddressForTwitterRequest();\n message.username = object.username ?? \"\";\n return message;\n }\n};\nfunction createBaseLinkedAddressForTwitterResponse() {\n return { address: \"\" };\n}\nvar LinkedAddressForTwitterResponse = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return LinkedAddressForTwitterResponse.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseLinkedAddressForTwitterResponse();\n message.address = object.address ?? \"\";\n return message;\n }\n};\nfunction createBaseSetLinkedTwitterRequest() {\n return { address: \"\", username: \"\", signature: \"\" };\n}\nvar SetLinkedTwitterRequest = {\n encode(message, writer = _m0.Writer.create()) {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.username !== \"\") {\n writer.uint32(18).string(message.username);\n }\n if (message.signature !== \"\") {\n writer.uint32(26).string(message.signature);\n }\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n message.address = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n message.username = reader.string();\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n message.signature = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return SetLinkedTwitterRequest.fromPartial(base ?? {});\n },\n fromPartial(object) {\n const message = createBaseSetLinkedTwitterRequest();\n message.address = object.address ?? \"\";\n message.username = object.username ?? \"\";\n message.signature = object.signature ?? \"\";\n return message;\n }\n};\nfunction createBaseSetLinkedTwitterResponse() {\n return {};\n}\nvar SetLinkedTwitterResponse = {\n encode(_, writer = _m0.Writer.create()) {\n return writer;\n },\n decode(input, length) {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === void 0 ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n create(base) {\n return SetLinkedTwitterResponse.fromPartial(base ?? {});\n },\n fromPartial(_) {\n const message = createBaseSetLinkedTwitterResponse();\n return message;\n }\n};\nvar FaucetServiceDefinition = {\n name: \"FaucetService\",\n fullName: \"faucet.FaucetService\",\n methods: {\n drip: {\n name: \"Drip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {}\n },\n dripDev: {\n name: \"DripDev\",\n requestType: DripDevRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {}\n },\n dripVerifyTweet: {\n name: \"DripVerifyTweet\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {}\n },\n timeUntilDrip: {\n name: \"TimeUntilDrip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: TimeUntilDripResponse,\n responseStream: false,\n options: {}\n },\n getLinkedTwitters: {\n name: \"GetLinkedTwitters\",\n requestType: GetLinkedTwittersRequest,\n requestStream: false,\n responseType: GetLinkedTwittersResponse,\n responseStream: false,\n options: {}\n },\n getLinkedTwitterForAddress: {\n name: \"GetLinkedTwitterForAddress\",\n requestType: LinkedTwitterForAddressRequest,\n requestStream: false,\n responseType: LinkedTwitterForAddressResponse,\n responseStream: false,\n options: {}\n },\n getLinkedAddressForTwitter: {\n name: \"GetLinkedAddressForTwitter\",\n requestType: LinkedAddressForTwitterRequest,\n requestStream: false,\n responseType: LinkedAddressForTwitterResponse,\n responseStream: false,\n options: {}\n },\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter: {\n name: \"SetLinkedTwitter\",\n requestType: SetLinkedTwitterRequest,\n requestStream: false,\n responseType: SetLinkedTwitterResponse,\n responseStream: false,\n options: {}\n }\n }\n};\nvar tsProtoGlobalThis = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\nfunction longToNumber(long) {\n if (long.gt(Number.MAX_SAFE_INTEGER)) {\n throw new tsProtoGlobalThis.Error(\"Value is larger than Number.MAX_SAFE_INTEGER\");\n }\n return long.toNumber();\n}\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long;\n _m0.configure();\n}\n\n// ts/faucet/createFaucetService.ts\nimport { createChannel, createClient } from \"nice-grpc-web\";\nfunction createFaucetService(url) {\n return createClient(FaucetServiceDefinition, createChannel(url));\n}\nexport {\n DripDevRequest,\n DripRequest,\n DripResponse,\n FaucetServiceDefinition,\n FaucetStore,\n FaucetStore_AddressToUsernameEntry,\n FaucetStore_LatestDripEntry,\n FaucetStore_UsernameToAddressEntry,\n GetLinkedTwittersRequest,\n GetLinkedTwittersResponse,\n LinkedAddressForTwitterRequest,\n LinkedAddressForTwitterResponse,\n LinkedTwitterForAddressRequest,\n LinkedTwitterForAddressResponse,\n LinkedTwitterPair,\n SetLinkedTwitterRequest,\n SetLinkedTwitterResponse,\n TimeUntilDripResponse,\n createFaucetService,\n protobufPackage\n};\n//# sourceMappingURL=faucet.js.map","// src/arbitrum.ts\nvar arbitrum = {\n id: 42161,\n name: \"Arbitrum One\",\n network: \"arbitrum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-mainnet.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://arb1.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://arbiscan.io\" },\n default: { name: \"Arbiscan\", url: \"https://arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7654707\n }\n }\n};\n\n// src/arbitrumGoerli.ts\nvar arbitrumGoerli = {\n id: 421613,\n name: \"Arbitrum Goerli\",\n network: \"arbitrum-goerli\",\n nativeCurrency: {\n name: \"Arbitrum Goerli Ether\",\n symbol: \"ETH\",\n decimals: 18\n },\n rpcUrls: {\n alchemy: {\n http: [\"https://arb-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://arb-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://arbitrum-goerli.infura.io/v3\"],\n webSocket: [\"wss://arbitrum-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://goerli-rollup.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" },\n default: { name: \"Arbiscan\", url: \"https://goerli.arbiscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 88114\n }\n },\n testnet: true\n};\n\n// src/arbitrumNova.ts\nvar arbitrumNova = {\n id: 42170,\n name: \"Arbitrum Nova\",\n network: \"arbitrum-nova\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n blast: {\n http: [\"https://arbitrum-nova.public.blastapi.io\"],\n webSocket: [\"wss://arbitrum-nova.public.blastapi.io\"]\n },\n default: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n },\n public: {\n http: [\"https://nova.arbitrum.io/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" },\n blockScout: {\n name: \"BlockScout\",\n url: \"https://nova-explorer.arbitrum.io/\"\n },\n default: { name: \"Arbiscan\", url: \"https://nova.arbiscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1746963\n }\n }\n};\n\n// src/aurora.ts\nvar aurora = {\n id: 1313161554,\n name: \"Aurora\",\n network: \"aurora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-mainnet.infura.io/v3\"] },\n default: { http: [\"https://mainnet.aurora.dev\"] },\n public: { http: [\"https://mainnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://aurorascan.dev\" }\n }\n};\n\n// src/auroraTestnet.ts\nvar auroraTestnet = {\n id: 1313161555,\n name: \"Aurora Testnet\",\n network: \"aurora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n infura: { http: [\"https://aurora-testnet.infura.io/v3\"] },\n default: { http: [\"https://testnet.aurora.dev\"] },\n public: { http: [\"https://testnet.aurora.dev\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" },\n default: { name: \"Aurorascan\", url: \"https://testnet.aurorascan.dev\" }\n },\n testnet: true\n};\n\n// src/avalanche.ts\nvar avalanche = {\n id: 43114,\n name: \"Avalanche\",\n network: \"avalanche\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 11907934\n }\n }\n};\n\n// src/avalancheFuji.ts\nvar avalancheFuji = {\n id: 43113,\n name: \"Avalanche Fuji\",\n network: \"avalanche-fuji\",\n nativeCurrency: {\n decimals: 18,\n name: \"Avalanche Fuji\",\n symbol: \"AVAX\"\n },\n rpcUrls: {\n default: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] },\n public: { http: [\"https://api.avax-test.network/ext/bc/C/rpc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" },\n default: { name: \"SnowTrace\", url: \"https://testnet.snowtrace.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7096959\n }\n },\n testnet: true\n};\n\n// src/base.ts\nvar base = {\n id: 8453,\n network: \"base\",\n name: \"Base\",\n nativeCurrency: { name: \"Base\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://developer-access-mainnet.base.org\"]\n },\n public: {\n http: [\"https://developer-access-mainnet.base.org\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Basescout\",\n url: \"https://base.blockscout.com\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n },\n etherscan: {\n name: \"Basescan\",\n url: \"https://basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 5022\n }\n }\n};\n\n// src/baseGoerli.ts\nvar baseGoerli = {\n id: 84531,\n network: \"base-goerli\",\n name: \"Base Goerli\",\n nativeCurrency: { name: \"Base Goerli\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://goerli.base.org\"]\n },\n public: {\n http: [\"https://goerli.base.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n },\n default: {\n name: \"Basescan\",\n url: \"https://goerli.basescan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1376988\n }\n },\n testnet: true\n};\n\n// src/bearNetworkChainMainnet.ts\nvar bearNetworkChainMainnet = {\n id: 641230,\n name: \"Bear Network Chain Mainnet\",\n network: \"BearNetworkChainMainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BearNetworkChain\",\n symbol: \"BRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-mainnet.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: { name: \"BrnkScan\", url: \"https://brnkscan.bearnetwork.net\" }\n }\n};\n\n// src/bearNetworkChainTestnet.ts\nvar bearNetworkChainTestnet = {\n id: 751230,\n name: \"Bear Network Chain Testnet\",\n network: \"BearNetworkChainTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"tBRNKC\",\n symbol: \"tBRNKC\"\n },\n rpcUrls: {\n public: { http: [\"https://brnkc-test.bearnetwork.net\"] },\n default: { http: [\"https://brnkc-test.bearnetwork.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"BrnkTestScan\",\n url: \"https://brnktest-scan.bearnetwork.net\"\n }\n },\n testnet: true\n};\n\n// src/boba.ts\nvar boba = {\n id: 288,\n name: \"Boba Network\",\n network: \"boba\",\n nativeCurrency: {\n decimals: 18,\n name: \"Boba\",\n symbol: \"BOBA\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.boba.network\"] },\n public: { http: [\"https://mainnet.boba.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BOBAScan\", url: \"https://bobascan.com\" },\n default: { name: \"BOBAScan\", url: \"https://bobascan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 446859\n }\n }\n};\n\n// src/bronos.ts\nvar bronos = {\n id: 1039,\n name: \"Bronos\",\n network: \"bronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"BRO\",\n symbol: \"BRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm.bronos.org\"] },\n public: { http: [\"https://evm.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://broscan.bronos.org\" }\n }\n};\n\n// src/bronosTestnet.ts\nvar bronosTestnet = {\n id: 1038,\n name: \"Bronos Testnet\",\n network: \"bronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Bronos Coin\",\n symbol: \"tBRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-testnet.bronos.org\"] },\n public: { http: [\"https://evm-testnet.bronos.org\"] }\n },\n blockExplorers: {\n default: { name: \"BronoScan\", url: \"https://tbroscan.bronos.org\" }\n },\n testnet: true\n};\n\n// src/bsc.ts\nvar bsc = {\n id: 56,\n name: \"BNB Smart Chain\",\n network: \"bsc\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"BNB\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/bsc\"] },\n public: { http: [\"https://rpc.ankr.com/bsc\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 15921452\n }\n }\n};\n\n// src/bscTestnet.ts\nvar bscTestnet = {\n id: 97,\n name: \"Binance Smart Chain Testnet\",\n network: \"bsc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"BNB\",\n symbol: \"tBNB\"\n },\n rpcUrls: {\n default: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] },\n public: { http: [\"https://data-seed-prebsc-1-s1.binance.org:8545\"] }\n },\n blockExplorers: {\n etherscan: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" },\n default: { name: \"BscScan\", url: \"https://testnet.bscscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 17422483\n }\n },\n testnet: true\n};\n\n// src/bxn.ts\nvar bxn = {\n id: 4999,\n name: \"BlackFort Exchange Network\",\n network: \"bxn\",\n nativeCurrency: { name: \"BlackFort Token\", symbol: \"BXN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://mainnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://explorer.blackfort.network\"\n }\n }\n};\n\n// src/bxnTestnet.ts\nvar bxnTestnet = {\n id: 4777,\n name: \"BlackFort Exchange Network Testnet\",\n network: \"bxnTestnet\",\n nativeCurrency: {\n name: \"BlackFort Testnet Token\",\n symbol: \"TBXN\",\n decimals: 18\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n },\n public: {\n http: [\"https://testnet.blackfort.network/rpc\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://testnet-explorer.blackfort.network\"\n }\n }\n};\n\n// src/canto.ts\nvar canto = {\n id: 7700,\n name: \"Canto\",\n network: \"canto\",\n nativeCurrency: {\n decimals: 18,\n name: \"Canto\",\n symbol: \"CANTO\"\n },\n rpcUrls: {\n default: { http: [\"https://canto.gravitychain.io\"] },\n public: { http: [\"https://canto.gravitychain.io\"] }\n },\n blockExplorers: {\n default: {\n name: \"Tuber.Build (Blockscout)\",\n url: \"https://tuber.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2905789\n }\n }\n};\n\n// src/celo.ts\nvar celo = {\n id: 42220,\n name: \"Celo\",\n network: \"celo\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"CELO\"\n },\n rpcUrls: {\n default: { http: [\"https://forno.celo.org\"] },\n infura: {\n http: [\"https://celo-mainnet.infura.io/v3\"]\n },\n public: {\n http: [\"https://forno.celo.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/mainnet\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://celoscan.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 13112599\n }\n },\n testnet: false\n};\n\n// src/celoAlfajores.ts\nvar celoAlfajores = {\n id: 44787,\n name: \"Alfajores\",\n network: \"celo-alfajores\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"A-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n },\n infura: {\n http: [\"https://celo-alfajores.infura.io/v3\"]\n },\n public: {\n http: [\"https://alfajores-forno.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/alfajores\"\n },\n etherscan: { name: \"CeloScan\", url: \"https://alfajores.celoscan.io/\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 14569001\n }\n },\n testnet: true\n};\n\n// src/celoCannoli.ts\nvar celoCannoli = {\n id: 17323,\n name: \"Cannoli\",\n network: \"celo-cannoli\",\n nativeCurrency: {\n decimals: 18,\n name: \"CELO\",\n symbol: \"C-CELO\"\n },\n rpcUrls: {\n default: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n },\n public: {\n http: [\"https://forno.cannoli.celo-testnet.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Celo Explorer\",\n url: \"https://explorer.celo.org/cannoli\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718\",\n blockCreated: 87429\n }\n },\n testnet: true\n};\n\n// src/confluxESpace.ts\nvar confluxESpace = {\n id: 1030,\n name: \"Conflux eSpace\",\n network: \"cfx-espace\",\n nativeCurrency: { name: \"Conflux\", symbol: \"CFX\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://evm.confluxrpc.org\"]\n },\n public: {\n http: [\"https://evm.confluxrpc.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"ConfluxScan\",\n url: \"https://evm.confluxscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xEFf0078910f638cd81996cc117bccD3eDf2B072F\",\n blockCreated: 68602935\n }\n }\n};\n\n// src/cronos.ts\nvar cronos = {\n id: 25,\n name: \"Cronos\",\n network: \"cronos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Cronos\",\n symbol: \"CRO\"\n },\n rpcUrls: {\n default: { http: [\"https://node.croswap.com/rpc\"] },\n public: { http: [\"https://node.croswap.com/rpc\"] }\n },\n blockExplorers: {\n default: { name: \"CronosScan\", url: \"https://cronoscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1963112\n }\n }\n};\n\n// src/cronosTestnet.ts\nvar cronosTestnet = {\n id: 338,\n name: \"Cronos Testnet\",\n network: \"cronos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"CRO\",\n symbol: \"tCRO\"\n },\n rpcUrls: {\n default: { http: [\"https://evm-t3.cronos.org\"] },\n public: { http: [\"https://evm-t3.cronos.org\"] }\n },\n blockExplorers: {\n default: {\n name: \"Cronos Explorer\",\n url: \"https://cronos.org/explorer/testnet3\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 10191251\n }\n },\n testnet: true\n};\n\n// src/crossbell.ts\nvar crossbell = {\n id: 3737,\n network: \"crossbell\",\n name: \"Crossbell\",\n nativeCurrency: {\n decimals: 18,\n name: \"CSB\",\n symbol: \"CSB\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.crossbell.io\"]\n },\n public: {\n http: [\"https://rpc.crossbell.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"CrossScan\", url: \"https://scan.crossbell.io\" }\n },\n contracts: {\n multicall3: {\n address: \"0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf\",\n blockCreated: 23499787\n }\n }\n};\n\n// src/dfk.ts\nvar dfk = {\n id: 53935,\n name: \"DFK Chain\",\n network: \"dfk\",\n nativeCurrency: {\n decimals: 18,\n name: \"Jewel\",\n symbol: \"JEWEL\"\n },\n rpcUrls: {\n default: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n },\n public: {\n http: [\"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n },\n default: {\n name: \"DFKSubnetScan\",\n url: \"https://subnets.avax.network/defi-kingdoms\"\n }\n }\n};\n\n// src/dogechain.ts\nvar dogechain = {\n id: 2e3,\n name: \"Dogechain\",\n network: \"dogechain\",\n nativeCurrency: {\n decimals: 18,\n name: \"Dogechain\",\n symbol: \"DC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.dogechain.dog\"] },\n public: { http: [\"https://rpc.dogechain.dog\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n },\n default: {\n name: \"DogeChainExplorer\",\n url: \"https://explorer.dogechain.dog\"\n }\n }\n};\n\n// src/edgeware.ts\nvar edgeware = {\n id: 2021,\n name: \"Edgeware EdgeEVM Mainnet\",\n network: \"edgeware\",\n nativeCurrency: {\n decimals: 18,\n name: \"Edgeware\",\n symbol: \"EDG\"\n },\n rpcUrls: {\n default: { http: [\"https://edgeware-evm.jelliedowl.net\"] },\n public: { http: [\"https://edgeware-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" },\n default: { name: \"Edgscan by Bharathcoorg\", url: \"https://edgscan.live\" }\n },\n contracts: {\n multicall3: {\n address: \"0xDDF47eEB4e5FF4AA60e063E0Ec4f7C35B47Ed445\",\n blockCreated: 17126780\n }\n }\n};\n\n// src/edgewareTestnet.ts\nvar edgewareTestnet = {\n id: 2022,\n name: \"Beresheet BereEVM Testnet\",\n network: \"edgewareTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Testnet EDG\",\n symbol: \"tEDG\"\n },\n rpcUrls: {\n default: { http: [\"https://beresheet-evm.jelliedowl.net\"] },\n public: { http: [\"https://beresheet-evm.jelliedowl.net\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n },\n default: {\n name: \"Edgscan by Bharathcoorg\",\n url: \"https://testnet.edgscan.live\"\n }\n }\n};\n\n// src/eos.ts\nvar eos = {\n id: 17777,\n name: \"EOS EVM\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Explorer\",\n url: \"https://explorer.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 7943933\n }\n }\n};\n\n// src/eosTestnet.ts\nvar eosTestnet = {\n id: 15557,\n name: \"EOS EVM Testnet\",\n network: \"eos\",\n nativeCurrency: {\n decimals: 18,\n name: \"EOS\",\n symbol: \"EOS\"\n },\n rpcUrls: {\n default: { http: [\"https://api.testnet.evm.eosnetwork.com\"] },\n public: { http: [\"https://api.testnet.evm.eosnetwork.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n },\n default: {\n name: \"EOS EVM Testnet Explorer\",\n url: \"https://explorer.testnet.evm.eosnetwork.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 9067940\n }\n },\n testnet: true\n};\n\n// src/evmos.ts\nvar evmos = {\n id: 9001,\n name: \"Evmos\",\n network: \"evmos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.org:8545\"] },\n public: { http: [\"https://eth.bd.evmos.org:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Evmos Block Explorer\", url: \"https://escan.live\" }\n }\n};\n\n// src/evmosTestnet.ts\nvar evmosTestnet = {\n id: 9e3,\n name: \"Evmos Testnet\",\n network: \"evmos-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Evmos\",\n symbol: \"EVMOS\"\n },\n rpcUrls: {\n default: { http: [\"https://eth.bd.evmos.dev:8545\"] },\n public: { http: [\"https://eth.bd.evmos.dev:8545\"] }\n },\n blockExplorers: {\n default: {\n name: \"Evmos Testnet Block Explorer\",\n url: \"https://evm.evmos.dev/\"\n }\n }\n};\n\n// src/ekta.ts\nvar ekta = {\n id: 1994,\n name: \"Ekta\",\n network: \"ekta\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://main.ekta.io\"] },\n default: { http: [\"https://main.ekta.io\"] }\n },\n blockExplorers: {\n default: { name: \"Ektascan\", url: \"https://ektascan.io\" }\n }\n};\n\n// src/ektaTestnet.ts\nvar ektaTestnet = {\n id: 1004,\n name: \"Ekta Testnet\",\n network: \"ekta-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"EKTA\",\n symbol: \"EKTA\"\n },\n rpcUrls: {\n public: { http: [\"https://test.ekta.io:8545\"] },\n default: { http: [\"https://test.ekta.io:8545\"] }\n },\n blockExplorers: {\n default: { name: \"Test Ektascan\", url: \"https://test.ektascan.io\" }\n },\n testnet: true\n};\n\n// src/fantom.ts\nvar fantom = {\n id: 250,\n name: \"Fantom\",\n network: \"fantom\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.ankr.com/fantom\"] },\n public: { http: [\"https://rpc.ankr.com/fantom\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 33001987\n }\n }\n};\n\n// src/fantomTestnet.ts\nvar fantomTestnet = {\n id: 4002,\n name: \"Fantom Testnet\",\n network: \"fantom-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Fantom\",\n symbol: \"FTM\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.fantom.network\"] },\n public: { http: [\"https://rpc.testnet.fantom.network\"] }\n },\n blockExplorers: {\n etherscan: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" },\n default: { name: \"FTMScan\", url: \"https://testnet.ftmscan.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 8328688\n }\n }\n};\n\n// src/fibo.ts\nvar fibo = {\n id: 12306,\n name: \"Fibo Chain\",\n network: \"fibochain\",\n nativeCurrency: {\n decimals: 18,\n name: \"fibo\",\n symbol: \"FIBO\"\n },\n rpcUrls: {\n default: { http: [\"https://network.hzroc.art\"] },\n public: { http: [\"https://network.hzroc.art\"] }\n },\n blockExplorers: {\n default: { name: \"FiboScan\", url: \"https://scan.fibochain.org\" }\n }\n};\n\n// src/filecoin.ts\nvar filecoin = {\n id: 314,\n name: \"Filecoin Mainnet\",\n network: \"filecoin-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"filecoin\",\n symbol: \"FIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://filscan.io\" },\n filscout: { name: \"Filscout\", url: \"https://filscout.io/en\" },\n glif: { name: \"Glif\", url: \"https://explorer.glif.io\" }\n }\n};\n\n// src/filecoinCalibration.ts\nvar filecoinCalibration = {\n id: 314159,\n name: \"Filecoin Calibration\",\n network: \"filecoin-calibration\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.calibration.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filscan\", url: \"https://calibration.filscan.io\" }\n }\n};\n\n// src/filecoinHyperspace.ts\nvar filecoinHyperspace = {\n id: 3141,\n name: \"Filecoin Hyperspace\",\n network: \"filecoin-hyperspace\",\n nativeCurrency: {\n decimals: 18,\n name: \"testnet filecoin\",\n symbol: \"tFIL\"\n },\n rpcUrls: {\n default: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] },\n public: { http: [\"https://api.hyperspace.node.glif.io/rpc/v1\"] }\n },\n blockExplorers: {\n default: { name: \"Filfox\", url: \"https://hyperspace.filfox.info/en\" },\n filscan: { name: \"Filscan\", url: \"https://hyperspace.filscan.io\" }\n }\n};\n\n// src/flare.ts\nvar flare = {\n id: 14,\n name: \"Flare Mainnet\",\n network: \"flare-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"flare\",\n symbol: \"FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://flare-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Flare Explorer\",\n url: \"https://flare-explorer.flare.network\"\n }\n }\n};\n\n// src/flareTestnet.ts\nvar flareTestnet = {\n id: 114,\n name: \"Coston2\",\n network: \"coston2\",\n nativeCurrency: {\n decimals: 18,\n name: \"coston2flare\",\n symbol: \"C2FLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston2-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston2 Explorer\",\n url: \"https://coston2-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/foundry.ts\nvar foundry = {\n id: 31337,\n name: \"Foundry\",\n network: \"foundry\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n },\n public: {\n http: [\"http://127.0.0.1:8545\"],\n webSocket: [\"ws://127.0.0.1:8545\"]\n }\n }\n};\n\n// src/fuse.ts\nvar fuse = {\n id: 122,\n name: \"Fuse\",\n network: \"fuse\",\n nativeCurrency: { name: \"Fuse\", symbol: \"FUSE\", decimals: 18 },\n rpcUrls: {\n default: { http: [\"https://rpc.fuse.io\"] },\n public: { http: [\"https://fuse-mainnet.chainstacklabs.com\"] }\n },\n blockExplorers: {\n default: { name: \"Fuse Explorer\", url: \"https://explorer.fuse.io\" }\n }\n};\n\n// src/iotex.ts\nvar iotex = {\n id: 4689,\n name: \"IoTeX\",\n network: \"iotex\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.mainnet.iotex.io\"],\n webSocket: [\"wss://babel-api.mainnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://iotexscan.io\" }\n }\n};\n\n// src/iotexTestnet.ts\nvar iotexTestnet = {\n id: 4690,\n name: \"IoTeX Testnet\",\n network: \"iotex-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\"\n },\n rpcUrls: {\n default: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n },\n public: {\n http: [\"https://babel-api.testnet.iotex.io\"],\n webSocket: [\"wss://babel-api.testnet.iotex.io\"]\n }\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" }\n }\n};\n\n// src/goerli.ts\nvar goerli = {\n id: 5,\n network: \"goerli\",\n name: \"Goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://goerli.infura.io/v3\"],\n webSocket: [\"wss://goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n },\n public: {\n http: [\"https://rpc.ankr.com/eth_goerli\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli.etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0x56522D00C410a43BFfDF00a9A569489297385790\",\n blockCreated: 8765204\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/gnosis.ts\nvar gnosis = {\n id: 100,\n name: \"Gnosis\",\n network: \"gnosis\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.gnosischain.com\"] },\n public: { http: [\"https://rpc.gnosischain.com\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Gnosisscan\",\n url: \"https://gnosisscan.io\"\n },\n default: {\n name: \"Gnosis Chain Explorer\",\n url: \"https://blockscout.com/xdai/mainnet\"\n }\n }\n};\n\n// src/gnosisChiado.ts\nvar gnosisChiado = {\n id: 10200,\n name: \"Gnosis Chiado\",\n network: \"chiado\",\n nativeCurrency: {\n decimals: 18,\n name: \"Gnosis\",\n symbol: \"xDAI\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.chiadochain.net\"] },\n public: { http: [\"https://rpc.chiadochain.net\"] }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.chiadochain.net\"\n }\n }\n};\n\n// src/hardhat.ts\nvar hardhat = {\n id: 31337,\n name: \"Hardhat\",\n network: \"hardhat\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/harmonyOne.ts\nvar harmonyOne = {\n id: 16666e5,\n name: \"Harmony One\",\n network: \"harmony\",\n nativeCurrency: {\n name: \"Harmony\",\n symbol: \"ONE\",\n decimals: 18\n },\n rpcUrls: {\n public: { http: [\"https://rpc.ankr.com/harmony\"] },\n default: { http: [\"https://rpc.ankr.com/harmony\"] }\n },\n blockExplorers: {\n default: { name: \"Harmony Explorer\", url: \"https://explorer.harmony.one\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 24185753\n }\n }\n};\n\n// src/haqqMainnet.ts\nvar haqqMainnet = {\n id: 11235,\n name: \"HAQQ Mainnet\",\n network: \"haqq-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLM\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.haqq.network\"\n }\n }\n};\n\n// src/haqqTestedge2.ts\nvar haqqTestedge2 = {\n id: 54211,\n name: \"HAQQ Testedge 2\",\n network: \"haqq-testedge-2\",\n nativeCurrency: {\n decimals: 18,\n name: \"Islamic Coin\",\n symbol: \"ISLMT\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n },\n public: {\n http: [\"https://rpc.eth.testedge2.haqq.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"HAQQ Explorer\",\n url: \"https://explorer.testedge2.haqq.network\"\n }\n }\n};\n\n// src/klaytn.ts\nvar klaytn = {\n id: 8217,\n name: \"Klaytn\",\n network: \"klaytn\",\n nativeCurrency: {\n decimals: 18,\n name: \"Klaytn\",\n symbol: \"KLAY\"\n },\n rpcUrls: {\n default: { http: [\"https://cypress.fautor.app/archive\"] },\n public: { http: [\"https://cypress.fautor.app/archive\"] }\n },\n blockExplorers: {\n etherscan: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" },\n default: { name: \"KlaytnScope\", url: \"https://scope.klaytn.com\" }\n }\n};\n\n// src/lineaTestnet.ts\nvar lineaTestnet = {\n id: 59140,\n name: \"Linea Goerli Testnet\",\n network: \"linea-testnet\",\n nativeCurrency: { name: \"Linea Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n infura: {\n http: [\"https://consensys-zkevm-goerli-prealpha.infura.io/v3\"],\n webSocket: [\"wss://consensys-zkevm-goerli-prealpha.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n },\n public: {\n http: [\"https://rpc.goerli.linea.build\"],\n webSocket: [\"wss://rpc.goerli.linea.build\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"BlockScout\",\n url: \"https://explorer.goerli.linea.build\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 498623\n }\n },\n testnet: true\n};\n\n// src/localhost.ts\nvar localhost = {\n id: 1337,\n name: \"Localhost\",\n network: \"localhost\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: { http: [\"http://127.0.0.1:8545\"] },\n public: { http: [\"http://127.0.0.1:8545\"] }\n }\n};\n\n// src/mainnet.ts\nvar mainnet = {\n id: 1,\n network: \"homestead\",\n name: \"Ethereum\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://mainnet.infura.io/v3\"],\n webSocket: [\"wss://mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://cloudflare-eth.com\"]\n },\n public: {\n http: [\"https://cloudflare-eth.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://etherscan.io\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n ensUniversalResolver: {\n address: \"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62\",\n blockCreated: 16966585\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/mantle.ts\nvar mantle = {\n id: 5e3,\n name: \"Mantle\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.mantle.xyz\"] },\n public: { http: [\"https://rpc.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.mantle.xyz\"\n }\n }\n};\n\n// src/mantleTestnet.ts\nvar mantleTestnet = {\n id: 5001,\n name: \"Mantle Testnet\",\n network: \"mantle\",\n nativeCurrency: {\n decimals: 18,\n name: \"MNT\",\n symbol: \"MNT\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.testnet.mantle.xyz\"] },\n public: { http: [\"https://rpc.testnet.mantle.xyz\"] }\n },\n blockExplorers: {\n etherscan: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n },\n default: {\n name: \"Mantle Testnet Explorer\",\n url: \"https://explorer.testnet.mantle.xyz\"\n }\n },\n testnet: true\n};\n\n// src/metis.ts\nvar metis = {\n id: 1088,\n name: \"Metis\",\n network: \"andromeda\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://andromeda.metis.io/?owner=1088\"] },\n public: { http: [\"https://andromeda.metis.io/?owner=1088\"] }\n },\n blockExplorers: {\n default: {\n name: \"Andromeda Explorer\",\n url: \"https://andromeda-explorer.metis.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 2338552\n }\n }\n};\n\n// src/metisGoerli.ts\nvar metisGoerli = {\n id: 599,\n name: \"Metis Goerli\",\n network: \"metis-goerli\",\n nativeCurrency: {\n decimals: 18,\n name: \"Metis Goerli\",\n symbol: \"METIS\"\n },\n rpcUrls: {\n default: { http: [\"https://goerli.gateway.metisdevops.link\"] },\n public: { http: [\"https://goerli.gateway.metisdevops.link\"] }\n },\n blockExplorers: {\n default: {\n name: \"Metis Goerli Explorer\",\n url: \"https://goerli.explorer.metisdevops.link\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 1006207\n }\n }\n};\n\n// src/mev.ts\nvar mev = {\n id: 7518,\n network: \"MEVerse\",\n name: \"MEVerse Chain Mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversemainnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversemainnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://www.meversescan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 86881340\n }\n }\n};\n\n// src/mevTestnet.ts\nvar mevTestnet = {\n id: 4759,\n network: \"MEVerse Testnet\",\n name: \"MEVerse Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"MEVerse\",\n symbol: \"MEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.meversetestnet.io\"]\n },\n public: {\n http: [\"https://rpc.meversetestnet.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Explorer\",\n url: \"https://testnet.meversescan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 64371115\n }\n },\n testnet: true\n};\n\n// src/moonbaseAlpha.ts\nvar moonbaseAlpha = {\n id: 1287,\n name: \"Moonbase Alpha\",\n network: \"moonbase-alpha\",\n nativeCurrency: {\n decimals: 18,\n name: \"DEV\",\n symbol: \"DEV\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n },\n public: {\n http: [\"https://rpc.api.moonbase.moonbeam.network\"],\n webSocket: [\"wss://wss.api.moonbase.moonbeam.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonbase.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1850686\n }\n },\n testnet: true\n};\n\n// src/moonbeam.ts\nvar moonbeam = {\n id: 1284,\n name: \"Moonbeam\",\n network: \"moonbeam\",\n nativeCurrency: {\n decimals: 18,\n name: \"GLMR\",\n symbol: \"GLMR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonbeam.public.blastapi.io\"],\n webSocket: [\"wss://moonbeam.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 609002\n }\n },\n testnet: false\n};\n\n// src/moonriver.ts\nvar moonriver = {\n id: 1285,\n name: \"Moonriver\",\n network: \"moonriver\",\n nativeCurrency: {\n decimals: 18,\n name: \"MOVR\",\n symbol: \"MOVR\"\n },\n rpcUrls: {\n public: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n },\n default: {\n http: [\"https://moonriver.public.blastapi.io\"],\n webSocket: [\"wss://moonriver.public.blastapi.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n },\n etherscan: {\n name: \"Moonscan\",\n url: \"https://moonriver.moonscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 1597904\n }\n },\n testnet: false\n};\n\n// src/neonDevnet.ts\nvar neonDevnet = {\n id: 245022926,\n network: \"neonDevnet\",\n name: \"Neon EVM DevNet\",\n nativeCurrency: { name: \"NEON\", symbol: \"NEON\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://devnet.neonevm.org\"]\n },\n public: {\n http: [\"https://devnet.neonevm.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Neonscan\",\n url: \"https://neonscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 205206112\n }\n },\n testnet: true\n};\n\n// src/nexi.ts\nvar nexi = {\n id: 4242,\n name: \"Nexi\",\n network: \"nexi\",\n nativeCurrency: { name: \"Nexi\", symbol: \"NEXI\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.chain.nexi.technology\"]\n },\n public: {\n http: [\"https://rpc.chain.nexi.technology\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n },\n default: {\n name: \"NexiScan\",\n url: \"https://www.nexiscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/nexilix.ts\nvar nexilix = {\n id: 240,\n name: \"Nexilix Smart Chain\",\n network: \"nexilix\",\n nativeCurrency: {\n decimals: 18,\n name: \"Nexilix\",\n symbol: \"NEXILIX\"\n },\n rpcUrls: {\n default: { http: [\"https://rpcurl.pos.nexilix.com\"] },\n public: { http: [\"https://rpcurl.pos.nexilix.com\"] }\n },\n blockExplorers: {\n etherscan: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" },\n default: { name: \"NexilixScan\", url: \"https://scan.nexilix.com\" }\n },\n contracts: {\n multicall3: {\n address: \"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244\",\n blockCreated: 74448\n }\n }\n};\n\n// src/oasys.ts\nvar oasys = {\n id: 248,\n name: \"Oasys\",\n network: \"oasys\",\n nativeCurrency: { name: \"Oasys\", symbol: \"OAS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n },\n public: {\n http: [\"https://rpc.mainnet.oasys.games\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"OasysScan\",\n url: \"https://scan.oasys.games\"\n }\n }\n};\n\n// src/okc.ts\nvar okc = {\n id: 66,\n name: \"OKC\",\n network: \"okc\",\n nativeCurrency: {\n decimals: 18,\n name: \"OKT\",\n symbol: \"OKT\"\n },\n rpcUrls: {\n default: { http: [\"https://exchainrpc.okex.org\"] },\n public: { http: [\"https://exchainrpc.okex.org\"] }\n },\n blockExplorers: {\n default: { name: \"oklink\", url: \"https://www.oklink.com/okc\" }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 10364792\n }\n }\n};\n\n// src/optimism.ts\nvar optimism = {\n id: 10,\n name: \"OP Mainnet\",\n network: \"optimism\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-mainnet.infura.io/v3\"],\n webSocket: [\"wss://optimism-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://mainnet.optimism.io\"]\n },\n public: {\n http: [\"https://mainnet.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://optimistic.etherscan.io\"\n },\n default: {\n name: \"Optimism Explorer\",\n url: \"https://explorer.optimism.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 4286263\n }\n }\n};\n\n// src/optimismGoerli.ts\nvar optimismGoerli = {\n id: 420,\n name: \"Optimism Goerli\",\n network: \"optimism-goerli\",\n nativeCurrency: { name: \"Goerli Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://opt-goerli.g.alchemy.com/v2\"],\n webSocket: [\"wss://opt-goerli.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://optimism-goerli.infura.io/v3\"],\n webSocket: [\"wss://optimism-goerli.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://goerli.optimism.io\"]\n },\n public: {\n http: [\"https://goerli.optimism.io\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://goerli-optimism.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 49461\n }\n },\n testnet: true\n};\n\n// src/polygon.ts\nvar polygon = {\n id: 137,\n name: \"Polygon\",\n network: \"matic\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mainnet.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mainnet.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mainnet.infura.io/v3\"],\n webSocket: [\"wss://polygon-mainnet.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://polygon-rpc.com\"]\n },\n public: {\n http: [\"https://polygon-rpc.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n }\n};\n\n// src/polygonMumbai.ts\nvar polygonMumbai = {\n id: 80001,\n name: \"Polygon Mumbai\",\n network: \"maticmum\",\n nativeCurrency: { name: \"MATIC\", symbol: \"MATIC\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://polygon-mumbai.g.alchemy.com/v2\"],\n webSocket: [\"wss://polygon-mumbai.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://polygon-mumbai.infura.io/v3\"],\n webSocket: [\"wss://polygon-mumbai.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n },\n public: {\n http: [\"https://matic-mumbai.chainstacklabs.com\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://mumbai.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 25770160\n }\n },\n testnet: true\n};\n\n// src/polygonZkEvmTestnet.ts\nvar polygonZkEvmTestnet = {\n id: 1442,\n name: \"Polygon zkEVM Testnet\",\n network: \"polygon-zkevm-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n },\n public: {\n http: [\"https://rpc.public.zkevm-test.net\"]\n }\n },\n blockExplorers: {\n blockscout: {\n name: \"Blockscout\",\n url: \"https://explorer.public.zkevm-test.net\"\n },\n default: {\n name: \"PolygonScan\",\n url: \"https://testnet-zkevm.polygonscan.com\"\n }\n },\n testnet: true,\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 525686\n }\n }\n};\n\n// src/polygonZkEvm.ts\nvar polygonZkEvm = {\n id: 1101,\n name: \"Polygon zkEVM\",\n network: \"polygon-zkevm\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://zkevm-rpc.com\"]\n },\n public: {\n http: [\"https://zkevm-rpc.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PolygonScan\",\n url: \"https://zkevm.polygonscan.com\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 57746\n }\n }\n};\n\n// src/pulsechain.ts\nvar pulsechain = {\n id: 369,\n network: \"pulsechain\",\n name: \"PulseChain\",\n nativeCurrency: { name: \"Pulse\", symbol: \"PLS\", decimals: 18 },\n testnet: false,\n rpcUrls: {\n default: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.pulsechain.com\"],\n webSocket: [\"wss://ws.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/pulsechainV4.ts\nvar pulsechainV4 = {\n id: 943,\n network: \"pulsechainV4\",\n name: \"PulseChain V4\",\n testnet: true,\n nativeCurrency: { name: \"V4 Pulse\", symbol: \"v4PLS\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n },\n public: {\n http: [\"https://rpc.v4.testnet.pulsechain.com\"],\n webSocket: [\"wss://ws.v4.testnet.pulsechain.com\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"PulseScan\",\n url: \"https://scan.v4.testnet.pulsechain.com\"\n }\n },\n contracts: {\n ensRegistry: {\n address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\"\n },\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 14353601\n }\n }\n};\n\n// src/scrollTestnet.ts\nvar scrollTestnet = {\n id: 534353,\n name: \"Scroll Testnet\",\n network: \"scroll-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n },\n public: {\n http: [\"https://alpha-rpc.scroll.io/l2\"],\n webSocket: [\"wss://alpha-rpc.scroll.io/l2/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Blockscout\",\n url: \"https://blockscout.scroll.io\"\n }\n },\n testnet: true\n};\n\n// src/sepolia.ts\nvar sepolia = {\n id: 11155111,\n network: \"sepolia\",\n name: \"Sepolia\",\n nativeCurrency: { name: \"Sepolia Ether\", symbol: \"SEP\", decimals: 18 },\n rpcUrls: {\n alchemy: {\n http: [\"https://eth-sepolia.g.alchemy.com/v2\"],\n webSocket: [\"wss://eth-sepolia.g.alchemy.com/v2\"]\n },\n infura: {\n http: [\"https://sepolia.infura.io/v3\"],\n webSocket: [\"wss://sepolia.infura.io/ws/v3\"]\n },\n default: {\n http: [\"https://rpc.sepolia.org\"]\n },\n public: {\n http: [\"https://rpc.sepolia.org\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n },\n default: {\n name: \"Etherscan\",\n url: \"https://sepolia.etherscan.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 6507670\n }\n },\n testnet: true\n};\n\n// src/skale/brawl.ts\nvar skaleBlockBrawlers = {\n id: 391845894,\n name: \"SKALE | Block Brawlers\",\n network: \"skale-brawl\",\n nativeCurrency: { name: \"BRAWL\", symbol: \"BRAWL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/frayed-decent-antares\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://frayed-decent-antares.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypso.ts\nvar skaleCalypso = {\n id: 1564830818,\n name: \"SKALE | Calypso NFT Hub\",\n network: \"skale-calypso\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/calypsoTestnet.ts\nvar skaleCalypsoTestnet = {\n id: 344106930,\n name: \"SKALE | Calypso NFT Hub Testnet\",\n network: \"skale-calypso-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/chaosTestnet.ts\nvar skaleChaosTestnet = {\n id: 1351057110,\n name: \"SKALE | Chaos Testnet\",\n network: \"skale-chaos-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/cryptoBlades.ts\nvar skaleCryptoBlades = {\n id: 1026062157,\n name: \"SKALE | CryptoBlades\",\n network: \"skale-cryptoblades\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/cryptoColosseum.ts\nvar skaleCryptoColosseum = {\n id: 2046399126,\n name: \"SKALE | Crypto Colosseum\",\n network: \"skale-crypto-coloseeum\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/haunting-devoted-deneb\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europa.ts\nvar skaleEuropa = {\n id: 2046399126,\n name: \"SKALE | Europa Liquidity Hub\",\n network: \"skale-europa\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/elated-tan-skat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://elated-tan-skat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/europaTestnet.ts\nvar skaleEuropaTestnet = {\n id: 476158412,\n name: \"SKALE | Europa Liquidity Hub Testnet\",\n network: \"skale-europa-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/exorde.ts\nvar skaleExorde = {\n id: 2139927552,\n name: \"SKALE | Exorde\",\n network: \"skale-exorde\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/light-vast-diphda\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://light-vast-diphda.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/humanProtocol.ts\nvar skaleHumanProtocol = {\n id: 1273227453,\n name: \"SKALE | Human Protocol\",\n network: \"skale-human-protocol\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/wan-red-ain\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://wan-red-ain.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebula.ts\nvar skaleNebula = {\n id: 1482601649,\n name: \"SKALE | Nebula Gaming Hub\",\n network: \"skale-nebula\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/green-giddy-denebola\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://green-giddy-denebola.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/nebulaTestnet.ts\nvar skaleNebulaTestnet = {\n id: 503129905,\n name: \"SKALE | Nebula Gaming Hub Testnet\",\n network: \"skale-nebula-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n },\n public: {\n http: [\"https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/skale/razor.ts\nvar skaleRazor = {\n id: 278611351,\n name: \"SKALE | Razor Network\",\n network: \"skale-razor\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titan.ts\nvar skaleTitan = {\n id: 1350216234,\n name: \"SKALE | Titan Community Hub\",\n network: \"skale-titan\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n },\n public: {\n http: [\"https://mainnet.skalenodes.com/v1/parallel-stormy-spica\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com\"\n }\n },\n contracts: {}\n};\n\n// src/skale/titanTestnet.ts\nvar skaleTitanTestnet = {\n id: 1517929550,\n name: \"SKALE | Titan Community Hub Testnet\",\n network: \"skale-titan-testnet\",\n nativeCurrency: { name: \"sFUEL\", symbol: \"sFUEL\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n },\n public: {\n http: [\n \"https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n },\n default: {\n name: \"SKALE Explorer\",\n url: \"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com\"\n }\n },\n contracts: {},\n testnet: true\n};\n\n// src/songbird.ts\nvar songbird = {\n id: 19,\n name: \"Songbird Mainnet\",\n network: \"songbird-mainnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"songbird\",\n symbol: \"SGB\"\n },\n rpcUrls: {\n default: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://songbird-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Songbird Explorer\",\n url: \"https://songbird-explorer.flare.network\"\n }\n }\n};\n\n// src/songbirdTestnet.ts\nvar songbirdTestnet = {\n id: 16,\n name: \"Coston\",\n network: \"coston\",\n nativeCurrency: {\n decimals: 18,\n name: \"costonflare\",\n symbol: \"CFLR\"\n },\n rpcUrls: {\n default: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] },\n public: { http: [\"https://coston-api.flare.network/ext/C/rpc\"] }\n },\n blockExplorers: {\n default: {\n name: \"Coston Explorer\",\n url: \"https://coston-explorer.flare.network\"\n }\n },\n testnet: true\n};\n\n// src/shardeumSphinx.ts\nvar shardeumSphinx = {\n id: 8082,\n name: \"Shardeum Sphinx\",\n network: \"shmSphinx\",\n nativeCurrency: { name: \"SHARDEUM\", symbol: \"SHM\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://sphinx.shardeum.org\"]\n },\n public: {\n http: [\"https://sphinx.shardeum.org\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Shardeum Explorer\",\n url: \"https://explorer-sphinx.shardeum.org\"\n }\n },\n testnet: true\n};\n\n// src/syscoin.ts\nvar syscoin = {\n id: 57,\n name: \"Syscoin Mainnet\",\n network: \"syscoin\",\n nativeCurrency: {\n decimals: 8,\n name: \"Syscoin\",\n symbol: \"SYS\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.syscoin.org\"] },\n public: { http: [\"https://rpc.syscoin.org\"] }\n },\n blockExplorers: {\n default: { name: \"SyscoinExplorer\", url: \"https://explorer.syscoin.org\" }\n },\n contracts: {\n multicall3: {\n address: \"0x000562033783B1136159E10d976B519C929cdE8e\",\n blockCreated: 80637\n }\n }\n};\n\n// src/taraxa.ts\nvar taraxa = {\n id: 841,\n name: \"Taraxa Mainnet\",\n network: \"taraxa\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.mainnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.mainnet.taraxa.io\"\n }\n }\n};\n\n// src/taikoTestnetSepolia.ts\nvar taikoTestnetSepolia = {\n id: 167005,\n name: \"Taiko (Alpha-3 Testnet)\",\n network: \"taiko-sepolia\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.test.taiko.xyz\"]\n },\n public: {\n http: [\"https://rpc.test.taiko.xyz\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"blockscout\",\n url: \"https://explorer.test.taiko.xyz\"\n }\n }\n};\n\n// src/taraxaTestnet.ts\nvar taraxaTestnet = {\n id: 842,\n name: \"Taraxa Testnet\",\n network: \"taraxa-testnet\",\n nativeCurrency: { name: \"Tara\", symbol: \"TARA\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n },\n public: {\n http: [\"https://rpc.testnet.taraxa.io\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"Taraxa Explorer\",\n url: \"https://explorer.testnet.taraxa.io\"\n }\n },\n testnet: true\n};\n\n// src/telos.ts\nvar telos = {\n id: 40,\n name: \"Telos\",\n network: \"telos\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://mainnet.telos.net/evm\"] },\n public: { http: [\"https://mainnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan\",\n url: \"https://www.teloscan.io/\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 246530709\n }\n }\n};\n\n// src/telosTestnet.ts\nvar telosTestnet = {\n id: 41,\n name: \"Telos\",\n network: \"telosTestnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Telos\",\n symbol: \"TLOS\"\n },\n rpcUrls: {\n default: { http: [\"https://testnet.telos.net/evm\"] },\n public: { http: [\"https://testnet.telos.net/evm\"] }\n },\n blockExplorers: {\n default: {\n name: \"Teloscan (testnet)\",\n url: \"https://testnet.teloscan.io/\"\n }\n },\n testnet: true\n};\n\n// src/thunderTestnet.ts\nvar thunderTestnet = {\n id: 997,\n name: \"5ireChain Thunder Testnet\",\n network: \"5ireChain\",\n nativeCurrency: { name: \"5ire Token\", symbol: \"5IRE\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc-testnet.5ire.network\"]\n },\n public: {\n http: [\"https://rpc-testnet.5ire.network\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"5ireChain Explorer\",\n url: \"https://explorer.5ire.network\"\n }\n },\n testnet: true\n};\n\n// src/wanchain.ts\nvar wanchain = {\n id: 888,\n name: \"Wanchain\",\n network: \"wanchain\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WAN\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n },\n public: {\n http: [\n \"https://gwan-ssl.wandevs.org:56891\",\n \"https://gwan2-ssl.wandevs.org\"\n ]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScan\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB\",\n blockCreated: 25312390\n }\n }\n};\n\n// src/wanchainTestnet.ts\nvar wanchainTestnet = {\n id: 999,\n name: \"Wanchain Testnet\",\n network: \"wanchainTestnet\",\n nativeCurrency: { name: \"WANCHAIN\", symbol: \"WANt\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n },\n public: {\n http: [\"https://gwan-ssl.wandevs.org:46891\"]\n }\n },\n blockExplorers: {\n etherscan: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n },\n default: {\n name: \"WanScanTest\",\n url: \"https://wanscan.org\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0x11c89bF4496c39FB80535Ffb4c92715839CC5324\",\n blockCreated: 24743448\n }\n },\n testnet: true\n};\n\n// src/xdc.ts\nvar xdc = {\n id: 50,\n name: \"XinFin Network\",\n network: \"xdc\",\n nativeCurrency: {\n decimals: 18,\n name: \"XDC\",\n symbol: \"XDC\"\n },\n rpcUrls: {\n default: { http: [\"https://rpc.xinfin.network\"] },\n public: { http: [\"https://rpc.xinfin.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.xinfin.network\" },\n default: { name: \"Blocksscan\", url: \"https://xdc.blocksscan.io\" }\n }\n};\n\n// src/xdcTestnet.ts\nvar xdcTestnet = {\n id: 51,\n name: \"Apothem Network\",\n network: \"xdc-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"TXDC\",\n symbol: \"TXDC\"\n },\n rpcUrls: {\n default: { http: [\"https://erpc.apothem.network\"] },\n public: { http: [\"https://erpc.apothem.network\"] }\n },\n blockExplorers: {\n xinfin: { name: \"XinFin\", url: \"https://explorer.apothem.network\" },\n default: { name: \"Blocksscan\", url: \"https://apothem.blocksscan.io\" }\n }\n};\n\n// src/zhejiang.ts\nvar zhejiang = {\n id: 1337803,\n network: \"zhejiang\",\n name: \"Zhejiang\",\n nativeCurrency: { name: \"Zhejiang Ether\", symbol: \"ZhejETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n },\n public: {\n http: [\"https://rpc.zhejiang.ethpandaops.io\"]\n }\n },\n blockExplorers: {\n beaconchain: {\n name: \"Etherscan\",\n url: \"https://zhejiang.beaconcha.in\"\n },\n blockscout: {\n name: \"Blockscout\",\n url: \"https://blockscout.com/eth/zhejiang-testnet\"\n },\n default: {\n name: \"Beaconchain\",\n url: \"https://zhejiang.beaconcha.in\"\n }\n },\n testnet: true\n};\n\n// src/zkSync.ts\nvar zkSync = {\n id: 324,\n name: \"zkSync Era\",\n network: \"zksync-era\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n },\n public: {\n http: [\"https://mainnet.era.zksync.io\"],\n webSocket: [\"wss://mainnet.era.zksync.io/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n }\n};\n\n// src/zkSyncTestnet.ts\nvar zkSyncTestnet = {\n id: 280,\n name: \"zkSync Era Testnet\",\n network: \"zksync-era-testnet\",\n nativeCurrency: { name: \"Ether\", symbol: \"ETH\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n },\n public: {\n http: [\"https://testnet.era.zksync.dev\"],\n webSocket: [\"wss://testnet.era.zksync.dev/ws\"]\n }\n },\n blockExplorers: {\n default: {\n name: \"zkExplorer\",\n url: \"https://goerli.explorer.zksync.io\"\n }\n },\n contracts: {\n multicall3: {\n address: \"0xF9cda624FBC7e059355ce98a31693d299FACd963\"\n }\n },\n testnet: true\n};\n\n// src/zora.ts\nvar zora = {\n id: 7777777,\n name: \"Zora\",\n network: \"zora\",\n nativeCurrency: {\n decimals: 18,\n name: \"Ether\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n },\n public: {\n http: [\"https://rpc.zora.energy\"],\n webSocket: [\"wss://rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 5882\n }\n }\n};\n\n// src/zoraTestnet.ts\nvar zoraTestnet = {\n id: 999,\n name: \"Zora Goerli Testnet\",\n network: \"zora-testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"Zora Goerli\",\n symbol: \"ETH\"\n },\n rpcUrls: {\n default: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n },\n public: {\n http: [\"https://testnet.rpc.zora.energy\"],\n webSocket: [\"wss://testnet.rpc.zora.energy\"]\n }\n },\n blockExplorers: {\n default: { name: \"Explorer\", url: \"https://testnet.explorer.zora.energy\" }\n },\n contracts: {\n multicall3: {\n address: \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n blockCreated: 189123\n }\n },\n testnet: true\n};\nexport {\n arbitrum,\n arbitrumGoerli,\n arbitrumNova,\n aurora,\n auroraTestnet,\n avalanche,\n avalancheFuji,\n base,\n baseGoerli,\n bearNetworkChainMainnet,\n bearNetworkChainTestnet,\n boba,\n bronos,\n bronosTestnet,\n bsc,\n bscTestnet,\n bxn,\n bxnTestnet,\n canto,\n celo,\n celoAlfajores,\n celoCannoli,\n confluxESpace,\n cronos,\n cronosTestnet,\n crossbell,\n dfk,\n dogechain,\n edgeware,\n edgewareTestnet,\n ekta,\n ektaTestnet,\n eos,\n eosTestnet,\n evmos,\n evmosTestnet,\n fantom,\n fantomTestnet,\n fibo,\n filecoin,\n filecoinCalibration,\n filecoinHyperspace,\n flare,\n flareTestnet,\n foundry,\n fuse,\n gnosis,\n gnosisChiado,\n goerli,\n haqqMainnet,\n haqqTestedge2,\n hardhat,\n harmonyOne,\n iotex,\n iotexTestnet,\n klaytn,\n lineaTestnet,\n localhost,\n mainnet,\n mantle,\n mantleTestnet,\n metis,\n metisGoerli,\n mev,\n mevTestnet,\n moonbaseAlpha,\n moonbeam,\n moonriver,\n neonDevnet,\n nexi,\n nexilix,\n oasys,\n okc,\n optimism,\n optimismGoerli,\n polygon,\n polygonMumbai,\n polygonZkEvm,\n polygonZkEvmTestnet,\n pulsechain,\n pulsechainV4,\n scrollTestnet,\n sepolia,\n shardeumSphinx,\n skaleBlockBrawlers,\n skaleCalypso,\n skaleCalypsoTestnet,\n skaleChaosTestnet,\n skaleCryptoBlades,\n skaleCryptoColosseum,\n skaleEuropa,\n skaleEuropaTestnet,\n skaleExorde,\n skaleHumanProtocol,\n skaleNebula,\n skaleNebulaTestnet,\n skaleRazor,\n skaleTitan,\n skaleTitanTestnet,\n songbird,\n songbirdTestnet,\n syscoin,\n taikoTestnetSepolia,\n taraxa,\n taraxaTestnet,\n telos,\n telosTestnet,\n thunderTestnet,\n wanchain,\n wanchainTestnet,\n xdc,\n xdcTestnet,\n zhejiang,\n zkSync,\n zkSyncTestnet,\n zora,\n zoraTestnet\n};\n","import * as chains from '@wagmi/chains';\nimport { defineChain } from '../utils/chain.js';\nimport { formattersCelo } from './celo/formatters.js';\nimport { serializersCelo } from './celo/serializers.js';\nimport { feesOptimism } from './optimism/fees.js';\nimport { formattersOptimism } from './optimism/formatters.js';\nexport const arbitrum = /*#__PURE__*/ defineChain(chains.arbitrum);\nexport const arbitrumGoerli = /*#__PURE__*/ defineChain(chains.arbitrumGoerli);\nexport const aurora = /*#__PURE__*/ defineChain(chains.aurora);\nexport const auroraTestnet = /*#__PURE__*/ defineChain(chains.auroraTestnet);\nexport const avalanche = /*#__PURE__*/ defineChain(chains.avalanche);\nexport const avalancheFuji = /*#__PURE__*/ defineChain(chains.avalancheFuji);\nexport const base = /*#__PURE__*/ defineChain(chains.base, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\nexport const baseGoerli = /*#__PURE__*/ defineChain(chains.baseGoerli, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\nexport const boba = /*#__PURE__*/ defineChain(chains.boba);\nexport const bronos = /*#__PURE__*/ defineChain(chains.bronos);\nexport const bronosTestnet = /*#__PURE__*/ defineChain(chains.bronosTestnet);\nexport const bsc = /*#__PURE__*/ defineChain(chains.bsc);\nexport const bscTestnet = /*#__PURE__*/ defineChain(chains.bscTestnet);\nexport const canto = /*#__PURE__*/ defineChain(chains.canto);\nexport const celo = /*#__PURE__*/ defineChain(chains.celo, {\n formatters: formattersCelo,\n serializers: serializersCelo,\n});\nexport const celoAlfajores = /*#__PURE__*/ defineChain(chains.celoAlfajores, {\n formatters: formattersCelo,\n serializers: serializersCelo,\n});\nexport const celoCannoli = /*#__PURE__*/ defineChain(chains.celoCannoli, {\n formatters: formattersCelo,\n serializers: serializersCelo,\n});\nexport const cronos = /*#__PURE__*/ defineChain(chains.cronos);\nexport const crossbell = /*#__PURE__*/ defineChain(chains.crossbell);\nexport const dfk = /*#__PURE__*/ defineChain(chains.dfk);\nexport const dogechain = /*#__PURE__*/ defineChain(chains.dogechain);\nexport const evmos = /*#__PURE__*/ defineChain(chains.evmos);\nexport const evmosTestnet = /*#__PURE__*/ defineChain(chains.evmosTestnet);\nexport const fantom = /*#__PURE__*/ defineChain(chains.fantom);\nexport const fantomTestnet = /*#__PURE__*/ defineChain(chains.fantomTestnet);\nexport const filecoin = /*#__PURE__*/ defineChain(chains.filecoin);\nexport const filecoinCalibration = /*#__PURE__*/ defineChain(chains.filecoinCalibration);\nexport const filecoinHyperspace = /*#__PURE__*/ defineChain(chains.filecoinHyperspace);\nexport const flare = /*#__PURE__*/ defineChain(chains.flare);\nexport const flareTestnet = /*#__PURE__*/ defineChain(chains.flareTestnet);\nexport const foundry = /*#__PURE__*/ defineChain(chains.foundry);\nexport const iotex = /*#__PURE__*/ defineChain(chains.iotex);\nexport const iotexTestnet = /*#__PURE__*/ defineChain(chains.iotexTestnet);\nexport const goerli = /*#__PURE__*/ defineChain(chains.goerli);\nexport const gnosis = /*#__PURE__*/ defineChain(chains.gnosis);\nexport const gnosisChiado = /*#__PURE__*/ defineChain(chains.gnosisChiado);\nexport const haqqMainnet = /*#__PURE__*/ defineChain(chains.haqqMainnet);\nexport const haqqTestedge2 = /*#__PURE__*/ defineChain(chains.haqqTestedge2);\nexport const hardhat = /*#__PURE__*/ defineChain(chains.hardhat);\nexport const harmonyOne = /*#__PURE__*/ defineChain(chains.harmonyOne);\nexport const klaytn = /*#__PURE__*/ defineChain(chains.klaytn);\nexport const lineaTestnet = /*#__PURE__*/ defineChain(chains.lineaTestnet);\nexport const localhost = /*#__PURE__*/ defineChain(chains.localhost);\nexport const mainnet = /*#__PURE__*/ defineChain(chains.mainnet);\nexport const metis = /*#__PURE__*/ defineChain(chains.metis);\nexport const metisGoerli = /*#__PURE__*/ defineChain(chains.metisGoerli);\nexport const mev = /*#__PURE__*/ defineChain(chains.mev);\nexport const mevTestnet = /*#__PURE__*/ defineChain(chains.mevTestnet);\nexport const moonbaseAlpha = /*#__PURE__*/ defineChain(chains.moonbaseAlpha);\nexport const moonbeam = /*#__PURE__*/ defineChain(chains.moonbeam);\nexport const moonriver = /*#__PURE__*/ defineChain(chains.moonriver);\nexport const nexi = /*#__PURE__*/ defineChain(chains.nexi);\nexport const okc = /*#__PURE__*/ defineChain(chains.okc);\nexport const optimism = /*#__PURE__*/ defineChain(chains.optimism, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\nexport const optimismGoerli = /*#__PURE__*/ defineChain(chains.optimismGoerli, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\nexport const polygon = /*#__PURE__*/ defineChain(chains.polygon);\nexport const polygonMumbai = /*#__PURE__*/ defineChain(chains.polygonMumbai);\nexport const polygonZkEvm = /*#__PURE__*/ defineChain(chains.polygonZkEvm);\nexport const polygonZkEvmTestnet = /*#__PURE__*/ defineChain(chains.polygonZkEvmTestnet);\nexport const pulsechain = /*#__PURE__*/ defineChain(chains.pulsechain);\nexport const pulsechainV4 = /*#__PURE__*/ defineChain(chains.pulsechainV4);\nexport const scrollTestnet = /*#__PURE__*/ defineChain(chains.scrollTestnet);\nexport const sepolia = /*#__PURE__*/ defineChain(chains.sepolia);\nexport const skaleBlockBrawlers = /*#__PURE__*/ defineChain(chains.skaleBlockBrawlers);\nexport const skaleCalypso = /*#__PURE__*/ defineChain(chains.skaleCalypso);\nexport const skaleCalypsoTestnet = /*#__PURE__*/ defineChain(chains.skaleCalypsoTestnet);\nexport const skaleChaosTestnet = /*#__PURE__*/ defineChain(chains.skaleChaosTestnet);\nexport const skaleCryptoBlades = /*#__PURE__*/ defineChain(chains.skaleCryptoBlades);\nexport const skaleCryptoColosseum = /*#__PURE__*/ defineChain(chains.skaleCryptoColosseum);\nexport const skaleEuropa = /*#__PURE__*/ defineChain(chains.skaleEuropa);\nexport const skaleEuropaTestnet = /*#__PURE__*/ defineChain(chains.skaleEuropaTestnet);\nexport const skaleExorde = /*#__PURE__*/ defineChain(chains.skaleExorde);\nexport const skaleHumanProtocol = /*#__PURE__*/ defineChain(chains.skaleHumanProtocol);\nexport const skaleNebula = /*#__PURE__*/ defineChain(chains.skaleNebula);\nexport const skaleNebulaTestnet = /*#__PURE__*/ defineChain(chains.skaleNebulaTestnet);\nexport const skaleRazor = /*#__PURE__*/ defineChain(chains.skaleRazor);\nexport const skaleTitan = /*#__PURE__*/ defineChain(chains.skaleTitan);\nexport const skaleTitanTestnet = /*#__PURE__*/ defineChain(chains.skaleTitanTestnet);\nexport const songbird = /*#__PURE__*/ defineChain(chains.songbird);\nexport const songbirdTestnet = /*#__PURE__*/ defineChain(chains.songbirdTestnet);\nexport const shardeumSphinx = /*#__PURE__*/ defineChain(chains.shardeumSphinx);\nexport const syscoin = /*#__PURE__*/ defineChain(chains.syscoin);\nexport const taraxa = /*#__PURE__*/ defineChain(chains.taraxa);\nexport const taraxaTestnet = /*#__PURE__*/ defineChain(chains.taraxaTestnet);\nexport const telos = /*#__PURE__*/ defineChain(chains.telos);\nexport const telosTestnet = /*#__PURE__*/ defineChain(chains.telosTestnet);\nexport const thunderTestnet = /*#__PURE__*/ defineChain(chains.thunderTestnet);\nexport const wanchain = /*#__PURE__*/ defineChain(chains.wanchain);\nexport const wanchainTestnet = /*#__PURE__*/ defineChain(chains.wanchainTestnet);\nexport const xdc = /*#__PURE__*/ defineChain(chains.xdc);\nexport const xdcTestnet = /*#__PURE__*/ defineChain(chains.xdcTestnet);\nexport const zhejiang = /*#__PURE__*/ defineChain(chains.zhejiang);\nexport const zkSync = /*#__PURE__*/ defineChain(chains.zkSync);\nexport const zkSyncTestnet = /*#__PURE__*/ defineChain(chains.zkSyncTestnet);\nexport const zora = /*#__PURE__*/ defineChain(chains.zora, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\nexport const zoraTestnet = /*#__PURE__*/ defineChain(chains.zoraTestnet, {\n fees: feesOptimism,\n formatters: formattersOptimism,\n});\n//# sourceMappingURL=index.js.map","var t={name:\"Lattice Testnet\",id:4242,network:\"lattice-testnet\",nativeCurrency:{decimals:18,name:\"Ether\",symbol:\"ETH\"},rpcUrls:{default:{http:[\"https://follower.testnet-chain.linfra.xyz\"],webSocket:[\"wss://follower.testnet-chain.linfra.xyz\"]},public:{http:[\"https://follower.testnet-chain.linfra.xyz\"],webSocket:[\"wss://follower.testnet-chain.linfra.xyz\"]}},blockExplorers:{otterscan:{name:\"Otterscan\",url:\"https://explorer.testnet-chain.linfra.xyz\"},default:{name:\"Otterscan\",url:\"https://explorer.testnet-chain.linfra.xyz\"}},faucetUrl:\"https://faucet.testnet-mud-services.linfra.xyz\"};import{foundry as e}from\"viem/chains\";var r={...e,fees:{defaultPriorityFee:0n}};export{t as latticeTestnet,r as mudFoundry};\n//# sourceMappingURL=chains.js.map","import { MUDChain, latticeTestnet, mudFoundry } from \"@latticexyz/common/chains\";\n\nimport { sepolia, arbitrumGoerli } from 'viem/chains'\n\narbitrumGoerli.rpcUrls.default.http = ['https://arbitrum-goerli.infura.io/v3/5ca372516740427e97512d4dfefd9c47'];\narbitrumGoerli.rpcUrls.default.webSocket = [ 'wss://arbitrum-goerli.infura.io/ws/v3/5ca372516740427e97512d4dfefd9c47'];\n\nconst testnet = {\n name: \"Lidamao Testnet\",\n id: 33784,\n network: \"lidamao-testnet\",\n nativeCurrency: { decimals: 18, name: \"Ether\", symbol: \"ETH\" },\n rpcUrls: {\n default: {\n http: [\"https://rpc.0xmssp.xyz\"],\n webSocket: [\"https://rpc.0xmssp.xyz\"],\n },\n public: {\n http: [\"https://rpc.0xmssp.xyz\"],\n webSocket: [\"https://rpc.0xmssp.xyz\"],\n },\n }\n }\n\n// If you are deploying to chains other than anvil or Lattice testnet, add them here\nexport const supportedChains: MUDChain[] = [mudFoundry, latticeTestnet, sepolia, arbitrumGoerli, testnet];\n","import { getBurnerPrivateKey } from \"@latticexyz/common\";\nimport worldsJson from \"contracts/worlds.json\";\nimport { supportedChains } from \"./supportedChains\";\n\nconst worlds = worldsJson as Partial>;\n\nexport async function getNetworkConfig() {\n const params = new URLSearchParams(window.location.search);\n // const chainId = Number(params.get(\"chainId\") || params.get(\"chainid\") || (import.meta.env.DEV ? import.meta.env.TEST_CHAIN_ID : import.meta.env.VITE_CHAIN_ID) || 31337);\n const chainId = 33784;\n // const chainId = 31337;\n // const chainId = 421613;\n // console.log(supportedChains);\n if (import.meta.env.DEV) {\n \n }\n const chainIndex = supportedChains.findIndex((c) => c.id === chainId);\n const chain = supportedChains[chainIndex];\n if (!chain) {\n throw new Error(`Chain ${chainId} not found`);\n }\n\n const world = worlds[chain.id.toString()];\n const worldAddress = params.get(\"worldAddress\") || world?.address;\n if (!worldAddress) {\n throw new Error(`No world address found for chain ${chainId}. Did you run \\`mud deploy\\`?`);\n }\n\n const initialBlockNumber = params.has(\"initialBlockNumber\")\n ? Number(params.get(\"initialBlockNumber\"))\n : world?.blockNumber ?? 0n;\n\n return {\n privateKey: getBurnerPrivateKey(),\n chainId,\n chain,\n faucetServiceUrl: params.get(\"faucet\") ?? chain.faucetUrl,\n worldAddress,\n initialBlockNumber,\n };\n}\n","import { createWorld } from \"@latticexyz/recs\";\n\nexport const world = createWorld();\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Signer, utils } from \"ethers\";\nimport type { Provider } from \"@ethersproject/providers\";\nimport type { IWorld, IWorldInterface } from \"../IWorld\";\n\nconst _abi = [\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"resource\",\n type: \"string\",\n },\n {\n internalType: \"address\",\n name: \"caller\",\n type: \"address\",\n },\n ],\n name: \"AccessDenied\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"functionSelector\",\n type: \"bytes4\",\n },\n ],\n name: \"FunctionSelectorExists\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"functionSelector\",\n type: \"bytes4\",\n },\n ],\n name: \"FunctionSelectorNotFound\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"resource\",\n type: \"string\",\n },\n ],\n name: \"InvalidSelector\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"module\",\n type: \"string\",\n },\n ],\n name: \"ModuleAlreadyInstalled\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"resource\",\n type: \"string\",\n },\n ],\n name: \"ResourceExists\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"resource\",\n type: \"string\",\n },\n ],\n name: \"ResourceNotFound\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"length\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"received\",\n type: \"uint256\",\n },\n ],\n name: \"StoreCore_DataIndexOverflow\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"expected\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"received\",\n type: \"uint256\",\n },\n ],\n name: \"StoreCore_InvalidDataLength\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"expected\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"received\",\n type: \"uint256\",\n },\n ],\n name: \"StoreCore_InvalidFieldNamesLength\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"expected\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"received\",\n type: \"uint256\",\n },\n ],\n name: \"StoreCore_InvalidKeyNamesLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"StoreCore_NotDynamicField\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"StoreCore_NotImplemented\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"tableId\",\n type: \"bytes32\",\n },\n {\n internalType: \"string\",\n name: \"tableIdString\",\n type: \"string\",\n },\n ],\n name: \"StoreCore_TableAlreadyExists\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"tableId\",\n type: \"bytes32\",\n },\n {\n internalType: \"string\",\n name: \"tableIdString\",\n type: \"string\",\n },\n ],\n name: \"StoreCore_TableNotFound\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"system\",\n type: \"address\",\n },\n ],\n name: \"SystemExists\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"HelloWorld\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n ],\n name: \"StoreDeleteRecord\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"StoreEphemeralRecord\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"StoreSetField\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"StoreSetRecord\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint16\",\n name: \"_x\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"_y\",\n type: \"uint16\",\n },\n ],\n name: \"CreateBox\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"GetSeasonInfo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_root\",\n type: \"bytes32\",\n },\n ],\n name: \"SetMapMerkleRoot\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"_end\",\n type: \"uint256\",\n },\n ],\n name: \"SetSeasonInfo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_user\",\n type: \"address\",\n },\n ],\n name: \"SetUserContract\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_targetAddress\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"uint16\",\n name: \"x\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"y\",\n type: \"uint16\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"proof\",\n type: \"bytes32[]\",\n },\n ],\n internalType: \"struct Position[]\",\n name: \"positionList\",\n type: \"tuple[]\",\n },\n ],\n name: \"battleInvitation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"funcSelectorAndArgs\",\n type: \"bytes\",\n },\n ],\n name: \"call\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_buffHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"_battleId\",\n type: \"uint256\",\n },\n ],\n name: \"confirmBattle\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"deleteRecord\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"emitEphemeralRecord\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_battleId\",\n type: \"uint256\",\n },\n ],\n name: \"forceEnd\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_battleId\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"addr\",\n type: \"address\",\n },\n ],\n name: \"getBattlePlayerHp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_boxId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint16\",\n name: \"_oreAmount\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"_treasureAmount\",\n type: \"uint16\",\n },\n ],\n name: \"getCollections\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"getField\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"getFieldLength\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"end\",\n type: \"uint256\",\n },\n ],\n name: \"getFieldSlice\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"addr\",\n type: \"address\",\n },\n ],\n name: \"getInfo\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n ],\n name: \"getKeySchema\",\n outputs: [\n {\n internalType: \"Schema\",\n name: \"schema\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"addr\",\n type: \"address\",\n },\n ],\n name: \"getPosition\",\n outputs: [\n {\n internalType: \"uint16\",\n name: \"\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"\",\n type: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"getRecord\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getSenderPosition\",\n outputs: [\n {\n internalType: \"uint16\",\n name: \"\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"\",\n type: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"tokenId\",\n type: \"uint256\",\n },\n ],\n name: \"getUserInfo\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n ],\n name: \"getValueSchema\",\n outputs: [\n {\n internalType: \"Schema\",\n name: \"schema\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"goHome\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"grantee\",\n type: \"address\",\n },\n ],\n name: \"grantAccess\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_player\",\n type: \"address\",\n },\n ],\n name: \"initPlayerHp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"initUserInfo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IModule\",\n name: \"module\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"args\",\n type: \"bytes\",\n },\n ],\n name: \"installModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract IModule\",\n name: \"module\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"args\",\n type: \"bytes\",\n },\n ],\n name: \"installRootModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"joinBattlefield\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint16\",\n name: \"x\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"y\",\n type: \"uint16\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"proof\",\n type: \"bytes32[]\",\n },\n ],\n internalType: \"struct Position[]\",\n name: \"moveList\",\n type: \"tuple[]\",\n },\n ],\n name: \"move\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_boxId\",\n type: \"uint256\",\n },\n ],\n name: \"openBox\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"byteLengthToPop\",\n type: \"uint256\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"popFromField\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes\",\n name: \"dataToPush\",\n type: \"bytes\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"pushToField\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"string\",\n name: \"systemFunctionName\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"systemFunctionArguments\",\n type: \"string\",\n },\n ],\n name: \"registerFunctionSelector\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"worldFunctionSelector\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes16\",\n name: \"namespace\",\n type: \"bytes16\",\n },\n ],\n name: \"registerNamespace\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes4\",\n name: \"worldFunctionSelector\",\n type: \"bytes4\",\n },\n {\n internalType: \"bytes4\",\n name: \"systemFunctionSelector\",\n type: \"bytes4\",\n },\n ],\n name: \"registerRootFunctionSelector\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"contract IStoreHook\",\n name: \"hook\",\n type: \"address\",\n },\n ],\n name: \"registerStoreHook\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"contract System\",\n name: \"system\",\n type: \"address\",\n },\n {\n internalType: \"bool\",\n name: \"publicAccess\",\n type: \"bool\",\n },\n ],\n name: \"registerSystem\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"contract ISystemHook\",\n name: \"hook\",\n type: \"address\",\n },\n ],\n name: \"registerSystemHook\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"Schema\",\n name: \"keySchema\",\n type: \"bytes32\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n {\n internalType: \"string[]\",\n name: \"keyNames\",\n type: \"string[]\",\n },\n {\n internalType: \"string[]\",\n name: \"fieldNames\",\n type: \"string[]\",\n },\n ],\n name: \"registerTable\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_battleId\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"_action\",\n type: \"bytes32\",\n },\n {\n internalType: \"uint256\",\n name: \"_arg\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes32\",\n name: \"_nonce\",\n type: \"bytes32\",\n },\n ],\n name: \"revealBattle\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_boxId\",\n type: \"uint256\",\n },\n ],\n name: \"revealBox\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_battleId\",\n type: \"uint256\",\n },\n ],\n name: \"revealWinner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"resourceSelector\",\n type: \"bytes32\",\n },\n {\n internalType: \"address\",\n name: \"grantee\",\n type: \"address\",\n },\n ],\n name: \"revokeAccess\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_userTokenId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"_lootTokenId\",\n type: \"uint256\",\n },\n ],\n name: \"selectBothNFT\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_tokenId\",\n type: \"uint256\",\n },\n ],\n name: \"selectLootNFT\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_tokenId\",\n type: \"uint256\",\n },\n ],\n name: \"selectUserNft\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"setField\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"string\",\n name: \"url\",\n type: \"string\",\n },\n ],\n name: \"setInfo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"setRecord\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"submitGem\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"addr\",\n type: \"address\",\n },\n {\n internalType: \"uint16\",\n name: \"x\",\n type: \"uint16\",\n },\n {\n internalType: \"uint16\",\n name: \"y\",\n type: \"uint16\",\n },\n ],\n name: \"transfer\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unlockUserLocation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"table\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes32[]\",\n name: \"key\",\n type: \"bytes32[]\",\n },\n {\n internalType: \"uint8\",\n name: \"schemaIndex\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"startByteIndex\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"dataToSet\",\n type: \"bytes\",\n },\n {\n internalType: \"Schema\",\n name: \"valueSchema\",\n type: \"bytes32\",\n },\n ],\n name: \"updateInField\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n\nexport class IWorld__factory {\n static readonly abi = _abi;\n static createInterface(): IWorldInterface {\n return new utils.Interface(_abi) as IWorldInterface;\n }\n static connect(address: string, signerOrProvider: Signer | Provider): IWorld {\n return new Contract(address, _abi, signerOrProvider) as IWorld;\n }\n}\n","import { mudConfig } from \"@latticexyz/world/register\";\n\nexport default mudConfig({\n systems: {\n BattleSystem: {\n name: \"battle\",\n openAccess: true,\n },\n GameSystem: {\n name: \"game\",\n openAccess: true,\n },\n GMSystem: {\n name: \"gm\",\n openAccess: true,\n },\n PlayerSystem: {\n name: \"player\",\n openAccess: true,\n },\n BoxSystem: {\n name: \"box\",\n openAccess: true,\n },\n MoveSystem: {\n name: \"move\",\n openAccess: true,\n }\n },\n enums: {\n BattleState: [\"Inited\", \"Confirmed\", \"Revealed\"],\n PlayerState: [\"Idle\", \"Preparing\", \"Exploring\", \"Attacking\"],\n ActionType: [\"Attack\", \"Escape\", \"Props\"],\n Buff: [\"None\", \"Fire\", \"Water\", \"Wind\"],\n RandomState:[\"Inited\",\"Pending\",\"Confirmed\"],\n BattleEndType: [\"NotEnd\", \"NormalEnd\", \"AllEscape\", \"RoundEnd\"],\n },\n tables: {\n Season: {\n schema: {\n start: \"uint256\",\n end: \"uint256\",\n no: \"uint256\",\n\n }\n },\n PlayerSeason: {\n keySchema: {\n addr: \"address\",\n },\n schema: {\n oreBalance: \"uint16\",//为什么要用uint16\n attackCount: \"uint16\",\n }\n },\n Player: {\n keySchema: {\n addr: \"address\",\n },\n schema: {\n suitId : \"uint256\",\n equipmentId : \"uint256\",\n x : \"uint16\",\n y : \"uint16\",\n hp : \"uint256\",\n attack : \"uint256\",\n attackRange : \"uint256\",\n speed : \"uint256\",\n strength : \"uint256\",\n space : \"uint256\",\n oreBalance: \"uint16\",\n treasureBalance: \"uint16\",\n state : \"PlayerState\",\n lastBattleTime: \"uint256\",\n maxHp: \"uint256\",\n name: \"string\",\n url: \"string\",\n \n }\n },\n PlayerAddon:{\n keySchema: {\n addr: \"address\",\n },\n schema: {\n lootId: \"uint256\",\n userId: \"uint256\"\n }\n\n },\n Ownable: {\n schema: {\n owner: \"address\",\n }\n },\n GameConfig: {\n dataStruct: false,\n schema: {\n merkleRoot: \"bytes32\",\n battleId: \"uint256\",\n randomId: \"uint256\",\n originX: \"uint16\",\n originY: \"uint16\",\n roomId: \"uint256\",\n boxId : \"uint256\",\n }\n },\n BattleConfig: {\n dataStruct: false,\n schema: {\n maxAttackzDistance: \"uint256\",\n maxMoveDistance: \"uint256\",\n maxTimeLimit: \"uint256\",\n maxUserLocationLockTime: \"uint256\",\n maxBoxBindTime : \"uint256\",\n battlefieldPlayers: \"address[]\",\n }\n },\n Board: { \n keySchema: {\n addr: \"address\"\n },\n schema: {\n x: \"uint16\",\n y: \"uint16\",\n }\n },\n MapBoard: {\n keySchema: {\n x: \"uint16\",\n y: \"uint16\",\n },\n schema: {\n addresses: \"address[]\",\n }\n },\n RandomList: {\n keySchema:{\n id: \"uint256\",\n },\n schema: {\n blockNumber: \"uint256\",\n author: \"address\",\n }},\n BattleList: {\n keySchema: {\n battleId: \"uint256\",\n },\n schema: {\n attacker: \"address\",\n defender: \"address\",\n winner: \"address\",\n round: \"uint16\",\n attackerHP: \"uint256\",\n defenderHP: \"uint256\",\n isEnd: \"bool\",\n attackerState: \"BattleState\",\n defenderState: \"BattleState\",\n attackerAction: \"bytes32\",\n defenderAction: \"bytes32\",\n attackerBuffHash: \"bytes32\",\n defenderBuffHash: \"bytes32\",\n startTimestamp: \"uint256\",\n attackerArg: \"uint256\",\n defenderArg: \"uint256\",\n endTimestamp: \"uint256\",\n }\n },\n PlayerLocationLock: {\n keySchema: {\n addr: \"address\",\n },\n schema: {\n lockTime: \"uint256\",\n }\n },\n BoxList : {\n keySchema: {\n boxId: \"uint256\",\n },\n schema: {\n lockTime: \"uint256\",\n x: \"uint16\",\n y: \"uint16\",\n oreBalance: \"uint16\",\n treasureBalance: \"uint16\",\n randomId: \"uint256\",\n dropTime: \"uint256\",\n openTime: \"uint256\",\n opened: \"bool\",\n owner: \"address\",\n }\n }, \n LootList1:{\n keySchema:{\n addr: \"address\",\n },\n schema:{\n weapon:\"string\",\n chest:\"string\",\n head:\"string\",\n waist:\"string\",\n foot:\"string\",\n }\n\n },\n LootList2:{\n keySchema:{\n addr: \"address\",\n },\n schema:{\n hand:\"string\",\n neck:\"string\",\n ring:\"string\"\n }\n\n },\n GlobalConfig: {\n dataStruct: false,\n schema: {\n userContract: \"address\",\n lootContract: \"address\",\n pluginContract: \"address\",\n }\n }\n }\n});\n","import { createPublicClient, fallback, webSocket, http, createWalletClient, Hex, parseEther, ClientConfig } from \"viem\";\nimport { createFaucetService } from \"@latticexyz/services/faucet\";\nimport { encodeEntity, syncToRecs } from \"@latticexyz/store-sync/recs\";\nimport { getNetworkConfig } from \"./getNetworkConfig\";\nimport { world } from \"./world\";\nimport { IWorld__factory } from \"contracts/types/ethers-contracts/factories/IWorld__factory\";\nimport { createBurnerAccount, createContract, transportObserver, ContractWrite } from \"@latticexyz/common\";\nimport { Subject, share } from \"rxjs\";\nimport mudConfig from \"contracts/mud.config\";\n\nexport type SetupNetworkResult = Awaited>;\n\nexport async function setupNetwork() {\n const networkConfig = await getNetworkConfig();\n\n const clientOptions = {\n chain: networkConfig.chain,\n transport: transportObserver(fallback([webSocket(), http()])),\n pollingInterval: 1000,\n } as const satisfies ClientConfig;\n\n const publicClient = createPublicClient(clientOptions);\n\n const burnerAccount = createBurnerAccount(networkConfig.privateKey as Hex);\n const burnerWalletClient = createWalletClient({\n ...clientOptions,\n account: burnerAccount,\n });\n\n const write$ = new Subject();\n const worldContract = createContract({\n address: networkConfig.worldAddress as Hex,\n abi: IWorld__factory.abi,\n publicClient,\n walletClient: burnerWalletClient,\n onWrite: (write) => write$.next(write),\n });\n\n const { components, latestBlock$, blockStorageOperations$, waitForTransaction } = await syncToRecs({\n world,\n config: mudConfig,\n address: networkConfig.worldAddress as Hex,\n publicClient,\n startBlock: BigInt(networkConfig.initialBlockNumber),\n });\n\n // Request drip from faucet\n if (networkConfig.faucetServiceUrl) {\n const address = burnerAccount.address;\n console.info(\"[Dev Faucet]: Player address -> \", address);\n\n const faucet = createFaucetService(networkConfig.faucetServiceUrl);\n\n const requestDrip = async () => {\n const balance = await publicClient.getBalance({ address });\n console.info(`[Dev Faucet]: Player balance -> ${balance}`);\n const lowBalance = balance < parseEther(\"1\");\n if (lowBalance) {\n console.info(\"[Dev Faucet]: Balance is low, dripping funds to player\");\n // Double drip\n await faucet.dripDev({ address });\n await faucet.dripDev({ address });\n }\n };\n\n requestDrip();\n // Request a drip every 20 seconds\n setInterval(requestDrip, 20000);\n }\n\n return {\n world,\n components,\n playerEntity: encodeEntity({ addr: \"address\" }, { addr: burnerWalletClient.account.address }),\n publicClient,\n walletClient: burnerWalletClient,\n latestBlock$,\n blockStorageOperations$,\n waitForTransaction,\n worldContract,\n write$: write$.asObservable().pipe(share()),\n account: burnerWalletClient.account.address,\n privateKey: networkConfig.privateKey,\n };\n}\n","import { createClientComponents } from \"./createClientComponents\";\nimport { createSystemCalls } from \"./createSystemCalls\";\nimport { setupNetwork } from \"./setupNetwork\";\n\nexport type SetupResult = Awaited>;\n\nexport async function setup() {\n const network = await setupNetwork();\n const components = createClientComponents(network);\n const systemCalls = createSystemCalls(network, components);\n return {\n network,\n components,\n systemCalls,\n };\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @remix-run/router v1.9.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Action[\"Pop\"] = \"POP\";\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Action[\"Push\"] = \"PUSH\";\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = Action.Pop;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n return location;\n }\n function createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createBrowserLocation(window, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createHashLocation(window, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window.location.hash.substr(1));\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route () since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window, to) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = _extends({\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\"\n }, typeof to === \"string\" ? parsePath(to) : to, {\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n });\n return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = _ref;\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n if (options === void 0) {\n options = {};\n }\n let {\n window = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener = null;\n let index = getIndex();\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace(to, state) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n ResultType[\"data\"] = \"data\";\n ResultType[\"deferred\"] = \"deferred\";\n ResultType[\"redirect\"] = \"redirect\";\n ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n if (manifest === void 0) {\n manifest = {};\n }\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\". Route \" + \"id's must be globally unique within Data Router usages\");\n if (isIndexRoute(route)) {\n let indexRoute = _extends({}, route, mapRouteProperties(route), {\n id\n });\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n id,\n children: undefined\n });\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname));\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n var _route$path;\n // coarse-grain check for optional params\n if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n // for absolute paths, ensure `/` instead of empty segment\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n if (params === void 0) {\n params = {};\n }\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n path = path.replace(/\\*$/, \"/*\");\n }\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n // Apply the splat\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n return stringify(param);\n }\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, paramNames] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = paramNames.reduce((memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n memo[paramName] = safelyDecodeURIComponent(captureGroups[index] || \"\", paramName);\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n if (end === void 0) {\n end = true;\n }\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n let paramNames = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_, paramName) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else ;\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, paramNames];\n}\nfunction safelyDecodeURI(value) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n return value;\n }\n}\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\"));\n return value;\n }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"]. Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n if (isPathRelative === void 0) {\n isPathRelative = false;\n }\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = _extends({}, toArg);\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n return new Response(JSON.stringify(data), _extends({}, responseInit, {\n headers\n }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n constructor(data, responseInit) {\n this.pendingKeysSet = new Set();\n this.subscribers = new Set();\n this.deferredKeys = [];\n invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject;\n this.abortPromise = new Promise((_, r) => reject = r);\n this.controller = new AbortController();\n let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n this.data = Object.entries(data).reduce((acc, _ref) => {\n let [key, value] = _ref;\n return Object.assign(acc, {\n [key]: this.trackPromise(key, value)\n });\n }, {});\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n this.init = responseInit;\n }\n trackPromise(key, value) {\n if (!(value instanceof Promise)) {\n return value;\n }\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n return promise;\n }\n onSettle(promise, key, error, data) {\n if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n return Promise.reject(error);\n }\n this.pendingKeysSet.delete(key);\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n Object.defineProperty(promise, \"_error\", {\n get: () => undefinedError\n });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n this.emit(false, key);\n return Promise.reject(error);\n }\n Object.defineProperty(promise, \"_data\", {\n get: () => data\n });\n this.emit(false, key);\n return data;\n }\n emit(aborted, settledKey) {\n this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n }\n subscribe(fn) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n async resolveData(signal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise(resolve => {\n this.subscribe(aborted => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n get unwrappedData() {\n invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n return Object.entries(this.data).reduce((acc, _ref2) => {\n let [key, value] = _ref2;\n return Object.assign(acc, {\n [key]: unwrapTrackedPromise(value)\n });\n }, {});\n }\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\nfunction isTrackedPromise(value) {\n return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\nconst defer = function defer(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n if (init === void 0) {\n init = 302;\n }\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, _extends({}, responseInit, {\n headers\n }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nclass ErrorResponseImpl {\n constructor(status, statusText, data, internal) {\n if (internal === void 0) {\n internal = false;\n }\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_FETCHER = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Routes keyed by ID\n let manifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future = _extends({\n v7_normalizeFormMethod: false,\n v7_prependBasename: false\n }, init.future);\n // Cleanup function for history\n let unlistenHistory = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some(m => m.route.lazy) && (\n // And we have to either have no loaders or have been provided hydrationData\n !initialMatches.some(m => m.route.loader) || init.hydrationData != null);\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: new Map(),\n blockers: new Map()\n };\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction = Action.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(_ref => {\n let {\n action: historyAction,\n location,\n delta\n } = _ref;\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs. This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(Action.Pop, state.location);\n }\n return router;\n }\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n // Subscribe to state updates for the router\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n // Update our state and notify the calling context of the change\n function updateState(newState) {\n state = _extends({}, state, newState);\n subscribers.forEach(subscriber => subscriber(state));\n }\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(location, newState) {\n var _location$state, _location$state2;\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === Action.Replace) {\n init.history.replace(location, location.state);\n }\n updateState(_extends({}, newState, {\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }));\n // Reset stateful navigation vars\n pendingAction = Action.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n let historyAction = Action.Push;\n if (userReplace === true) {\n historyAction = Action.Replace;\n } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = Action.Replace;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace\n });\n }\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return;\n }\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation\n });\n }\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(historyAction, location, opts) {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n });\n return;\n }\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a
\n // which will default to a navigation to /page\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n });\n return;\n }\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let pendingActionData;\n let pendingError;\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError\n };\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(request, location, opts.submission, matches, {\n replace: opts.replace\n });\n if (actionOutput.shortCircuited) {\n return;\n }\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n // Create a GET request for the loaders\n request = new Request(request.url, {\n signal: request.signal\n });\n }\n // Call loaders\n let {\n shortCircuited,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, pendingActionData, pendingError);\n if (shortCircuited) {\n return;\n }\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n completeNavigation(location, _extends({\n matches\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, {\n loaderData,\n errors\n }));\n }\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(request, location, submission, matches, opts) {\n if (opts === void 0) {\n opts = {};\n }\n interruptActiveLoads();\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n });\n // Call our action and get the result\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace = result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, {\n submission,\n replace\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = Action.Push;\n }\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: {\n [boundaryMatch.route.id]: result.error\n }\n };\n }\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n return {\n pendingActionData: {\n [actionMatch.route.id]: result.data\n }\n };\n }\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, pendingActionData, pendingError) {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError);\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n pendingNavigationLoadId = ++incrementingLoadId;\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, _extends({\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, updatedFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {}));\n return {\n shortCircuited: true\n };\n }\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState(_extends({\n navigation: loadingNavigation\n }, actionData ? Object.keys(actionData).length === 0 ? {\n actionData: null\n } : {\n actionData\n } : {}, revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}));\n }\n revalidatingFetchers.forEach(rf => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, {\n replace\n });\n return {\n shortCircuited: true\n };\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe(aborted => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return _extends({\n loaderData,\n errors\n }, shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {});\n }\n function getFetcher(key) {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(key, routeId, href, opts) {\n if (isServer) {\n throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n }\n if (fetchControllers.has(key)) abortFetcher(key);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, routeId, opts == null ? void 0 : opts.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }));\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n let match = getTargetMatch(matches, path);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(key, routeId, path, match, requestMatches, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId\n });\n setFetcherError(key, routeId, error);\n return;\n }\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\"action\", fetchRequest, match, requestMatches, manifest, mapRouteProperties, basename);\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n } else {\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission\n });\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, {\n [match.route.id]: actionResult.data\n }, undefined // No need to send through errors since we short circuit above\n );\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState(_extends({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors)\n }, didAbortFetchLoads || revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}));\n isRevalidationRequired = false;\n }\n }\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(key, routeId, path, match, matches, submission) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(key, loadingFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let result = await callLoaderOrAction(\"loader\", fetchRequest, match, matches, manifest, mapRouteProperties, basename);\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n }\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error\n }\n });\n return;\n }\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(state, redirect, _temp) {\n let {\n submission,\n fetcherSubmission,\n replace\n } = _temp === void 0 ? {} : _temp;\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true\n });\n invariant(redirectLocation, \"Expected a location on the redirect navigation\");\n if (isBrowser) {\n let isDocumentReload = false;\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: _extends({}, activeSubmission, {\n formAction: redirect.location\n }),\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n }\n }\n async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename)), ...fetchersToLoad.map(f => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), f.match, f.matches, manifest, mapRouteProperties, basename);\n } else {\n let error = {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n };\n return error;\n }\n })]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n return {\n results,\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n function setFetcherError(key, routeId, error) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n });\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n invariant(controller, \"Expected fetch controller: \" + key);\n controller.abort();\n fetchControllers.delete(key);\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation(_ref2) {\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = _ref2;\n if (blockerFunctions.size === 0) {\n return;\n }\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function cancelActiveDeferreds(predicate) {\n let cancelledRouteIds = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n }\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties;\n if (opts != null && opts.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts != null && opts.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(request, _temp2) {\n let {\n requestContext\n } = _temp2 === void 0 ? {} : _temp2;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return _extends({\n location,\n basename\n }, result);\n }\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(request, _temp3) {\n let {\n routeId,\n requestContext\n } = _temp3 === void 0 ? {} : _temp3;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let result = await queryImpl(request, location, matches, requestContext, match);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n var _result$activeDeferre;\n let data = Object.values(result.loaderData)[0];\n if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n return undefined;\n }\n async function queryImpl(request, location, matches, requestContext, routeMatch) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, routeMatch != null);\n return result;\n }\n let result = await loadRouteData(request, matches, requestContext, routeMatch);\n return isResponse(result) ? result : _extends({}, result, {\n actionData: null,\n actionHeaders: {}\n });\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n });\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n }\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location\n }\n });\n }\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, {\n type: \"defer-action\"\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n }\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, requestContext, undefined, {\n [boundaryMatch.route.id]: result.error\n });\n // action status codes take precedence over loader status codes\n return _extends({}, context, {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : 500,\n actionData: null,\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n return _extends({}, context, result.statusCode ? {\n statusCode: result.statusCode\n } : {}, {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n async function loadRouteData(request, matches, requestContext, routeMatch, pendingActionError) {\n let isRouteRequest = routeMatch != null;\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch == null ? void 0 : routeMatch.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : getLoaderMatchesUntilBoundary(matches, Object.keys(pendingActionError || {})[0]);\n let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null\n };\n }\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n }))]);\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n }\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionError, activeDeferreds);\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return _extends({}, context, {\n matches,\n activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n });\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = _extends({}, context, {\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n });\n return newContext;\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n // Resolve the relative path\n let path = resolveTo(to ? to : \".\", getPathContributingMatches(contextualMatches).map(m => m.pathnameBase), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n // Add an ?index param for matched index routes if we don't already have one\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n let [name, value] = _ref3;\n return \"\" + acc + name + \"=\" + value + \"\\n\";\n }, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = \"?\" + searchParams;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError) {\n let actionResult = pendingError ? Object.values(pendingError)[0] : pendingActionData ? Object.values(pendingActionData)[0] : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n // Always call the loader on new route instances and pending defer cancellations\n if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n return true;\n }\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, _extends({\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params\n }, submission, {\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n }));\n });\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some(m => m.route.id === f.routeId)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params\n }, submission, {\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired\n }));\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n lazy: undefined\n }));\n}\nasync function callLoaderOrAction(type, request, match, matches, manifest, mapRouteProperties, basename, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let resultType;\n let result;\n let onReject;\n let runHandler = handler => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([handler({\n request,\n params: match.params,\n context: opts.requestContext\n }), abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return {\n type: ResultType.data,\n data: undefined\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n invariant(result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n if (isResponse(result)) {\n let status = result.status;\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(new URL(request.url), matches.slice(0, matches.indexOf(match) + 1), basename, true, location);\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\") ? new URL(currentUrl.protocol + location) : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null\n };\n }\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse = {\n type: resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result\n };\n throw queryRouteResponse;\n }\n let data;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers\n };\n }\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: result\n };\n }\n if (isDeferredData(result)) {\n var _result$init, _result$init2;\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n };\n }\n return {\n type: ResultType.data,\n data: result\n };\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds) {\n // Fill in loaderData/errors from our loaders\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = errors || {};\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds);\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let {\n key,\n match,\n controller\n } = revalidatingFetchers[index];\n invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n let result = fetcherResults[index];\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = _extends({}, errors, {\n [boundaryMatch.route.id]: result.error\n });\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = _extends({}, newLoaderData);\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: \"__shim-error-route__\"\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, _temp4) {\n let {\n pathname,\n routeId,\n method,\n type\n } = _temp4 === void 0 ? {} : _temp4;\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (method) {\n errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return {\n result,\n idx: i\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath(_extends({}, parsedPath, {\n hash: \"\"\n }));\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\nfunction isDeferredResult(result) {\n return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n if (!isResponse(result)) {\n return false;\n }\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\nfunction isQueryRouteResponse(obj) {\n return obj && isResponse(obj.response) && (obj.type === ResultType.data || obj.type === ResultType.error);\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n await resolveDeferredData(result, signal, isFetcher).then(result => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n if (unwrap === void 0) {\n unwrap = false;\n }\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e\n };\n }\n }\n return {\n type: ResultType.data,\n data: result.deferredData.data\n };\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined\n };\n return fetcher;\n}\nfunction getDoneFetcher(data) {\n let fetcher = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, getPathContributingMatches as UNSAFE_getPathContributingMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, defer, generatePath, getStaticContextFromError, getToPathname, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * React Router v6.16.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_getPathContributingMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, resolvePath } from '@remix-run/router';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nfunction useNavigate() {\n let {\n isDataRoute\n } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let dataRouterContext = React.useContext(DataRouterContext);\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getPathContributingMatches(matches).map(match => match.pathnameBase));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState);\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState) {\n var _dataRouterState2;\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (dataRouterState === void 0) {\n dataRouterState = null;\n }\n if (matches == null) {\n var _dataRouterState;\n if ((_dataRouterState = dataRouterState) != null && _dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = (_dataRouterState2 = dataRouterState) == null ? void 0 : _dataRouterState2.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]));\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors == null ? void 0 : errors[match.route.id] : null;\n // Only data routers handle errors\n let errorElement = null;\n if (dataRouterState) {\n errorElement = match.route.errorElement || defaultErrorElement;\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = /*#__PURE__*/React.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches,\n isDataRoute: dataRouterState != null\n },\n children: children\n });\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error: error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(() => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n if (state.errors && state.errors[routeId] != null) {\n console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useActionData must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n return Object.values((state == null ? void 0 : state.actionData) || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor value\n */\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor value\n */\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: _extends({}, currentLocation, {\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n }),\n nextLocation: _extends({}, nextLocation, {\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n }),\n historyAction\n });\n }, [basename, shouldBlock]);\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, _extends({\n fromRouteId: id\n }, options));\n }\n }, [router, id]);\n return navigate;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n }\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n let [state, setStateImpl] = React.useState(router.state);\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a \",e=e.removeChild(e.firstChild)):typeof a.is==\"string\"?e=c.createElement(n,{is:a.is}):(e=c.createElement(n),n===\"select\"&&(c=e,a.multiple?c.multiple=!0:a.size&&(c.size=a.size))):e=c.createElementNS(e,n),e[xo]=t,e[Rh]=a,TF(e,t,!1,!1),t.stateNode=e;e:{switch(c=pO(n,a),n){case\"dialog\":Gt(\"cancel\",e),Gt(\"close\",e),o=a;break;case\"iframe\":case\"object\":case\"embed\":Gt(\"load\",e),o=a;break;case\"video\":case\"audio\":for(o=0;oZf&&(t.flags|=128,a=!0,eh(l,!1),t.lanes=4194304)}else{if(!a)if(e=Vb(c),e!==null){if(t.flags|=128,a=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),eh(l,!0),l.tail===null&&l.tailMode===\"hidden\"&&!c.alternate&&!tr)return Fn(t),null}else 2*xr()-l.renderingStartTime>Zf&&n!==1073741824&&(t.flags|=128,a=!0,eh(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(n=l.last,n!==null?n.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=xr(),t.sibling=null,n=ur.current,It(ur,a?n&1|2:n&1),t):(Fn(t),null);case 22:case 23:return MT(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&t.mode&1?Fi&1073741824&&(Fn(t),t.subtreeFlags&6&&(t.flags|=8192)):Fn(t),null;case 24:return null;case 25:return null}throw Error(ie(156,t.tag))}function aX(e,t){switch(fT(t),t.tag){case 1:return bi(t.type)&&Ub(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Xf(),Qt(gi),Qt(qn),ST(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return bT(t),null;case 13:if(Qt(ur),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ie(340));Qf()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Qt(ur),null;case 4:return Xf(),null;case 10:return hT(t.type._context),null;case 22:case 23:return MT(),null;case 24:return null;default:return null}}var mb=!1,zn=!1,oX=typeof WeakSet==\"function\"?WeakSet:Set,Ee=null;function zf(e,t){var n=e.ref;if(n!==null)if(typeof n==\"function\")try{n(null)}catch(a){hr(e,t,a)}else n.current=null}function qO(e,t,n){try{n()}catch(a){hr(e,t,a)}}var F2=!1;function uX(e,t){if(xO=Db,e=NU(),sT(e)){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var o=a.anchorOffset,l=a.focusNode;a=a.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var c=0,p=-1,v=-1,m=0,S=0,w=e,C=null;t:for(;;){for(var T;w!==n||o!==0&&w.nodeType!==3||(p=c+o),w!==l||a!==0&&w.nodeType!==3||(v=c+a),w.nodeType===3&&(c+=w.nodeValue.length),(T=w.firstChild)!==null;)C=w,w=T;for(;;){if(w===e)break t;if(C===n&&++m===o&&(p=c),C===l&&++S===a&&(v=c),(T=w.nextSibling)!==null)break;w=C,C=w.parentNode}w=T}n=p===-1||v===-1?null:{start:p,end:v}}else n=null}n=n||{start:0,end:0}}else n=null;for(EO={focusedElem:e,selectionRange:n},Db=!1,Ee=t;Ee!==null;)if(t=Ee,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ee=e;else for(;Ee!==null;){t=Ee;try{var k=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(k!==null){var N=k.memoizedProps,I=k.memoizedState,_=t.stateNode,R=_.getSnapshotBeforeUpdate(t.elementType===t.type?N:La(t.type,N),I);_.__reactInternalSnapshotBeforeUpdate=R}break;case 3:var A=t.stateNode.containerInfo;A.nodeType===1?A.textContent=\"\":A.nodeType===9&&A.documentElement&&A.removeChild(A.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ie(163))}}catch(F){hr(t,t.return,F)}if(e=t.sibling,e!==null){e.return=t.return,Ee=e;break}Ee=t.return}return k=F2,F2=!1,k}function ph(e,t,n){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var o=a=a.next;do{if((o.tag&e)===e){var l=o.destroy;o.destroy=void 0,l!==void 0&&qO(t,n,l)}o=o.next}while(o!==a)}}function o0(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function IO(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t==\"function\"?t(e):t.current=e}}function MF(e){var t=e.alternate;t!==null&&(e.alternate=null,MF(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[xo],delete t[Rh],delete t[OO],delete t[BK],delete t[VK])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function PF(e){return e.tag===5||e.tag===3||e.tag===4}function z2(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||PF(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function HO(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Lb));else if(a!==4&&(e=e.child,e!==null))for(HO(e,t,n),e=e.sibling;e!==null;)HO(e,t,n),e=e.sibling}function BO(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(BO(e,t,n),e=e.sibling;e!==null;)BO(e,t,n),e=e.sibling}var _n=null,Ua=!1;function ul(e,t,n){for(n=n.child;n!==null;)DF(e,t,n),n=n.sibling}function DF(e,t,n){if(Eo&&typeof Eo.onCommitFiberUnmount==\"function\")try{Eo.onCommitFiberUnmount(Jb,n)}catch{}switch(n.tag){case 5:zn||zf(n,t);case 6:var a=_n,o=Ua;_n=null,ul(e,t,n),_n=a,Ua=o,_n!==null&&(Ua?(e=_n,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):_n.removeChild(n.stateNode));break;case 18:_n!==null&&(Ua?(e=_n,n=n.stateNode,e.nodeType===8?WR(e.parentNode,n):e.nodeType===1&&WR(e,n),_h(e)):WR(_n,n.stateNode));break;case 4:a=_n,o=Ua,_n=n.stateNode.containerInfo,Ua=!0,ul(e,t,n),_n=a,Ua=o;break;case 0:case 11:case 14:case 15:if(!zn&&(a=n.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){o=a=a.next;do{var l=o,c=l.destroy;l=l.tag,c!==void 0&&(l&2||l&4)&&qO(n,t,c),o=o.next}while(o!==a)}ul(e,t,n);break;case 1:if(!zn&&(zf(n,t),a=n.stateNode,typeof a.componentWillUnmount==\"function\"))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(p){hr(n,t,p)}ul(e,t,n);break;case 21:ul(e,t,n);break;case 22:n.mode&1?(zn=(a=zn)||n.memoizedState!==null,ul(e,t,n),zn=a):ul(e,t,n);break;default:ul(e,t,n)}}function q2(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new oX),t.forEach(function(a){var o=mX.bind(null,e,a);n.has(a)||(n.add(a),a.then(o,o))})}}function ja(e,t){var n=t.deletions;if(n!==null)for(var a=0;ao&&(o=c),a&=~l}if(a=o,a=xr()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*sX(a/1960))-a,10e?16:e,pl===null)var a=!1;else{if(e=pl,pl=null,Qb=0,St&6)throw Error(ie(331));var o=St;for(St|=4,Ee=e.current;Ee!==null;){var l=Ee,c=l.child;if(Ee.flags&16){var p=l.deletions;if(p!==null){for(var v=0;vxr()-kT?Vs(e,0):TT|=n),Si(e,t)}function IF(e,t){t===0&&(e.mode&1?(t=nb,nb<<=1,!(nb&130023424)&&(nb=4194304)):t=1);var n=ti();e=vu(e,t),e!==null&&(Dh(e,t,n),Si(e,n))}function hX(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),IF(e,n)}function mX(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(ie(314))}a!==null&&a.delete(t),IF(e,n)}var HF;HF=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||gi.current)yi=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return yi=!1,nX(e,t,n);yi=!!(e.flags&131072)}else yi=!1,tr&&t.flags&1048576&&$U(t,qb,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Eb(e,t),e=t.pendingProps;var o=Gf(t,qn.current);$f(t,n),o=wT(null,t,a,e,o,n);var l=xT();return t.flags|=1,typeof o==\"object\"&&o!==null&&typeof o.render==\"function\"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,bi(a)?(l=!0,Fb(t)):l=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,yT(t),o.updater=i0,t.stateNode=o,o._reactInternals=t,DO(t,a,e,n),t=LO(null,t,a,!0,l,n)):(t.tag=0,tr&&l&&cT(t),ei(null,t,o,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Eb(e,t),e=t.pendingProps,o=a._init,a=o(a._payload),t.type=a,o=t.tag=gX(a),e=La(a,e),o){case 0:t=jO(null,t,a,e,n);break e;case 1:t=j2(null,t,a,e,n);break e;case 11:t=D2(null,t,a,e,n);break e;case 14:t=N2(null,t,a,La(a.type,e),n);break e}throw Error(ie(306,a,\"\"))}return t;case 0:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:La(a,o),jO(e,t,a,o,n);case 1:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:La(a,o),j2(e,t,a,o,n);case 3:e:{if(CF(t),e===null)throw Error(ie(387));a=t.pendingProps,l=t.memoizedState,o=l.element,QU(e,t),Bb(t,a,null,n);var c=t.memoizedState;if(a=c.element,l.isDehydrated)if(l={element:a,isDehydrated:!1,cache:c.cache,pendingSuspenseBoundaries:c.pendingSuspenseBoundaries,transitions:c.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){o=Jf(Error(ie(423)),t),t=L2(e,t,a,n,o);break e}else if(a!==o){o=Jf(Error(ie(424)),t),t=L2(e,t,a,n,o);break e}else for(zi=yl(t.stateNode.containerInfo.firstChild),qi=t,tr=!0,Fa=null,n=ZU(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Qf(),a===o){t=hu(e,t,n);break e}ei(e,t,a,n)}t=t.child}return t;case 5:return eF(t),e===null&&AO(t),a=t.type,o=t.pendingProps,l=e!==null?e.memoizedProps:null,c=o.children,CO(a,o)?c=null:l!==null&&CO(a,l)&&(t.flags|=32),EF(e,t),ei(e,t,c,n),t.child;case 6:return e===null&&AO(t),null;case 13:return RF(e,t,n);case 4:return gT(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Kf(t,null,a,n):ei(e,t,a,n),t.child;case 11:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:La(a,o),D2(e,t,a,o,n);case 7:return ei(e,t,t.pendingProps,n),t.child;case 8:return ei(e,t,t.pendingProps.children,n),t.child;case 12:return ei(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,o=t.pendingProps,l=t.memoizedProps,c=o.value,It(Ib,a._currentValue),a._currentValue=c,l!==null)if(Ia(l.value,c)){if(l.children===o.children&&!gi.current){t=hu(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var p=l.dependencies;if(p!==null){c=l.child;for(var v=p.firstContext;v!==null;){if(v.context===a){if(l.tag===1){v=fu(-1,n&-n),v.tag=2;var m=l.updateQueue;if(m!==null){m=m.shared;var S=m.pending;S===null?v.next=v:(v.next=S.next,S.next=v),m.pending=v}}l.lanes|=n,v=l.alternate,v!==null&&(v.lanes|=n),MO(l.return,n,t),p.lanes|=n;break}v=v.next}}else if(l.tag===10)c=l.type===t.type?null:l.child;else if(l.tag===18){if(c=l.return,c===null)throw Error(ie(341));c.lanes|=n,p=c.alternate,p!==null&&(p.lanes|=n),MO(c,n,t),c=l.sibling}else c=l.child;if(c!==null)c.return=l;else for(c=l;c!==null;){if(c===t){c=null;break}if(l=c.sibling,l!==null){l.return=c.return,c=l;break}c=c.return}l=c}ei(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,a=t.pendingProps.children,$f(t,n),o=sa(o),a=a(o),t.flags|=1,ei(e,t,a,n),t.child;case 14:return a=t.type,o=La(a,t.pendingProps),o=La(a.type,o),N2(e,t,a,o,n);case 15:return wF(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:La(a,o),Eb(e,t),t.tag=1,bi(a)?(e=!0,Fb(t)):e=!1,$f(t,n),XU(t,a,o),DO(t,a,o,n),LO(null,t,a,!0,e,n);case 19:return OF(e,t,n);case 22:return xF(e,t,n)}throw Error(ie(156,t.tag))};function BF(e,t){return hU(e,t)}function yX(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ua(e,t,n,a){return new yX(e,t,n,a)}function DT(e){return e=e.prototype,!(!e||!e.isReactComponent)}function gX(e){if(typeof e==\"function\")return DT(e)?1:0;if(e!=null){if(e=e.$$typeof,e===JO)return 11;if(e===ZO)return 14}return 2}function _l(e,t){var n=e.alternate;return n===null?(n=ua(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ob(e,t,n,a,o,l){var c=2;if(a=e,typeof e==\"function\")DT(e)&&(c=1);else if(typeof e==\"string\")c=5;else e:switch(e){case Af:return $s(n.children,o,l,t);case XO:c=8,o|=8;break;case nO:return e=ua(12,n,t,o|2),e.elementType=nO,e.lanes=l,e;case iO:return e=ua(13,n,t,o),e.elementType=iO,e.lanes=l,e;case aO:return e=ua(19,n,t,o),e.elementType=aO,e.lanes=l,e;case J2:return l0(n,o,l,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case K2:c=10;break e;case X2:c=9;break e;case JO:c=11;break e;case ZO:c=14;break e;case ll:c=16,a=null;break e}throw Error(ie(130,e==null?e:typeof e,\"\"))}return t=ua(c,n,t,o),t.elementType=e,t.type=a,t.lanes=l,t}function $s(e,t,n,a){return e=ua(7,e,a,t),e.lanes=n,e}function l0(e,t,n,a){return e=ua(22,e,a,t),e.elementType=J2,e.lanes=n,e.stateNode={isHidden:!1},e}function eO(e,t,n){return e=ua(6,e,null,t),e.lanes=n,e}function tO(e,t,n){return t=ua(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function bX(e,t,n,a,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=FR(0),this.expirationTimes=FR(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=FR(0),this.identifierPrefix=a,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function NT(e,t,n,a,o,l,c,p,v){return e=new bX(e,t,n,p,v),t===1?(t=1,l===!0&&(t|=8)):t=0,l=ua(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},yT(l),e}function SX(e,t,n){var a=3{\"use strict\";process.env.NODE_ENV!==\"production\"&&function(){\"use strict\";typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<\"u\"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==\"function\"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=wr(),t=DR(),n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,a=!1;function o(r){a=r}function l(r){if(!a){for(var i=arguments.length,u=new Array(i>1?i-1:0),s=1;s1?i-1:0),s=1;s2&&(r[0]===\"o\"||r[0]===\"O\")&&(r[1]===\"n\"||r[1]===\"N\")}function Se(r,i,u,s){if(u!==null&&u.type===Hn)return!1;switch(typeof i){case\"function\":case\"symbol\":return!0;case\"boolean\":{if(s)return!1;if(u!==null)return!u.acceptsBooleans;var f=r.toLowerCase().slice(0,5);return f!==\"data-\"&&f!==\"aria-\"}default:return!1}}function Me(r,i,u,s){if(i===null||typeof i>\"u\"||Se(r,i,u,s))return!0;if(s)return!1;if(u!==null)switch(u.type){case pr:return!i;case Bn:return i===!1;case Ti:return isNaN(i);case W:return isNaN(i)||i<1}return!1}function Ge(r){return We.hasOwnProperty(r)?We[r]:null}function Qe(r,i,u,s,f,d,h){this.acceptsBooleans=i===oi||i===pr||i===Bn,this.attributeName=s,this.attributeNamespace=f,this.mustUseProperty=u,this.propertyName=r,this.type=i,this.sanitizeURL=d,this.removeEmptyString=h}var We={},Ut=[\"children\",\"dangerouslySetInnerHTML\",\"defaultValue\",\"defaultChecked\",\"innerHTML\",\"suppressContentEditableWarning\",\"suppressHydrationWarning\",\"style\"];Ut.forEach(function(r){We[r]=new Qe(r,Hn,!1,r,null,!1,!1)}),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(r){var i=r[0],u=r[1];We[i]=new Qe(i,Dr,!1,u,null,!1,!1)}),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(r){We[r]=new Qe(r,oi,!1,r.toLowerCase(),null,!1,!1)}),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(r){We[r]=new Qe(r,oi,!1,r,null,!1,!1)}),[\"allowFullScreen\",\"async\",\"autoFocus\",\"autoPlay\",\"controls\",\"default\",\"defer\",\"disabled\",\"disablePictureInPicture\",\"disableRemotePlayback\",\"formNoValidate\",\"hidden\",\"loop\",\"noModule\",\"noValidate\",\"open\",\"playsInline\",\"readOnly\",\"required\",\"reversed\",\"scoped\",\"seamless\",\"itemScope\"].forEach(function(r){We[r]=new Qe(r,pr,!1,r.toLowerCase(),null,!1,!1)}),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(r){We[r]=new Qe(r,pr,!0,r,null,!1,!1)}),[\"capture\",\"download\"].forEach(function(r){We[r]=new Qe(r,Bn,!1,r,null,!1,!1)}),[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(r){We[r]=new Qe(r,W,!1,r,null,!1,!1)}),[\"rowSpan\",\"start\"].forEach(function(r){We[r]=new Qe(r,Ti,!1,r.toLowerCase(),null,!1,!1)});var Sr=/[\\-\\:]([a-z])/g,ki=function(r){return r[1].toUpperCase()};[\"accent-height\",\"alignment-baseline\",\"arabic-form\",\"baseline-shift\",\"cap-height\",\"clip-path\",\"clip-rule\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"dominant-baseline\",\"enable-background\",\"fill-opacity\",\"fill-rule\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"glyph-name\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"horiz-adv-x\",\"horiz-origin-x\",\"image-rendering\",\"letter-spacing\",\"lighting-color\",\"marker-end\",\"marker-mid\",\"marker-start\",\"overline-position\",\"overline-thickness\",\"paint-order\",\"panose-1\",\"pointer-events\",\"rendering-intent\",\"shape-rendering\",\"stop-color\",\"stop-opacity\",\"strikethrough-position\",\"strikethrough-thickness\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"underline-position\",\"underline-thickness\",\"unicode-bidi\",\"unicode-range\",\"units-per-em\",\"v-alphabetic\",\"v-hanging\",\"v-ideographic\",\"v-mathematical\",\"vector-effect\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"word-spacing\",\"writing-mode\",\"xmlns:xlink\",\"x-height\"].forEach(function(r){var i=r.replace(Sr,ki);We[i]=new Qe(i,Dr,!1,r,null,!1,!1)}),[\"xlink:actuate\",\"xlink:arcrole\",\"xlink:role\",\"xlink:show\",\"xlink:title\",\"xlink:type\"].forEach(function(r){var i=r.replace(Sr,ki);We[i]=new Qe(i,Dr,!1,r,\"http://www.w3.org/1999/xlink\",!1,!1)}),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(r){var i=r.replace(Sr,ki);We[i]=new Qe(i,Dr,!1,r,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}),[\"tabIndex\",\"crossOrigin\"].forEach(function(r){We[r]=new Qe(r,Dr,!1,r.toLowerCase(),null,!1,!1)});var to=\"xlinkHref\";We[to]=new Qe(\"xlinkHref\",Dr,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(r){We[r]=new Qe(r,Dr,!1,r.toLowerCase(),null,!0,!0)});var ro=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*\\:/i,Cr=!1;function ui(r){!Cr&&ro.test(r)&&(Cr=!0,c(\"A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.\",JSON.stringify(r)))}function no(r,i,u,s){if(s.mustUseProperty){var f=s.propertyName;return r[f]}else{ir(u,i),s.sanitizeURL&&ui(\"\"+u);var d=s.attributeName,h=null;if(s.type===Bn){if(r.hasAttribute(d)){var y=r.getAttribute(d);return y===\"\"?!0:Me(i,u,s,!1)?y:y===\"\"+u?u:y}}else if(r.hasAttribute(d)){if(Me(i,u,s,!1))return r.getAttribute(d);if(s.type===pr)return u;h=r.getAttribute(d)}return Me(i,u,s,!1)?h===null?u:h:h===\"\"+u?u:h}}function io(r,i,u,s){{if(!Ae(i))return;if(!r.hasAttribute(i))return u===void 0?void 0:null;var f=r.getAttribute(i);return ir(u,i),f===\"\"+u?u:f}}function Gi(r,i,u,s){var f=Ge(i);if(!ye(i,f,s)){if(Me(i,u,f,s)&&(u=null),s||f===null){if(Ae(i)){var d=i;u===null?r.removeAttribute(d):(ir(u,i),r.setAttribute(d,\"\"+u))}return}var h=f.mustUseProperty;if(h){var y=f.propertyName;if(u===null){var g=f.type;r[y]=g===pr?!1:\"\"}else r[y]=u;return}var E=f.attributeName,O=f.attributeNamespace;if(u===null)r.removeAttribute(E);else{var U=f.type,L;U===pr||U===Bn&&u===!0?L=\"\":(ir(u,E),L=\"\"+u,f.sanitizeURL&&ui(L.toString())),O?r.setAttributeNS(O,E,L):r.setAttribute(E,L)}}}var Vn=Symbol.for(\"react.element\"),vt=Symbol.for(\"react.portal\"),Zt=Symbol.for(\"react.fragment\"),$n=Symbol.for(\"react.strict_mode\"),P=Symbol.for(\"react.profiler\"),Q=Symbol.for(\"react.provider\"),le=Symbol.for(\"react.context\"),Ne=Symbol.for(\"react.forward_ref\"),Ze=Symbol.for(\"react.suspense\"),mt=Symbol.for(\"react.suspense_list\"),Xe=Symbol.for(\"react.memo\"),Le=Symbol.for(\"react.lazy\"),Nr=Symbol.for(\"react.scope\"),$t=Symbol.for(\"react.debug_trace_mode\"),Wt=Symbol.for(\"react.offscreen\"),kn=Symbol.for(\"react.legacy_hidden\"),ao=Symbol.for(\"react.cache\"),wc=Symbol.for(\"react.tracing_marker\"),li=Symbol.iterator,ox=\"@@iterator\";function Lo(r){if(r===null||typeof r!=\"object\")return null;var i=li&&r[li]||r[ox];return typeof i==\"function\"?i:null}var Je=Object.assign,ku=0,ip,ap,op,up,lp,sp,cp;function Dm(){}Dm.__reactDisabledLog=!0;function ux(){{if(ku===0){ip=console.log,ap=console.info,op=console.warn,up=console.error,lp=console.group,sp=console.groupCollapsed,cp=console.groupEnd;var r={configurable:!0,enumerable:!0,value:Dm,writable:!0};Object.defineProperties(console,{info:r,log:r,warn:r,error:r,group:r,groupCollapsed:r,groupEnd:r})}ku++}}function fp(){{if(ku--,ku===0){var r={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Je({},r,{value:ip}),info:Je({},r,{value:ap}),warn:Je({},r,{value:op}),error:Je({},r,{value:up}),group:Je({},r,{value:lp}),groupCollapsed:Je({},r,{value:sp}),groupEnd:Je({},r,{value:cp})})}ku<0&&c(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\")}}var us=n.ReactCurrentDispatcher,Au;function Qi(r,i,u){{if(Au===void 0)try{throw Error()}catch(f){var s=f.stack.trim().match(/\\n( *(at )?)/);Au=s&&s[1]||\"\"}return`\n`+Au+r}}var Mu=!1,xc;{var Nm=typeof WeakMap==\"function\"?WeakMap:Map;xc=new Nm}function dp(r,i){if(!r||Mu)return\"\";{var u=xc.get(r);if(u!==void 0)return u}var s;Mu=!0;var f=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var d;d=us.current,us.current=null,ux();try{if(i){var h=function(){throw Error()};if(Object.defineProperty(h.prototype,\"props\",{set:function(){throw Error()}}),typeof Reflect==\"object\"&&Reflect.construct){try{Reflect.construct(h,[])}catch(B){s=B}Reflect.construct(r,[],h)}else{try{h.call()}catch(B){s=B}r.call(h.prototype)}}else{try{throw Error()}catch(B){s=B}r()}}catch(B){if(B&&s&&typeof B.stack==\"string\"){for(var y=B.stack.split(`\n`),g=s.stack.split(`\n`),E=y.length-1,O=g.length-1;E>=1&&O>=0&&y[E]!==g[O];)O--;for(;E>=1&&O>=0;E--,O--)if(y[E]!==g[O]){if(E!==1||O!==1)do if(E--,O--,O<0||y[E]!==g[O]){var U=`\n`+y[E].replace(\" at new \",\" at \");return r.displayName&&U.includes(\"\")&&(U=U.replace(\"\",r.displayName)),typeof r==\"function\"&&xc.set(r,U),U}while(E>=1&&O>=0);break}}}finally{Mu=!1,us.current=d,fp(),Error.prepareStackTrace=f}var L=r?r.displayName||r.name:\"\",$=L?Qi(L):\"\";return typeof r==\"function\"&&xc.set(r,$),$}function lx(r,i,u){return dp(r,!0)}function Pu(r,i,u){return dp(r,!1)}function jm(r){var i=r.prototype;return!!(i&&i.isReactComponent)}function Ec(r,i,u){if(r==null)return\"\";if(typeof r==\"function\")return dp(r,jm(r));if(typeof r==\"string\")return Qi(r);switch(r){case Ze:return Qi(\"Suspense\");case mt:return Qi(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case Ne:return Pu(r.render);case Xe:return Ec(r.type,i,u);case Le:{var s=r,f=s._payload,d=s._init;try{return Ec(d(f),i,u)}catch{}}}return\"\"}function Cc(r){var i=r._debugOwner?r._debugOwner.type:null,u=r._debugSource;switch(r.tag){case T:return Qi(r.type);case be:return Qi(\"Lazy\");case G:return Qi(\"Suspense\");case dt:return Qi(\"SuspenseList\");case v:case S:case re:return Pu(r.type);case A:return Pu(r.type.render);case m:return lx(r.type);default:return\"\"}}function Lm(r){try{var i=\"\",u=r;do i+=Cc(u),u=u.return;while(u);return i}catch(s){return`\nError generating stack: `+s.message+`\n`+s.stack}}function Du(r,i,u){var s=r.displayName;if(s)return s;var f=i.displayName||i.name||\"\";return f!==\"\"?u+\"(\"+f+\")\":u}function Rc(r){return r.displayName||\"Context\"}function Tt(r){if(r==null)return null;if(typeof r.tag==\"number\"&&c(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"),typeof r==\"function\")return r.displayName||r.name||null;if(typeof r==\"string\")return r;switch(r){case Zt:return\"Fragment\";case vt:return\"Portal\";case P:return\"Profiler\";case $n:return\"StrictMode\";case Ze:return\"Suspense\";case mt:return\"SuspenseList\"}if(typeof r==\"object\")switch(r.$$typeof){case le:var i=r;return Rc(i)+\".Consumer\";case Q:var u=r;return Rc(u._context)+\".Provider\";case Ne:return Du(r,r.render,\"ForwardRef\");case Xe:var s=r.displayName||null;return s!==null?s:Tt(r.type)||\"Memo\";case Le:{var f=r,d=f._payload,h=f._init;try{return Tt(h(d))}catch{return null}}}return null}function sx(r,i,u){var s=i.displayName||i.name||\"\";return r.displayName||(s!==\"\"?u+\"(\"+s+\")\":u)}function Um(r){return r.displayName||\"Context\"}function Ye(r){var i=r.tag,u=r.type;switch(i){case Re:return\"Cache\";case _:var s=u;return Um(s)+\".Consumer\";case R:var f=u;return Um(f._context)+\".Provider\";case De:return\"DehydratedFragment\";case A:return sx(u,u.render,\"ForwardRef\");case N:return\"Fragment\";case T:return u;case C:return\"Portal\";case w:return\"Root\";case k:return\"Text\";case be:return Tt(u);case I:return u===$n?\"StrictMode\":\"Mode\";case Pe:return\"Offscreen\";case F:return\"Profiler\";case rt:return\"Scope\";case G:return\"Suspense\";case dt:return\"SuspenseList\";case Mt:return\"TracingMarker\";case m:case v:case we:case S:case te:case re:if(typeof u==\"function\")return u.displayName||u.name||null;if(typeof u==\"string\")return u;break}return null}var Fm=n.ReactDebugCurrentFrame,An=null,Nu=!1;function ju(){{if(An===null)return null;var r=An._debugOwner;if(r!==null&&typeof r<\"u\")return Ye(r)}return null}function cx(){return An===null?\"\":Lm(An)}function Jr(){Fm.getCurrentStack=null,An=null,Nu=!1}function er(r){Fm.getCurrentStack=r===null?null:cx,An=r,Nu=!1}function fx(){return An}function Ki(r){Nu=r}function si(r){return\"\"+r}function ba(r){switch(typeof r){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return r;case\"object\":return br(r),r;default:return\"\"}}var Oc={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function pp(r,i){Oc[i.type]||i.onChange||i.onInput||i.readOnly||i.disabled||i.value==null||c(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\"),i.onChange||i.readOnly||i.disabled||i.checked==null||c(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\")}function Uo(r){var i=r.type,u=r.nodeName;return u&&u.toLowerCase()===\"input\"&&(i===\"checkbox\"||i===\"radio\")}function vp(r){return r._valueTracker}function dx(r){r._valueTracker=null}function Tc(r){var i=\"\";return r&&(Uo(r)?i=r.checked?\"true\":\"false\":i=r.value),i}function hp(r){var i=Uo(r)?\"checked\":\"value\",u=Object.getOwnPropertyDescriptor(r.constructor.prototype,i);br(r[i]);var s=\"\"+r[i];if(!(r.hasOwnProperty(i)||typeof u>\"u\"||typeof u.get!=\"function\"||typeof u.set!=\"function\")){var f=u.get,d=u.set;Object.defineProperty(r,i,{configurable:!0,get:function(){return f.call(this)},set:function(y){br(y),s=\"\"+y,d.call(this,y)}}),Object.defineProperty(r,i,{enumerable:u.enumerable});var h={getValue:function(){return s},setValue:function(y){br(y),s=\"\"+y},stopTracking:function(){dx(r),delete r[i]}};return h}}function Lu(r){vp(r)||(r._valueTracker=hp(r))}function kc(r){if(!r)return!1;var i=vp(r);if(!i)return!0;var u=i.getValue(),s=Tc(r);return s!==u?(i.setValue(s),!0):!1}function Ac(r){if(r=r||(typeof document<\"u\"?document:void 0),typeof r>\"u\")return null;try{return r.activeElement||r.body}catch{return r.body}}var zm=!1,qm=!1,Im=!1,b=!1;function D(r){var i=r.type===\"checkbox\"||r.type===\"radio\";return i?r.checked!=null:r.value!=null}function V(r,i){var u=r,s=i.checked,f=Je({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??u._wrapperState.initialChecked});return f}function K(r,i){pp(\"input\",i),i.checked!==void 0&&i.defaultChecked!==void 0&&!qm&&(c(\"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\",ju()||\"A component\",i.type),qm=!0),i.value!==void 0&&i.defaultValue!==void 0&&!zm&&(c(\"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components\",ju()||\"A component\",i.type),zm=!0);var u=r,s=i.defaultValue==null?\"\":i.defaultValue;u._wrapperState={initialChecked:i.checked!=null?i.checked:i.defaultChecked,initialValue:ba(i.value!=null?i.value:s),controlled:D(i)}}function oe(r,i){var u=r,s=i.checked;s!=null&&Gi(u,\"checked\",s,!1)}function Ue(r,i){var u=r;{var s=D(i);!u._wrapperState.controlled&&s&&!b&&(c(\"A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\"),b=!0),u._wrapperState.controlled&&!s&&!Im&&(c(\"A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components\"),Im=!0)}oe(r,i);var f=ba(i.value),d=i.type;if(f!=null)d===\"number\"?(f===0&&u.value===\"\"||u.value!=f)&&(u.value=si(f)):u.value!==si(f)&&(u.value=si(f));else if(d===\"submit\"||d===\"reset\"){u.removeAttribute(\"value\");return}i.hasOwnProperty(\"value\")?xt(u,i.type,f):i.hasOwnProperty(\"defaultValue\")&&xt(u,i.type,ba(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(u.defaultChecked=!!i.defaultChecked)}function Ce(r,i,u){var s=r;if(i.hasOwnProperty(\"value\")||i.hasOwnProperty(\"defaultValue\")){var f=i.type,d=f===\"submit\"||f===\"reset\";if(d&&(i.value===void 0||i.value===null))return;var h=si(s._wrapperState.initialValue);u||h!==s.value&&(s.value=h),s.defaultValue=h}var y=s.name;y!==\"\"&&(s.name=\"\"),s.defaultChecked=!s.defaultChecked,s.defaultChecked=!!s._wrapperState.initialChecked,y!==\"\"&&(s.name=y)}function $e(r,i){var u=r;Ue(u,i),ut(u,i)}function ut(r,i){var u=i.name;if(i.type===\"radio\"&&u!=null){for(var s=r;s.parentNode;)s=s.parentNode;ir(u,\"name\");for(var f=s.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+u)+'][type=\"radio\"]'),d=0;d.\")))}):i.dangerouslySetInnerHTML!=null&&(Ft||(Ft=!0,c(\"Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.\")))),i.selected!=null&&!Pt&&(c(\"Use the `defaultValue` or `value` props on must be a scalar value if `multiple` is false.%s\",u,Hm())}}}}function Fo(r,i,u,s){var f=r.options;if(i){for(var d=u,h={},y=0;y.\");var s=Je({},i,{value:void 0,defaultValue:void 0,children:si(u._wrapperState.initialValue)});return s}function sM(r,i){var u=r;pp(\"textarea\",i),i.value!==void 0&&i.defaultValue!==void 0&&!lM&&(c(\"%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://reactjs.org/link/controlled-components\",ju()||\"A component\"),lM=!0);var s=i.value;if(s==null){var f=i.children,d=i.defaultValue;if(f!=null){c(\"Use the `defaultValue` or `value` props instead of setting children on

M0kjZsh#QW8fsvpn49pz~!eiaFKtBq9 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 Q3eb;zS_d^V)NM}wA1Gv9-2eap literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Long Sword.png b/packages/client/dist/assets/img/duck/Handheld/Long Sword.png new file mode 100644 index 0000000000000000000000000000000000000000..69ed8a6e5e087cf7548ae81d14b0256dc38c4e80 GIT binary patch literal 20267 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 xXB4`#&;Ra>LU#}$h6i;xSM#g}0Du#r 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Maul.png b/packages/client/dist/assets/img/duck/Handheld/Maul.png new file mode 100644 index 0000000000000000000000000000000000000000..203357ec35cf4ac089add83aea147776053baa63 GIT binary patch literal 19590 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Quarterstaff.png b/packages/client/dist/assets/img/duck/Handheld/Quarterstaff.png new file mode 100644 index 0000000000000000000000000000000000000000..6b1b146cecb3bc3e2291e1fad0b1c9bfd551b786 GIT binary patch literal 24126 zcmeI4cUV(P*XVZ$Ql&^2qzH;AQUcOKmujI%M?{Dr)Px|t6KtT;6cp(wD!qtwq$nyV z9i(?@(tB^;Mm@(I&p9veeV*^$`ww~4Ecae(&CGAstXX^VBzHB{RVc`q$p8SLIH#(p z1pp9Gga9N&;M*1ZBy;eM)K1mV0RYHpcmG0w$Y>@2AXBqaP|(!0#5!UfEU|VR=M)q; z?Ci1TR%jFexOT>9yBLJ7Fv#?+ps4iDw$Hu_NBaVtTxld#)P~Qf9|DM5)HHG*Zu^tz z(a|4@R@HrfqlHX0#{X+PPl1K}J^#!1b+3p|vv()vdb!U`O>MMoycvxi-K=w~r@|eg z;eIgk%o>o;x-A87XAjm;egCNhM?kOIPsl+%QvJ^2zy|=Bg}S+VJ7&plLNc)c0btj{ ze~hMbVCQC$CbvGo@c`)Oq!}fLglGX({5n;1Kot{^rTyBB3m|Q$3 za{y>h4((oh_6J0Lzyj+39TJOhF=%o9=}z?B>T zoP!KPsN_rmT*TSaH2{Y=0ieJ}TMOm52#ptPD(g=+vAbQM3IWQiAJv9mXcDF?c+|k` zGC$k@_2}1k=vQYEj3=qhNryP2!=t!pRY##0>ka|{^IGHEZE@L<(UGBn5%W>>%;JY< z+cvXUPMM=~ecNvW2nYdc_4=7kli}f3s9hx_%c;yJ*$C*=11$U2jD@>M<1dpnxUb!J z6W^3$i+!qDCB=G#jGTPx__e1cf`j*Ec7zA8{rA0>!ModC?z6!4NV$mg@`RgP*AceP z8CpT3)r4nZwkxAt+m*L{wt`MJem(Q*%4zz0a|U+{G&$8O-3qlHC?5Uv=qt^bkI)?Z z<1Nxq7YZQljz+n99&v6py4-sjLU5nbpvf7K^IqT!U?zV6P+Oc4a$5m_(6Y5)IbH}* z8~%I{0N#9Kx{?&ec=00%04T=$p30IZKKPa{t(-FYE$f?dMgjzpqTIn_JQ`Z^7Q3;0#UD$T{v#v-aNg8vIp=fpQx6^ij5>vB$5Tprkbk zRXs-e>EVz%+0o-6Lg&cO*{F7@@;%pnF4IJ96@8I=A_ViPcZeh#m&OtPAU}jEMC0Mc zr;4F`I`{|wuNO(59n*RqMsr>SB|A*`B2MURM10Dn+T_?TBq{#zxXb4-@y?n8+J4Ej zXPhFB*G4fYR6plSXlaPFvanjQ6c}?XBJH`!rWD=~-emKQcx-g+=Az3%iaQiHD^;)Y z9JV>^aX67F|FA&B#g_+~!y~G61lxpIA}pRzJ;CZ4oLWBRN&nz8%_I0Dy+_`UMpJZj z9du<|+)~JOQgx|Puj+ZdRMvg1IhaiPg(0;inN_zqSu~?g%S9_#v;LAvLaE8tjddhN z_MO|x@pn`cbddQU4+kD)_$Y*$GdSC7uLqqtZSzF!no;)JHx>%=sXKClPDf=mgsfo@R zC%YKAnA0&!a14CKiL^+x=u*+`qAsWUahYc1gxeVD(&r`0v7SbiCCp;N665$x>r5lN znBW-_(U8Mvm^gB_CItD-=8087svvo`yYg zE$vJ%s@p~iam`Ao>-qcVABIX#)`r4JQuK%O_eJklKJI+%S$*KK+T)e9Cwek^ZhA|4ZE5FPuS}etz_jY4HCgnd4o1PF zs`HZ4qtf3yM`8NtzS0GsY&yB5ZQBW(+?*tvjGQEzl2}G8A792S*R$3fpb8 zcXX<8M%%racs_8ZBKduC#hAVYi^Wrim<18Wmlr~+X~Lbu8MQHq_Y!U6+^ZiAGfx*a zN?(?8_DPp=dAE8;coT2N zZb+_IZw0TG4YbI&i7f$0ydyI7I?$G=8_tJL<9SBCzk;2hKkvfkZkr~6?&k7kw#_FnLU8D>} z3`0D{Z$F_4&z2p&$#GUwfJtLG(N>L>cK%k>Z4IT;XMxWyy~-~*FZFOFM(@$Gc#ou) z!n)-h4P~c~!lW8nylxK;KP=>0P}5Uv?Mgm%j-2nQxD; zagpC(@GJ?*(k#e&-Cp2oIM>fvrc}(pbzhs&g&$_DRb=LBHQVG>ZCRcDcuVuEftK#P zwOjXmkk-wn7cUfeZ|I+SlpOY{+BReHav_o)@yJYf#yY&kNYCdK<0F$ayR@W?)hy+L zk+1sdCM}*zZkW!_-t+mNrzTV9!*5UYz4Y`L)cp3euA;l5wlBgbe~Dy5)s43aUgng> zmw<_vep)i~Eg&I=^(w1MY5tD)3~UhTR4Edy9~&RTBR#h^bR%>y(JV1GMqO6=OGLNZ z%EiqH8{r~@DIoq#L<(U3e({j`L3PY+HN>abr?XaC@zkw!|8kH6cUpFq)8*H}ElCRybFUxRCUa+4@P0oZ@ za#gawsdJN_d%2lj*X1=+FjLf5S;8K{vnjW&xzM-@&ZIHu2O_M_bYmed(;TPpY!i2>+#3cA(A`;?4XHIhn3Bp7L1SJGu zXZQqRa6t*UAdKVZi&KUSl%(v<%;8#!%0HU}|0m69>F8(&7Z7l9ap89n=EvGw2*4yH zBm@M71cZe6Kn*?zH(N)9E1#_c*AFLu_)$bTAnmQ}9Iddn9J_uI*RW2G(wv;T4gLB0 zIWCOdpAFeM{A34G6mUh@3BdRT1^&fIP3=FMVKDz_>ENh^`ZcnDY|uf+%?>4?g>t|; z*&|V)I@dpS!NF0<86472ME`{&C1;ea<3GAGL;mT<&dDDA9kdxz0EI?jKobX$0_-2h zV)w^`%%A3e>BgV8{}rR7mHEH0*uC?wW++#ye=*y=^TX_WO#PT@DKL=X3ic?3Bi3FA zi$%-)2-jbaVc=637@lGrJo;9)W>^=8lTre|oBRr#U*1rP2uGBRkf4w-A54%>2&MxQ zgu`IqA6`LmxS$}OlOLMD`B1}}S(&^2%?G$R#Non!@qwrLyAN<7njst!|CJYf-M{)# zQ-hzgb#O%3B2niQWx%oXTUnXG5imgnN=O{RhY&_wWf$)9t!L9y2)SvxP`1k(& z&Gc7)K<83FZkzq^Ag6;UDJozYE{Lng4qmE|w_UzbyCPmg)~z-?jeTi38T$(FI|TlD7a?#D9~C zet7+>*}uC-S|V&MP-Zd$e~|m*!tW+h0=rX(w)*SL{kZzq3H>7o{~iERW=Oa>)*gd! zl(E7fEKmY=wiZ$Xzb^i2Q|iyX0Iq;VW9`9=hLRDM68NXf|7ZoClxhArD3fu}QaQ_U zPDw!&CLt=yC&UlKcY~*g=Vx~}*V!G0&V_w?RR~H-7JE3`mQe~BnZ9)V7veR zG{wLDyQ$%SHpRdFyXh}WU0W+h8KIx8{dO78YIn=~0aY6;^H4J2(0;%4ySAp4D++C( zXay!^hux(nBqI9L==VGSXleMbmUwr5TK)(qymIV&y#2Te7JFcwDez~Z`PWeVbA|se z3%`c+zw8*_-F_qZH1?GDaqWo+Utu2?K8-!)eO!AY!dKYGg->Hoc^}uFi0~EmapBY0 zQ{Kn5Cn9`>eO&l7_LTQ=?TH9qVILPhjXmXkTzewISJ=mePh(GcAJ?9U@D=uP;nUbt z-p92kB7B8?T=+Ehl=pG%i3nd|9~VB2J>`8|dm_SD*vExWV^4V>*Pe**74~uA)7Vqq z$F(OSe1&~n_%!yE_i^os2w!0z7e0+W<$YXxBEnbL$AwR0PkA5Lo`~=j_Hp6U*i+ue zwI?Ecg?(K3H1?GDaqWo+Utu2?K8-!)eO!AY!dKYGg->Hoc^}uFi0~EmapBY0Q~r;* z$bNlw6J-m2U(*HrVrBqkxGVUjP7b81mKp%K9|r*3O#oQi0pG^}z)27Q#!UeL{saIR zu@6l?CzkcgMYez1rJ9kuVYwt4!T(TS)HHEA1H4fU`vDxmpQcSR5_<`xS#z?QFWRv#_lU=6+kmJ3|xo?V|v&nG%t zP7$C3EJiE2Kx_}LKm;I5y!si7)7^!_r%s(pF~$bmy?azrve?DiI)#=5ng@ttnquW4 z4GR>|Z33oXnf0VOKiSQv`YOGXbFN@#>bAEwJSrCwwkZ#9Ooh+qABx9oeYdiMGsObaMASdfx8L()E;P+x*J9I9XZC z_x^_{=H}+!Ca45c2KoDw6fM+A+8nHyef;?G$K{#6K0O12D*r=V)&Q{`)oiIXkOHwB z^A^F`^`9}F>?v;RY7*P27ATv9ocEnC@mLYf(=i{adhkfD;{lh7r*E5Hn!zQT7J|G9 zgI0_jUym?QO3nl&rc7IMkBZw-31(Y@(#wrSir7e{8?&9hoKtlmEW@O%w|S^UhJ%{m z6B*D$6gE97ip$A4!zC_W&_TuS+7DsuH!SsZTjUCsqG{?puN=rse{l8n>(?c|ZCcve zH_dCF47}bhG>BSXe*t_eB!V1dlPc(t@!nn=WwE!nzjBk9D##$;wnrCB9&|)Ph>7HL zef^54msjI6B}D5^UE@nVKy`%{(vYYTR}G({V`N;Y5w8D2@HX?!{CP7~)hbGZPaN{Q#$O!hQyf?E#!)g_ljf$#(f@vxclOc>&{T1L|D6fp?;DM69A{ z15H&`{}OQCjSLK2lOw#oH9XBbsr_;_txs4x$_T>IbDyz%%Gt#IC@*jIN?X}>E*pu@ z+Hg2m=j(?_Njx6|4kL-*oY06}6xr&S%I{-KlDYV0WVf?l3GCo8%Aqzp?(uD*8Zu){ zLT0MP`ezXDZkcj4towXQGki?|2_Yi13FQTzZ}32Q1O&<)r@Wih#1256SVYlw;o;#X zdakvRA~Jpzh|SGWS!`<*_sNqdnfkvqCiL=J18*-~y2NivCwMh#6aL)esdOHD`H^x} zHMMk%yNS<8O@v5!;n0v-B7*7TXq?Y9yNu_mQarQZ*RNj#?%cUky-qOM@w$>ctjB#K zy^eQ-G=N2nzd>Zxo3(nJn4_oidOTcAtgUyk%e(q9-z8E~(nE!Xh0~W3ltqHrWw*b6 z3O!-7u{6PWP}9UDxN@)%t@P>BCwaNqSIEjY^z`)MTa$TRw&XfnPABBTfu=xDNc4hx z$y3lpct%e`LPEzIHwQXuV@*x!ul9v!P29&`loC@O@dtK$W*!dQB%;XvP+3U~E!9p` zU%N~~EXYpF0M280s$@KM|LWXeDKGQVB(`+TyglTo!X{{HC$+sgSi;QA49u>1o)Hxl zH8KP<1nVp#J-u-&yD2!SzRcxv7<S;A-xfcBKp?_1 z5{&uvU(*M&O14rm={u8TyOXWs2;(zF3kl?kf)jv_j*ikiGVWu?u8{dUjMj;4xM^u= zQI{ucC-RerzJIT1G}Bwcf`iCC`(bdp|E#>cd}eodcdE>3c6xfH%a%in^NWsC$dBb~a{lHb0c(n{5WO|Tb_OPj}<2OyD(QPoS4wn0|d$&(oK#2~L5ZnMw zn$tuZ%Y1gq7l^KR4v_(4S7iv>i(Rl$kdUx2!t%9+QKKS7Q1jmX`)fm?8ek54R#4Cm zEEEE%PnZelfu>qBg3Uqp9l=fS9bIxtCP5%IvJah9u)6AsY|lb8%Ef^xf8CFYeVQHa zm^AfB|0)=;q`rfeS)waTN)FIvPY>TW;K&1I?D}z7Fv!B!CnaOlx97vlLc+sUbafv+ zh>N2#<>loS2A4G$jF@$vSD4NmtD{OvO6_P-BUM!rwqU=sw9_v&;@Ef?Gi$wKF1b{( zTr-b%!p(ir)@Tu#`dDoCi3VzuB3NVO=3VX|6twIGF1T9dLm8>5!ZI6^!ewAczf_Cb z#0f}C_qc+)26LLzWa}$WFTNB=Hx#kO>EHT!`1ga}&lG6fU`rld|4BoP` zvXTc}dYl+D%eIRS(bIpxdM`v#s;#tSn#i)4hCO<8h=zuS1gDCz79lvlvT%Ilw9N8U zSH6jR(+NI43fzqw1VL=log?R&Sy)b{G3zjg!B@uD- z)KHqvwWb@ffW2a+40-aTs^I!yRbAc4)=HnnWc#adGB6`Jtj;391*m@g`m4FI#JGo{ zp$ZrbrrD_z^iEOS6I3w}pOTUyYi@#L{+{^+W}uA0tdb+Eqp~|=?6TgT)a4J4UqFL# z{PANTOCXr&+Ve17=IE}xK-v@PSJt-Ws-N-k^9O~6(XFq{XlQBCgmSB8cc4X~4z2w> znDGg}mqZiElC7;@k8dgWm+GeKwaD&lE|dW0&!1OSRV^Rqvg>$D4T8RWnHl*p0MTFW z3lbJaydyL!^WKU~UzO}zQ=bB}2bXV`uY$hkr(@T8Inji5rh$52?is-(>0+Ssuo?B7 z`$5C%4e22)UqwyJsUXP3Z;dT#*qN<(}jfn0Q!jaiCnOpR50R%~*A0?5fJzc;0hH9^mT7$U(WvY;NL5nfg%wtWsTC zFck!X%a;h^Iro8)j-DRoHgEQ>qC#?M0}RlsF0=h_N%|=#-uEJnX_&weiM@4;u&iq; z&uh8E;;62!u5X>{D6SZ$A^?XTJ9tFAAv7#(sJ6bI3e3}_2jSz8SjcwxkKNgm0_c|o zkZbe9xyp>^H8flhGMeV^P8u>LUGlpGQoCB;%2Wp*O9^%zzrAfG1C$j7LUB@{{8}+-H=8oahg{ zcMtBfxq4m0XlAWv##`T_q!KvQ=ebZ@^!PK%+}wR|a1c5??t799SRxFo>mVP}(bId0 z?tN1@x4kh#1)1I0GDD%(9PI6PbNO~i2(=NI=4QeDV(QQ#O#M+B@G4q&E49~cG{(O% zLB%g;DK>6v(xPP3yX+NM{K4ac>qi&zbZp1JB)=UV9&YU0*ZIm2%B5&L zj(be`1ps0X1bEDpv>9Hy1pcIg*%!$pL8ns5Os?^b`U-({u(`d5u5znI z>R_4f#85*E16FCChMKRoyTS2QGIq0u{JB@$np7JUmHc z;^bksZ{OBcj}ooTMR#NuDcxsi`S9U`M7khPZB><>$<%w#^|3^0xv8cX7fM)5JhQlu zBom&xfB(K0=24sw>ii>mf+#wG4B%rW2UuohSI0@^Mt93r=c&%&1+ZQ!F58;IviRD^ zJ5F`x2Byb^36!p0gK8F;zP+I?!q0Dz70)cb((O>+lCPVWlvI_~HRUVnt3(DIz&&0* zP;NT$I0~Y38q`_`@nZCf!NuPLgdIFA^gJb32&@iQ0E-zgW2Mv)mV+rzO70xEt-Y2W z_Su>+Azo)SI|a~z1E$1XmxGQhn&?JEM3gSaMmsqQx$Pot19t7cy*9ZSz^mEnnP+UCmt4Dy$YzVuT=ZpYJT+5~Kt8i%IWhs9n)KKJh<*U`7h4z%CVnJ{qdX}k#kvoI zZWTqtA4{s#6D)3C01j4=Ow>e;)<)^?^m@$bLXLv_kb4|4n=3~_Znhdb*EAXcH&!rb zB_}7tx^45zq)+5l4`(BSSR3Md(t(g_dV(Vo_V4}N%A^WPu-)0H`zs|Yy{V9QqL|Jv z9s}=g>w9HZ3>2I(Ge9Ddrmk6(u!CF;?Uv*e6qtpr7cX9blSK&CeNs>4&kuQi*SP${ zyLa!_EBvV1T!sSO+}vc!#jw3^X7kj&abPJ0ZW=Sh0psK2>R#>l?va7dcAGdpZtj=0 z!0KYNhS$|hF(&cb5)F5GfaiCuYrsMYtog^Ms#vgv!;eil!0lFcnaFl7_qgB%@K-ki z(}mfW7sr~t%f;-6s`|^HAJ-3!h&XJC**xN~DtHN~qVI(;gQKA9ejxTDF|mu7f|*Va ze3jYuz%@Mh2f(_J#FSS+VCD;PE%@XLDTN_F=1jb{?aJe$1~y}bz-*zi(xjLRrAYSw`%** zx|rVR=xEi6PM;`ehZAGI{w!Y+@qQ5G+}96vK~nL}4GpHpjvdp1yr`F6xuRe++~+z- zA!g?cCiE6oFQ#wc$b98x_@l+IKdU`K*WA>UBFG}z_RXNR8Fx8@4cHP)BwnDSqg#dB zUn|{O?z-Av6L46#6rDN=mS~%;=dL^m4;y<-zhD7QtB8ucZ1aWif3T#zrdxe(XhE+RL#X)5(xJ3oz;CyKEJ^%q*KyE?WV0 z;9RGqrKOq64?7nJx-E=Iz=(xlIKz}$>#KlOvQoyHf@G+#0;OL<9yr(8FUHD>-@Uy_ zyw#kjQAWaKly4gtBkQxR%d)sU-7`_PFN!NC{@jsqL~W~J9d z0bD0rV4X?n2Ck%6wi}SsAEU>&O3!tT%4}<( z$(I>;@_PA5z`c7Z(oW+#Lv3#GEIzP^P49b!^rOw{v9IQPK+ed25L~ypEiEmF{U}-I zF@2>a5QleE9?Htfi#C}h&W0|-;F(6R_r}!6&CSh^5GYZ*^Gq-6;-?dFw-7;=Z;EmO z>J}j93fOl7CSJWXyTfhmnchph8ll*E-thV7&!0zbZLH*{UYchtTUAQeg|1SuR;NHz zN3DVIP6Ax#U}dmM09YtG^T}3%%-VCTw2^vxkMpy$o7fK>LR>g^?iKh{+oi3o-PJ>d zS{iSewuti*J+dlnSN5a8*n9(EjkX9<0w>f=C58qw zbLqqY6nrK+piFwIb$S9$hGS_a?RSy;h76W=HeP&+6}s5Y*y%+EtgXiq*A0z~EPIc= z2=DG$yIIs@TNf+MvO0Qrs)!%Wt5xxdqK%~e3$)zl4!FBAGB7BgICjjjy6m{5WS6Y> zrYqE8zR9dclH8h5heEFOWj?Nlf`XzEJj+R&&R`b;mF`PKUP9QMC<8Nr0~_HLaEo$I zGcImzW|i%Ks^CY!_3%i`v=*S+1}ByxZD(`;_H-RAP#ue@T)~n|4%k#Ez5wAc#fDuwK`e~aZnXLZYFxaSCgZj4cxJW_Czhe7w;M?F zB4u{IjJ{RJFFY=&i(Yfa7Gm48p3Z^m_>$aVeW?urGN4d2mQW@sJ$*{pXL~aRyKobH z%zxPnSKhfN@xG7;7-A8m688YBS()9EAm9EgrX%~qMxzS*ZG`&9Ql#@;0=ZHN{{E}D zl|G-oxzM=H=gU#sK-uQ7fbo++pNUs5#c2=VJRP>JS_siT>&=Ui>5|b5U+WvM`m{Sh=Vge3 z?@@r~$Q zp)%TWu73in*yz7Wb!S)DJ?qH5EJ=*Mni(D$$qbeO*GFm&55B)kTdLqkDPr56^>)U- z@L5_m3#@W;Mv%1{eB5;f%&yga7A}USvfq`6uX@IvxkgJv!%Ra<8wh43a1#u?bBE{( ze|UO!wonqdbU+6;Qd3i>mX?v#m;uXb$-hun}Jq^jLCoBj)T24wVE}t z7_hHOS@(kkJIxi9VPiH?^Kj_hqT~)4KyDrCPC#LzLHW|EEZ{*o>W5)zm zJjoB`yv!4IW37GKqE*a?R1i|tY_7wCyJCU?^dm_&WoxEOOqU1i-$$$Qd|qG6;vU`! z=vZx=#cYD@gGUs(5bD{i+yL7Fi`*w%L?!+b0qyz9yEB#np84N`x)|zi^VFQ!s6+G) z&M@3`9yibf{8fpQ4r%^BIavS4lX^(J8pr>QQ~ZBy?DtO${=YT6`zgl1e5BFzdUFQ? Zym`glM_7pke~TOd&MB!YW}G#>@jtchgNFbB literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Scimitar.png b/packages/client/dist/assets/img/duck/Handheld/Scimitar.png new file mode 100644 index 0000000000000000000000000000000000000000..aecf1a840bc0bc417e66c5deb50b3da130d3d59d GIT binary patch literal 20215 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 E0XB`xc>n+a literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Tome.png b/packages/client/dist/assets/img/duck/Handheld/Tome.png new file mode 100644 index 0000000000000000000000000000000000000000..542db41bb9dfb409e564b7221b0deabdedfcfe23 GIT binary patch literal 26467 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 literal 0 HcmV?d00001 diff --git a/packages/client/dist/assets/img/duck/Handheld/Wand.png b/packages/client/dist/assets/img/duck/Handheld/Wand.png new file mode 100644 index 0000000000000000000000000000000000000000..c4109be451a5f96668a994d9dac6be701f7db38e GIT binary patch literal 19906 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